More fine tuning of the AppImage
[citadel.git] / appimage / build_appimage.sh
1 #!/bin/bash
2
3 rm -fr /usr/local/citadel /usr/local/webcit
4
5 # Build libcitadel
6 pushd ../libcitadel || exit 1
7 ./bootstrap || exit 1
8 ./configure || exit 1
9 make || exit 1
10 make install || exit 1
11 popd
12
13 # Build the Citadel server
14 pushd ../citadel || exit 1
15 ./bootstrap || exit 1
16 ./configure --prefix=/usr/local/citadel || exit 1
17 make || exit 1
18 make install || exit 1
19 popd
20
21 # Build WebCit
22 pushd ../webcit || exit 1
23 ./bootstrap || exit 1
24 ./configure --prefix=/usr/local/webcit || exit 1
25 make || exit 1
26 make install || exit 1
27 popd
28
29 # Clear out our build directories
30 rm -frv citadel.AppDir/usr
31 mkdir -p citadel.AppDir/usr/bin
32 mkdir -p citadel.AppDir/usr/lib
33
34 # Copy over all the libraries we used
35 for bin in /usr/local/citadel/citserver /usr/local/webcit/webcit
36 do
37         for x in `ldd $bin | awk ' { print $3 } ' | grep -v -e '^$' | grep -v 'libc.so' | grep -v 'libpthread.so' | grep -v 'libresolv.so'`
38         do
39                 cp -v -L $x citadel.AppDir/usr/lib/
40         done
41 done
42 ldconfig -v citadel.AppDir/usr/lib
43
44 # Copy over our application trees
45 for x in citadel webcit
46 do
47         mkdir -p citadel.AppDir/usr/local/$x
48         rsync -va /usr/local/$x/ ./citadel.AppDir/usr/local/$x/
49 done
50
51 rm -fr /usr/local/citadel /usr/local/webcit
52
53 cc ctdlvisor.c -o citadel.AppDir/usr/bin/ctdlvisor || exit 1
54 ARCH=ARM appimagetool citadel.AppDir/