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