wok-next diff 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
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/boxbackup/receipt	Fri Mar 02 03:33:54 2018 +0200
     1.3 @@ -0,0 +1,282 @@
     1.4 +# SliTaz package receipt v2.
     1.5 +
     1.6 +PACKAGE="boxbackup"
     1.7 +VERSION="0.11.1"
     1.8 +CATEGORY="meta"
     1.9 +SHORT_DESC="BoxBackup on-line backup system"
    1.10 +MAINTAINER="domcox@slitaz.org"
    1.11 +LICENSE="GPL2"
    1.12 +WEB_SITE="http://www.boxbackup.org/"
    1.13 +
    1.14 +TARBALL="boxbackup-$VERSION.tgz"
    1.15 +# stable
    1.16 +# WGET_URL="$SF_MIRROR/boxbackup/$TARBALL"
    1.17 +#WGET_URL="http://www.boxbackup.org/svn/box/packages/$TARBALL"
    1.18 +WGET_URL="http://www.boxbackup.org/export/3106/box/packages/$TARBALL"
    1.19 +
    1.20 +BUILD_DEPENDS="db-dev libedit-dev openssl-dev zlib-dev perl"
    1.21 +SPLIT="boxbackup-client boxbackup-server"
    1.22 +
    1.23 +# Configuration variables
    1.24 +
    1.25 +compile_rules() {
    1.26 +	./configure \
    1.27 +		--prefix=/usr \
    1.28 +		$CONFIGURE_ARGS &&
    1.29 +	make -j1 &&
    1.30 +	{
    1.31 +		mkdir -p $DESTDIR
    1.32 +		cp -a  parcels/boxbackup-$VERSION-backup-client-linux-gnu $DESTDIR
    1.33 +		cp -a  parcels/boxbackup-$VERSION-backup-server-linux-gnu $DESTDIR
    1.34 +		rm -f $DESTDIR/boxbackup-$VERSION-backup-server-linux-gnu/*.*
    1.35 +	}
    1.36 +
    1.37 +	cook_pick_manpages $src/docs/man/*
    1.38 +}
    1.39 +
    1.40 +genpkg_rules() {
    1.41 +	case $PACKAGE in
    1.42 +		boxbackup)
    1.43 +			DEPENDS="$SPLIT"
    1.44 +			;;
    1.45 +		*-client)
    1.46 +			mkdir -p $fs/usr/bin
    1.47 +			cp -a $install/boxbackup-$VERSION-backup-client-linux-gnu/bb* $fs/usr/bin
    1.48 +			rm -f $fs/usr/bin/*.*
    1.49 +			mkdir -p $fs/etc/init.d
    1.50 +			cp -a $stuff/bbackupd $fs/etc/init.d
    1.51 +			CAT="network|client"
    1.52 +			DEPENDS="db libedit openssl perl zlib gcc-lib-base"
    1.53 +			TAGS="backup automatic client"
    1.54 +			;;
    1.55 +		*-server)
    1.56 +			mkdir -p $fs/usr/bin
    1.57 +			cp -a $install/boxbackup-$VERSION-backup-server-linux-gnu/bb* $fs/usr/bin
    1.58 +			cp -a $install/boxbackup-$VERSION-backup-server-linux-gnu/ra* $fs/usr/bin
    1.59 +			mkdir -p $fs/etc/init.d
    1.60 +			cp -a $stuff/bbstored $fs/etc/init.d
    1.61 +			CAT="network|server"
    1.62 +			DEPENDS="db libedit openssl perl zlib gcc-lib-base"
    1.63 +			TAGS="backup automatic server network"
    1.64 +			;;
    1.65 +	esac
    1.66 +}
    1.67 +
    1.68 +pre_install_boxbackup_client() {
    1.69 +	RUN_DMON=0
    1.70 +
    1.71 +	# Stop daemon
    1.72 +	if [ -z "$1" -a -e /var/run/bbackupd.pid ]; then
    1.73 +		/etc/init.d/bbackupd stop
    1.74 +		RUN_DMON=1
    1.75 +	fi
    1.76 +}
    1.77 +
    1.78 +post_install_boxbackup_client() {
    1.79 +	CONF_DIR="/etc/boxbackup"
    1.80 +	DATA_DIR="/var/lib/bbackupd"
    1.81 +
    1.82 +	# Creating conf dir
    1.83 +	if [ ! -e "$1/$CONF_DIR" ]; then
    1.84 +		mkdir -p "$1/$CONF_DIR" && chmod 755 "$1/$CONF_DIR"
    1.85 +	fi
    1.86 +	if [ ! -e "$1/$DATA_DIR" ]; then
    1.87 +		mkdir -p "$1/$DATA_DIR" && chmod 700 "$1/$DATA_DIR"
    1.88 +	fi
    1.89 +	if [ -z "$1" ]; then
    1.90 +		# Start daemon (if stopped by install)
    1.91 +		if [ $RUN_DMON -eq 1 ]; then
    1.92 +			/etc/init.d/bbackupd start
    1.93 +		fi
    1.94 +	fi
    1.95 +	true
    1.96 +}
    1.97 +
    1.98 +pre_remove_boxbackup_client() {
    1.99 +	# Stop daemon
   1.100 +	if [ -z "$1" ]; then
   1.101 +		if [ -e /var/run/bbackupd.pid ]; then
   1.102 +			/etc/init.d/bbackupd stop
   1.103 +		fi
   1.104 +	fi
   1.105 +}
   1.106 +
   1.107 +post_remove_boxbackup_client() {
   1.108 +	CONF_DIR="/etc/boxbackup"
   1.109 +	DATA_DIR="/var/lib/bbackupd"
   1.110 +
   1.111 +	# Delete DATA directory
   1.112 +	rm -rf "$1/$DATA_DIR"
   1.113 +
   1.114 +	# Delete Client config files
   1.115 +	rm -rf "$1/$CONF_DIR"/bbackupd*
   1.116 +
   1.117 +	# Delete CONF dir (if empty)
   1.118 +	if [ $(ls -lA "$1/$CONF_DIR" | wc -l) -eq 0 ]; then
   1.119 +		echo
   1.120 +		action "Removing $CONF_DIR..."
   1.121 +		rm -rf "$1/$CONF_DIR"
   1.122 +		status
   1.123 +	fi
   1.124 +	# Delete PID, sock files
   1.125 +	rm -f "$1/var/run/bbackupd".*
   1.126 +}
   1.127 +
   1.128 +
   1.129 +pre_install_boxbackup_server() {
   1.130 +	# Stop daemon
   1.131 +	if [ -z "$1" -a -e /var/run/bbstored.pid ]; then
   1.132 +		/etc/init.d/bbstored stop
   1.133 +	fi
   1.134 +}
   1.135 +
   1.136 +post_install_boxbackup_server() {
   1.137 +	HOSTNAME=$(ifconfig | awk -F ":" '/cast/ {print substr($2,0, index($2," ")-1) }')
   1.138 +	CONF_DIR="/etc/boxbackup"
   1.139 +	DATA_DIR="/var/lib/bbstored"
   1.140 +	CA_DIR="${CONF_DIR}/ca"
   1.141 +	BBUSER="bbstored"
   1.142 +
   1.143 +	# default conf dir is now /etc/boxbackup
   1.144 +	if [ ! -e "$1/etc/box/bbstored.conf" ]; then
   1.145 +		mv "$1/etc/box" "$1$CONF_DIR"
   1.146 +	fi
   1.147 +
   1.148 +	# adduser BBUSER if needed
   1.149 +	if  ! grep -q $BBUSER "$1/etc/passwd"; then
   1.150 +		echo
   1.151 +		action "Adding user '$BBUSER'..."
   1.152 +		echo $BBUSER':x:505:505:BoxBackup Network Backup:/dev/null:/bin/false' >> "$1/etc/passwd"
   1.153 +		echo $BBUSER':!:14013:0:99999:7:::' >> "$1/etc/shadow"
   1.154 +		echo $BBUSER':x:505:' >> "$1/etc/group"
   1.155 +		echo $BBUSER':!::' >> "$1/etc/gshadow"
   1.156 +		status
   1.157 +	fi
   1.158 +
   1.159 +	# Create config is needed
   1.160 +	if [ ! -e "$1$CONF_DIR" ]; then
   1.161 +		mkdir -p "$1$CONF_DIR" &&
   1.162 +		chroot "$1/" chown $BBUSER $CONF_DIR &&
   1.163 +		chmod 700 "$1$CONF_DIR"
   1.164 +	fi
   1.165 +
   1.166 +	if [ ! -e "$1$DATA_DIR/backup" ]; then
   1.167 +		# Creating backup dir
   1.168 +		action "Creating backup directory..."
   1.169 +		mkdir -p "$1$DATA_DIR/backup" &&
   1.170 +		chroot "$1/" chown -R $BBUSER $DATA_DIR &&
   1.171 +		chmod -R 700 "$1$DATA_DIR"
   1.172 +		status
   1.173 +	fi
   1.174 +
   1.175 +	if [ ! -e "$1$CONF_DIR/raidfile.conf" ]; then
   1.176 +		# RAID Setup
   1.177 +		action "Disabling deprecated userland RAID..."
   1.178 +		chroot "$1/" /usr/bin/raidfile-config $CONF_DIR 2048 $DATA_DIR 2>1 > /dev/null
   1.179 +		status
   1.180 +		chroot "$1/" chown -R $BBUSER $CONF_DIR/raidfile.conf &&
   1.181 +		chmod 700 -R "$1$CONF_DIR/raidfile.conf"
   1.182 +	fi
   1.183 +
   1.184 +	if [ ! -e "$1$CONF_DIR/bbstored.conf" ]; then
   1.185 +		# Setting hostname
   1.186 +		action "Setting hostname... "
   1.187 +		if [ $(chroot "$1/" hostname -f 2>1 > /dev/null;echo $?) -eq 0 ]; then
   1.188 +			HOSTNAME=$(chroot "$1/" hostname -f)
   1.189 +		fi
   1.190 +		if [ -z $HOSTNAME ]; then
   1.191 +			HOSTNAME="127.0.0.1"
   1.192 +		fi
   1.193 +		export $HOSTNAME
   1.194 +		echo $HOSTNAME
   1.195 +
   1.196 +		# Setting up the CA environment
   1.197 +		action "Creating certificates..."
   1.198 +		chroot "$1/" /usr/bin/bbstored-certs $CA_DIR init 2>1 > /dev/null
   1.199 +		status
   1.200 +
   1.201 +		# Generate server certificate request
   1.202 +		action "Generate server certificate request..."
   1.203 +		chroot "$1/" bbstored-config $CONF_DIR $HOSTNAME $BBUSER 2>1 > /dev/null
   1.204 +		status
   1.205 +
   1.206 +		# Sign the server certificate
   1.207 +		action "Sign the server certificate..."
   1.208 +		chroot "$1/" openssl x509 -req -sha1 -extensions usr_crt \
   1.209 +			-in $CONF_DIR/$BBUSER/${HOSTNAME}-csr.pem \
   1.210 +			-CA $CA_DIR/roots/serverCA.pem \
   1.211 +			-CAkey $CA_DIR/keys/serverRootKey.pem \
   1.212 +			-out $CA_DIR/servers/${HOSTNAME}-cert.pem \
   1.213 +			-days 5000 2>1 > /dev/null
   1.214 +		status
   1.215 +
   1.216 +		# Preparing the server certificates
   1.217 +		action "Installing server certificate..."
   1.218 +		cp -a "$1$CA_DIR/servers/${HOSTNAME}-cert.pem" "$1$CONF_DIR/$BBUSER"
   1.219 +		status
   1.220 +		action "Installing client certificate..."
   1.221 +		cp -a "$1$CA_DIR/roots/clientCA.pem" "$1$CONF_DIR/$BBUSER"
   1.222 +		status
   1.223 +
   1.224 +		# Securing $CONF_DIR
   1.225 +		chroot "$1/" chown -R $BBUSER $CONF_DIR/bbstored* &&
   1.226 +		chmod 700 -R "$1$CONF_DIR/bbstored"*
   1.227 +	fi
   1.228 +
   1.229 +	if [ -e "$1$CA_DIR" ]; then
   1.230 +		# Warning
   1.231 +		echo
   1.232 +		echo "IMPORTANT NOTE:"
   1.233 +		echo "--------------"
   1.234 +		echo "The certificate authority directory $CA_DIR is intended to be"
   1.235 +		echo "moved to another system. It should not be kept on the backup server"
   1.236 +		echo "to limit the impact of a server compromise."
   1.237 +	fi
   1.238 +}
   1.239 +
   1.240 +pre_remove_boxbackup_server() {
   1.241 +	/etc/init.d/bbstored stop
   1.242 +}
   1.243 +
   1.244 +post_remove_boxbackup_server() {
   1.245 +	CONF_DIR="/etc/boxbackup"
   1.246 +	DATA_DIR="/var/lib/bbstored"
   1.247 +	CA_DIR="${CONF_DIR}/ca"
   1.248 +	BBUSER="bbstored"
   1.249 +
   1.250 +	echo
   1.251 +	if  grep -q $BBUSER /etc/passwd; then
   1.252 +		action "Removing $BBUSER user..."
   1.253 +		deluser bbstored
   1.254 +		status
   1.255 +	fi
   1.256 +	# Delete data
   1.257 +	if [ -e $DATA_DIR ]; then
   1.258 +		action "Removing all backup data..."
   1.259 +		rm -r $DATA_DIR
   1.260 +		status
   1.261 +	fi
   1.262 +	# Delete bbstored conf files
   1.263 +	if [ -e $CONF_DIR/bbstored.conf ]; then
   1.264 +		action "Removing config files..."
   1.265 +		rm -rf $CONF_DIR/bbstored
   1.266 +		rm -f $CONF_DIR/raidfile.conf
   1.267 +		rm -f $CONF_DIR/bbstored.conf
   1.268 +		status
   1.269 +	fi
   1.270 +	# Delete certificates
   1.271 +	if [ -e $CA_DIR ]; then
   1.272 +		action "Removing certificates..."
   1.273 +		rm -r $CA_DIR
   1.274 +		status
   1.275 +	fi
   1.276 +	# Delete $CONF_DIR (if empty)
   1.277 +	if [ $(ls -lA $CONF_DIR | wc -l) -eq 0 ]; then
   1.278 +		action "Removing $CONF_DIR..."
   1.279 +		rm -r $CONF_DIR
   1.280 +		status
   1.281 +	fi
   1.282 +	# Delete PID, sock files
   1.283 +	rm -f /var/run/bbstored.*
   1.284 +}
   1.285 +