wok-next annotate boxbackup/receipt @ rev 20456
Combine receipts
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Mar 02 03:33:54 2018 +0200 (2018-03-02) |
parents | |
children | 471441bc00c3 |
rev | line source |
---|---|
al@20456 | 1 # SliTaz package receipt v2. |
al@20456 | 2 |
al@20456 | 3 PACKAGE="boxbackup" |
al@20456 | 4 VERSION="0.11.1" |
al@20456 | 5 CATEGORY="meta" |
al@20456 | 6 SHORT_DESC="BoxBackup on-line backup system" |
al@20456 | 7 MAINTAINER="domcox@slitaz.org" |
al@20456 | 8 LICENSE="GPL2" |
al@20456 | 9 WEB_SITE="http://www.boxbackup.org/" |
al@20456 | 10 |
al@20456 | 11 TARBALL="boxbackup-$VERSION.tgz" |
al@20456 | 12 # stable |
al@20456 | 13 # WGET_URL="$SF_MIRROR/boxbackup/$TARBALL" |
al@20456 | 14 #WGET_URL="http://www.boxbackup.org/svn/box/packages/$TARBALL" |
al@20456 | 15 WGET_URL="http://www.boxbackup.org/export/3106/box/packages/$TARBALL" |
al@20456 | 16 |
al@20456 | 17 BUILD_DEPENDS="db-dev libedit-dev openssl-dev zlib-dev perl" |
al@20456 | 18 SPLIT="boxbackup-client boxbackup-server" |
al@20456 | 19 |
al@20456 | 20 # Configuration variables |
al@20456 | 21 |
al@20456 | 22 compile_rules() { |
al@20456 | 23 ./configure \ |
al@20456 | 24 --prefix=/usr \ |
al@20456 | 25 $CONFIGURE_ARGS && |
al@20456 | 26 make -j1 && |
al@20456 | 27 { |
al@20456 | 28 mkdir -p $DESTDIR |
al@20456 | 29 cp -a parcels/boxbackup-$VERSION-backup-client-linux-gnu $DESTDIR |
al@20456 | 30 cp -a parcels/boxbackup-$VERSION-backup-server-linux-gnu $DESTDIR |
al@20456 | 31 rm -f $DESTDIR/boxbackup-$VERSION-backup-server-linux-gnu/*.* |
al@20456 | 32 } |
al@20456 | 33 |
al@20456 | 34 cook_pick_manpages $src/docs/man/* |
al@20456 | 35 } |
al@20456 | 36 |
al@20456 | 37 genpkg_rules() { |
al@20456 | 38 case $PACKAGE in |
al@20456 | 39 boxbackup) |
al@20456 | 40 DEPENDS="$SPLIT" |
al@20456 | 41 ;; |
al@20456 | 42 *-client) |
al@20456 | 43 mkdir -p $fs/usr/bin |
al@20456 | 44 cp -a $install/boxbackup-$VERSION-backup-client-linux-gnu/bb* $fs/usr/bin |
al@20456 | 45 rm -f $fs/usr/bin/*.* |
al@20456 | 46 mkdir -p $fs/etc/init.d |
al@20456 | 47 cp -a $stuff/bbackupd $fs/etc/init.d |
al@20456 | 48 CAT="network|client" |
al@20456 | 49 DEPENDS="db libedit openssl perl zlib gcc-lib-base" |
al@20456 | 50 TAGS="backup automatic client" |
al@20456 | 51 ;; |
al@20456 | 52 *-server) |
al@20456 | 53 mkdir -p $fs/usr/bin |
al@20456 | 54 cp -a $install/boxbackup-$VERSION-backup-server-linux-gnu/bb* $fs/usr/bin |
al@20456 | 55 cp -a $install/boxbackup-$VERSION-backup-server-linux-gnu/ra* $fs/usr/bin |
al@20456 | 56 mkdir -p $fs/etc/init.d |
al@20456 | 57 cp -a $stuff/bbstored $fs/etc/init.d |
al@20456 | 58 CAT="network|server" |
al@20456 | 59 DEPENDS="db libedit openssl perl zlib gcc-lib-base" |
al@20456 | 60 TAGS="backup automatic server network" |
al@20456 | 61 ;; |
al@20456 | 62 esac |
al@20456 | 63 } |
al@20456 | 64 |
al@20456 | 65 pre_install_boxbackup_client() { |
al@20456 | 66 RUN_DMON=0 |
al@20456 | 67 |
al@20456 | 68 # Stop daemon |
al@20456 | 69 if [ -z "$1" -a -e /var/run/bbackupd.pid ]; then |
al@20456 | 70 /etc/init.d/bbackupd stop |
al@20456 | 71 RUN_DMON=1 |
al@20456 | 72 fi |
al@20456 | 73 } |
al@20456 | 74 |
al@20456 | 75 post_install_boxbackup_client() { |
al@20456 | 76 CONF_DIR="/etc/boxbackup" |
al@20456 | 77 DATA_DIR="/var/lib/bbackupd" |
al@20456 | 78 |
al@20456 | 79 # Creating conf dir |
al@20456 | 80 if [ ! -e "$1/$CONF_DIR" ]; then |
al@20456 | 81 mkdir -p "$1/$CONF_DIR" && chmod 755 "$1/$CONF_DIR" |
al@20456 | 82 fi |
al@20456 | 83 if [ ! -e "$1/$DATA_DIR" ]; then |
al@20456 | 84 mkdir -p "$1/$DATA_DIR" && chmod 700 "$1/$DATA_DIR" |
al@20456 | 85 fi |
al@20456 | 86 if [ -z "$1" ]; then |
al@20456 | 87 # Start daemon (if stopped by install) |
al@20456 | 88 if [ $RUN_DMON -eq 1 ]; then |
al@20456 | 89 /etc/init.d/bbackupd start |
al@20456 | 90 fi |
al@20456 | 91 fi |
al@20456 | 92 true |
al@20456 | 93 } |
al@20456 | 94 |
al@20456 | 95 pre_remove_boxbackup_client() { |
al@20456 | 96 # Stop daemon |
al@20456 | 97 if [ -z "$1" ]; then |
al@20456 | 98 if [ -e /var/run/bbackupd.pid ]; then |
al@20456 | 99 /etc/init.d/bbackupd stop |
al@20456 | 100 fi |
al@20456 | 101 fi |
al@20456 | 102 } |
al@20456 | 103 |
al@20456 | 104 post_remove_boxbackup_client() { |
al@20456 | 105 CONF_DIR="/etc/boxbackup" |
al@20456 | 106 DATA_DIR="/var/lib/bbackupd" |
al@20456 | 107 |
al@20456 | 108 # Delete DATA directory |
al@20456 | 109 rm -rf "$1/$DATA_DIR" |
al@20456 | 110 |
al@20456 | 111 # Delete Client config files |
al@20456 | 112 rm -rf "$1/$CONF_DIR"/bbackupd* |
al@20456 | 113 |
al@20456 | 114 # Delete CONF dir (if empty) |
al@20456 | 115 if [ $(ls -lA "$1/$CONF_DIR" | wc -l) -eq 0 ]; then |
al@20456 | 116 echo |
al@20456 | 117 action "Removing $CONF_DIR..." |
al@20456 | 118 rm -rf "$1/$CONF_DIR" |
al@20456 | 119 status |
al@20456 | 120 fi |
al@20456 | 121 # Delete PID, sock files |
al@20456 | 122 rm -f "$1/var/run/bbackupd".* |
al@20456 | 123 } |
al@20456 | 124 |
al@20456 | 125 |
al@20456 | 126 pre_install_boxbackup_server() { |
al@20456 | 127 # Stop daemon |
al@20456 | 128 if [ -z "$1" -a -e /var/run/bbstored.pid ]; then |
al@20456 | 129 /etc/init.d/bbstored stop |
al@20456 | 130 fi |
al@20456 | 131 } |
al@20456 | 132 |
al@20456 | 133 post_install_boxbackup_server() { |
al@20456 | 134 HOSTNAME=$(ifconfig | awk -F ":" '/cast/ {print substr($2,0, index($2," ")-1) }') |
al@20456 | 135 CONF_DIR="/etc/boxbackup" |
al@20456 | 136 DATA_DIR="/var/lib/bbstored" |
al@20456 | 137 CA_DIR="${CONF_DIR}/ca" |
al@20456 | 138 BBUSER="bbstored" |
al@20456 | 139 |
al@20456 | 140 # default conf dir is now /etc/boxbackup |
al@20456 | 141 if [ ! -e "$1/etc/box/bbstored.conf" ]; then |
al@20456 | 142 mv "$1/etc/box" "$1$CONF_DIR" |
al@20456 | 143 fi |
al@20456 | 144 |
al@20456 | 145 # adduser BBUSER if needed |
al@20456 | 146 if ! grep -q $BBUSER "$1/etc/passwd"; then |
al@20456 | 147 echo |
al@20456 | 148 action "Adding user '$BBUSER'..." |
al@20456 | 149 echo $BBUSER':x:505:505:BoxBackup Network Backup:/dev/null:/bin/false' >> "$1/etc/passwd" |
al@20456 | 150 echo $BBUSER':!:14013:0:99999:7:::' >> "$1/etc/shadow" |
al@20456 | 151 echo $BBUSER':x:505:' >> "$1/etc/group" |
al@20456 | 152 echo $BBUSER':!::' >> "$1/etc/gshadow" |
al@20456 | 153 status |
al@20456 | 154 fi |
al@20456 | 155 |
al@20456 | 156 # Create config is needed |
al@20456 | 157 if [ ! -e "$1$CONF_DIR" ]; then |
al@20456 | 158 mkdir -p "$1$CONF_DIR" && |
al@20456 | 159 chroot "$1/" chown $BBUSER $CONF_DIR && |
al@20456 | 160 chmod 700 "$1$CONF_DIR" |
al@20456 | 161 fi |
al@20456 | 162 |
al@20456 | 163 if [ ! -e "$1$DATA_DIR/backup" ]; then |
al@20456 | 164 # Creating backup dir |
al@20456 | 165 action "Creating backup directory..." |
al@20456 | 166 mkdir -p "$1$DATA_DIR/backup" && |
al@20456 | 167 chroot "$1/" chown -R $BBUSER $DATA_DIR && |
al@20456 | 168 chmod -R 700 "$1$DATA_DIR" |
al@20456 | 169 status |
al@20456 | 170 fi |
al@20456 | 171 |
al@20456 | 172 if [ ! -e "$1$CONF_DIR/raidfile.conf" ]; then |
al@20456 | 173 # RAID Setup |
al@20456 | 174 action "Disabling deprecated userland RAID..." |
al@20456 | 175 chroot "$1/" /usr/bin/raidfile-config $CONF_DIR 2048 $DATA_DIR 2>1 > /dev/null |
al@20456 | 176 status |
al@20456 | 177 chroot "$1/" chown -R $BBUSER $CONF_DIR/raidfile.conf && |
al@20456 | 178 chmod 700 -R "$1$CONF_DIR/raidfile.conf" |
al@20456 | 179 fi |
al@20456 | 180 |
al@20456 | 181 if [ ! -e "$1$CONF_DIR/bbstored.conf" ]; then |
al@20456 | 182 # Setting hostname |
al@20456 | 183 action "Setting hostname... " |
al@20456 | 184 if [ $(chroot "$1/" hostname -f 2>1 > /dev/null;echo $?) -eq 0 ]; then |
al@20456 | 185 HOSTNAME=$(chroot "$1/" hostname -f) |
al@20456 | 186 fi |
al@20456 | 187 if [ -z $HOSTNAME ]; then |
al@20456 | 188 HOSTNAME="127.0.0.1" |
al@20456 | 189 fi |
al@20456 | 190 export $HOSTNAME |
al@20456 | 191 echo $HOSTNAME |
al@20456 | 192 |
al@20456 | 193 # Setting up the CA environment |
al@20456 | 194 action "Creating certificates..." |
al@20456 | 195 chroot "$1/" /usr/bin/bbstored-certs $CA_DIR init 2>1 > /dev/null |
al@20456 | 196 status |
al@20456 | 197 |
al@20456 | 198 # Generate server certificate request |
al@20456 | 199 action "Generate server certificate request..." |
al@20456 | 200 chroot "$1/" bbstored-config $CONF_DIR $HOSTNAME $BBUSER 2>1 > /dev/null |
al@20456 | 201 status |
al@20456 | 202 |
al@20456 | 203 # Sign the server certificate |
al@20456 | 204 action "Sign the server certificate..." |
al@20456 | 205 chroot "$1/" openssl x509 -req -sha1 -extensions usr_crt \ |
al@20456 | 206 -in $CONF_DIR/$BBUSER/${HOSTNAME}-csr.pem \ |
al@20456 | 207 -CA $CA_DIR/roots/serverCA.pem \ |
al@20456 | 208 -CAkey $CA_DIR/keys/serverRootKey.pem \ |
al@20456 | 209 -out $CA_DIR/servers/${HOSTNAME}-cert.pem \ |
al@20456 | 210 -days 5000 2>1 > /dev/null |
al@20456 | 211 status |
al@20456 | 212 |
al@20456 | 213 # Preparing the server certificates |
al@20456 | 214 action "Installing server certificate..." |
al@20456 | 215 cp -a "$1$CA_DIR/servers/${HOSTNAME}-cert.pem" "$1$CONF_DIR/$BBUSER" |
al@20456 | 216 status |
al@20456 | 217 action "Installing client certificate..." |
al@20456 | 218 cp -a "$1$CA_DIR/roots/clientCA.pem" "$1$CONF_DIR/$BBUSER" |
al@20456 | 219 status |
al@20456 | 220 |
al@20456 | 221 # Securing $CONF_DIR |
al@20456 | 222 chroot "$1/" chown -R $BBUSER $CONF_DIR/bbstored* && |
al@20456 | 223 chmod 700 -R "$1$CONF_DIR/bbstored"* |
al@20456 | 224 fi |
al@20456 | 225 |
al@20456 | 226 if [ -e "$1$CA_DIR" ]; then |
al@20456 | 227 # Warning |
al@20456 | 228 echo |
al@20456 | 229 echo "IMPORTANT NOTE:" |
al@20456 | 230 echo "--------------" |
al@20456 | 231 echo "The certificate authority directory $CA_DIR is intended to be" |
al@20456 | 232 echo "moved to another system. It should not be kept on the backup server" |
al@20456 | 233 echo "to limit the impact of a server compromise." |
al@20456 | 234 fi |
al@20456 | 235 } |
al@20456 | 236 |
al@20456 | 237 pre_remove_boxbackup_server() { |
al@20456 | 238 /etc/init.d/bbstored stop |
al@20456 | 239 } |
al@20456 | 240 |
al@20456 | 241 post_remove_boxbackup_server() { |
al@20456 | 242 CONF_DIR="/etc/boxbackup" |
al@20456 | 243 DATA_DIR="/var/lib/bbstored" |
al@20456 | 244 CA_DIR="${CONF_DIR}/ca" |
al@20456 | 245 BBUSER="bbstored" |
al@20456 | 246 |
al@20456 | 247 echo |
al@20456 | 248 if grep -q $BBUSER /etc/passwd; then |
al@20456 | 249 action "Removing $BBUSER user..." |
al@20456 | 250 deluser bbstored |
al@20456 | 251 status |
al@20456 | 252 fi |
al@20456 | 253 # Delete data |
al@20456 | 254 if [ -e $DATA_DIR ]; then |
al@20456 | 255 action "Removing all backup data..." |
al@20456 | 256 rm -r $DATA_DIR |
al@20456 | 257 status |
al@20456 | 258 fi |
al@20456 | 259 # Delete bbstored conf files |
al@20456 | 260 if [ -e $CONF_DIR/bbstored.conf ]; then |
al@20456 | 261 action "Removing config files..." |
al@20456 | 262 rm -rf $CONF_DIR/bbstored |
al@20456 | 263 rm -f $CONF_DIR/raidfile.conf |
al@20456 | 264 rm -f $CONF_DIR/bbstored.conf |
al@20456 | 265 status |
al@20456 | 266 fi |
al@20456 | 267 # Delete certificates |
al@20456 | 268 if [ -e $CA_DIR ]; then |
al@20456 | 269 action "Removing certificates..." |
al@20456 | 270 rm -r $CA_DIR |
al@20456 | 271 status |
al@20456 | 272 fi |
al@20456 | 273 # Delete $CONF_DIR (if empty) |
al@20456 | 274 if [ $(ls -lA $CONF_DIR | wc -l) -eq 0 ]; then |
al@20456 | 275 action "Removing $CONF_DIR..." |
al@20456 | 276 rm -r $CONF_DIR |
al@20456 | 277 status |
al@20456 | 278 fi |
al@20456 | 279 # Delete PID, sock files |
al@20456 | 280 rm -f /var/run/bbstored.* |
al@20456 | 281 } |
al@20456 | 282 |