-
-
Notifications
You must be signed in to change notification settings - Fork 415
/
create-dmg.sh
executable file
·109 lines (92 loc) · 2.95 KB
/
create-dmg.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/bin/sh
#
# creating the QOwnNotes.dmg with Applications link for GitHub Actions
#
APP=QOwnNotes
# this directory name will also be shown in the title when the DMG is mounted
TEMPDIR=$APP
SIGNATURE="Patrizio Bekerle"
NAME=`uname`
PLIST=$APP.app/Contents/Info.plist
if [ "$NAME" != "Darwin" ]; then
echo "This is not a Mac"
exit 1
fi
echo "Changing bundle identifier"
sed -i -e 's/com.yourcompany.QOwnNotes/com.PBE.QOwnNotes/g' $PLIST
# adding version number
/usr/libexec/PlistBuddy -c "Add :CFBundleVersion string $VERSION" $PLIST
/usr/libexec/PlistBuddy -c "Add :CFBundleShortVersionString string $VERSION" $PLIST
# removing CFBundleGetInfoString
/usr/libexec/PlistBuddy -c "Delete :CFBundleGetInfoString" $PLIST
# removing backup plist
rm -f ${PLIST}-e
# copy translation files to app
cp languages/*.qm $APP.app/Contents/Resources
cp ${QT_ROOT_DIR}/translations/qtbase_*.qm $APP.app/Contents/Resources
#cp ${QT_ROOT_DIR}/translations/qt_*.qm $APP.app/Contents/Resources
#rm $APP.app/Contents/Resources/qt_help_*.qm
# copy updater script to app
#chmod a+x ../travis/osx/update.command
#cp ../travis/osx/update.command $APP.app/Contents/MacOS
# use macdeployqt to deploy the application
echo "Calling macdeployqt"
${QT_ROOT_DIR}/bin/macdeployqt ./$APP.app
if [ "$?" -ne "0" ]; then
echo "Failed to run macdeployqt"
exit 1
fi
##
## macdeployqtfix doesn't seem to be needed on Qt 5.15.1
##
# trying to fix the macdeployqt problem with making the binary use the Qt
# library files from /usr/local instead of the bundle
# see: https://github.com/Homebrew/homebrew-core/issues/6161
# example: https://github.com/iltommi/neutrino/blob/master/.travis.yml
#echo "Cloning macdeployqtfix"
#git clone --depth=1 https://github.com/aurelien-rainone/macdeployqtfix.git
#echo "Calling macdeployqtfix"
#python macdeployqtfix/macdeployqtfix.py $APP.app/Contents/MacOS/$APP /usr/local
echo "Create $TEMPDIR"
#Create a temporary directory if one doesn't exist
mkdir -p $TEMPDIR
if [ "$?" -ne "0" ]; then
echo "Failed to create temporary folder"
exit 1
fi
echo "Clean $TEMPDIR"
#Delete the contents of any previous builds
rm -Rf ./$TEMPDIR/*
if [ "$?" -ne "0" ]; then
echo "Failed to clean temporary folder"
exit 1
fi
echo "Move application bundle"
#Move the application to the temporary directory
mv ./$APP.app ./$TEMPDIR
if [ "$?" -ne "0" ]; then
echo "Failed to move application bundle"
exit 1
fi
echo "Create symbolic link"
#Create a symbolic link to the applications folder
ln -s /Applications ./$TEMPDIR/Applications
if [ "$?" -ne "0" ]; then
echo "Failed to create link to /Applications"
exit 1
fi
echo "Create new disk image"
#Create the disk image
rm -f ./$APP.dmg
hdiutil create -srcfolder ./$TEMPDIR -ov -format UDBZ -fs HFS+ ./$APP.dmg
if [ "$?" -ne "0" ]; then
echo "Failed to create disk image"
exit 1
fi
# delete the temporary directory
rm -Rf ./$TEMPDIR/*
if [ "$?" -ne "0" ]; then
echo "Failed to clean temporary folder"
exit 1
fi
exit 0