blob: f5c595b826c0d39a71e90a024f8e770e67be0474 (
plain) (
blame)
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
#!/bin/sh
printUsage() {
echo "$0 <sqlitestudio build output directory> <qmake path> [dmg|dist|dist_full]"
}
if [ "$#" -lt 2 ] || [ "$#" -gt 3 ]; then
printUsage
exit 1
fi
if [ "$#" -eq 3 ] && [ "$3" != "dmg" ] && [ "$3" != "dist" ] && [ "$3" != "dist_plugins" ] && [ "$3" != "dist_full" ]; then
printUsage
exit 1
fi
qt_deploy_bin="${2/qmake/macdeployqt}"
ls $qt_deploy_bin >/dev/null 2>&1
if [ "$?" -ne 0 ]; then
echo "macdeployqt program missing!"
exit 1
fi
cd $1/SQLiteStudio
rm -rf SQLiteStudio.app/Contents/Frameworks
rm -rf SQLiteStudio.app/Contents/PlugIns
rm -f SQLiteStudio.app/Contents/MacOS/sqlitestudiocli
rm -f SQLiteStudio.app/Contents/Resources/qt.conf
mkdir SQLiteStudio.app/Contents/Frameworks
cp -RP plugins SQLiteStudio.app/Contents
mv SQLiteStudio.app/Contents/plugins SQLiteStudio.app/Contents/PlugIns
cp -RP lib*SQLiteStudio*.dylib SQLiteStudio.app/Contents/Frameworks
# CLI paths
qtcore_path=`otool -L sqlitestudiocli | grep QtCore | awk '{print $1;}'`
new_qtcore_path="@rpath/QtCore.framework/Versions/5/QtCore"
cp -P sqlitestudiocli SQLiteStudio.app/Contents/MacOS
install_name_tool -change libcoreSQLiteStudio.1.dylib "@rpath/libcoreSQLiteStudio.1.dylib" SQLiteStudio.app/Contents/MacOS/sqlitestudiocli
install_name_tool -change $qtcore_path $new_qtcore_path SQLiteStudio.app/Contents/MacOS/sqlitestudiocli
# SQLiteStudio binary paths
install_name_tool -change libcoreSQLiteStudio.1.dylib "@rpath/libcoreSQLiteStudio.1.dylib" SQLiteStudio.app/Contents/MacOS/SQLiteStudio
install_name_tool -change libguiSQLiteStudio.1.dylib "@rpath/libguiSQLiteStudio.1.dylib" SQLiteStudio.app/Contents/MacOS/SQLiteStudio
# Lib paths
install_name_tool -change libcoreSQLiteStudio.1.dylib "@rpath/libcoreSQLiteStudio.1.dylib" SQLiteStudio.app/Contents/Frameworks/libguiSQLiteStudio.1.dylib
cp -RP ../../../lib/*.dylib SQLiteStudio.app/Contents/Frameworks
# Plugin paths
for f in `ls SQLiteStudio.app/Contents/PlugIns`
do
PLUGIN_FILE=SQLiteStudio.app/Contents/PlugIns/$f
install_name_tool -change libcoreSQLiteStudio.1.dylib "@rpath/libcoreSQLiteStudio.1.dylib" $PLUGIN_FILE
install_name_tool -change libguiSQLiteStudio.1.dylib "@rpath/libguiSQLiteStudio.1.dylib" $PLUGIN_FILE
done
function replaceInfo() {
echo Replacing Info.plist
cd $1/SQLiteStudio
VERSION=`SQLiteStudio.app/Contents/MacOS/sqlitestudiocli -v | awk '{print $2}'`
YEAR=`date '+%Y'`
cd SQLiteStudio.app/Contents
sed "s/%VERSION%/$VERSION/g" Info.plist | sed "s/%YEAR%/$YEAR/g" > Info.plist.new
echo "New plist:"
cat Info.plist.new
mv Info.plist.new Info.plist
}
if [ "$3" == "dmg" ]; then
$qt_deploy_bin SQLiteStudio.app -dmg
replaceInfo $1
elif [ "$3" == "dist" ] || [ "$3" == "dist_plugins" ] || [ "$3" == "dist_full" ]; then
if [ "$3" == "dist" ] || [ "$3" == "dist_full" ]; then
$qt_deploy_bin SQLiteStudio.app -dmg -executable=SQLiteStudio.app/Contents/MacOS/SQLiteStudio -always-overwrite -verbose=3 2> /tmp/log.txt
replaceInfo $1
cd $1/SQLiteStudio
VERSION=`SQLiteStudio.app/Contents/MacOS/sqlitestudiocli -v | awk '{print $2}'`
mv SQLiteStudio.dmg sqlitestudio-$VERSION.dmg
# App
echo "Building incremental update package: sqlitestudio-$VERSION.zip"
cp -R SQLiteStudio.app app
cd app/Contents
if [ "$3" == "dist" ]; then
rm -rf PlugIns
rm -rf Frameworks/Qt*.framework
fi
find Frameworks -type l -exec rm -f {} \;
cd ..
zip -r sqlitestudio-$VERSION.zip *
mv sqlitestudio-$VERSION.zip ..
cd ..
rm -rf app
else
$qt_deploy_bin SQLiteStudio.app
replaceInfo $1
fi
# Plugins
mkdir Contents Contents/PlugIns
SQLiteStudio.app/Contents/MacOS/SQLiteStudio --list-plugins | while read line
do
PLUGIN=`echo $line | awk '{print $1}'`
PLUGIN_VER=`echo $line | awk '{print $2}'`
PLUGIN_FILE=SQLiteStudio.app/Contents/PlugIns/lib$PLUGIN.dylib
if [ -f $PLUGIN_FILE ]; then
echo "Building plugin package: $PLUGIN-$PLUGIN_VER.tar.gz"
cp SQLiteStudio.app/Contents/PlugIns/lib$PLUGIN.dylib Contents/PlugIns
zip -r $PLUGIN\-$PLUGIN_VER.zip Contents
fi
rm -f Contents/PlugIns/*
done
rm -rf Contents
echo "Done."
else
$qt_deploy_bin SQLiteStudio.app
replaceInfo $1
fi
|