3 export CITADEL_BUILD_DIR=/tmp/citadel-build-$$
4 export WEBCIT_BUILD_DIR=/tmp/webcit-build-$$
5 rm -fr $CITADEL_BUILD_DIR $WEBCIT_BUILD_DIR
7 # libcitadel has to be built in a "real" library directory
8 pushd ../libcitadel || exit 1
9 make distclean 2>/dev/null
13 make install || exit 5
16 # Build the Citadel server
17 pushd ../citadel || exit 6
18 make distclean 2>/dev/null
20 ./configure --prefix=$CITADEL_BUILD_DIR || exit 8
22 make install || exit 10
26 pushd ../webcit || exit 11
27 make distclean 2>/dev/null
28 ./bootstrap || exit 12
29 ./configure --prefix=$WEBCIT_BUILD_DIR || exit 13
31 make install || exit 15
34 # Clear out any old versions in the AppDir
35 rm -frv citadel.AppDir/usr
36 mkdir -p citadel.AppDir/usr/bin
37 mkdir -p citadel.AppDir/usr/lib
39 # Copy over all the libraries we used
40 for bin in $CITADEL_BUILD_DIR/citserver $WEBCIT_BUILD_DIR/webcit
42 for x in `ldd $bin | awk ' { print $3 } ' | grep -v -e '^$' | grep -v 'libc.so' | grep -v 'libpthread.so' | grep -v 'libresolv.so'`
44 cp -v -L $x citadel.AppDir/usr/lib/
47 ldconfig -v citadel.AppDir/usr/lib
49 # Copy over some utilities
50 for bin in db_dump db_load db_recover
52 cp `which $bin` citadel.AppDir/usr/bin/ || exit 16
55 # Install the Citadel Server application tree
56 mkdir -p citadel.AppDir/usr/local/citadel || exit 17
57 rsync -va $CITADEL_BUILD_DIR/ ./citadel.AppDir/usr/local/citadel/ || exit 18
59 # Install the WebCit application tree
60 mkdir -p citadel.AppDir/usr/local/webcit || exit 19
61 rsync -va $WEBCIT_BUILD_DIR/ ./citadel.AppDir/usr/local/webcit/ || exit 20
63 # Remove the build directories
64 rm -fr $CITADEL_BUILD_DIR $WEBCIT_BUILD_DIR
66 cc ctdlvisor.c -o citadel.AppDir/usr/bin/ctdlvisor || exit 21
69 basefilename=citadel-`date +%s`
70 if [ $cpu == x86_64 ] ; then
71 ARCH=x86_64 appimagetool citadel.AppDir/ ${basefilename}-x64.appimage
73 ARCH=ARM appimagetool citadel.AppDir/ ${basefilename}-arm32.appimage