-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathdeb_build.sh
executable file
·136 lines (128 loc) · 7.51 KB
/
deb_build.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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# deb_build.sh -- produce ocelotgui-2.5.0 .deb from ~/ocelotgui
# The ocelotgui developer uses this script to produce a .deb file from a source directory ~/ocelotgui on Ubuntu xenial.
# Only advanced users will want this, ordinary users will download the official-release .deb file or make with cmake.
# An easy way to get ~/ocelotgui is "cd ~" + "git clone https://github.com/ocelot-inc/ocelotgui ocelotgui".
# This script uses /tmp and cheerily deletes existing files in /tmp.
# The result will be /tmp/debian3/ocelotgui_2.5.0-1_amd64.deb or /tmp/debian3/ocelotgui_2.5.0-1_i386.deb.
# See also the comments in README.Debian.
sudo apt-get install debhelper dpkg-dev devscripts
sudo apt-get install gcc g++ libc6 cmake
sudo apt-get install qtbase5-dev
#If this fails on an old system, try libmysqlclient-dev or libmariadbclient-dev
sudo apt-get install default-libmysqlclient-dev
sudo apt-get install piuparts
export VERSION=2.5.0
export SOURCE=$HOME/ocelotgui
cd /tmp
rm -f ocelotgui-$VERSION.tar.gz
rm -f ocelotgui_$VERSION.orig.tar.gz
rm -r -f ocelotgui-$VERSION
mkdir ocelotgui-$VERSION
mkdir ocelotgui-$VERSION/debian
mkdir ocelotgui-$VERSION/debian/patches
mkdir ocelotgui-$VERSION/debian/source
cp -p $SOURCE/README.md /tmp/ocelotgui-$VERSION/README.txt
cp -p $SOURCE/README.md /tmp/ocelotgui-$VERSION/README.htm
#cp -p $SOURCE/copyright /tmp/ocelotgui-$VERSION/debian/copyright
#cp -p $SOURCE/changelog /tmp/ocelotgui-$VERSION/debian/changelog
cp -p $SOURCE/ocelotgui.pro /tmp/ocelotgui-$VERSION/ocelotgui.pro
cp -p $SOURCE/ocelotgui.h /tmp/ocelotgui-$VERSION/ocelotgui.h
cp -p $SOURCE/ocelotgui.cpp /tmp/ocelotgui-$VERSION/ocelotgui.cpp
cp -p $SOURCE/install_sql.cpp /tmp/ocelotgui-$VERSION/install_sql.cpp
cp -p $SOURCE/codeeditor.h /tmp/ocelotgui-$VERSION/codeeditor.h
cp -p $SOURCE/hparse.h /tmp/ocelotgui-$VERSION/hparse.h
cp -p $SOURCE/ostrings.h /tmp/ocelotgui-$VERSION/ostrings.h
cp -p $SOURCE/ocelotgui.ui /tmp/ocelotgui-$VERSION/ocelotgui.ui
cp -p $SOURCE/LICENSE.GPL /tmp/ocelotgui-$VERSION/LICENSE.GPL
cp -p $SOURCE/manual.htm /tmp/ocelotgui-$VERSION/manual.htm
cp -p $SOURCE/README.txt /tmp/ocelotgui-$VERSION/README.txt
cp -p $SOURCE/README.md /tmp/ocelotgui-$VERSION/README.md
cp -p $SOURCE/README.htm /tmp/ocelotgui-$VERSION/README.htm
cp -p $SOURCE/debugger_reference.txt /tmp/ocelotgui-$VERSION/debugger_reference.txt
cp -p $SOURCE/windows.txt /tmp/ocelotgui-$VERSION/windows.txt
cp -p $SOURCE/example.cnf /tmp/ocelotgui-$VERSION/example.cnf
cp -p $SOURCE/readmylogin.c /tmp/ocelotgui-$VERSION/readmylogin.c
cp -p $SOURCE/options.txt /tmp/ocelotgui-$VERSION/options.txt
cp -p $SOURCE/completer_1.png /tmp/ocelotgui-$VERSION/completer_1.png
cp -p $SOURCE/completer_2.png /tmp/ocelotgui-$VERSION/completer_2.png
cp -p $SOURCE/completer_3.png /tmp/ocelotgui-$VERSION/completer_3.png
cp -p $SOURCE/conditional.png /tmp/ocelotgui-$VERSION/conditional.png
cp -p $SOURCE/starting-dialog.png /tmp/ocelotgui-$VERSION/starting-dialog.png
cp -p $SOURCE/starting.png /tmp/ocelotgui-$VERSION/starting.png
cp -p $SOURCE/statement-widget-example.png /tmp/ocelotgui-$VERSION/statement-widget-example.png
cp -p $SOURCE/result-widget-example.png /tmp/ocelotgui-$VERSION/result-widget-example.png
cp -p $SOURCE/menu-file.png /tmp/ocelotgui-$VERSION/menu-file.png
cp -p $SOURCE/menu-edit.png /tmp/ocelotgui-$VERSION/menu-edit.png
cp -p $SOURCE/menu-run.png /tmp/ocelotgui-$VERSION/menu-run.png
cp -p $SOURCE/menu-settings.png /tmp/ocelotgui-$VERSION/menu-settings.png
cp -p $SOURCE/menu-options.png /tmp/ocelotgui-$VERSION/menu-options.png
cp -p $SOURCE/menu-debug.png /tmp/ocelotgui-$VERSION/menu-debug.png
cp -p $SOURCE/menu-help.png /tmp/ocelotgui-$VERSION/menu-help.png
cp -p $SOURCE/debugger.png /tmp/ocelotgui-$VERSION/debugger.png
cp -p $SOURCE/special-vertical.png /tmp/ocelotgui-$VERSION/special-vertical.png
cp -p $SOURCE/special-images.png /tmp/ocelotgui-$VERSION/special-images.png
cp -p $SOURCE/special-settings.png /tmp/ocelotgui-$VERSION/special-settings.png
cp -p $SOURCE/special-detach.png /tmp/ocelotgui-$VERSION/special-detach.png
cp -p $SOURCE/shot1.jpg /tmp/ocelotgui-$VERSION/shot1.jpg
cp -p $SOURCE/shot2.jpg /tmp/ocelotgui-$VERSION/shot2.jpg
cp -p $SOURCE/shot3.png /tmp/ocelotgui-$VERSION/shot3.png
cp -p $SOURCE/shot4.jpg /tmp/ocelotgui-$VERSION/shot4.jpg
cp -p $SOURCE/shot5.jpg /tmp/ocelotgui-$VERSION/shot5.jpg
cp -p $SOURCE/shot6.jpg /tmp/ocelotgui-$VERSION/shot6.jpg
cp -p $SOURCE/shot7.jpg /tmp/ocelotgui-$VERSION/shot7.jpg
cp -p $SOURCE/shot8.jpg /tmp/ocelotgui-$VERSION/shot8.jpg
cp -p $SOURCE/shot9.jpg /tmp/ocelotgui-$VERSION/shot9.jpg
cp -p $SOURCE/shot10.jpg /tmp/ocelotgui-$VERSION/shot10.jpg
cp -p $SOURCE/shot11.png /tmp/ocelotgui-$VERSION/shot11.png
cp -p $SOURCE/explorer1.png /tmp/ocelotgui-$VERSION/explorer1.png
cp -p $SOURCE/explorer2.png /tmp/ocelotgui-$VERSION/explorer2.png
cp -p $SOURCE/explorer3.png /tmp/ocelotgui-$VERSION/explorer3.png
cp -p $SOURCE/explorer4.png /tmp/ocelotgui-$VERSION/explorer4.png
cp -p $SOURCE/explorer5.png /tmp/ocelotgui-$VERSION/explorer5.png
cp -p $SOURCE/explorer6.png /tmp/ocelotgui-$VERSION/explorer6.png
cp -p $SOURCE/explorer7.png /tmp/ocelotgui-$VERSION/explorer7.png
cp -p $SOURCE/explorer8.png /tmp/ocelotgui-$VERSION/explorer8.png
cp -p $SOURCE/explorer9.png /tmp/ocelotgui-$VERSION/explorer9.png
cp -p $SOURCE/ocelotgui-logo.png /tmp/ocelotgui-$VERSION/ocelotgui-logo.png
cp -p $SOURCE/ocelotgui_logo.png /tmp/ocelotgui-$VERSION/ocelotgui_logo.png
cp -p $SOURCE/CMakeLists.txt /tmp/ocelotgui-$VERSION/CMakeLists.txt
cp -p $SOURCE/COPYING /tmp/ocelotgui-$VERSION/COPYING
cp -p $SOURCE/COPYING.thirdparty /tmp/ocelotgui-$VERSION/COPYING.thirdparty
cp -p $SOURCE/ocelotgui.1 /tmp/ocelotgui-$VERSION/ocelotgui.1
cp -p $SOURCE/copyright /tmp/ocelotgui-$VERSION/copyright
cp -p $SOURCE/changelog /tmp/ocelotgui-$VERSION/changelog
cp -p $SOURCE/ocelotgui.desktop /tmp/ocelotgui-$VERSION/ocelotgui.desktop
cp -p $SOURCE/tarantool.txt /tmp/ocelotgui-$VERSION/tarantool.txt
cp -p $SOURCE/third_party.h /tmp/ocelotgui-$VERSION/third_party.h
cp -p $SOURCE/debian/README.Debian /tmp/ocelotgui-$VERSION/debian/README.Debian
cp -p $SOURCE/debian/changelog /tmp/ocelotgui-$VERSION/debian/changelog
cp -p $SOURCE/debian/compat /tmp/ocelotgui-$VERSION/debian/compat
cp -p $SOURCE/debian/control /tmp/ocelotgui-$VERSION/debian/control
cp -p $SOURCE/debian/copyright /tmp/ocelotgui-$VERSION/debian/copyright
cp -p $SOURCE/debian/rules /tmp/ocelotgui-$VERSION/debian/rules
cp -p $SOURCE/debian/watch /tmp/ocelotgui-$VERSION/debian/watch
cp -p $SOURCE/debian/patches/series /tmp/ocelotgui-$VERSION/debian/patches/series
cp -p $SOURCE/debian/source/format /tmp/ocelotgui-$VERSION/debian/source/format
cp -p $SOURCE/deb_build.sh /tmp/ocelotgui-$VERSION/deb_build.sh
cp -p $SOURCE/menunew.png /tmp/ocelotgui-$VERSION/menunew.png
cp -p $SOURCE/plugin.c /tmp/ocelotgui-$VERSION/plugin.c
cd /tmp
tar -zcvf ocelotgui-$VERSION.tar.gz ocelotgui-$VERSION
rm -r -f /tmp/debian3
mkdir /tmp/debian3
cd /tmp/debian3
cp /tmp/ocelotgui-$VERSION.tar.gz ocelotgui_$VERSION.orig.tar.gz
tar -xf ocelotgui_$VERSION.orig.tar.gz
cd ocelotgui-$VERSION/debian
debuild
#Optional tests
# The result of debuild should be ocelotgui_$VERSION-1_amd64.deb or ocelotgui_$VERSION-1_i386.deb if 32-bit
# Assuming platform is Ubuntu, $CODENAME will be trusty/senial/bionic/etc. Remember, Peter Gulutzan builds on xenial.
# Final lines of output should show: piuparts says "PASS: All tests." and lintian -I says nothing.
export CODENAME=`lsb_release --codename --short`
cd /tmp/debian3
export CHANGESFILENAME=`ls *.changes`
export DEBFILENAME=`ls *.deb`
sudo piuparts $DEBFILENAME -d $CODENAME
lintian -I $CHANGESFILENAME
lintian -I $DEBFILENAME