X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=appimage%2Fbuild_appimage.sh;h=6df62a4cec403daae84b9b9321dff5060bdca4b8;hp=4391afc8d4b262e9e3c3f2b886c9d870b190ce73;hb=55ccbdf1cbb55d5c190072dbba32394fcf171d60;hpb=eb57280f825bc3d1cf0879f5ec6be1d81994c720 diff --git a/appimage/build_appimage.sh b/appimage/build_appimage.sh index 4391afc8d..6df62a4ce 100755 --- a/appimage/build_appimage.sh +++ b/appimage/build_appimage.sh @@ -1,8 +1,10 @@ #!/bin/bash -rm -fr /usr/local/citadel /usr/local/webcit +export CITADEL_BUILD_DIR=/tmp/citadel-build-$$ +export WEBCIT_BUILD_DIR=/tmp/webcit-build-$$ +rm -fr $CITADEL_BUILD_DIR $WEBCIT_BUILD_DIR -# Build libcitadel +# libcitadel has to be built in a "real" library directory pushd ../libcitadel || exit 1 ./bootstrap || exit 1 ./configure || exit 1 @@ -13,7 +15,7 @@ popd # Build the Citadel server pushd ../citadel || exit 1 ./bootstrap || exit 1 -./configure --prefix=/usr/local/citadel || exit 1 +./configure --prefix=$CITADEL_BUILD_DIR || exit 1 make || exit 1 make install || exit 1 popd @@ -21,21 +23,18 @@ popd # Build WebCit pushd ../webcit || exit 1 ./bootstrap || exit 1 -./configure --prefix=/usr/local/webcit || exit 1 +./configure --prefix=$WEBCIT_BUILD_DIR || 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 +# Clear out any old versions in the AppDir rm -frv citadel.AppDir/usr mkdir -p citadel.AppDir/usr/bin mkdir -p citadel.AppDir/usr/lib # Copy over all the libraries we used -for bin in /usr/local/citadel/citserver /usr/local/webcit/webcit +for bin in $CITADEL_BUILD_DIR/citserver $WEBCIT_BUILD_DIR/webcit do for x in `ldd $bin | awk ' { print $3 } ' | grep -v -e '^$' | grep -v 'libc.so' | grep -v 'libpthread.so' | grep -v 'libresolv.so'` do @@ -44,13 +43,26 @@ do done ldconfig -v citadel.AppDir/usr/lib -# 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 +# Install the Citadel Server application tree +mkdir -p citadel.AppDir/usr/local/citadel +rsync -va $CITADEL_BUILD_DIR/ ./citadel.AppDir/usr/local/citadel/ + +# Install the WebCit application tree +mkdir -p citadel.AppDir/usr/local/webcit +rsync -va $WEBCIT_BUILD_DIR/ ./citadel.AppDir/usr/local/webcit/ + +# Remove the build directories +rm -fr $CITADEL_BUILD_DIR $WEBCIT_BUILD_DIR + +cc ctdlvisor.c -o citadel.AppDir/usr/bin/ctdlvisor || exit 1 + +cpu=`uname -p` +if [ $cpu == x86_64 ] ; then + ARCH=x86_64 appimagetool citadel.AppDir/ + md5sum Citadel-x86_64.AppImage | awk ' { print $1 } ' >Citadel-x86_64.AppImage.md5 +else + ARCH=ARM appimagetool citadel.AppDir/ + md5sum Citadel-armhf.AppImage | awk ' { print $1 } ' >Citadel-armhf.AppImage.md5 +fi + -cp ctdlvisor citadel.AppDir/usr/bin/ -ARCH=x86_64 appimagetool citadel.AppDir/ -rm -fr /usr/local/citadel /usr/local/webcit