summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/README.Debian117
-rw-r--r--debian/bbackupctl.881
-rw-r--r--debian/bbackupd-config.878
-rw-r--r--debian/bbackupd.860
-rw-r--r--debian/bbackupquery.895
-rw-r--r--debian/boxbackup-client.config129
-rw-r--r--debian/boxbackup-client.cron.d2
-rw-r--r--debian/boxbackup-client.dirs5
-rw-r--r--debian/boxbackup-client.docs8
-rw-r--r--debian/boxbackup-client.init69
-rw-r--r--debian/boxbackup-client.install4
-rw-r--r--debian/boxbackup-client.manpages5
-rw-r--r--debian/boxbackup-client.postinst349
-rw-r--r--debian/boxbackup-client.postrm39
-rw-r--r--debian/boxbackup-client.templates144
-rw-r--r--debian/boxbackup-server.config114
-rw-r--r--debian/boxbackup-server.dirs6
-rw-r--r--debian/boxbackup-server.docs8
-rw-r--r--debian/boxbackup-server.init80
-rw-r--r--debian/boxbackup-server.install7
-rw-r--r--debian/boxbackup-server.logcheck.ignore10
-rw-r--r--debian/boxbackup-server.postinst211
-rw-r--r--debian/boxbackup-server.postrm44
-rw-r--r--debian/boxbackup-server.templates71
-rw-r--r--debian/boxbackup-utils.dirs1
-rw-r--r--debian/boxbackup-utils.docs8
-rw-r--r--debian/boxbackup-utils.install2
-rw-r--r--debian/changelog92
-rw-r--r--debian/control37
-rw-r--r--debian/copyright48
-rwxr-xr-xdebian/rules152
31 files changed, 2076 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 00000000..3bd9ba60
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,117 @@
+Boxbackup for Debian
+--------------------
+Quick setup guide for boxbackup system
+--------------------------------------
+
+===============
+***************
+NOTE: The debian package should handle most of the configuration
+for you via debconf.
+
+However this is a quick guide if you prefer to do this by
+yourself.
+
+If you want to use debconf to configure Boxbackup, do NOT follow
+those explanations. Jump directly to the section on Managing certificates
+***************
+===============
+
+
+
+Boxbackup-server configuration
+------------------------------
+
+You need to create the server configuration files contained in
+/etc/boxbackup.
+
+For this you must first use the raidfile-config script.
+
+raidfile-config /etc/boxbackup 2048 /raid/0.0 /raid/0.1 /raid/0.2
+
+where:
+- /etc/boxbackup is the location of the configuration files (don't
+ change that as several scripts use that by default)
+- 2048 is the block size of the RAID system, this should be set to
+ the block size of the underlying filesystem
+- the three following path names are the location of the 3 RAID partitions
+ used by boxbackup to store the backup. They should be on 3 different
+ physical drive. You can disable the use of userland RAID by specifying
+ only one path name.
+
+You should now have a file /etc/boxbackup/raidfile.conf that you can
+customize to add another set of disc.
+
+Now run the bbstored-config script:
+
+bbstored-config /etc/boxbackup serverhostname bbstored
+
+where:
+- /etc/boxbackup is the location of the configuration files (don't
+ change that as several scripts use that by default).
+- serverhostname is the fqdn name of the server you are installing on,
+ this is used to determine on wich interface the daemon will listen on.
+- bbstored is the user the server will run under, this user is automatically
+ created by the Debian package.
+
+Now you have to manage your certificate. See below for this.
+
+To manage the client accounts use the bbstoreaccounts utility.
+To add an account:
+bbstoreaccounts create ACCOUNT_NUMBER DISC_SET SOFT_QUOTA HARD_QUOTA
+
+where:
+- ACCOUNT_NUMBER is the account number to create, a 8 digits hexadecimal number.
+- DISC_SET is a disc set number defined in /etc/boxbackup/raidfile.conf where the
+ files for that account will go into.
+- SOFT_QUOTA is the soft storage quota size, the client will avoid to upload files
+ when reaching that limit
+- HARD_QUOTA is the hard storage quota size, the server will not store files when
+ reaching that limit.
+
+An exemple of invocation:
+bbstoreaccounts create 1EF235CA 0 1024M 1250M
+(suffixes M, G and B are accepted for quota size meaning respectively Megabytes,
+Gigabytes and Blocks)
+
+Boxbackup-client configuration
+------------------------------
+
+You need to create the client configuration files contained in
+/etc/boxbackup.
+
+For this you must use the bbackupd-config script.
+
+bbackupd-config /etc/boxbackup lazy ACCOUNT_NUMBER SERVER_NAME /var/lib/bbackupd BACKUP_DIR [[BACKUP_DIR]...]
+
+where:
+- /etc/boxbackup is the location of the configuration files (don't
+ change that as several scripts use that by default).
+- lazy: backup mode, could be lazy (continuous scan of filesystem) or
+ snapshot (backup launch by a cron script, see /etc/cron.d/boxbackup-client)
+- ACCOUT_NUMBER: your account number provided by the backup server administrator
+- SERVER_NAME is the fqdn name of the server you will connect to.
+- /var/lib/bbackupd: location of working directory (don't change)
+- BACKUP_DIR: a list of directories to backup (they must not contain another
+ mounted filesystem)
+
+
+
+
+Managing certificates
+---------------------
+
+For this you need to use the bbstored-certs script contained in the boxbackup-utils package.
+
+To initialise your CA (creates a "ca" directory with private key and certificate in it) launch:
+bbstored-certs ca init
+
+To sign a server certificate:
+bbstored-certs ca sign-server server-csr.pem
+
+To sign a client certificate:
+bbstored-certs ca sign clientaccount-csr.pem
+
+You will find a more detailled documentation on the boxbackup Web site:
+http://www.fluffy.co.uk/boxbackup/
+
+ -- Jérôme Schell <jerome@myreseau.org>, Tue, 1 Jun 2004 07:51:24 +0000
diff --git a/debian/bbackupctl.8 b/debian/bbackupctl.8
new file mode 100644
index 00000000..17568448
--- /dev/null
+++ b/debian/bbackupctl.8
@@ -0,0 +1,81 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH bbackupctl 8 "Oct 9, 2005"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+bbackupctl \- control command of the client daemon of the Box Backup system
+.SH SYNOPSIS
+.B bbackupctl
+.RI "[-q] [-c config_file] command"
+.SH DESCRIPTION
+This manual page documents briefly the
+.B bbackupctl
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fbbbackupctl\fP can be used to send commands to the client daemon of the Box
+Backup system.
+.SH OPTIONS
+.TP
+.B -q
+Run in quiet mode. Reduce the output of the program.
+.TP
+.B -c config_file
+Use an alternate configuration file instead of the default one.
+.TP
+.B command
+.RS
+.TP
+.B sync
+Start the synchronization with the remote store. The goal is mainly to
+implement snapshot mode backup. When the daemon is configured to run is
+this mode, this command is used to launch the synchronization via a cron job.
+.TP
+.B force-sync
+Force the start of the synchronization with the remote store, even if
+the return value of the script indicated by the config file parameter
+SyncAllowScript says not to run the sync.
+.TP
+.B reload
+Tell the daemon to reload its configuration file.
+.TP
+.B terminate
+Terminate the daemon.
+.TP
+.B wait-for-sync
+Wait until the next synchronization start, then exit the command. With this you
+can obtain a synchronous backup, when the command exits you know that the
+remote store is in sync with your local data (be careful that recently
+modified files will not be immediatly uploaded to the store, see MinimumFileAge
+and MaxUploadWait config file parameters).
+.SH FILES
+.TP
+.I /etc/boxbackup/bbackupd.conf
+Default configuration file for bbackupctl.
+.SH SEE ALSO
+.BR bbackupd (8),
+.BR bbackupquery (8),
+.BR bbackupd-config (8).
+.br
+.SH AUTHOR
+This manual page was written by Jérôme Schell <jerome@myreseau.org>
+(with the help of the online documentation located at
+http://www.fluffy.co.uk/boxbackup/)
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/bbackupd-config.8 b/debian/bbackupd-config.8
new file mode 100644
index 00000000..ba370fd9
--- /dev/null
+++ b/debian/bbackupd-config.8
@@ -0,0 +1,78 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH bbackupd-config 8 "Oct 10, 2005"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+bbackupd-config \- utility to configure the client daemon of the Box Backup system
+.SH SYNOPSIS
+.B bbackupd-config
+.RI "config_file backup_mode account_number server_hostname working_directory backup_directory [backup_directory...]"
+.SH DESCRIPTION
+This manual page documents briefly the
+.B bbackupd-config
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fbbbackupd-config\fP can be used to generate the configuration for the client daemon
+of the Box Backup system, bbackupd.
+.SH OPTIONS
+.TP
+.B config_file
+Location of the generated configuration. Generally /etc/boxbackup.
+.TP
+.B backup_mode
+The general behavior of the backup daemon:
+.RS
+.TP
+.B lazy
+In this mode the daemon will scan the backup directories at regular
+interval looking for modified files. Only files over a certain age will
+be uploaded to the remote store.
+.TP
+.B snapshot
+In this mode the daemon will upload a snapshot of the backup directories
+when it is told to do it. Manual or cron invocation via bbackupctl is
+necessary for backup to occur.
+.RE
+.TP
+.B account_number
+The hexadecimal number of the account you are configuring (provided by the
+remote server administrator).
+.TP
+.B server_hostname
+Name of the backup server hosting the remote store.
+.TP
+.B working_directory
+The directory containing management files of the client daemon. Generally /var/lib/bbackupd.
+.TP
+.B backup_directory
+Directory to backup. Multiple directories can be specified separated by white spaces. Be
+careful not to specify directories containing other mount points, this could affect
+the efficiency of the backup.
+.SH SEE ALSO
+.BR bbackupd (8),
+.BR bbackupctl (8),
+.BR bbackupquery (8).
+.br
+.SH AUTHOR
+This manual page was written by Jérôme Schell <jerome@myreseau.org>
+(with the help of the online documentation located at
+http://www.fluffy.co.uk/boxbackup/)
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/bbackupd.8 b/debian/bbackupd.8
new file mode 100644
index 00000000..3e18bb55
--- /dev/null
+++ b/debian/bbackupd.8
@@ -0,0 +1,60 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH bbackupd 8 "Oct 9, 2005"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+bbackupd \- client daemon of the Box Backup system
+.SH SYNOPSIS
+.B bbackupd
+.RI "config_file [SINGLEPROCESS]"
+.SH DESCRIPTION
+This manual page documents briefly the
+.B bbackupd
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fbbbackupd\fP is the client daemon of the Box Backup system. It runs in
+the background, periodically scanning the file system looking for modified
+files. It then uploads them to the remote store according to parameters
+defined in its config file.
+.SH OPTIONS
+.TP
+.B config_file
+Path to the configuration file for bbackupd.
+.TP
+.B SINGLEPROCESS
+For test purpose only. Prevent the daemon to fork in the background and to detach from the terminal.
+.SH FILES
+.TP
+.I /etc/boxbackup/bbackupd.conf
+Default configuration file for bbackupd.
+.TP
+.I /var/lib/bbackupd
+Location of management files of the daemon.
+.SH SEE ALSO
+.BR bbackupctl (8),
+.BR bbackupquery (8),
+.BR bbackupd-config (8).
+.br
+.SH AUTHOR
+This manual page was written by Jérôme Schell <jerome@myreseau.org>
+(with the help of the online documentation located at
+http://www.fluffy.co.uk/boxbackup/)
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/bbackupquery.8 b/debian/bbackupquery.8
new file mode 100644
index 00000000..4eb769b3
--- /dev/null
+++ b/debian/bbackupquery.8
@@ -0,0 +1,95 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH bbackupquery 8 "Oct 10, 2005"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+bbackupquery \- utility to execute queries on a remote Box Backup store
+.SH SYNOPSIS
+.B bbackupquery
+.RI "[-q] [-c config_file] [commands...]"
+.SH DESCRIPTION
+This manual page documents briefly the
+.B bbackupquery
+command.
+This manual page was written for the Debian distribution
+because the original program does not have a manual page.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fbbbackupquery\fP can be used to perform operation on a remote Box Backup
+store. It can naviguate through the remote store tree, list or retrieve last
+or old revisions of files and directories, get quota usage for the account
+and compare remote and local data.
+.SH OPTIONS
+.TP
+.B -q
+Run in quiet mode. Reduce the output of the program.
+.TP
+.B -c config_file
+Use an alternate configuration file instead of the default one.
+.TP
+.B commands
+Commands to run on the server. If no command is specified, bbackupquery
+will enter interactive mode where commands can be entered at the prompt.
+In interactive mode, issuing "help [command]" will display additionnal
+options supported by each command.
+.sp 1
+Available commands are:
+.RS
+.TP
+.B list, ls
+Display a listing of files and directories of the current working directory.
+.TP
+.B cd
+Change directory in the remote tree.
+.TP
+.B pwd
+Print current remote directory.
+.TP
+.B lcd
+Change directory in the local tree.
+.TP
+.B sh
+Execute a shell command on the local side.
+.TP
+.B get
+Retrieve a file from the store to the local filesystem.
+.TP
+.B restore
+Restore a directory from the remote store to the local filesystem.
+.TP
+.B compare
+Compare the remote current data with local data.
+.TP
+.B getobject
+For debuging purpose only. Retrieve an object from the store in its raw form.
+.TP
+.B usage
+Display usage statistics on the store for the current account.
+.TP
+.B quit
+Disconnect from the store and exit the program.
+.SH SEE ALSO
+.BR bbackupd (8),
+.BR bbackupd-config (8),
+.BR bbackupctl (8).
+.br
+.SH AUTHOR
+This manual page was written by Jérôme Schell <jerome@myreseau.org>
+(with the help of the online documentation located at
+http://www.fluffy.co.uk/boxbackup/)
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/debian/boxbackup-client.config b/debian/boxbackup-client.config
new file mode 100644
index 00000000..9c0843e6
--- /dev/null
+++ b/debian/boxbackup-client.config
@@ -0,0 +1,129 @@
+#!/bin/bash -e
+
+# Source debconf library
+. /usr/share/debconf/confmodule
+
+# This conf script is capable of backing up
+#db_version 2.0
+#db_capb backup
+
+#db_metaget debconf/priority value
+#CONFPRIO=$RET
+
+# Exit if debconf priority is above medium
+db_get debconf/priority
+
+if [ "$RET" = "high" -o "$RET" = "critical" ]; then
+ exit 0
+fi
+
+# Handle with debconf or not?
+db_input medium boxbackup-client/debconf || true
+db_go
+db_get boxbackup-client/debconf
+if [ "$RET" = "false" ]; then
+ exit 0
+fi
+
+# Backup mode
+db_get boxbackup-client/backupMode
+OLDMODE=$RET
+
+db_input medium boxbackup-client/backupMode || true
+db_go
+
+
+# accountNumber
+ANOK=0
+while [ $ANOK = 0 ]; do
+ db_input medium boxbackup-client/accountNumber || true
+ db_go
+
+ db_get boxbackup-client/accountNumber
+
+ if [ -z `echo $RET | sed 's/[[:xdigit:]]//g'` ]; then
+ ANOK=1
+ fi
+
+ if [ $ANOK = 0 ]; then
+ db_input critical boxbackup-client/incorrectAccountNumber || true
+ db_go
+ fi
+done
+
+# backupServer
+db_input medium boxbackup-client/backupServer || true
+db_go
+
+# backupDirs
+DIRSOK=0
+while [ $DIRSOK = 0 ]; do
+ db_input medium boxbackup-client/backupDirs || true
+ db_go
+
+ db_get boxbackup-client/backupDirs
+
+ if [ ! -z "$RET" ]; then
+ DIRSOK=1
+ for dir in $RET; do
+ if [ ! -z `echo $dir | sed 's/^[[:space:]]*\/[[:alnum:]\.\_-]*\/*\([[:alnum:]\.\_-]*\/*\)*[[:space:]]*$//g'` ]; then
+ DIRSOK=0;
+ fi
+ done
+ fi
+
+ if [ $DIRSOK = 0 ]; then
+ db_input critical boxbackup-client/incorrectDirectories || true
+ db_go
+ fi
+done
+
+# UpdateStoreInterval MinimumFileAge MaxUploadWait
+#db_get boxbackup-client/backupMode
+
+# This is a way to get back to the default values when switching the backup mode
+#if [ ! -z $OLDMODE ]; then
+# if [ $OLDMODE != $RET ]; then
+# db_set boxbackup-client/UpdateStoreInterval "3600"
+# db_set boxbackup-client/MinimumFileAge "21600"
+# db_set boxbackup-client/MaxUploadWait "86400"
+# fi
+#fi
+
+db_get boxbackup-client/backupMode
+if [ "$RET" = "lazy" ]; then
+ for param in UpdateStoreInterval MinimumFileAge MaxUploadWait; do
+ NUMOK=0
+ while [ $NUMOK = 0 ]; do
+ db_input low boxbackup-client/$param || true
+ db_go
+
+ db_get boxbackup-client/$param
+
+ if [ -z `echo $RET | sed 's/[[:digit:]]//g'` ]; then
+ NUMOK=1
+ fi
+
+ if [ $NUMOK = 0 ]; then
+ db_input critical boxbackup-client/IncorrectNumber || true
+ db_go
+ fi
+ done
+ done
+fi
+
+
+# NotifyMail
+db_input medium boxbackup-client/notifyMail || true
+db_go
+
+# x509 and private key
+db_input medium boxbackup-client/generateCertificate || true
+db_go
+
+# Display general info
+db_input medium boxbackup-client/generalInfo || true
+db_go
+
+exit 0
+
diff --git a/debian/boxbackup-client.cron.d b/debian/boxbackup-client.cron.d
new file mode 100644
index 00000000..486e4be3
--- /dev/null
+++ b/debian/boxbackup-client.cron.d
@@ -0,0 +1,2 @@
+# Launch the boxbackup client/server synchronization when in snapshot mode
+#0 0 * * * root /usr/sbin/bbackupctl -q sync
diff --git a/debian/boxbackup-client.dirs b/debian/boxbackup-client.dirs
new file mode 100644
index 00000000..96e786f8
--- /dev/null
+++ b/debian/boxbackup-client.dirs
@@ -0,0 +1,5 @@
+usr/sbin
+var/lib/bbackupd
+etc/boxbackup
+etc/boxbackup/bbackupd
+
diff --git a/debian/boxbackup-client.docs b/debian/boxbackup-client.docs
new file mode 100644
index 00000000..4cf84605
--- /dev/null
+++ b/debian/boxbackup-client.docs
@@ -0,0 +1,8 @@
+BUGS.txt
+CONTACT.txt
+DOCUMENTATION.txt
+LINUX.txt
+NETBSD.txt
+THANKS.txt
+TODO.txt
+VERSION.txt
diff --git a/debian/boxbackup-client.init b/debian/boxbackup-client.init
new file mode 100644
index 00000000..905873fc
--- /dev/null
+++ b/debian/boxbackup-client.init
@@ -0,0 +1,69 @@
+#! /bin/sh
+#
+### BEGIN INIT INFO
+# Provides: boxbackup-server
+# Required-Start: $syslog $local_fs $network
+# Required-Stop: $syslog $local_fs $network
+# Default-Start: 2 3 4 5
+# Default-Stop: S 0 1 6
+# Short-Description: boxbackup client
+# Description: Init script to start and stop the boxbackup client
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/bbackupd
+NAME=bbackupd
+DESC=boxbackup-client
+CONF=/etc/boxbackup/bbackupd.conf
+
+test -f $DAEMON || exit 0
+
+test -f $CONF || exit 0
+
+PIDFILE=`grep 'PidFile' $CONF | sed 's/[[:space:]]*PidFile[[:space:]]*=[[:space:]]*\(\/[A-Za-z0-9/]*\)/\1/'`
+CERTFILE=`grep 'CertificateFile' $CONF | sed 's/[[:space:]]*CertificateFile[[:space:]]*=[[:space:]]*\(\/[A-Za-z0-9/]*\)/\1/'`
+ACCNUM=`grep 'AccountNumber' $CONF | sed 's/[[:space:]]*AccountNumber[[:space:]]*=[[:space:]]*\([A-Za-z0-9/]*\)/\1/'`
+
+[ -z $PIDFILE ] && PIDFILE="/var/run/bbackupd.pid"
+
+# Don't start if certificate file or account number are not present
+[ ! -e $CERTFILE -o -z $ACCNUM ] && exit 0
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --exec $DAEMON -- $CONF
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --oknodo --retry 5 --stop --quiet --pidfile $PIDFILE \
+ --exec $DAEMON
+ echo "$NAME."
+ ;;
+ reload|force-reload)
+ echo "Reloading $DESC configuration files."
+ start-stop-daemon --stop --signal 1 --quiet --pidfile \
+ $PIDFILE --exec $DAEMON -- $CONF
+ ;;
+ restart)
+ echo -n "Restarting $DESC: "
+ start-stop-daemon --oknodo --retry 5 --stop --quiet --pidfile \
+ $PIDFILE --exec $DAEMON
+ sleep 1
+ start-stop-daemon --start --quiet --pidfile \
+ $PIDFILE --exec $DAEMON -- $CONF
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+ #echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/debian/boxbackup-client.install b/debian/boxbackup-client.install
new file mode 100644
index 00000000..4cb9fb6a
--- /dev/null
+++ b/debian/boxbackup-client.install
@@ -0,0 +1,4 @@
+parcels/boxbackup-0.10-backup-client-linux-gnu/bbackupd /usr/sbin/
+parcels/boxbackup-0.10-backup-client-linux-gnu/bbackupctl /usr/sbin/
+parcels/boxbackup-0.10-backup-client-linux-gnu/bbackupquery /usr/sbin/
+parcels/boxbackup-0.10-backup-client-linux-gnu/bbackupd-config /usr/sbin/
diff --git a/debian/boxbackup-client.manpages b/debian/boxbackup-client.manpages
new file mode 100644
index 00000000..ba5cdeae
--- /dev/null
+++ b/debian/boxbackup-client.manpages
@@ -0,0 +1,5 @@
+debian/bbackupd.8
+debian/bbackupd-config.8
+debian/bbackupctl.8
+debian/bbackupquery.8
+
diff --git a/debian/boxbackup-client.postinst b/debian/boxbackup-client.postinst
new file mode 100644
index 00000000..8fd8ae20
--- /dev/null
+++ b/debian/boxbackup-client.postinst
@@ -0,0 +1,349 @@
+#! /bin/bash
+# postinst script for boxbackup-client
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+# quoting from the policy:
+# Any necessary prompting should almost always be confined to the
+# post-installation script, and should be protected with a conditional
+# so that unnecessary prompting doesn't happen if a package's
+# installation fails and the `postinst' is called with `abort-upgrade',
+# `abort-remove' or `abort-deconfigure'.
+
+#loading debconf module
+. /usr/share/debconf/confmodule
+
+CONFDIR=/etc/boxbackup
+DEBCONFBB=$CONFDIR/bbackupd.debconf
+BBCONF=$CONFDIR/bbackupd.conf
+BBKEY=$CONFDIR/bbackupd/boxbackup-client-encrypt-key.raw
+BBPRIVKEY=$CONFDIR/bbackupd/boxbackup-client-priv-key.pem
+BBCERTREQ=$CONFDIR/bbackupd/boxbackup-client-cert-req.pem
+BBCERT=$CONFDIR/bbackupd/boxbackup-client-cert.pem
+BBCACERT=$CONFDIR/bbackupd/boxbackup-server-ca-cert.pem
+DEBCONFNOTIFY=$CONFDIR/bbackupd/notifyadmin.debconf
+NOTIFYSCRIPT=$CONFDIR/bbackupd/notifyadmin
+
+case "$1" in
+ configure)
+ db_get boxbackup-client/debconf
+ if [ "$RET" = "true" ]; then
+ # Generate configuration files
+ # backupd.conf
+ echo "#To reconfigure boxbackup-client run #dpkg-reconfigure boxbackup-client" >> $DEBCONFBB
+
+ db_get boxbackup-client/backupServer
+ echo "StoreHostname = $RET" >> $DEBCONFBB
+
+ db_get boxbackup-client/accountNumber
+ ACCOUNT=$RET
+ echo "AccountNumber = 0x$ACCOUNT" >> $DEBCONFBB
+ echo "KeysFile = $BBKEY" >> $DEBCONFBB
+ echo "" >> $DEBCONFBB
+ echo "CertificateFile = $BBCERT" >> $DEBCONFBB
+ echo "PrivateKeyFile = $BBPRIVKEY" >> $DEBCONFBB
+ echo "TrustedCAsFile = $BBCACERT" >> $DEBCONFBB
+ echo "" >> $DEBCONFBB
+ echo "DataDirectory = /var/lib/bbackupd" >> $DEBCONFBB
+
+ cat >>$DEBCONFBB <<__EOF
+
+# This script is run whenever bbackupd encounters a problem which requires
+# the system administrator to assist:
+# 1) The store is full, and no more data can be uploaded.
+# 2) Some files or directories were not readable.
+# The default script emails the system administrator.
+NotifyScript = $NOTIFYSCRIPT
+
+__EOF
+
+ db_get boxbackup-client/backupMode
+ if [ "$RET" = "lazy" ]; then
+ db_get boxbackup-client/UpdateStoreInterval
+ UPDATE=$RET
+ [ -z $UPDATE ] && UPDATE="3600"
+
+ db_get boxbackup-client/MinimumFileAge
+ FILEAGE=$RET
+ [ -z $FILEAGE ] && FILEAGE="21600"
+
+ db_get boxbackup-client/MaxUploadWait
+ UPWAIT=$RET
+ [ -z $UPWAIT ] && UPWAIT="86400"
+
+ AUTO=yes
+ else
+ AUTO=no
+ UPDATE=0
+ FILEAGE=0
+ UPWAIT=0
+ fi
+
+ cat >>$DEBCONFBB <<__EOF
+# Backup mode specification
+# With snapshot mode, you will need to run bbackupctl to instruct the daemon to upload files.
+# Set to no for snapshot mode and yes for lazy mode
+AutomaticBackup = $AUTO
+
+# A scan of the local discs will be made once an hour (approximately).
+# To avoid cycles of load on the server, this time is randomly adjusted by a small
+# percentage as the daemon runs.
+# Defaults: 3600 for lazy mode - 0 for snapshot mode
+UpdateStoreInterval = $UPDATE
+
+# A file must have been modified at least 6 hours ago before it will be uploaded.
+# Defaults: 21600 for lazy mode - 0 for snapshot mode
+MinimumFileAge = $FILEAGE
+
+# If a file is modified repeated, it won't be uploaded immediately in case it's modified again.
+# However, it should be uploaded eventually. This is how long we should wait after first noticing
+# a change. (1 day)
+# Defaults: 86400 for lazy mode - 0 for snapshot mode
+MaxUploadWait = $UPWAIT
+
+# Files above this size (in bytes) are tracked, and if they are renamed they will simply be
+# renamed on the server, rather than being uploaded again. (64k - 1)
+FileTrackingSizeThreshold = 65535
+
+# The daemon does "changes only" uploads for files above this size (in bytes).
+# Files less than it are uploaded whole without this extra processing.
+DiffingUploadSizeThreshold = 8192
+
+# The limit on how much time is spent diffing files. Most files shouldn't take very long,
+# but if you have really big files you can use this to limit the time spent diffing them.
+# * Reduce if you are having problems with processor usage.
+# * Increase if you have large files, and think the upload of changes is too large and want
+# to spend more time searching for unchanged blocks.
+MaximumDiffingTime = 20
+
+# Uncomment this line to see exactly what the daemon is going when it's connected to the server.
+# ExtendedLogging = yes
+
+# Use this to temporarily stop bbackupd from syncronising or connecting to the store.
+# This specifies a program or script script which is run just before each sync, and ideally
+# the full path to the interpreter. It will be run as the same user bbackupd is running as,
+# usually root.
+# The script prints either "now" or a number to STDOUT (and a terminating newline, no quotes).
+# If the result was "now", then the sync will happen. If it's a number, then the script will
+# be asked again in that number of seconds.
+# For example, you could use this on a laptop to only backup when on a specific network.
+
+# SyncAllowScript = /path/to/intepreter/or/exe script-name parameters etc
+
+# Where the command socket is created in the filesystem.
+CommandSocket = /var/run/bbackupd.sock
+
+Server
+{
+ PidFile = /var/run/bbackupd.pid
+}
+
+#
+# BackupLocations specifies which locations on disc should be backed up. Each
+# directory is in the format
+#
+# name
+# {
+# Path = /path/of/directory
+# (optional exclude directives)
+# }
+#
+# 'name' is derived from the Path by the config script, but should merely be
+# unique.
+#
+# The exclude directives are of the form
+#
+# [Exclude|AlwaysInclude][File|Dir][|sRegex] = regex or full pathname
+#
+# (The regex suffix is shown as 'sRegex' to make File or Dir plural)
+#
+# For example:
+#
+# ExcludeDir = /home/guest-user
+# ExcludeFilesRegex = \.(mp3|MP3)$
+# AlwaysIncludeFile = /home/username/veryimportant.mp3
+#
+# This excludes the directory /home/guest-user from the backup along with all mp3
+# files, except one MP3 file in particular.
+#
+# In general, Exclude excludes a file or directory, unless the directory is
+# explicitly mentioned in a AlwaysInclude directive.
+#
+# If a directive ends in Regex, then it is a regular expression rather than a
+# explicit full pathname. See
+#
+# man 7 re_format
+#
+# for the regex syntax on your platform.
+#
+
+BackupLocations
+{
+__EOF
+
+ db_get boxbackup-client/backupDirs
+
+ for dir in $RET; do
+ NAME=`echo $dir | sed 's/\//-/g' | sed 's/^-//'`
+
+ # TODO : exclude encrypt key file from the backup
+
+ echo " $NAME" >> $DEBCONFBB
+ echo " {" >> $DEBCONFBB
+ echo " Path = $dir" >> $DEBCONFBB
+ echo " }" >> $DEBCONFBB
+ done
+
+ echo "}" >> $DEBCONFBB
+
+ # Encryption key
+ if [ ! -e $BBKEY ]; then
+ if ! openssl rand -out $BBKEY 1024 >&2; then
+ echo "Can't generate encryption key. Check why." >&2
+ fi
+ fi
+
+ chmod 600 $BBKEY || true
+
+ # SSL stuff
+ if [ ! -z $ACCOUNT ]; then
+ if [ ! -e $BBPRIVKEY -a ! -e $BBCERT ]; then
+ db_get boxbackup-client/generateCertificate
+
+ if [ "$RET" = "true" ]; then
+ if ! openssl genrsa -out $BBPRIVKEY 2048 >&2; then
+ echo "Private key generation failed! Check why." >&2
+ else
+ chmod 600 $BBPRIVKEY || true
+ fi
+
+
+ if ! openssl req -new -key $BBPRIVKEY -sha1 -out $BBCERTREQ >&2 <<__EOF
+.
+.
+.
+.
+.
+BACKUP-$ACCOUNT
+.
+.
+.
+__EOF
+ then
+ echo "Certificate request generation failed ! Check why." >&2
+ fi
+ fi
+ fi
+ fi
+
+ # Generate notify script
+ CLIENTNAME=`hostname --fqdn`
+
+ db_get boxbackup-client/notifyMail
+ MAILTO=$RET
+
+ cat >>$DEBCONFNOTIFY <<__EOF
+#!/bin/sh
+#To reconfigure boxbackup-client run #dpkg-reconfigure boxbackup-client
+SUBJECT="BACKUP PROBLEM on host $CLIENTNAME"
+SENDTO="$MAILTO"
+
+if [ \$1 = store-full ]
+then
+sendmail \$SENDTO <<EOM
+Subject: \$SUBJECT (store full)
+To: \$SENDTO
+
+
+The store account for $CLIENTNAME is full.
+
+=============================
+FILES ARE NOT BEING BACKED UP
+=============================
+
+Please adjust the limits on account $account_num on server $server.
+
+EOM
+elif [ \$1 = read-error ]
+then
+sendmail \$SENDTO <<EOM
+Subject: \$SUBJECT (read errors)
+To: \$SENDTO
+
+
+Errors occured reading some files or directories for backup on $CLIENTNAME.
+
+===================================
+THESE FILES ARE NOT BEING BACKED UP
+===================================
+
+Check the logs on $CLIENTNAME for the files and directories which caused
+these errors, and take appropraite action.
+
+Other files are being backed up.
+
+EOM
+else
+sendmail \$SENDTO <<EOM
+Subject: \$SUBJECT (unknown)
+To: \$SENDTO
+
+
+The backup daemon on $CLIENTNAME reported an unknown error.
+
+==========================
+FILES MAY NOT BE BACKED UP
+==========================
+
+Please check the logs on $CLIENTNAME.
+
+EOM
+fi
+__EOF
+
+ db_stop
+
+ ucf --three-way $DEBCONFBB $BBCONF >&2 </dev/tty
+ rm -f $DEBCONFBB
+ chmod 644 $BBCONF || true
+ chown root:root $BBCONF || true
+
+ ucf --three-way $DEBCONFNOTIFY $NOTIFYSCRIPT >&2 </dev/tty
+ rm -f $DEBCONFNOTIFY
+ chmod 755 $NOTIFYSCRIPT || true
+ chown root:root $NOTIFYSCRIPT || true
+ else
+ db_stop
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ db_stop
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ db_stop
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/boxbackup-client.postrm b/debian/boxbackup-client.postrm
new file mode 100644
index 00000000..07ec26b4
--- /dev/null
+++ b/debian/boxbackup-client.postrm
@@ -0,0 +1,39 @@
+#! /bin/sh
+# postrm script for boxbackup-client
+#
+# see: dh_installdeb(1)
+# summary of how this script can be called:
+# * <postrm> `remove'
+# * <postrm> `purge'
+# * <old-postrm> `upgrade' <new-version>
+# * <new-postrm> `failed-upgrade' <old-version>
+# * <new-postrm> `abort-install'
+# * <new-postrm> `abort-install' <old-version>
+# * <new-postrm> `abort-upgrade' <old-version>
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
+# for details, see /usr/share/doc/packaging-manual/
+
+set -e
+
+
+case "$1" in
+ purge)
+ for i in /etc/boxbackup/bbackupd.conf /etc/boxbackup/bbackupd/notifyadmin; do
+ if [ -e $i ]; then
+ rm -f $i
+ fi
+ ucf -p $i
+ done
+ ;;
+ remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 0
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
diff --git a/debian/boxbackup-client.templates b/debian/boxbackup-client.templates
new file mode 100644
index 00000000..e1d71dc1
--- /dev/null
+++ b/debian/boxbackup-client.templates
@@ -0,0 +1,144 @@
+Template: boxbackup-client/debconf
+Type: boolean
+Default: true
+Description: Do you want to handle the boxbackup client configuration with debconf?
+ Debconf can create the configuration files for boxbackup client.
+ If you prefer to do this by yourself you will need to use the script
+ bbackupd-config provided by this package.
+ .
+ The server won't start if it isn't configured.
+ .
+ Whatever you choose here, you will need to read the README.Debian file
+ in /usr/share/doc/boxbackup-client.
+
+Template: boxbackup-client/backupMode
+Type: select
+Choices: lazy, snapshot
+Description: Select the backup mode you prefer
+ Boxbackup client supports two modes of backup:
+ -lazy: the backup daemon will regularly scan your filesystem searching
+ for modified files. It will then upload the files over a specified age
+ to the backup server.
+ -snapshot: the backup will be explicitly run at given time set in a cron entry
+ The cron file is provided with this package, you will have to set the
+ time you wish the backup to occur (/etc/cron.d/boxbackup-client).
+
+Template: boxbackup-client/accountNumber
+Type: string
+Description: Enter your account number on the backup server
+ The administrator of the boxbackup server (perhaps you) should have provided
+ you an account number. It consits in an hexadecimal number.
+ .
+ If you don't already have one, leave that field blank. You will be able to
+ configure it later by running dpkg-reconfigure boxbackup-client as root.
+
+Template: boxbackup-client/incorrectAccountNumber
+Type: note
+Description: Please enter an hexadecimal number
+ The account number must be an hexadecimal number (e.g. 1E04 or 4500).
+
+Template: boxbackup-client/backupServer
+Type: string
+Description: Enter the fully qualified domain name of the backup server
+ The server name is the computer running an instance of Boxbackup server
+ your client will connect to. It must be the fully qualified domain name
+ of that machine (that can be resolve to an IP address).
+ If you are behind a firewall, you must allow outgoing connexion to tcp
+ port 2201 to be able to reach the server.
+
+Template: boxbackup-client/backupDirs
+Type: string
+Description: Enter a space separated list of directories to backup
+ You must tell boxbackup which directories you would like to backup to the remote
+ server.
+ You must enter this directories as a space separated list of absolute path names.
+ Be careful that those directories do NOT contain other mounted file systems within
+ them at any depth or you will have problems.
+
+Template: boxbackup-client/incorrectDirectories
+Type: note
+Description: Please enter correct path names
+ The path names to the directories must be absolute path names separated by spaces.
+ .
+ For example: /home/myaccount /etc/
+
+Template: boxbackup-client/UpdateStoreInterval
+Type: string
+Default: 3600
+Description: Enter the interval in seconds between scan of directories
+ Boxbackup scans the directories you have selected looking for modified files.
+ This scans occurs at regular interval that you can customize.
+ .
+ The default value is 3600s (one hour).
+
+Template: boxbackup-client/MinimumFileAge
+Type: string
+Default: 21600
+Description: Enter the time in seconds to wait after a file modification before uploading it
+ A file will be uploaded to the server only after a certain time after its
+ last modification. If you reduce this value and you modify your files often,
+ remember that you will have more old revisions of your files on the server and
+ reach your quota limit faster (thus removing older revisions of our files sooner)
+ .
+ The default value is 21600s (six hours).
+
+Template: boxbackup-client/MaxUploadWait
+Type: string
+Default: 86400
+Description: Enter the max time in seconds to wait before uploading a frequently modified file
+ As a file is not uploaded before a certain time after its last modification,
+ if it is frequently modified, it would never get uploaded. So this parameter
+ defines the maximum time to wait since the first modification noticed
+ before uploading a file.
+ .
+ The default value is 86400s (1 day).
+
+Template: boxbackup-client/IncorrectNumber
+Type: note
+Description: Please enter a correct number of seconds
+ This parameter must be a number.
+
+Template: boxbackup-client/notifyMail
+Type: string
+Default: root
+Description: Enter the user name or email address to send notification to.
+ Boxbackup client must know the user name or email address of the person
+ who will receive alert notifications. Such notifications are sent when
+ a problem occurs during the backup (the store is full or some files
+ were not readable).
+ .
+ Enter either a user name (e.g. root) or an email address (e.g. admin@mydomain.org)
+
+Template: boxbackup-client/generateCertificate
+Type: boolean
+Default: true
+Description: Do you want debconf to generate the client private key and x509 certificate request?
+ The boxbackup client needs a RSA private key and the corresponding x509 certificate
+ to authenticate itself to the server.
+ .
+ Debconf can generate for you the private key and a x509 certificate sign request.
+ You will need to send the certificate request to the administrator of the Boxbackup server
+ and this one will sign it and send it back to you along with the server Certification Authority
+ certificate. You will need to put these files in your boxbackup configuration directory (see
+ /etc/boxbackup/bbackupd.conf file for the exact name to give to these files).
+ .
+ If you prefer to manage this by yourself, say No here.
+
+Template: boxbackup-client/generalInfo
+Type: note
+Description: Read /usr/share/doc/boxbackup-client/README.Debian to finish the configuration
+ You should read the /usr/share/doc/boxbackup-client/README.Debian file
+ to learn how to finish the configuration of boxbackup client.
+ You will have to send the certificate request to the boxbackup server
+ administrator.
+ You can also customize the directories to backup in the file /etc/boxbackup/bbackupd.conf.
+ .
+ Be sure to make a *secure* backup copy of the following files:
+ - /etc/boxbackup/bbackupd/boxbackup-client-encrypt-key.raw : the key used to encrypt/decrypt
+ your backup.
+ - /etc/boxbackup/bbackupd/boxbackup-client-priv-key.pem : your private key.
+ - /etc/boxbackup/bbackupd/boxbackup-client-cert.pem : your certificate signed by the
+ server administrator.
+ I advise you to backup the whole /etc/boxbackup directory.
+ Without those files you won't be able to restore your data. You have been warned.
+
diff --git a/debian/boxbackup-server.config b/debian/boxbackup-server.config
new file mode 100644
index 00000000..0d46f6ec
--- /dev/null
+++ b/debian/boxbackup-server.config
@@ -0,0 +1,114 @@
+#!/bin/bash -e
+
+# Source debconf library
+. /usr/share/debconf/confmodule
+
+# This conf script is capable of backing up
+#db_version 2.0
+#db_capb backup
+
+#db_metaget debconf/priority value
+#CONFPRIO=$RET
+
+# Handle with debconf or not?
+db_input medium boxbackup-server/debconf || true
+db_go
+db_get boxbackup-server/debconf
+if [ "$RET" = "false" ]; then
+ exit 0
+fi
+
+# RAID directories
+db_get boxbackup-server/raidDirectories
+OLDRAIDDIR=$RET
+RAIDOK=0
+while [ $RAIDOK = 0 ]; do
+ db_input medium boxbackup-server/raidDirectories || true
+ db_go
+
+ db_get boxbackup-server/raidDirectories
+
+ DIR1=`echo "$RET" | awk '{ print $1 }'`
+ DIR2=`echo "$RET" | awk '{ print $2 }'`
+ DIR3=`echo "$RET" | awk '{ print $3 }'`
+
+ if [ -n $DIR1 ]; then
+ if [ -z $DIR2 -o -z $DIR3 ]; then
+ DIR2=$DIR1
+ DIR3=$DIR1
+ fi
+
+ PATHOK=1
+ for i in $DIR1 $DIR2 $DIR3; do
+ if [ `echo $i | awk '{ if (/^\/[A-Za-z0-9\.\-_]+\/?([A-Za-z0-9\.\-_]+\/?)*$/) { print 1 } else { print 0 } }'` = 0 ]; then
+ PATHOK=0
+ fi
+ done
+
+ if [ $PATHOK = 1 ]; then
+ RAIDOK=1;
+ fi
+ fi
+
+ if [ $RAIDOK = 0 ]; then
+ db_input critical boxbackup-server/incorrectDirectories || true
+ db_go
+ fi
+done
+
+# RAID block size
+# Try to figure out the block size of the first partition given
+db_get boxbackup-server/raidDirectories
+if [ "$OLDRAIDDIR" != "$RET" ]; then # Directories have been changed so we can try to guess the block size
+ TMPDIR=`echo $DIR1 | sed 's/\/$//'`
+
+ while [ "$TMPDIR" != "" ]; do
+ DEV=`df -P | grep "$TMPDIR$" | awk '{ print $1 }'`
+
+ if [ -z "$DEV" ]; then
+ TMPDIR=`echo $TMPDIR | sed 's/\/[^\/]*$//'`
+ else
+ TMPDIR=""
+ fi
+ done
+
+ if [ "$DEV" != "" ]; then
+ if [ -x /sbin/tune2fs ]; then
+ BS=`/sbin/tune2fs -l $DEV 2>/dev/null | grep 'Block size' | awk '{print $3 }'`
+
+ if [ $? = 0 -a $BS != "" ]; then
+ db_set boxbackup-server/raidBlockSize "$BS"
+ fi
+ fi
+ fi
+fi
+
+BSOK=0
+while [ $BSOK = 0 ]; do
+ db_input medium boxbackup-server/raidBlockSize || true
+ db_go
+
+ db_get boxbackup-server/raidBlockSize
+
+ if [ `echo $RET | awk '{ if (/^[0-9]+$/) { print 1 } else { print 0 } }'` = 1 ]; then
+ if [ `echo $RET | awk '{ bs=sqrt($1); if (bs ~ /^[0-9]+$/) { print 1 } else { print 0 } }'` = 1 ]; then
+ BSOK=1
+ fi
+ fi
+
+ if [ $BSOK = 0 ]; then
+ db_input critical boxbackup-server/incorrectBlocksize || true
+ db_go
+ fi
+done
+
+# x509 and private key
+db_input medium boxbackup-server/generateCertificate || true
+db_go
+
+# Display general info
+db_input medium boxbackup-server/generalInfo || true
+db_go
+
+exit 0
+
diff --git a/debian/boxbackup-server.dirs b/debian/boxbackup-server.dirs
new file mode 100644
index 00000000..a6c52ea6
--- /dev/null
+++ b/debian/boxbackup-server.dirs
@@ -0,0 +1,6 @@
+usr/sbin
+etc/boxbackup
+etc/boxbackup/bbstored
+etc/logcheck/ignore.d.workstation
+etc/logcheck/ignore.d.server
+
diff --git a/debian/boxbackup-server.docs b/debian/boxbackup-server.docs
new file mode 100644
index 00000000..4cf84605
--- /dev/null
+++ b/debian/boxbackup-server.docs
@@ -0,0 +1,8 @@
+BUGS.txt
+CONTACT.txt
+DOCUMENTATION.txt
+LINUX.txt
+NETBSD.txt
+THANKS.txt
+TODO.txt
+VERSION.txt
diff --git a/debian/boxbackup-server.init b/debian/boxbackup-server.init
new file mode 100644
index 00000000..b7b1b970
--- /dev/null
+++ b/debian/boxbackup-server.init
@@ -0,0 +1,80 @@
+#! /bin/sh
+#
+### BEGIN INIT INFO
+# Provides: boxbackup-server
+# Required-Start: $syslog $local_fs $network
+# Required-Stop: $syslog $local_fs $network
+# Default-Start: 2 3 4 5
+# Default-Stop: S 0 1 6
+# Short-Description: boxbackup server
+# Description: Init script to start and stop the boxbackup server
+### END INIT INFO
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/bbstored
+NAME=bbstored
+DESC=boxbackup-server
+CONF=/etc/boxbackup/bbstored.conf
+
+test -f $DAEMON || exit 0
+
+test -f $CONF || exit 0
+
+PIDFILE=`grep 'PidFile' $CONF | sed 's/[[:space:]]*PidFile[[:space:]]*=[[:space:]]*\(\/[A-Za-z0-9/]*\)/\1/'`
+CERTFILE=`grep 'CertificateFile' $CONF | sed 's/[[:space:]]*CertificateFile[[:space:]]*=[[:space:]]*\(\/[A-Za-z0-9/]*\)/\1/'`
+
+[ -z $PIDFILE ] && PIDFILE="/var/run/bbstored.pid"
+
+# Don't start if certificate file is not present
+[ ! -e $CERTFILE ] && exit 0
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
+ --exec $DAEMON -- $CONF
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \
+ --exec $DAEMON
+ echo "$NAME."
+ ;;
+ #reload)
+ #
+ # If the daemon can reload its config files on the fly
+ # for example by sending it SIGHUP, do it here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this a do-nothing entry.
+ #
+ # echo "Reloading $DESC configuration files."
+ # start-stop-daemon --stop --signal 1 --quiet --pidfile \
+ # /var/run/$NAME.pid --exec $DAEMON
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented, move the "force-reload"
+ # option to the "reload" entry above. If not, "force-reload" is
+ # just the same as "restart".
+ #
+ echo -n "Restarting $DESC: "
+ start-stop-daemon --oknodo --stop --quiet --pidfile \
+ $PIDFILE --exec $DAEMON
+ sleep 1
+ start-stop-daemon --start --quiet --pidfile \
+ $PIDFILE --exec $DAEMON -- $CONF
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/debian/boxbackup-server.install b/debian/boxbackup-server.install
new file mode 100644
index 00000000..22c0ec7b
--- /dev/null
+++ b/debian/boxbackup-server.install
@@ -0,0 +1,7 @@
+parcels/boxbackup-0.10-backup-server-linux-gnu/bbstored /usr/sbin/
+parcels/boxbackup-0.10-backup-server-linux-gnu/bbstoreaccounts /usr/sbin/
+parcels/boxbackup-0.10-backup-server-linux-gnu/bbstored-config /usr/sbin/
+parcels/boxbackup-0.10-backup-server-linux-gnu/raidfile-config /usr/sbin/
+debian/tmp/etc/logcheck/ignore.d.workstation/boxbackup-server /etc/logcheck/ignore.d.workstation
+debian/tmp/etc/logcheck/ignore.d.server/boxbackup-server /etc/logcheck/ignore.d.server
+
diff --git a/debian/boxbackup-server.logcheck.ignore b/debian/boxbackup-server.logcheck.ignore
new file mode 100644
index 00000000..c19b43db
--- /dev/null
+++ b/debian/boxbackup-server.logcheck.ignore
@@ -0,0 +1,10 @@
+bbstored/hk\[.*\]: Starting housekeeping
+bbstored/hk\[.*\]: Finished housekeeping
+bbstored/hk\[.*\]: Housekeeping process started
+bbstored\[.*\]: Starting daemon
+bbstored\[.*\]: Terminating daemon
+bbstored\[.*\]: Incoming connection from.*port.*\(handling in child.*\)
+bbstored\[.*\]: Certificate CN:
+bbstored\[.*\]: Login: Client ID
+bbstored\[.*\]: Session finished
+
diff --git a/debian/boxbackup-server.postinst b/debian/boxbackup-server.postinst
new file mode 100644
index 00000000..baaf87ac
--- /dev/null
+++ b/debian/boxbackup-server.postinst
@@ -0,0 +1,211 @@
+#! /bin/sh
+# postinst script for boxbackup-server
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+# quoting from the policy:
+# Any necessary prompting should almost always be confined to the
+# post-installation script, and should be protected with a conditional
+# so that unnecessary prompting doesn't happen if a package's
+# installation fails and the `postinst' is called with `abort-upgrade',
+# `abort-remove' or `abort-deconfigure'.
+
+#loading debconf module
+. /usr/share/debconf/confmodule
+
+CONFDIR=/etc/boxbackup
+DEBCONFRAID=$CONFDIR/raidfile.debconf
+DEBCONFBB=$CONFDIR/bbstored.debconf
+RAIDCONF=$CONFDIR/raidfile.conf
+BBCONF=$CONFDIR/bbstored.conf
+BBACCOUNTS=$CONFDIR/bbstored/boxbackup-server-accounts.txt
+BBUSER=bbstored
+BBPRIVKEY=$CONFDIR/bbstored/boxbackup-server-key.pem
+BBCERTREQ=$CONFDIR/bbstored/boxbackup-server-cert-req.pem
+BBCERT=$CONFDIR/bbstored/boxbackup-server-cert.pem
+BBCACERT=$CONFDIR/bbstored/boxbackup-client-ca-cert.pem
+
+case "$1" in
+ configure)
+
+ # Set up the bbstored user
+ if [ -z "`getent passwd $BBUSER`" ]; then
+ echo "Creating $BBUSER user." >&2
+ adduser --system --no-create-home \
+ --disabled-password --disabled-login \
+ --shell /bin/false --group --home /var $BBUSER
+ else
+ echo "User $BBUSER already exists." >&2
+ fi
+
+ db_get boxbackup-server/debconf
+ if [ "$RET" = "true" ]; then
+ # Generate configuration files
+ # raidfile.conf
+ echo "#To reconfigure boxbackup-server run #dpkg-reconfigure boxbackup-server" >> $DEBCONFRAID
+
+ echo "disc0" >> $DEBCONFRAID
+ echo "{" >> $DEBCONFRAID
+ echo " SetNumber = 0" >> $DEBCONFRAID
+
+ db_get boxbackup-server/raidBlockSize
+ echo " BlockSize = $RET" >> $DEBCONFRAID
+
+ db_get boxbackup-server/raidDirectories
+
+ DIR1=`echo "$RET" | awk '{ print $1 }'`
+ DIR2=`echo "$RET" | awk '{ print $2 }'`
+ DIR3=`echo "$RET" | awk '{ print $3 }'`
+
+ if [ -n $DIR1 ]; then
+ if [ -z $DIR2 -o -z $DIR3 ]; then
+ DIR2=$DIR1
+ DIR3=$DIR1
+ fi
+ fi
+
+ echo " Dir0 = $DIR1" >> $DEBCONFRAID
+ echo " Dir1 = $DIR2" >> $DEBCONFRAID
+ echo " Dir2 = $DIR3" >> $DEBCONFRAID
+
+ echo "}" >> $DEBCONFRAID
+
+ # Handle backup directories creation/permissions
+ for dir in "$DIR1" "$DIR2" "$DIR3"; do
+ if [ -d "$dir/backup" ]; then
+ # need stat package on Woody
+ #if (`stat -c %U $dir/backup` != $BBUSER); then
+ if [ `ls -ld $dir/backup | awk '{ print $3 }'` != "$BBUSER" ]; then
+ echo "Incorrect owner of backup directory. Changing it to $BBUSER..." >&2
+ chown $BBUSER:$BBUSER $dir/backup
+ fi
+
+ #if [ `stat -c %a $dir/backup` != "700" ]; then
+ if [ `ls -ld $dir/backup | awk '{ print $1 }'` != "drwx------" ]; then
+ chmod 700 $dir/backup
+ fi
+ else
+ echo "Creating $dir/backup directory..." >&2
+ mkdir -p $dir/backup
+ chown $BBUSER:$BBUSER $dir/backup
+ chmod 700 $dir/backup
+ fi
+ done
+
+ if ! dpkg-statoverride --list $CONFDIR/bbstored > /dev/null; then
+ dpkg-statoverride --update --add $BBUSER $BBUSER 700 $CONFDIR/bbstored
+ fi
+
+ # Accounts file
+ if [ ! -e $BBACCOUNTS ]; then
+ touch $BBACCOUNTS
+ fi
+
+ #if [ `stat -c %U $BBACCOUNTS` != $BBUSER ]; then
+ if [ `ls -ld $BBACCOUNTS | awk '{ print $3 }'` != "$BBUSER" ]; then
+ chown $BBUSER:$BBUSER $BBACCOUNTS
+ fi
+
+ #if [ `stat -c %a $BBACCOUNTS` != "600" ]; then
+ if [ `ls -ld $BBACCOUNTS | awk '{ print $1 }'` != "drw-------" ]; then
+ chmod 600 $BBACCOUNTS
+ fi
+
+ SERVNAME=`hostname --fqdn`
+
+ # SSL stuff
+ if [ ! -e $BBPRIVKEY -a ! -e $BBCERT ]; then
+ db_get boxbackup-server/generateCertificate
+
+ if [ "$RET" = "true" ]; then
+ if ! openssl genrsa -out $BBPRIVKEY 2048 >&2; then
+ echo "Private key generation failed! Check why." >&2
+ else
+ chown $BBUSER: $BBPRIVKEY
+ chmod 600 $BBPRIVKEY || true
+ fi
+
+ if ! openssl req -new -key $BBPRIVKEY -sha1 -out $BBCERTREQ >&2 <<EOF
+.
+.
+.
+.
+.
+$SERVNAME
+.
+.
+.
+EOF
+ then
+ echo "Certificate request generation failed ! Check why." >&2
+ fi
+ fi
+ fi
+
+ # Generate bbstored.conf
+ echo "#To reconfigure boxbackup-server run #dpkg-reconfigure boxbackup-server" >> $DEBCONFBB
+ echo "RaidFileConf = $RAIDCONF" >> $DEBCONFBB
+ echo "AccountDatabase = $BBACCOUNTS" >> $DEBCONFBB
+ echo >> $DEBCONFBB
+ echo "# Uncomment this line to see exactly what commands are being received from clients." >> $DEBCONFBB
+ echo "# ExtendedLogging = yes" >> $DEBCONFBB
+ echo >> $DEBCONFBB
+ echo "# scan all accounts for files which need deleting every 15 minutes." >> $DEBCONFBB
+ echo "TimeBetweenHousekeeping = 900" >> $DEBCONFBB
+ echo >> $DEBCONFBB
+ echo "Server" >> $DEBCONFBB
+ echo "{" >> $DEBCONFBB
+ echo " PidFile = /var/run/bbstored.pid" >> $DEBCONFBB
+ echo " User = bbstored" >> $DEBCONFBB
+ echo " ListenAddresses = inet:$SERVNAME" >> $DEBCONFBB
+ echo " CertificateFile = $BBCERT" >> $DEBCONFBB
+ echo " PrivateKeyFile = $BBPRIVKEY" >> $DEBCONFBB
+ echo " TrustedCAsFile = $BBCACERT" >> $DEBCONFBB
+ echo "}" >> $DEBCONFBB
+
+ db_stop
+
+ ucf --three-way $DEBCONFRAID $RAIDCONF >&2 </dev/tty
+ rm -f $DEBCONFRAID
+ chmod 644 $RAIDCONF || true
+ chown root:root $RAIDCONF || true
+
+ ucf --three-way $DEBCONFBB $BBCONF >&2 </dev/tty
+ rm -f $DEBCONFBB
+ chmod 644 $BBCONF || true
+ chown root:root $BBCONF || true
+ else
+ db_stop
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ db_stop
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ db_stop
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/boxbackup-server.postrm b/debian/boxbackup-server.postrm
new file mode 100644
index 00000000..ad624c69
--- /dev/null
+++ b/debian/boxbackup-server.postrm
@@ -0,0 +1,44 @@
+#! /bin/sh
+# postrm script for #PACKAGE#
+#
+# see: dh_installdeb(1)
+# summary of how this script can be called:
+# * <postrm> `remove'
+# * <postrm> `purge'
+# * <old-postrm> `upgrade' <new-version>
+# * <new-postrm> `failed-upgrade' <old-version>
+# * <new-postrm> `abort-install'
+# * <new-postrm> `abort-install' <old-version>
+# * <new-postrm> `abort-upgrade' <old-version>
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
+# for details, see /usr/share/doc/packaging-manual/
+
+set -e
+
+
+case "$1" in
+ purge)
+ for i in /etc/boxbackup/raidfile.conf /etc/boxbackup/bbstored.conf; do
+ if [ -e $i ]; then
+ rm -f $i
+ fi
+ ucf -p $i
+ done
+
+ dpkg-statoverride --remove /etc/boxbackup/bbstored || true
+
+ getent passwd bbstored >/dev/null && deluser bbstored
+ getent group bbstored >/dev/null && delgroup bbstored
+ ;;
+ remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+ ;;
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 0
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
diff --git a/debian/boxbackup-server.templates b/debian/boxbackup-server.templates
new file mode 100644
index 00000000..ffe895da
--- /dev/null
+++ b/debian/boxbackup-server.templates
@@ -0,0 +1,71 @@
+Template: boxbackup-server/debconf
+Type: boolean
+Default: true
+Description: Do you want to handle the boxbackup server configuration with debconf?
+ Debconf can create the configuration files for boxbackup server.
+ If you prefer to do this by yourself you will need to use the scripts
+ raidfile-config and bbstored-config provided by this package.
+ .
+ The server won't start if it isn't configured.
+ .
+ Whatever you choose here, you will need to read the README.Debian file
+ in /usr/share/doc/boxbackup-server.
+
+Template: boxbackup-server/raidDirectories
+Type: string
+Description: Enter the location of the RAID directories
+ You have to choose the location for the 3 RAID file directories.
+ To enable RAID, it must be 3 directories path names separated by spaces
+ and those path names should point to 3 partitions on 3 differents
+ physical hard drives.
+ For example: /raid/0.0 /raid/0.1 /raid/0.2
+ .
+ If you don't want to enable RAID, just specify the path to one directory
+ where the backups will be stored in (e.g. /usr/local/lib/boxbackup).
+ .
+ If they don't allready exist, these directories will be created for you.
+
+Template: boxbackup-server/incorrectDirectories
+Type: note
+Description: Please enter correct path names
+ The path names to the directories must be absolute path names separated by spaces.
+ .
+ For example: /raid/0.0 /raid/0.1 /raid/0.2
+
+Template: boxbackup-server/raidBlockSize
+Type: string
+Default: 4096
+Description: Enter the block size for the userland RAID system
+ BoxBackup uses userland RAID techniques.
+ You have to choose the block size to use for the storage.
+ For maximum efficiency, set it to the block size of the underlying
+ filesystem (see tune2fs -l /dev/... to find your block size).
+ Even if you don't plan to use RAID, you have to set that value.
+
+Template: boxbackup-server/generateCertificate
+Type: boolean
+Default: true
+Description: Do you want debconf to generate the server private key and x509 certificate request?
+ The boxbackup server needs a RSA private key and the corresponding x509 certificate
+ to perform client-server authentication and communication encryption.
+ .
+ Debconf can generate for you the private key and a x509 certificate sign request.
+ You will need to sign the certificate with your root CA (see the boxbackup-utils package)
+ and put this signed certificate and the root CA certificate in your configuration folder.
+ .
+ If you prefer to manage this by yourself, say No here.
+
+Template: boxbackup-server/generalInfo
+Type: note
+Description: Read /usr/share/doc/boxbackup-server/README.Debian to finish the configuration
+ You should read the /usr/share/doc/boxbackup-server/README.Debian file
+ to learn how to finish the configuration of boxbackup server.
+ You will have to sign the server certificate.
+ You can also add RAID file directories in the configuration
+ file /etc/boxbackup/raidfile.conf.
+
+Template: boxbackup-server/incorrectBlocksize
+Type: note
+Description: Please enter a power of two number
+ The block size must be a power of two number (e.g. 1024 or 4096).
+
diff --git a/debian/boxbackup-utils.dirs b/debian/boxbackup-utils.dirs
new file mode 100644
index 00000000..e7724817
--- /dev/null
+++ b/debian/boxbackup-utils.dirs
@@ -0,0 +1 @@
+usr/bin
diff --git a/debian/boxbackup-utils.docs b/debian/boxbackup-utils.docs
new file mode 100644
index 00000000..4cf84605
--- /dev/null
+++ b/debian/boxbackup-utils.docs
@@ -0,0 +1,8 @@
+BUGS.txt
+CONTACT.txt
+DOCUMENTATION.txt
+LINUX.txt
+NETBSD.txt
+THANKS.txt
+TODO.txt
+VERSION.txt
diff --git a/debian/boxbackup-utils.install b/debian/boxbackup-utils.install
new file mode 100644
index 00000000..c1620f2c
--- /dev/null
+++ b/debian/boxbackup-utils.install
@@ -0,0 +1,2 @@
+parcels/boxbackup-0.10-backup-server-linux-gnu/bbstored-certs /usr/bin/
+
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 00000000..72589177
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,92 @@
+boxbackup (0.10-1) unstable; urgency=low
+
+ * New upstream version
+ * Add LSB headers in init script
+
+ -- Jérôme Schell <jerome@myreseau.org> Mon, 10 Oct 2005 14:16:20 +0200
+
+boxbackup (0.09-3) unstable; urgency=low
+
+ * Added man pages for bbackupd, bbackupd-config, bbackupctl, bbackupquery
+ * Improve lintian compatibility of the packages
+
+ -- Jérôme Schell <jerome@myreseau.org> Mon, 10 Oct 2005 14:16:20 +0200
+
+boxbackup (0.09-2) unstable; urgency=low
+
+ * Improve clean target of debian/rules
+
+ -- Jérôme Schell <jerome@myreseau.org> Sun, 20 Feb 2005 11:41:20 +0010
+
+boxbackup (0.09-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Jérôme Schell <jerome@myreseau.org> Thu, 6 Dec 2004 20:45:20 +0010
+
+boxbackup (0.08-2) unstable; urgency=low
+
+ * Fix endless loop when debconf priority is high or critical
+
+ -- Jérôme Schell <jerome@taonix.org> Thu, 23 Sep 2004 17:36:20 +0010
+
+boxbackup (0.08-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Jérôme Schell <jerome@taonix.org> Thu, 23 Sep 2004 17:36:20 +0010
+
+boxbackup (0.07+PLUS4-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Jérôme Schell <jerome@taonix.org> Thu, 23 Sep 2004 10:21:20 +0010
+
+boxbackup (0.07-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Jérôme Schell <jerome@taonix.org> Tue, 28 Jun 2004 21:26:20 +0010
+
+boxbackup (0.06PLUS2-3) unstable; urgency=low
+
+ * Fix the client init script to really stop the daemon
+
+ -- Jérôme Schell <jerome@taonix.org> Tue, 27 Jun 2004 18:48:20 +0010
+
+boxbackup (0.06PLUS2-2) unstable; urgency=low
+
+ * Fix notifyadmin script is not executable
+
+ -- Jérôme Schell <jerome@taonix.org> Tue, 24 Jun 2004 22:22:20 +0010
+
+boxbackup (0.06PLUS2-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Jérôme Schell <jerome@taonix.org> Tue, 24 Jun 2004 20:46:20 +0010
+
+boxbackup (0.06PLUS1-3) unstable; urgency=low
+
+ * Fix bad default configuration file path
+
+ -- Jérôme Schell <jerome@taonix.org> Tue, 19 Jun 2004 21:03:24 +0010
+
+boxbackup (0.06PLUS1-2) unstable; urgency=low
+
+ * Fix missing dependencies on openssl for boxbackup-client
+
+ -- Jérôme Schell <jerome@taonix.org> Tue, 19 Jun 2004 00:30:24 +0010
+
+boxbackup (0.06PLUS1-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Jérôme Schell <jerome@taonix.org> Tue, 18 Jun 2004 18:51:24 +0010
+
+boxbackup (0.06-1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Jérôme Schell <jerome@taonix.org> Tue, 1 Jun 2004 07:51:24 +0010
+
diff --git a/debian/control b/debian/control
new file mode 100644
index 00000000..5296637d
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,37 @@
+Source: boxbackup
+Section: utils
+Priority: optional
+Maintainer: Jérôme Schell <jerome@myreseau.org>
+Build-Depends: debhelper (>> 3.0.0), libedit-dev, libdb4.3-dev, libssl-dev (>= 0.9.7), zlib1g-dev
+Standards-Version: 3.5.2
+
+Package: boxbackup-server
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}, perl (>= 5.6.0), gawk, ucf (>= 0.08), openssl (>= 0.9.7)
+Recommends: boxbackup-utils
+Description: Server for BoxBackup remote backup system
+ Boxbackup is an automatic on-line backup system.
+ The server waits for connections from remote clients,
+ authenticates them via x509 certificates and stores the
+ encrypted data on hard drives with optionnals RAID techniques.
+ It also supports versions historization and per-user quotas.
+
+Package: boxbackup-client
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}, ucf (>= 0.07), perl (>= 5.6.0), openssl (>= 0.9.7)
+Description: Client for BoxBackup remote backup system
+ Boxbackup is an automatic on-line backup system.
+ The client is watching for changes on the local filesystem,
+ connects to a Boxbackup server and send the changes via a
+ secure channel. All data is encrypted before being sent to
+ the server. A command line tool is provided for restoration
+ of backups including deleted files and old versions.
+
+Package: boxbackup-utils
+Architecture: all
+Depends: perl (>= 5.6.0), openssl (>= 0.9.6c)
+Description: Utilities for BoxBackup remote backup system
+ Boxbackup is an automatic on-line backup system.
+ This package contains utilities for managing SSL clients
+ certificates.
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 00000000..42482124
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,48 @@
+This package was debianized by Jérôme Schell <jerome@myreseau.org> on
+Tue, 1 Jun 2004 07:51:24 +0000.
+
+It was downloaded from http://www.fluffy.co.uk/boxbackup/
+
+Upstream Author: Ben Summers <ben@fluffy.co.uk>
+
+Copyright:
+
+Copyright (c) 2003, 2004
+ Ben Summers. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All use of this software and associated advertising materials must
+ display the following acknowledgement:
+ This product includes software developed by Ben Summers.
+4. The names of the Authors may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+[Where legally impermissible the Authors do not disclaim liability for
+direct physical injury or death caused solely by defects in the software
+unless it is modified by a third party.]
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+Commentary
+
+This license is based on a standard BSD license. Some minor changes in wording have been made to fit in with English law.
+
+© Ben Summers, 2003, 2004
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 00000000..7dec776e
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,152 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 by Joey Hess.
+#
+# This version is for a hypothetical package that builds an
+# architecture-dependant package, as well as an architecture-independent
+# package.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This is the debhelper compatibility version to use.
+export DH_COMPAT=4
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+TMP:=$(CURDIR)/debian/tmp
+
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -g
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+ INSTALL_PROGRAM += -s
+endif
+
+configure: configure-stamp
+configure-stamp:
+ dh_testdir
+ # Add here commands to configure the package.
+ ./configure
+
+ touch configure-stamp
+
+build-stamp: configure-stamp
+ dh_testdir
+
+ # Add here command to compile/build the package.
+ $(MAKE)
+
+ touch build-stamp
+
+build: build-stamp
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp
+ rm -f configure-stamp
+ rm -f debian/files
+
+ find . -name '*.o' | xargs --no-run-if-empty rm
+ find . -name '*.a' | xargs --no-run-if-empty rm
+ find . -name 'autogen_*' | xargs --no-run-if-empty rm
+ find . -name '_*' | xargs --no-run-if-empty rm
+ rm -f release/bin/bbstored/bbstored
+ rm -f release/bin/bbstoreaccounts/bbstoreaccounts
+ rm -f release/bin/bbackupd/bbackupd
+ rm -f release/bin/bbackupquery/bbackupquery
+ rm -f release/bin/bbackupctl/bbackupctl
+ rm -f local/modules.h
+ rm -f local/install.msg
+ rm -f ExceptionCodes.txt
+ rm -f parcels/scripts/install-backup-client
+ rm -f parcels/scripts/install-backup-server
+ rm -f infrastructure/BoxPlatform.pm
+ rm -f lib/common/BoxConfig.h
+ rm -f config.log config.status
+
+ # Add here commands to clean up after the build process.
+ -$(MAKE) clean
+
+ find . -name 'Makefile' | xargs --no-run-if-empty rm
+
+ dh_clean
+
+install: DH_OPTIONS=
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ mkdir -p $(TMP)/etc/logcheck/ignore.d.workstation
+ mkdir -p $(TMP)/etc/logcheck/ignore.d.server
+ install -m 644 debian/boxbackup-server.logcheck.ignore $(TMP)/etc/logcheck/ignore.d.workstation/boxbackup-server
+ install -m 644 debian/boxbackup-server.logcheck.ignore $(TMP)/etc/logcheck/ignore.d.server/boxbackup-server
+
+ dh_install
+
+# Build architecture-independent files here.
+# Pass -i to all debhelper commands in this target to reduce clutter.
+binary-indep: build install
+ dh_testdir -i
+ dh_testroot -i
+# dh_installdebconf -i
+ dh_installdocs -i
+# dh_installexamples -i
+# dh_installmenu -i
+# dh_installlogrotate -i
+# dh_installemacsen -i
+# dh_installpam -i
+# dh_installmime -i
+# dh_installinit -i
+# dh_installcron -i
+# dh_installman -i
+# dh_installinfo -i
+# dh_undocumented -i
+ dh_installchangelogs -i
+# dh_link -i
+ dh_compress -i
+ dh_fixperms -i
+ dh_installdeb -i
+# dh_perl -i
+ dh_gencontrol -i
+ dh_md5sums -i
+ dh_builddeb -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+ dh_testdir -a
+ dh_testroot -a
+ dh_installdebconf -a
+ dh_installdocs -a
+# dh_installexamples -a
+# dh_installmenu -a
+# dh_installlogrotate -a
+# dh_installemacsen -a
+# dh_installpam -a
+# dh_installmime -a
+ dh_installinit -a
+ dh_installcron -a
+ dh_installman
+# dh_installinfo -a
+# dh_undocumented -a
+ dh_installchangelogs -a
+ dh_strip -a
+# dh_link -a
+ dh_compress -a
+ dh_fixperms -a
+# dh_makeshlibs -a
+ dh_installdeb -a
+# dh_perl -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install