wok-current annotate boxbackup-server/receipt @ rev 25308
updated sipsak (0.9.7 -> 0.9.8.1)
author | Hans-G?nter Theisgen |
---|---|
date | Wed Jul 20 10:59:52 2022 +0100 (2022-07-20) |
parents | fca69926510b |
children |
rev | line source |
---|---|
domcox@1357 | 1 # SliTaz package receipt. |
domcox@1357 | 2 |
domcox@1357 | 3 PACKAGE="boxbackup-server" |
Hans-G?nter@22561 | 4 VERSION="0.12" |
domcox@1357 | 5 CATEGORY="network" |
Hans-G?nter@22561 | 6 TAGS="backup automatic server network" |
Hans-G?nter@22561 | 7 SHORT_DESC="Server for the BoxBackup on-line backup system." |
domcox@12350 | 8 MAINTAINER="domcox@slitaz.org" |
pascal@15202 | 9 LICENSE="GPL2" |
pascal@21601 | 10 WEB_SITE="https://www.boxbackup.org/" |
Hans-G?nter@22561 | 11 |
domcox@1357 | 12 SOURCE="boxbackup" |
Hans-G?nter@22561 | 13 TARBALL="$SOURCE-$VERSION.tar.gz" |
Hans-G?nter@22561 | 14 WGET_URL="https://github.com/$SOURCE/$SOURCE/archive/BoxBackup-$VERSION.master.190831.9e0e93e.tar.gz" |
domcox@1357 | 15 |
Hans-G?nter@22561 | 16 DEPENDS="db gcc-lib-base libedit openssl perl zlib" |
Hans-G?nter@22562 | 17 BUILD_DEPENDS="autoconf automake db-dev libedit-dev libxslt openssl-dev zlib-dev" |
pascal@15202 | 18 |
domcox@1357 | 19 # Configuration variables |
domcox@12350 | 20 HOSTNAME=$(ifconfig | awk -F ":" '/cast/ {print substr($2,0, index($2," ")-1) }') |
domcox@12350 | 21 CONF_DIR="/etc/boxbackup" |
domcox@1357 | 22 DATA_DIR="/var/lib/bbstored" |
domcox@1357 | 23 CA_DIR="${CONF_DIR}/ca" |
domcox@1357 | 24 BBUSER="bbstored" |
domcox@1357 | 25 |
pascal@24055 | 26 current_version() |
pascal@24055 | 27 { |
pascal@24055 | 28 wget -O - ${WGET_URL%/arch*}/releases 2>/dev/null | \ |
pascal@24055 | 29 sed '/archive.*tar/!d;s|.*/BoxBackup-\(.*\).master.*|\1|;q' |
pascal@24055 | 30 } |
pascal@24055 | 31 |
domcox@1357 | 32 # Rules to configure and make the package. |
domcox@1357 | 33 compile_rules() |
domcox@1357 | 34 { |
Hans-G?nter@22561 | 35 ./bootstrap && |
pascal@4998 | 36 ./configure --prefix=/usr $CONFIGURE_ARGS && |
Hans-G?nter@22561 | 37 make -j1 && |
Hans-G?nter@22561 | 38 { |
pascal@9047 | 39 mkdir -p $DESTDIR |
Hans-G?nter@22561 | 40 cp -a parcels/boxbackup-git_-backup-client-i486-slitaz-linux-gnu $DESTDIR |
Hans-G?nter@22561 | 41 cp -a parcels/boxbackup-git_-backup-server-i486-slitaz-linux-gnu $DESTDIR |
Hans-G?nter@22561 | 42 rm -f $DESTDIR/boxbackup-git_-backup-server-i486-slitaz-linux-gnu/*.* |
pascal@9047 | 43 } |
al@19288 | 44 cook_pick_manpages $src/docs/man/* |
domcox@1357 | 45 } |
domcox@1357 | 46 |
domcox@1357 | 47 # Rules to gen a SliTaz package suitable for Tazpkg. |
domcox@1357 | 48 genpkg_rules() |
domcox@1357 | 49 { |
domcox@1357 | 50 mkdir -p $fs/usr/bin |
domcox@1357 | 51 mkdir -p $fs/etc/init.d |
Hans-G?nter@22561 | 52 |
Hans-G?nter@22561 | 53 cp -a $install/boxbackup-git_-backup-server-i486-slitaz-linux-gnu/bb* \ |
Hans-G?nter@22561 | 54 $fs/usr/bin |
Hans-G?nter@22561 | 55 cp -a $install/boxbackup-git_-backup-server-i486-slitaz-linux-gnu/ra* \ |
Hans-G?nter@22561 | 56 $fs/usr/bin |
pankso@9697 | 57 cp -a $stuff/bbstored $fs/etc/init.d |
domcox@1357 | 58 } |
domcox@1357 | 59 |
domcox@1357 | 60 |
domcox@1357 | 61 # Pre and post install commands for Tazpkg. |
domcox@1357 | 62 |
domcox@1357 | 63 pre_install() |
domcox@1357 | 64 { |
domcox@1357 | 65 # Stop daemon |
Hans-G?nter@22561 | 66 if [ -z "$1" -a -e /var/run/bbstored.pid ] |
Hans-G?nter@22561 | 67 then |
domcox@1357 | 68 /etc/init.d/bbstored stop |
domcox@1357 | 69 fi |
domcox@1357 | 70 } |
domcox@1357 | 71 |
domcox@1357 | 72 post_install() |
domcox@1357 | 73 { |
Hans-G?nter@22561 | 74 # default configuration directory is now /etc/boxbackup |
Hans-G?nter@22561 | 75 if [ ! -e "$1/etc/box/bbstored.conf" ] |
Hans-G?nter@22561 | 76 then |
pascal@18732 | 77 mv "$1/etc/box" "$1$CONF_DIR" |
domcox@12350 | 78 fi |
domcox@12350 | 79 |
domcox@1357 | 80 # adduser BBUSER if needed |
Hans-G?nter@22561 | 81 if ! grep -q $BBUSER "$1/etc/passwd" |
Hans-G?nter@22561 | 82 then |
al@18668 | 83 echo |
al@18668 | 84 action "Adding user '$BBUSER'..." |
pascal@18730 | 85 echo $BBUSER':x:505:505:BoxBackup Network Backup:/dev/null:/bin/false' >> "$1/etc/passwd" |
pascal@18730 | 86 echo $BBUSER':!:14013:0:99999:7:::' >> "$1/etc/shadow" |
pascal@18730 | 87 echo $BBUSER':x:505:' >> "$1/etc/group" |
pascal@18730 | 88 echo $BBUSER':!::' >> "$1/etc/gshadow" |
domcox@1357 | 89 status |
domcox@1357 | 90 fi |
domcox@1357 | 91 |
Hans-G?nter@22561 | 92 # Create configuration as needed |
Hans-G?nter@22561 | 93 if [ ! -e "$1$CONF_DIR" ] |
Hans-G?nter@22561 | 94 then |
pascal@18730 | 95 mkdir -p "$1$CONF_DIR" && |
pascal@18730 | 96 chroot "$1/" chown $BBUSER $CONF_DIR && |
pascal@18730 | 97 chmod 700 "$1$CONF_DIR" |
domcox@1357 | 98 fi |
domcox@1357 | 99 |
Hans-G?nter@22561 | 100 if [ ! -e "$1$DATA_DIR/backup" ] |
Hans-G?nter@22561 | 101 then |
Hans-G?nter@22561 | 102 # Creating backup directory |
al@18668 | 103 action "Creating backup directory..." |
pascal@18730 | 104 mkdir -p "$1$DATA_DIR/backup" && |
pascal@18730 | 105 chroot "$1/" chown -R $BBUSER $DATA_DIR && |
pascal@18730 | 106 chmod -R 700 "$1$DATA_DIR" |
domcox@1357 | 107 status |
domcox@1357 | 108 fi |
domcox@1357 | 109 |
Hans-G?nter@22561 | 110 if [ ! -e "$1$CONF_DIR/raidfile.conf" ] |
Hans-G?nter@22561 | 111 then |
domcox@1357 | 112 # RAID Setup |
al@18668 | 113 action "Disabling deprecated userland RAID..." |
pascal@18730 | 114 chroot "$1/" /usr/bin/raidfile-config $CONF_DIR 2048 $DATA_DIR 2>1 > /dev/null |
domcox@1357 | 115 status |
pascal@18730 | 116 chroot "$1/" chown -R $BBUSER $CONF_DIR/raidfile.conf && |
pascal@18730 | 117 chmod 700 -R "$1$CONF_DIR/raidfile.conf" |
domcox@1357 | 118 fi |
domcox@1357 | 119 |
Hans-G?nter@22561 | 120 if [ ! -e "$1$CONF_DIR/bbstored.conf" ] |
Hans-G?nter@22561 | 121 then |
domcox@1357 | 122 # Setting hostname |
al@18668 | 123 action "Setting hostname... " |
Hans-G?nter@22561 | 124 if [ $(chroot "$1/" hostname -f 2>1 > /dev/null;echo $?) -eq 0 ] |
Hans-G?nter@22561 | 125 then |
pascal@18730 | 126 HOSTNAME=$(chroot "$1/" hostname -f) |
domcox@1357 | 127 fi |
Hans-G?nter@22561 | 128 if [ -z $HOSTNAME ] |
Hans-G?nter@22561 | 129 then |
domcox@1357 | 130 HOSTNAME="127.0.0.1" |
domcox@1357 | 131 fi |
pascal@17940 | 132 export $HOSTNAME |
domcox@1357 | 133 echo $HOSTNAME |
domcox@1357 | 134 |
domcox@1357 | 135 # Setting up the CA environment |
al@18668 | 136 action "Creating certificates..." |
pascal@18730 | 137 chroot "$1/" /usr/bin/bbstored-certs $CA_DIR init 2>1 > /dev/null |
domcox@1357 | 138 status |
domcox@1357 | 139 |
domcox@1357 | 140 # Generate server certificate request |
al@18668 | 141 action "Generate server certificate request..." |
pascal@18730 | 142 chroot "$1/" bbstored-config $CONF_DIR $HOSTNAME $BBUSER 2>1 > /dev/null |
domcox@1357 | 143 status |
domcox@1357 | 144 |
domcox@1357 | 145 # Sign the server certificate |
al@18668 | 146 action "Sign the server certificate..." |
Hans-G?nter@22561 | 147 chroot "$1/" openssl x509 -req -sha1 -extensions usr_crt \ |
Hans-G?nter@22561 | 148 -in $CONF_DIR/$BBUSER/${HOSTNAME}-csr.pem \ |
Hans-G?nter@22561 | 149 -CA $CA_DIR/roots/serverCA.pem \ |
Hans-G?nter@22561 | 150 -CAkey $CA_DIR/keys/serverRootKey.pem \ |
Hans-G?nter@22561 | 151 -out $CA_DIR/servers/${HOSTNAME}-cert.pem \ |
domcox@1357 | 152 -days 5000 2>1 > /dev/null |
domcox@1357 | 153 status |
domcox@1357 | 154 |
domcox@1357 | 155 # Preparing the server certificates |
al@18668 | 156 action "Installing server certificate..." |
Hans-G?nter@22561 | 157 cp -a "$1$CA_DIR/servers/${HOSTNAME}-cert.pem" \ |
Hans-G?nter@22561 | 158 "$1$CONF_DIR/$BBUSER" |
domcox@1357 | 159 status |
al@18668 | 160 action "Installing client certificate..." |
Hans-G?nter@22561 | 161 cp -a "$1$CA_DIR/roots/clientCA.pem" \ |
Hans-G?nter@22561 | 162 "$1$CONF_DIR/$BBUSER" |
domcox@1357 | 163 status |
domcox@1357 | 164 |
domcox@1357 | 165 # Securing $CONF_DIR |
pascal@18730 | 166 chroot "$1/" chown -R $BBUSER $CONF_DIR/bbstored* && |
pascal@18730 | 167 chmod 700 -R "$1$CONF_DIR/bbstored"* |
domcox@1357 | 168 fi |
domcox@1357 | 169 |
Hans-G?nter@22561 | 170 if [ -e "$1$CA_DIR" ] |
Hans-G?nter@22561 | 171 then |
domcox@1357 | 172 # Warning |
domcox@1357 | 173 echo |
domcox@1357 | 174 echo "IMPORTANT NOTE:" |
domcox@1357 | 175 echo "--------------" |
domcox@1357 | 176 echo "The certificate authority directory $CA_DIR is intended to be" |
domcox@1357 | 177 echo "moved to another system. It should not be kept on the backup server" |
domcox@1357 | 178 echo "to limit the impact of a server compromise." |
domcox@1357 | 179 fi |
domcox@1357 | 180 } |
domcox@1357 | 181 |
domcox@1357 | 182 # Pre and post remove commands for Tazpkg |
domcox@1357 | 183 |
domcox@1357 | 184 pre_remove() |
domcox@1357 | 185 { |
domcox@1357 | 186 /etc/init.d/bbstored stop |
domcox@1357 | 187 } |
domcox@1357 | 188 |
domcox@1357 | 189 post_remove() |
domcox@1357 | 190 { |
al@18668 | 191 echo |
Hans-G?nter@22561 | 192 if grep -q $BBUSER /etc/passwd |
Hans-G?nter@22561 | 193 then |
al@18668 | 194 action "Removing $BBUSER user..." |
domcox@1357 | 195 deluser bbstored |
domcox@1357 | 196 status |
domcox@1357 | 197 fi |
Hans-G?nter@22561 | 198 |
domcox@1357 | 199 # Delete data |
Hans-G?nter@22561 | 200 if [ -e $DATA_DIR ] |
Hans-G?nter@22561 | 201 then |
al@18668 | 202 action "Removing all backup data..." |
domcox@1357 | 203 rm -r $DATA_DIR |
domcox@1357 | 204 status |
domcox@1357 | 205 fi |
Hans-G?nter@22561 | 206 |
Hans-G?nter@22561 | 207 # Delete bbstored configuration files |
Hans-G?nter@22561 | 208 if [ -e $CONF_DIR/bbstored.conf ] |
Hans-G?nter@22561 | 209 then |
al@18668 | 210 action "Removing config files..." |
domcox@1357 | 211 rm -rf $CONF_DIR/bbstored |
domcox@1357 | 212 rm -f $CONF_DIR/raidfile.conf |
domcox@1357 | 213 rm -f $CONF_DIR/bbstored.conf |
domcox@1357 | 214 status |
domcox@1357 | 215 fi |
Hans-G?nter@22561 | 216 |
domcox@1357 | 217 # Delete certificates |
Hans-G?nter@22561 | 218 if [ -e $CA_DIR ] |
Hans-G?nter@22561 | 219 then |
al@18668 | 220 action "Removing certificates..." |
al@18668 | 221 rm -r $CA_DIR |
domcox@1357 | 222 status |
al@18668 | 223 fi |
Hans-G?nter@22561 | 224 |
domcox@1357 | 225 # Delete $CONF_DIR (if empty) |
Hans-G?nter@22561 | 226 if [ $(ls -lA $CONF_DIR | wc -l) -eq 0 ] |
Hans-G?nter@22561 | 227 then |
al@18668 | 228 action "Removing $CONF_DIR..." |
domcox@1357 | 229 rm -r $CONF_DIR |
domcox@1357 | 230 status |
domcox@1357 | 231 fi |
Hans-G?nter@22561 | 232 |
domcox@1357 | 233 # Delete PID, sock files |
domcox@1357 | 234 rm -f /var/run/bbstored.* |
jozee@3568 | 235 } |