mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-01-12 07:49:55 -05:00
Fix macOS building and code signing, resolves #1344
This commit is contained in:
parent
43a620b9ff
commit
c2ead0e265
4
COPYING
4
COPYING
@ -235,3 +235,7 @@ Files: src/gui/KMessageWidget.h
|
|||||||
Copyright: 2011 Aurélien Gâteau <agateau@kde.org>
|
Copyright: 2011 Aurélien Gâteau <agateau@kde.org>
|
||||||
2014 Dominik Haumann <dhaumann@kde.org>
|
2014 Dominik Haumann <dhaumann@kde.org>
|
||||||
License: LGPL-2.1
|
License: LGPL-2.1
|
||||||
|
|
||||||
|
Files: share/macosx/dmg-background.tiff
|
||||||
|
Copyright: 2008-2014, Andrey Tarantsov
|
||||||
|
License: MIT
|
||||||
|
19
LICENSE.MIT
Normal file
19
LICENSE.MIT
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
25
release-tool
25
release-tool
@ -317,13 +317,6 @@ checkCodesignCommandExists() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
checkCreateDMGCommandExists() {
|
|
||||||
command -v create-dmg > /dev/null
|
|
||||||
if [ 0 -ne $? ]; then
|
|
||||||
exitError "create-dmg command not found on the PATH! Please install it using 'npm install --global create-dmg'."
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
checkQt5LUpdateExists() {
|
checkQt5LUpdateExists() {
|
||||||
command -v lupdate > /dev/null
|
command -v lupdate > /dev/null
|
||||||
if [ 0 -eq $? ] && ! $(lupdate -version | grep -q "lupdate version 5\."); then
|
if [ 0 -eq $? ] && ! $(lupdate -version | grep -q "lupdate version 5\."); then
|
||||||
@ -813,17 +806,16 @@ appsign() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
checkCodesignCommandExists
|
checkCodesignCommandExists
|
||||||
checkCreateDMGCommandExists
|
|
||||||
|
|
||||||
local orig_dir="$(pwd)"
|
local orig_dir="$(pwd)"
|
||||||
for f in "${sign_files[@]}"; do
|
for f in "${sign_files[@]}"; do
|
||||||
if [[ ${f: -4} == '.dmg' ]]; then
|
if [[ ${f: -4} == '.dmg' ]]; then
|
||||||
logInfo "Unpacking disk image '${f}'..."
|
logInfo "Unpacking disk image '${f}'..."
|
||||||
local tmp_dir="/tmp/KeePassXC_${RANDOM}"
|
local tmp_dir="/tmp/KeePassXC_${RANDOM}"
|
||||||
mkdir -p ${tmp_dir}/{mnt,app}
|
mkdir -p ${tmp_dir}/mnt
|
||||||
hdiutil attach -quiet -noautoopen -mountpoint ${tmp_dir}/mnt "${f}"
|
hdiutil attach -quiet -noautoopen -mountpoint ${tmp_dir}/mnt "${f}"
|
||||||
cd ${tmp_dir}
|
cd ${tmp_dir}
|
||||||
cp -a ./mnt/KeePassXC.app ./app
|
cp -a ./mnt ./app
|
||||||
hdiutil detach -quiet ${tmp_dir}/mnt
|
hdiutil detach -quiet ${tmp_dir}/mnt
|
||||||
|
|
||||||
if [ ! -d ./app/KeePassXC.app ]; then
|
if [ ! -d ./app/KeePassXC.app ]; then
|
||||||
@ -839,10 +831,17 @@ appsign() {
|
|||||||
exitError "Signing failed!"
|
exitError "Signing failed!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
logInfo "Repacking and signing disk image..."
|
logInfo "Repacking disk image..."
|
||||||
create-dmg ./app/KeePassXC.app
|
hdiutil create \
|
||||||
|
-volname "KeePassXC" \
|
||||||
|
-size $((1000 * ($(du -sk ./app | cut -f1) + 5000))) \
|
||||||
|
-srcfolder ./app \
|
||||||
|
-fs HFS+ \
|
||||||
|
-fsargs "-c c=64,a=16,e=16" \
|
||||||
|
-format UDBZ \
|
||||||
|
"${tmp_dir}/$(basename "${f}")"
|
||||||
cd "${orig_dir}"
|
cd "${orig_dir}"
|
||||||
cp -f ${tmp_dir}/KeePassXC-*.dmg "${f}"
|
cp -f "${tmp_dir}/$(basename "${f}")" "${f}"
|
||||||
rm -Rf ${tmp_dir}
|
rm -Rf ${tmp_dir}
|
||||||
else
|
else
|
||||||
logInfo "Skipping non-DMG file '${f}'..."
|
logInfo "Skipping non-DMG file '${f}'..."
|
||||||
|
BIN
share/macosx/DS_Store.in
Normal file
BIN
share/macosx/DS_Store.in
Normal file
Binary file not shown.
@ -29,7 +29,7 @@
|
|||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${KEEPASSXC_VERSION_NUM}</string>
|
<string>${KEEPASSXC_VERSION_NUM}</string>
|
||||||
<key>NSHumanReadableCopyright</key>
|
<key>NSHumanReadableCopyright</key>
|
||||||
<string>Copyright 2016-2017 KeePassXC Development Team</string>
|
<string>Copyright 2016-2018 KeePassXC Development Team</string>
|
||||||
<key>CFBundleDocumentTypes</key>
|
<key>CFBundleDocumentTypes</key>
|
||||||
<array>
|
<array>
|
||||||
<dict>
|
<dict>
|
||||||
|
BIN
share/macosx/background.tiff
Normal file
BIN
share/macosx/background.tiff
Normal file
Binary file not shown.
@ -305,6 +305,8 @@ if(APPLE AND WITH_APP_BUNDLE)
|
|||||||
|
|
||||||
set(CPACK_GENERATOR "DragNDrop")
|
set(CPACK_GENERATOR "DragNDrop")
|
||||||
set(CPACK_DMG_FORMAT "UDBZ")
|
set(CPACK_DMG_FORMAT "UDBZ")
|
||||||
|
set(CPACK_DMG_DS_STORE "${CMAKE_SOURCE_DIR}/share/macosx/DS_Store.in")
|
||||||
|
set(CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_SOURCE_DIR}/share/macosx/background.tiff")
|
||||||
set(CPACK_DMG_VOLUME_NAME "${PROGNAME}")
|
set(CPACK_DMG_VOLUME_NAME "${PROGNAME}")
|
||||||
set(CPACK_SYSTEM_NAME "OSX")
|
set(CPACK_SYSTEM_NAME "OSX")
|
||||||
set(CPACK_STRIP_FILES ON)
|
set(CPACK_STRIP_FILES ON)
|
||||||
|
Loading…
Reference in New Issue
Block a user