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