bunkchat/install.sh
maren b61befa4ab take heed, and proclaim that which you hath scried
Co-authored-by: oxaliq <git@oxaliq.net>
2024-04-13 20:42:14 -04:00

50 lines
1.1 KiB
Bash
Executable file

#!/bin/sh -e
installtarget=/usr/local/bin
chatlogdir=/var/log/bunkchat
chatlog=chat.log
chattrfailed() {
set +e
rm -rf $chatlogdir
echo
echo "ERROR: could not set append only attribute in ${chatlogdir}"
echo " does your filesystem support 'chattr +a' ?"
exit 1
}
prep() {
mkdir -p $chatlogdir
chmod 755 $chatlogdir
touch ${chatlogdir}/${chatlog}
chmod 666 ${chatlogdir}/${chatlog}
# if chattr +a not supported on this file system, catch error and clean up
chattr +a ${chatlogdir}/${chatlog} || chattrfailed
}
install() {
cp proclaim heed scry $installtarget
chmod 755 ${installtarget}/proclaim
chmod 755 ${installtarget}/heed
chmod 755 ${installtarget}/scry
chown root:root ${installtarget}/proclaim
chown root:root ${installtarget}/heed
chown root:root ${installtarget}/scry
echo "SUCCESS! bunkchat installed!"
exit 0
}
# check for root perms
if ! [ "$(id -u)" = 0 ]; then
echo "ERROR: please run install with root permission" >&2
exit 1
fi
# if chat.log exists, skip prep
if [ -f ${chatlogdir}/${chatlog} ]; then
install
else
prep
install
fi