wok annotate boxbackup-server/receipt @ rev 20641

Add SSL support to retawq (needed by man to browse linux.die.net)
author Lucas Levrel <llevrel@yahoo.fr>
date Fri Jan 11 09:19:11 2019 +0100 (2019-01-11)
parents ed8073aa8cf0
children a01ff9505078
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"
al@19288 9 WEB_SITE="http://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 }