AppImage format and how it works.
Again, do NOT try to run this on your production machine. For that matter, don't try to
-run it on anything other than a dedicated build host. It will ERASE /usr/local/citadel
-and /usr/local/webcit during the build process.
+run it on anything other than a dedicated build host. It may ERASE data you intended to
+keep.
If you're an end user you shouldn't have any need to do this at all. The whole point of
this is that we can supply ready-to-run binaries that will run on any Linux/Linux system
binary should be able to run. The distribution does not matter -- for example, a
binary built on Debian should run fine on Ubuntu or Red Hat or whatever -- but the C
library and other very base system libraries are only upward compatible, not downward
-compatible. For example, at the time of this writing, I am building on Ubuntu 14 and
+compatible. For example, at the time of this writing, I am building on Ubuntu 16 and
it's early 2021.
# libcitadel has to be built in a "real" library directory
pushd ../libcitadel || exit 1
+make distclean 2>/dev/null
./bootstrap || exit 1
./configure || exit 1
make || exit 1
# Build the Citadel server
pushd ../citadel || exit 1
+make distclean 2>/dev/null
./bootstrap || exit 1
./configure --prefix=$CITADEL_BUILD_DIR || exit 1
make || exit 1
# Build WebCit
pushd ../webcit || exit 1
+make distclean 2>/dev/null
./bootstrap || exit 1
./configure --prefix=$WEBCIT_BUILD_DIR || exit 1
make || exit 1
cc ctdlvisor.c -o citadel.AppDir/usr/bin/ctdlvisor || exit 1
cpu=`uname -p`
+basefilename=citadel-`date +%s`
if [ $cpu == x86_64 ] ; then
- ARCH=x86_64 appimagetool citadel.AppDir/
- md5sum Citadel-x86_64.AppImage | awk ' { print $1 } ' >Citadel-x86_64.AppImage.md5
+ ARCH=x86_64 appimagetool citadel.AppDir/ ${basefilename}-x64.appimage
else
- ARCH=ARM appimagetool citadel.AppDir/
- md5sum Citadel-armhf.AppImage | awk ' { print $1 } ' >Citadel-armhf.AppImage.md5
+ ARCH=ARM appimagetool ${basefilename}.AppDir/ ${basefilename}-arm32.appimage
fi
-
-