appimage supervisor is functionally complete
[citadel.git] / appimage / build_appimage.sh
index 1fcc7cea7cb4d6533ed324e04e6d7c1099ee42f5..ce502807fd71886ba1fa0fc2919fd4de2a965103 100755 (executable)
@@ -1,18 +1,42 @@
 #!/bin/bash
 
-CTDLROOT=../citadel
+rm -fr /usr/local/citadel /usr/local/webcit
 
+# Build libcitadel
+pushd ../libcitadel || exit 1
+./bootstrap || exit 1
+./configure || exit 1
+make || exit 1
+make install || exit 1
+popd
+
+# Build the Citadel server
+pushd ../citadel || exit 1
+./bootstrap || exit 1
+./configure --prefix=/usr/local/citadel || exit 1
+make || exit 1
+make install || exit 1
+popd
+
+# Build WebCit
+pushd ../webcit || exit 1
+./bootstrap || exit 1
+./configure --prefix=/usr/local/webcit || exit 1
+make || exit 1
+make install || exit 1
+popd
+
+# Build the appimage supervisor
+cc ctdlvisor.c -o ctdlvisor || exit 1
+
+# Clear out our build directories
 rm -frv citadel.AppDir/usr
 mkdir -p citadel.AppDir/usr/bin
 mkdir -p citadel.AppDir/usr/lib
 
-pushd citadel.AppDir
-cc ctdlvisor.c -o ctdlvisor || exit 1
-popd
-
-for bin in $CTDLROOT/citadel/citserver $CTDLROOT/webcit/webcit
+# Copy over all the libraries we used
+for bin in /usr/local/citadel/citserver /usr/local/webcit/webcit
 do
-       cp -v $bin citadel.AppDir/usr/bin/
        for x in `ldd $bin | awk ' { print $3 } ' | grep -v -e '^$' | grep -v 'libc.so' | grep -v 'libpthread.so' | grep -v 'libresolv.so'`
        do
                cp -v -L $x citadel.AppDir/usr/lib/
@@ -20,7 +44,13 @@ do
 done
 ldconfig -v citadel.AppDir/usr/lib
 
-ARCH=x86_64 appimagetool citadel.AppDir/
+# Copy over our application trees
+for x in citadel webcit
+do
+       mkdir -p citadel.AppDir/usr/local/$x
+       rsync -va /usr/local/$x/ ./citadel.AppDir/usr/local/$x/
+done
 
-# Hint: do this on your build server first!
-# apt-get install make build-essential autoconf zlib1g-dev libldap2-dev libssl-dev gettext libical-dev libexpat1-dev libcurl4-openssl-dev
+cp ctdlvisor citadel.AppDir/usr/bin/
+
+ARCH=x86_64 appimagetool citadel.AppDir/