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 1
16 # Build the Citadel server
17 pushd ../citadel || exit 1
18 make distclean 2>/dev/null
20 ./configure --prefix=$CITADEL_BUILD_DIR || exit 1
22 make install || exit 1
26 pushd ../webcit || exit 1
27 make distclean 2>/dev/null
29 ./configure --prefix=$WEBCIT_BUILD_DIR || exit 1
31 make install || exit 1
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 # Install the Citadel Server application tree
50 mkdir -p citadel.AppDir/usr/local/citadel
51 rsync -va $CITADEL_BUILD_DIR/ ./citadel.AppDir/usr/local/citadel/
53 # Install the WebCit application tree
54 mkdir -p citadel.AppDir/usr/local/webcit
55 rsync -va $WEBCIT_BUILD_DIR/ ./citadel.AppDir/usr/local/webcit/
57 # Remove the build directories
58 rm -fr $CITADEL_BUILD_DIR $WEBCIT_BUILD_DIR
60 cc ctdlvisor.c -o citadel.AppDir/usr/bin/ctdlvisor || exit 1
63 basefilename=citadel-`date +%s`
64 if [ $cpu == x86_64 ] ; then
65 ARCH=x86_64 appimagetool citadel.AppDir/ ${basefilename}-x64.appimage
67 ARCH=ARM appimagetool ${basefilename}.AppDir/ ${basefilename}-arm32.appimage