X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=appimage%2Fbuild_appimage.sh;h=4fddec1a54083bd3769255e4acdddeafb41685db;hb=3ad568a2b76a63f74d6e697ef51abb2c9ae4d28e;hp=28d24eccb7c55509a4949e6598dea77f81eece6c;hpb=a69cc33c04719fd0ce234584c668139a34c20cc7;p=citadel.git diff --git a/appimage/build_appimage.sh b/appimage/build_appimage.sh index 28d24eccb..4fddec1a5 100755 --- a/appimage/build_appimage.sh +++ b/appimage/build_appimage.sh @@ -1,5 +1,7 @@ #!/bin/bash +rm -vf citadel-*appimage + export CITADEL_BUILD_DIR=/tmp/citadel-build-$$ export WEBCIT_BUILD_DIR=/tmp/webcit-build-$$ rm -fr $CITADEL_BUILD_DIR $WEBCIT_BUILD_DIR @@ -13,6 +15,14 @@ make || exit 4 make install || exit 5 popd +# Build the text mode client +pushd ../textclient || exit 22 +make distclean 2>/dev/null +./bootstrap || exit 23 +./configure --prefix=`pwd` || exit 24 +make || exit 25 +popd + # Build the Citadel server pushd ../citadel || exit 6 make distclean 2>/dev/null @@ -37,21 +47,37 @@ mkdir -p citadel.AppDir/usr/bin mkdir -p citadel.AppDir/usr/lib # Copy over all the libraries we used -for bin in $CITADEL_BUILD_DIR/citserver $WEBCIT_BUILD_DIR/webcit +for bin in \ + $CITADEL_BUILD_DIR/citserver \ + $WEBCIT_BUILD_DIR/webcit \ + $CITADEL_BUILD_DIR/ctdlmigrate \ + ../textclient/citadel \ + `which gdb` +do + ldd $bin +done | sort | while read libname junk libpath 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 - cp -v -L $x citadel.AppDir/usr/lib/ - done + if [ ! -e ${libpath} 2>/dev/null ] ; then + echo -e \\033[31m ${libname} was not found and will not be packaged. \\033[0m + elif grep ^${libname}$ excludelist >/dev/null 2>/dev/null ; then + echo -e \\033[33m ${libname} is in the exclude list and will not be packaged. \\033[0m + else + echo -e \\033[32m ${libname} will be packaged. \\033[0m + cp -L ${libpath} citadel.AppDir/usr/lib/ 2>/dev/null + fi done ldconfig -v citadel.AppDir/usr/lib # Copy over some utilities -for bin in db_dump db_load db_recover +for bin in db_dump db_load db_recover gdb do cp `which $bin` citadel.AppDir/usr/bin/ || exit 16 done +# Copy over the client +cp ../textclient/citadel citadel.AppDir/usr/bin/ || exit 26 +cp ../textclient/citadel.rc citadel.AppDir/ || exit 27 + # Install the Citadel Server application tree mkdir -p citadel.AppDir/usr/local/citadel || exit 17 rsync -va $CITADEL_BUILD_DIR/ ./citadel.AppDir/usr/local/citadel/ || exit 18 @@ -66,11 +92,13 @@ rm -fr $CITADEL_BUILD_DIR $WEBCIT_BUILD_DIR cc ctdlvisor.c -o citadel.AppDir/usr/bin/ctdlvisor || exit 21 CPU=`uname -m` -basefilename=citadel-`date +%s` +basefilename=citadel-`cat ../release_version.txt` if [ $CPU == x86_64 ] ; then export ARCH=x86_64 elif [ $CPU == armv7l ] ; then - export ARCH=ARM + export ARCH=armhf +elif [ $CPU == aarch64 ] ; then + export ARCH=aarch64 fi echo ARCH: $ARCH echo CPU: $CPU