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