wok annotate boxbackup-server/receipt @ rev 5320

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