[Pkg-backup-mngr-commits] r66 - in trunk: . debian debian/patches debian/po doc lib po t

sukria at alioth.debian.org sukria at alioth.debian.org
Wed May 30 12:53:41 UTC 2007


Author: sukria
Date: 2007-05-30 12:53:39 +0000 (Wed, 30 May 2007)
New Revision: 66

Added:
   trunk/debian/patches/01_backup-manager.conf.tpl.dpatch
   trunk/debian/patches/02_cdrecord_to_wodim.dpatch
   trunk/debian/patches/03_VERSION.dpatch
   trunk/debian/po/nl.po
   trunk/doc/user-guide.txt
   trunk/t/t11.2-pipe-encrypted.sh
Removed:
   trunk/debian/patches/01_Makefile.dpatch
   trunk/debian/patches/02_doc_Makefile.dpatch
   trunk/debian/patches/04_backup-manager.conf.tpl.dpatch
   trunk/debian/patches/05_cdrecord_to_wodim.dpatch
   trunk/debian/patches/06_VERSION.dpatch
Modified:
   trunk/ChangeLog
   trunk/Makefile
   trunk/NEWS
   trunk/VERSION
   trunk/backup-manager
   trunk/backup-manager-purge
   trunk/backup-manager-upload
   trunk/backup-manager.conf.tpl
   trunk/debian/changelog
   trunk/debian/patches/00list
   trunk/doc/Makefile
   trunk/doc/common.ent
   trunk/doc/user-guide.sgml
   trunk/lib/actions.sh
   trunk/lib/backup-methods.sh
   trunk/lib/burning-methods.sh
   trunk/lib/dialog.sh
   trunk/lib/files.sh
   trunk/lib/logger.sh
   trunk/lib/md5sum.sh
   trunk/lib/sanitize.sh
   trunk/po/cs.po
   trunk/po/de.po
   trunk/po/es.po
   trunk/po/fr.po
   trunk/po/it.po
   trunk/po/nl.po
   trunk/po/vi.po
   trunk/t/t11-pipe-method.sh
   trunk/t/t14-purging-system.sh
Log:
NEw release


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/ChangeLog	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,3 +1,147 @@
+2007-04-24  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* Release: 0.7.6
+
+2007-03-13  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* Support for a new variable that control whether BM should purge archives
+	made by other instance of the one that is running (BM_ARCHIVE_STRICTPURGE)
+	(closes: #153).
+
+2007-02-20	Alexis Sukrieh	<sukria at backup-manager.org>
+
+	* lib/backup-methods.sh
+	  + change every call to external command so that we can read their return
+	  code.
+	  + new function check_error_code() to handle BM's behaviour according to
+	  the external command's return codes.
+	  + If a return code equals 1 and the archive is created, consider it as a
+	  warning instead of an error (closes: #152).	  
+	* Don't stop the main process if errors are triggered by external
+	  commands (closes: #141).
+
+2007-01-02	Alexis Sukrieh	<sukria at backup-manager.org>
+
+	* doc/user-guide.sgml, doc/user-guide.txt
+	  + More precise documentation about how to use a zero-TTL for local
+	  purging with a different one for remote ones.
+	  (closes: #144)
+
+2007-01-02	Alexis Sukrieh	<sukria at backup-manager.org>
+
+	* lib/backup-methods.sh
+	  + Fix the security vulnerability about passing MySQL client password
+	  through the commandline. Using ~/.my.cnf instead.
+	  (closes: #146)
+
+2006-12-29	Alexis Sukrieh	<sukria at backup-manager.org>
+
+	* doc/user-guide.sgml, doc/user-guide.txt
+	  + New section about the encryption using GPG.
+	  (closes: #132)
+
+2006-12-29	Alexis Sukrieh	<sukria at backup-manager.org>
+
+	* lib/sanitize.sh
+	  + Make sure BM_ENCRYPTION_RECIPIENT is defined when BM_ENCRYPTION_METHOD
+	  is set to gpg.
+	* lib/backup-methods.sh
+	  + Handle gently encryption when building meta commands.
+	  (closes: #135)
+	  + The code of the gzip and the bzip2 compressors have been merged.
+	  Less code, less bugs Luke.
+
+2006-12-11  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* lib/files.sh
+	  + change a call to mktemp so it's compliant with old versions (mktemp
+	  <path>).
+
+2006-10-23  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* backup-manager:
+	  + Renamed the trap callback "stop_me()" to "clean_exit()"; more approriate name.
+	* lib/dialog.sh:
+	  + Moved stop_me() to lib/backup-methods.sh - clean_exit()
+	* lib/backup-methods.sh:
+	  + Handles smartly interrupted builds (remove any incomplete archive and
+	  friends if the build process has not been correctly finished).
+	* Messages updates.
+
+2006-10-20  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* Makefile:
+	  + Don't build the docs by default anymore, the debiandoc tools may not
+	  be there.
+	  (close #134)
+
+2006-10-20  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* Copyright headers and debugging messages
+	  - lib/backup-methods.sh
+	  - lib/dialog.sh
+	  - lib/files.sh
+	  - lib/md5sum.sh
+	  - lib/sanitize.sh
+	* If the GPG encryption feature is used, make sur we check if $archive.gpg
+	exists instead of $archive when building archives.
+
+2006-10-19  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* doc/Makefile:
+	  + Don't build the doc files if they are up-to-date.
+	* lib/actions.sh:
+	  + Copyright statement
+	  + more debug messages
+	  + tail -f logfiles 
+	* lib/burning-methods.sh:
+	  + Copyright statement
+	  + more debug messages
+	  + tail -f logfiles 
+	* po/backup-manager.pot, po/*.po:
+	  + Updates
+
+2006-10-11  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* doc/Makefile:
+	  + Don't build the doc files if they are up-to-date.
+	* lib/backup-methods.sh:
+	  + lots of debug stuff, use tail_logfile() for outputing temp logfiles to
+	  stderr if the switch --debug is enabled.
+	* lib/dialog.sh:
+	  + function tail_logfile().
+
+2006-10-11  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* lib/logger.sh:
+	  + Exec the post-command when exiting.
+	  (closes: #118)
+
+2006-10-11  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* lib/sanitize.sh:
+	  + Make sure the $key we test is defined.
+	  (closes: #110)
+
+2006-10-11  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* lib/backup-methods.sh:
+	  + look for previous DAR archives in the last 30 ones possible.
+	  (closes: #127).
+
+2006-10-06  Alexis Sukrieh  <sukria at backup-manager.org>
+
+	* Makefile:
+	  + Added SVN properties to track some metadata.
+	  + Uses Perl to find out where to install the perl modules
+	    ($Config{sitelib}) thanks to Thomas Parmelan.
+	  + Build backup-manager-purge.8 manpage as well as
+	    backup-manager-upload.8.
+	  + New default target `build' so that everything that needs to be built
+	    is built when you issue `make'.
+	* backup-manager:
+	  + Back to the unreleased mode, version is 0.7.5+REV
+
 2006-09-16  Alexis Sukrieh  <sukria at backup-manager.org>
 
 	* AUTHORS:

Modified: trunk/Makefile
===================================================================
--- trunk/Makefile	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/Makefile	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,7 +1,38 @@
+# Copyright © 2005-2006 The Backup Manager Authors
+# See the AUTHORS file for details.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Makefile for Backup Manager written by Alexis Sukrieh, 
+# smart ideas for finding out perl libraries' destination come 
+# from Thomas Parmelan.
+
+# $Revision: 523 $
+# $Date: 2006-10-20 16:35:41 +0200 (ven, 20 oct 2006) $
+# $Author: sukria $
+
+
+# Overwrite that variable if you need to prefix the destination 
+# (needed for vendors).
 DESTDIR?=
 
-# For the backup-manager package
-PERL5DIR=$(DESTDIR)/usr/share/perl5
+# Overwrite that variable with the Perl vendorlib Config value if 
+# you package Backup Manager
+PERL5DIR?="$(DESTDIR)$(shell perl -MConfig -e 'print "$$Config{sitelib}"')"
+
+# Some static paths, specific to backup-manager
 LIBDIR=$(DESTDIR)/usr/share/backup-manager
 CONTRIB=$(LIBDIR)/contrib
 SHAREDIR=$(DESTDIR)/usr/share/backup-manager
@@ -20,16 +51,20 @@
 	lib/md5sum.sh 
 
 # For the backup-manager-doc package
-DOCDIR		= $(DESTDIR)/usr/share/doc/backup-manager
-DOCHTMLDIR 	= $(DOCDIR)/user-guide.html
-DOCPDF		= doc/user-guide.pdf
-DOCHTMLFILES	= doc/user-guide.html/*.html
-DOCPDF		= doc/user-guide.pdf
-DOCTXT		= doc/user-guide.txt
+DOCDIR		 = $(DESTDIR)/usr/share/doc/backup-manager
+DOCHTMLDIR	 = $(DOCDIR)/user-guide.html
+DOCPDF		 = doc/user-guide.pdf
+DOCHTMLFILES = doc/user-guide.html/*.html
+DOCPDF		 = doc/user-guide.pdf
+DOCTXT		 = doc/user-guide.txt
 
+# Main build rule (we don't buid the docs as we don't know if debiandocs can be
+# there) so the docs target has to be called manually by vendors.
+build: manpages 
+
 # The backup-manager package
-install: install_lib install_bin install_contrib install_man install_po
-install_binary: install_lib install_bin 
+install: build install_lib install_bin install_contrib install_man install_po
+install_binary: build install_lib install_bin 
 
 install_contrib:
 	@echo -e "*** Contrib files ***\n"
@@ -73,15 +108,25 @@
 
 # Building manpages
 man/backup-manager-upload.8:
-	@echo -e "\n*** generating manpages ***\n"
 	PERL5LIB=. pod2man --center="backup-manager-upload" backup-manager-upload > man/backup-manager-upload.8
+
+man/backup-manager-purge.8:
+	PERL5LIB=. pod2man --center="backup-manager-purge" backup-manager-purge > man/backup-manager-purge.8
 	
+# build the manpages
+manpages: manpages-stamp	
+manpages-stamp: man/backup-manager-upload.8 man/backup-manager-purge.8
+	touch manpages-stamp
+
 # Installing the man pages.
-install_man: man/backup-manager-upload.8
+install_man: manpages-stamp
 	@echo -e "\n*** Installing man pages ***\n"
 	install -d /usr/share/man/man8/
 	install --owner=root --group=root --mode=0644 man/*.8 /usr/share/man/man8/
 
+testperldir:
+	@echo "PERL5DIR: $(PERL5DIR)"
+
 docs:
 	make -C doc all
 
@@ -89,6 +134,7 @@
 	rm -f build-stamp
 	rm -rf debian/backup-manager
 	rm -f man/backup-manager-upload.8
+	rm -f man/*.8
 	$(MAKE) -C po clean
 	$(MAKE) -C doc clean
 

Modified: trunk/NEWS
===================================================================
--- trunk/NEWS	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/NEWS	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,3 +1,30 @@
+0.7.6
+    - Security Fix
+        - Don't pass MySQL password in the commandline, use ~/.my.cnf instead
+          (bug #146).
+
+    - New features
+        - Support for the --debug flag for outputting lots of information (bug
+          #124).
+        - Documentation of the local GPG encryption feature (bug #132).
+
+    - Bug Fixes
+        - No limitation to the number of files located in 
+          $BM_REPOSITORY_ROOT (bug #110).
+        - better handling of dar masters, don't fail if an archive is missing
+          (bug #127).
+        - Fixed a typo in the default configuration file (bug #133).
+        - SQL dumps are encrypted as well if BM_ENCRYPTION_METHOD is set to gpg
+          (bug #135).
+        - Don't fail if a file changed during the archive generation (bug #152).
+        - The purging phase handle only archives that are prefixed with
+          $BM_ARCHIVE_PREFIX (bug #153)
+
+    - Changes
+        - The post-command is now always exectued, event if an error occured
+          before (bug #118).
+        - Don't stop the pipe commands if one of them fails (bug #141).
+
 0.7.5
     - New features
         - Support for lzma archives.

Modified: trunk/VERSION
===================================================================
--- trunk/VERSION	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/VERSION	2007-05-30 12:53:39 UTC (rev 66)
@@ -1 +1 @@
-0.7.5
+0.7.6

Modified: trunk/backup-manager
===================================================================
--- trunk/backup-manager	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/backup-manager	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-# Copyright (C) 2005 The Backup Manager Authors
+# Copyright © 2005-2006 Alexis Sukrieh
 # See the AUTHORS file for details.
 #
 # This program is free software; you can redistribute it and/or
@@ -19,22 +19,22 @@
 
 # This is the main backup-manager script. 
 #
-# $Revision: 512 $
-# $Date: 2006-09-16 18:48:17 +0200 (sam, 16 sep 2006) $
+# $Revision: 534 $
+# $Date: 2007-04-24 11:50:51 +0200 (mar, 24 avr 2007) $
 # $Author: sukria $
 
 set -e
 
 RELEASE="true"
-REVISION='$Revision: 512 $'
-VERSION="0.7.5"
+REVISION='$Revision: 534 $'
+VERSION="0.7.6"
 
 # All the paths we provide
 libdir="/usr/share/backup-manager"
 vardir="/var/lib/backup-manager"
 bmu="/usr/bin/backup-manager-upload"
 
-# external programs (cannot be sure where the are)
+# external programs (cannot be sure where they are)
 zip=$(which zip) || true
 bzip=$(which bzip2) || true
 gzip=$(which gzip) || true
@@ -74,8 +74,10 @@
 source $libdir/upload-methods.sh
 source $libdir/burning-methods.sh
 source $libdir/actions.sh
+debug "Libraries loaded successfuly from \"$libdir\"."
 
 # Initialize defautls values of arguments
+verbosedebug="false"
 verbose="false"
 version="false"
 warnings="true"
@@ -98,14 +100,17 @@
     VERSION="${VERSION}r${rev}"
 fi
 
+debug "Version : $VERSION, release : $RELEASE"
+
 # set useful global variables and initial
 # checks
 bm_init_today
 
 # Catch signals for a nice exit.
-trap stop_me SIGINT SIGTERM SIGKILL
+trap clean_exit SIGINT SIGTERM SIGKILL
 
 # Parse the command line 
+debug "Processing the command line"
 while [ $# -ge 1 ]; do
 	case $1 in
 		-h|--help)
@@ -144,6 +149,10 @@
         --no-upload)
             noupload="true"
         ;;
+        -d|--debug) 
+            verbosedebug="true"
+            verbose="true"
+        ;;
         -v|--verbose) 
             verbose="true"
         ;;
@@ -176,20 +185,22 @@
 	esac
 	shift
 done
+info "Backup Manager $VERSION - Copyright (c) 2004-2007 Alexis Sukrieh"
 
-
+debug "Loading configuration file : \"$conffile\"."
 source $conffile
-info "Backup Manager $VERSION - Copyright (c) 2004-2006 Alexis Sukrieh"
 
 # Sanitize will try to find deprecated vartiables,
+debug "Sanitizing the configuration file."
 source $libdir/sanitize.sh
-# so the -u flag should not be enabled before.
-# There are too much problems for enabling -u now.
-# Most of them with the pipe method...
-# set -u
 
+debug "Initializing environment"
 bm_init_env 
+
+debug "Checking if logger is available"
 check_logger
+
+debug "Getting lock"
 get_lock
 check_filetypes
 
@@ -199,26 +210,31 @@
 BM_UMASK=$(umask)
 umask 0077
 
+debug "Running pre-command"
 exec_pre_command || error "Unable to exec the pre-command"
 
 create_directories
 
 if [ "$upload" == "true" ]; then
+    debug "Running the upload methods"
 	upload_files
 	_exit 0
 fi
 
 if [ "$burn" == "true" ]; then
+    debug "Running the burning methods"
 	burn_files
 	_exit 0
 fi
 
 if [ "$md5check" == "true" ]; then
+    debug "Runing the MD5 checks"
 	check_cdrom_md5_sums
 	_exit 0
 fi
 
 if [ "$purge" == "true" ]; then
+    debug "Purging the repository"
 	clean_repositories
 	_exit 0
 fi
@@ -227,23 +243,30 @@
 # are given.
 
 if [ "$nopurge" != "true" ]; then
+    debug "Purging the repository"
 	clean_repositories
 fi
 
+debug "Building archives"
 make_archives
 
 if [ "$noupload" != "true" ]; then
+    debug "Running the upload methods"
 	upload_files
 fi
 
 if [ "$noburn" != "true" ]; then
+    debug "Running the burning methods"
 	burn_files
 fi
 
+debug "Running post-command"
 exec_post_command || error "Unable to exec post-command."
 
+debug "Releasing lock"
 release_lock
 
+debug "Exiting"
 umask $BM_UMASK >/dev/null
 exit 0
 

Modified: trunk/backup-manager-purge
===================================================================
--- trunk/backup-manager-purge	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/backup-manager-purge	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,4 +1,20 @@
 #!/usr/bin/perl
+# Copyright © 2005-2007 Alexis Sukrieh
+# See the AUTHORS file for details.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
 use strict;
 use warnings;
@@ -33,7 +49,6 @@
 Specify the time to live (in days) for the archives. Any archive that is older
 than I<ttl> days will be outdated.
 
-
 =head1 OPTIONAL ARGS
 
 =item B<--files-from=>file
@@ -206,7 +221,7 @@
 
 
 # Takes two array refs. Reads from the first one the list of archives 
-# to process, and push in the second one outdated archives.
+# to process, and push in the second one the outdated archives.
 sub outdate_archives($$)
 {
     my ($ra_archives, $ra_outdated) = @_;
@@ -217,12 +232,10 @@
 
     my $purge_date = strftime ('%Y%m%d', 
                                localtime(time() - $g_ttl * 24 * 3600)); 
-
     print_info "Outdating archives made before $purge_date";
     
     my %seen = ();
     foreach my $archive (sort @{$ra_archives}) {
-        
         my $data = $g_rh_archives->{dataByPath}{$archive};
         next unless defined $data;
         next unless defined $data->{date};
@@ -231,9 +244,7 @@
        
         # if the date of the archive is older than $purge_date, we may have to outdate it
         # unless, nothing to do for that archive.
-        if ($data->{date} > $purge_date) {
-            next;
-        }
+        next if ($data->{date} > $purge_date);
 
         # we can outdate a master only if a younger master exists
         if ($data->{master}) {
@@ -246,10 +257,14 @@
             }
         }
 
-        # other archives are pretty easy to handle, ce can outade them 
-        # if the date is older than $purge_date, which is the case at this point 
-        # of the process.
+        # here the archive is deprecated, its date is < to $purge_date
         else {
+            # if BM_ARCHIVE_STRICTPURGE is true, we can only purge 
+            # an archive prefixed with BM_ARCHIVE_PREFIX
+            next if (($ENV{BM_ARCHIVE_STRICTPURGE} eq "true") and 
+                     ($data->{prefix} ne $ENV{BM_ARCHIVE_PREFIX}));
+            
+            # now, we're sure we can outdate the archive
             push @{$ra_outdated}, $archive;
         }
     }

Modified: trunk/backup-manager-upload
===================================================================
--- trunk/backup-manager-upload	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/backup-manager-upload	2007-05-30 12:53:39 UTC (rev 66)
@@ -334,7 +334,7 @@
     # look for a port to use
 	my $port_switch="";
 	if ($ENV{BM_UPLOAD_SSH_PORT}) {
-	    $port_switch = "-P ".$ENV{BM_UPLOAD_SSH_PORT};
+	    $port_switch = "-p ".$ENV{BM_UPLOAD_SSH_PORT};
 	}
     
 	# look for keyfile to use
@@ -379,9 +379,11 @@
 		defined $location;
 	
 	# look for a port to use
-	my $port_switch="";
+	my $ssh_port_switch="";
+	my $scp_port_switch="";
 	if ($ENV{BM_UPLOAD_SSH_PORT}) {
-	    $port_switch = "-P ".$ENV{BM_UPLOAD_SSH_PORT};
+	    $ssh_port_switch = "-p ".$ENV{BM_UPLOAD_SSH_PORT};
+	    $scp_port_switch = "-P ".$ENV{BM_UPLOAD_SSH_PORT};
 	}
     
 	# look for keyfile to use
@@ -398,11 +400,11 @@
 	if ( defined $g_gpg_recipient )	{	    
 	    my $file_base = basename($file);
 	    $cmd = "$gpg --encrypt --recipient $g_gpg_recipient --output - --batch $file | ";
-	    $cmd .= "$ssh -o \"BatchMode yes\" -e none $port_switch $keyfile_switch $user".'@'."$host ";
+	    $cmd .= "$ssh -o \"BatchMode yes\" -e none $ssh_port_switch $keyfile_switch $user".'@'."$host ";
 	    $cmd .= "\"cat - > $location/$file_base.gpg\" >&2";
 	}
 	else {
-	    $cmd = "$scp $port_switch $keyfile_switch -B $file $user".'@'.$host.':'.$location." >&2";
+	    $cmd = "$scp $scp_port_switch $keyfile_switch -B $file $user".'@'.$host.':'.$location." >&2";
 	}
 
 	# we use eval here to avoid crash with bad keys

Modified: trunk/backup-manager.conf.tpl
===================================================================
--- trunk/backup-manager.conf.tpl	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/backup-manager.conf.tpl	2007-05-30 12:53:39 UTC (rev 66)
@@ -45,12 +45,15 @@
 
 # Do you want to replace duplicates by symlinks? 
 # (archive-DAY is a duplicate of archive-(DAY - 1) if they 
-# are both the same size).
+# are both the same according to MD5 hashes).
 export BM_ARCHIVE_PURGEDUPS="true"
 
 # Prefix of every archive on that box (default is HOSTNAME)
 export BM_ARCHIVE_PREFIX="$HOSTNAME"
 
+# Should we purge only archives built with $BM_ARCHIVE_PREFIX
+export BM_ARCHIVE_STRICTPURGE="true"
+
 # The backup method to use.
 # Available methods are:
 # - tarball
@@ -162,7 +165,7 @@
 # when master tarballs should be made
 export BM_TARBALLINC_MASTERDATEVALUE="1"
 
-# Examples: you want to make maser tarballs every friday:
+# Examples: you want to make master tarballs every friday:
 # BM_TARBALLINC_MASTERDATETYPE="weekly"
 # BM_TARBALLINC_MASTERDATEVALUE="5"
 #

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/debian/changelog	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,3 +1,19 @@
+backup-manager (0.7.6-1) unstable; urgency=low
+
+  * New upstream release
+    + Doesn't exit when a file changed during the archive generation 
+    (closes: #410503, #411085, #411126)
+  * Dutch po-debconf translation added (thanks to Bart Cornelis).
+    (closes: #419738)
+
+ -- Alexis Sukrieh <sukria at debian.org>  Wed, 30 May 2007 14:29:39 +0200
+
+backup-manager (0.7.5-4) UNRELEASED; urgency=low
+
+  * NOT RELEASED YET
+
+ -- Alexis Sukrieh <sukria at debian.org>  Wed,  6 Dec 2006 16:20:20 +0100
+
 backup-manager (0.7.5-3) unstable; urgency=low
 
   * Fixed typo in the spanish debconf translation (thanks to David Gil).

Modified: trunk/debian/patches/00list
===================================================================
--- trunk/debian/patches/00list	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/debian/patches/00list	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,5 +1,3 @@
-01_Makefile.dpatch
-02_doc_Makefile.dpatch
-04_backup-manager.conf.tpl.dpatch
-05_cdrecord_to_wodim.dpatch
-06_VERSION.dpatch
+01_backup-manager.conf.tpl.dpatch
+02_cdrecord_to_wodim.dpatch
+03_VERSION.dpatch

Deleted: trunk/debian/patches/01_Makefile.dpatch
===================================================================
--- trunk/debian/patches/01_Makefile.dpatch	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/debian/patches/01_Makefile.dpatch	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,42 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 01_Makefile.dpatch by  Alexis Sukrieh <sukria at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Don't install the manpages, dh_installmanpages do it for us.
-
- at DPATCH@
-diff -urNad trunk~/Makefile trunk/Makefile
---- trunk~/Makefile	2006-09-25 09:59:27.000000000 +0200
-+++ trunk/Makefile	2006-10-05 13:44:19.000000000 +0200
-@@ -28,7 +28,7 @@
- DOCTXT		= doc/user-guide.txt
- 
- # The backup-manager package
--install: install_lib install_bin install_contrib install_man install_po
-+install: install_lib install_bin install_contrib install_po man/backup-manager-upload.8 man/backup-manager-purge.8
- install_binary: install_lib install_bin 
- 
- install_contrib:
-@@ -73,14 +73,16 @@
- 
- # Building manpages
- man/backup-manager-upload.8:
--	@echo -e "\n*** generating manpages ***\n"
- 	PERL5LIB=. pod2man --center="backup-manager-upload" backup-manager-upload > man/backup-manager-upload.8
--	
-+
-+man/backup-manager-purge.8:
-+	PERL5LIB=. pod2man --center="backup-manager-purge" backup-manager-purge > man/backup-manager-purge.8
-+
- # Installing the man pages.
--install_man: man/backup-manager-upload.8
--	@echo -e "\n*** Installing man pages ***\n"
--	install -d /usr/share/man/man8/
--	install --owner=root --group=root --mode=0644 man/*.8 /usr/share/man/man8/
-+#install_man: man/backup-manager-upload.8
-+#	@echo -e "\n*** Installing man pages ***\n"
-+#	install -d /usr/share/man/man8/
-+#	install --owner=root --group=root --mode=0644 man/*.8 /usr/share/man/man8/
- 
- docs:
- 	make -C doc all

Added: trunk/debian/patches/01_backup-manager.conf.tpl.dpatch
===================================================================
--- trunk/debian/patches/01_backup-manager.conf.tpl.dpatch	                        (rev 0)
+++ trunk/debian/patches/01_backup-manager.conf.tpl.dpatch	2007-05-30 12:53:39 UTC (rev 66)
@@ -0,0 +1,51 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 04_backup-manager.conf.tpl.dpatch by Alexis Sukrieh <sukria at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Some changes for the postinst phase needs.
+
+ at DPATCH@
+diff -urNad trunk~/backup-manager.conf.tpl trunk/backup-manager.conf.tpl
+--- trunk~/backup-manager.conf.tpl	2007-03-13 16:34:51.000000000 +0100
++++ trunk/backup-manager.conf.tpl	2007-05-30 14:43:21.000000000 +0200
+@@ -79,13 +79,14 @@
+ # tar, tar.gz, tar.bz2
+ 
+ # Uncomment the following line if you want to enable encryption
+-# export BM_ENCRYPTION_METHOD="gpg"
++# available method: gpg
++export BM_ENCRYPTION_METHOD=""
+ 
+ # The encryption will be made using a GPG ID
+ # Examples:
+ # export BM_ENCRYPTION_RECIPIENT="0x1EE5DD34"
+ # export BM_ENCRYPTION_RECIPIENT="Alexis Sukrieh"
+-# export BM_ENCRYPTION_RECIPIENT="sukria at sukria.net"
++export BM_ENCRYPTION_RECIPIENT=""
+ 
+ 
+ ##############################################################
+@@ -128,17 +129,16 @@
+ 
+ # It's recommanded to use BM_TARBALL_TARGETS[] though.
+ # Warning! You *must not* use both variables at the same time.
++# NOTE: The Debian package will only update BM_TARBALL_DIRECTORIES 
+ 
+ # Paths without spaces in their name:
+-# export BM_TARBALL_DIRECTORIES="/etc /boot"
++export BM_TARBALL_DIRECTORIES="/etc /boot"
+ 
+ # If one or more of the targets contain a space, use the array:
+-declare -a BM_TARBALL_TARGETS
+-
+-BM_TARBALL_TARGETS[0]="/etc" 
+-BM_TARBALL_TARGETS[1]="/boot"
+-
+-export BM_TARBALL_TARGETS
++# declare -a BM_TARBALL_TARGETS
++# BM_TARBALL_TARGETS[0]="/etc" 
++# BM_TARBALL_TARGETS[1]="/boot"
++# export BM_TARBALL_TARGETS
+ 
+ # Files to exclude when generating tarballs, you can put absolute 
+ # or relative paths, Bash wildcards are possible.


Property changes on: trunk/debian/patches/01_backup-manager.conf.tpl.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/debian/patches/02_cdrecord_to_wodim.dpatch
===================================================================
--- trunk/debian/patches/02_cdrecord_to_wodim.dpatch	                        (rev 0)
+++ trunk/debian/patches/02_cdrecord_to_wodim.dpatch	2007-05-30 12:53:39 UTC (rev 66)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 05_cdrecord_to_wodim.dpatch by Alexis Sukrieh <sukria at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Use wodim instead of cdrecord
+
+ at DPATCH@
+diff -urNad trunk~/backup-manager trunk/backup-manager
+--- trunk~/backup-manager	2007-04-24 11:50:51.000000000 +0200
++++ trunk/backup-manager	2007-05-30 14:46:02.000000000 +0200
+@@ -46,7 +46,7 @@
+ mkisofs=$(which mkisofs) || true
+ growisofs=$(which growisofs) || true
+ dvdrwformat=$(which dvd+rw-format) || true
+-cdrecord=$(which cdrecord) || true
++cdrecord=$(which wodim) || true
+ md5sum=$(which md5sum) || true
+ bc=$(which bc) || true
+ mysqldump=$(which mysqldump) || true


Property changes on: trunk/debian/patches/02_cdrecord_to_wodim.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Deleted: trunk/debian/patches/02_doc_Makefile.dpatch
===================================================================
--- trunk/debian/patches/02_doc_Makefile.dpatch	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/debian/patches/02_doc_Makefile.dpatch	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,40 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 02_doc_Makefile.dpatch by Alexis Sukrieh  <sukria at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Changes for the -doc package, compression of the text version.
-
- at DPATCH@
-diff -urNad backup-manager-0.6~/doc/Makefile backup-manager-0.6/doc/Makefile
---- backup-manager-0.6~/doc/Makefile	2005-12-23 10:38:32.000000000 +0100
-+++ backup-manager-0.6/doc/Makefile	2005-12-23 10:38:49.000000000 +0100
-@@ -1,22 +1,25 @@
- 
- BASE	= user-guide
- SOURCE	= $(BASE).sgml
--DEST    = /usr/share/backup-manager/doc
-+DEST    = $(DESTDIR)/usr/share/doc/backup-manager-doc
- 
- all: pdf txt html
- install: all
- 	install -d $(DEST)
- 	install $(BASE).pdf $(DEST)
--	install $(BASE).html $(DEST)
--	install $(BASE).txt $(DEST)
-+	install -d $(DEST)/html
-+	install $(BASE).html/*.html $(DEST)/html
-+	install $(BASE).txt.gz $(DEST)
- 
- pdf:
- 	debiandoc2pdf $(SOURCE)
- txt:
- 	debiandoc2text $(SOURCE)
-+	gzip -9 $(BASE).txt
-+	
- html:
- 	debiandoc2html $(SOURCE)
- 
- clean:
--	rm -f *.pdf *.txt *.tpt
-+	rm -f *.pdf *.txt *.tpt *.gz
- 	rm -rf $(BASE).html

Added: trunk/debian/patches/03_VERSION.dpatch
===================================================================
--- trunk/debian/patches/03_VERSION.dpatch	                        (rev 0)
+++ trunk/debian/patches/03_VERSION.dpatch	2007-05-30 12:53:39 UTC (rev 66)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 06_VERSION.dpatch by  Alexis Sukrieh <sukria at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Change the upstream version to the one with a debian revision.
+
+ at DPATCH@
+diff -urNad trunk~/backup-manager trunk/backup-manager
+--- trunk~/backup-manager	2007-05-30 14:47:43.000000000 +0200
++++ trunk/backup-manager	2007-05-30 14:47:43.000000000 +0200
+@@ -27,7 +27,7 @@
+ 
+ RELEASE="true"
+ REVISION='$Revision: 534 $'
+-VERSION="0.7.6"
++VERSION="0.7.6-debian1"
+ 
+ # All the paths we provide
+ libdir="/usr/share/backup-manager"


Property changes on: trunk/debian/patches/03_VERSION.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Deleted: trunk/debian/patches/04_backup-manager.conf.tpl.dpatch
===================================================================
--- trunk/debian/patches/04_backup-manager.conf.tpl.dpatch	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/debian/patches/04_backup-manager.conf.tpl.dpatch	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,51 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 04_backup-manager.conf.tpl.dpatch by Alexis Sukrieh <sukria at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Some changes for letting the postinst phase working correctly
-
- at DPATCH@
-diff -urNad trunk~/backup-manager.conf.tpl trunk/backup-manager.conf.tpl
---- trunk~/backup-manager.conf.tpl	2006-09-22 11:07:42.000000000 +0200
-+++ trunk/backup-manager.conf.tpl	2006-09-25 09:19:16.000000000 +0200
-@@ -76,13 +76,14 @@
- # tar, tar.gz, tar.bz2
- 
- # Uncomment the following line if you want to enable encryption
--# export BM_ENCRYPTION_METHOD="gpg"
-+# available method: gpg
-+export BM_ENCRYPTION_METHOD=""
- 
- # The encryption will be made using a GPG ID
- # Examples:
- # export BM_ENCRYPTION_RECIPIENT="0x1EE5DD34"
- # export BM_ENCRYPTION_RECIPIENT="Alexis Sukrieh"
--# export BM_ENCRYPTION_RECIPIENT="sukria at sukria.net"
-+export BM_ENCRYPTION_RECIPIENT=""
- 
- 
- ##############################################################
-@@ -125,17 +126,16 @@
- 
- # It's recommanded to use BM_TARBALL_TARGETS[] though.
- # Warning! You *must not* use both variables at the same time.
-+# NOTE: The Debian package will only update BM_TARBALL_DIRECTORIES 
- 
- # Paths without spaces in their name:
--# export BM_TARBALL_DIRECTORIES="/etc /boot"
-+export BM_TARBALL_DIRECTORIES="/etc /boot"
- 
- # If one or more of the targets contain a space, use the array:
--declare -a BM_TARBALL_TARGETS
--
--BM_TARBALL_TARGETS[0]="/etc" 
--BM_TARBALL_TARGETS[1]="/boot"
--
--export BM_TARBALL_TARGETS
-+# declare -a BM_TARBALL_TARGETS
-+# BM_TARBALL_TARGETS[0]="/etc" 
-+# BM_TARBALL_TARGETS[1]="/boot"
-+# export BM_TARBALL_TARGETS
- 
- # Files to exclude when generating tarballs, you can put absolute 
- # or relative paths, Bash wildcards are possible.

Deleted: trunk/debian/patches/05_cdrecord_to_wodim.dpatch
===================================================================
--- trunk/debian/patches/05_cdrecord_to_wodim.dpatch	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/debian/patches/05_cdrecord_to_wodim.dpatch	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 05_cdrecord_to_wodim.dpatch by Alexis Sukrieh <sukria at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Use wodim instead of cdrecord
-
- at DPATCH@
-diff -urNad backup-manager-0.7.5~/backup-manager backup-manager-0.7.5/backup-manager
---- backup-manager-0.7.5~/backup-manager	2006-09-18 09:20:21.000000000 +0200
-+++ backup-manager-0.7.5/backup-manager	2006-09-18 09:22:26.000000000 +0200
-@@ -46,7 +46,7 @@
- mkisofs=$(which mkisofs) || true
- growisofs=$(which growisofs) || true
- dvdrwformat=$(which dvd+rw-format) || true
--cdrecord=$(which cdrecord) || true
-+cdrecord=$(which wodim) || true
- md5sum=$(which md5sum) || true
- bc=$(which bc) || true
- mysqldump=$(which mysqldump) || true

Deleted: trunk/debian/patches/06_VERSION.dpatch
===================================================================
--- trunk/debian/patches/06_VERSION.dpatch	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/debian/patches/06_VERSION.dpatch	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 06_VERSION.dpatch by  Alexis Sukrieh <sukria at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Change the upstream version to the one with a debian revision.
-
- at DPATCH@
-diff -urNad trunk~/backup-manager trunk/backup-manager
---- trunk~/backup-manager	2006-09-25 09:59:27.000000000 +0200
-+++ trunk/backup-manager	2006-10-05 14:32:09.000000000 +0200
-@@ -27,7 +27,7 @@
- 
- RELEASE="true"
- REVISION='$Revision: 512 $'
--VERSION="0.7.5"
-+VERSION="0.7.5-debian1"
- 
- # All the paths we provide
- libdir="/usr/share/backup-manager"

Added: trunk/debian/po/nl.po
===================================================================
--- trunk/debian/po/nl.po	                        (rev 0)
+++ trunk/debian/po/nl.po	2007-05-30 12:53:39 UTC (rev 66)
@@ -0,0 +1,480 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: backup-manager\n"
+"Report-Msgid-Bugs-To: sukria at debian.org\n"
+"POT-Creation-Date: 2006-10-05 14:26+0200\n"
+"PO-Revision-Date: 2007-03-27 21:38+0100\n"
+"Last-Translator: Bart Cornelis <cobaco at skolelinux.no>\n"
+"Language-Team: debian-l10n-dutch <debian-l10n-dutch at lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Dutch\n"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:1001
+msgid "Archives location:"
+msgstr "Archiefmap:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:1001
+msgid "Please enter the name of the directory where backup-manager will store the generated archives."
+msgstr "In welke map wilt u de door backup-manager aangemaakte archieven opslaan?"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:1001
+msgid "The size of archives may be rather important so you should store them on a disk with enough available space."
+msgstr "De grootte van de archieven kan significant zijn, u kunt deze dan ook best opslaan op een schijf die voldoende vrije ruimte heeft."
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:2001
+msgid "Archives storage format:"
+msgstr "Archief-opslag-formaat :"
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:3001
+msgid "Follow symlinks?"
+msgstr "Symbolische koppelingen volgen?"
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:3001
+msgid "The tar, tar.gz and tar.bz2 filetypes may dereference the symlinks in generated archives."
+msgstr "De tar, tar.gz en tar.bz2 bestandstypes kunnen symbolische koppelingen in aangemaakte archieven vervangend door de verwezen bestanden."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:3001
+msgid "Enabling this feature will dump the files pointed by symlinks and is likely to generate huge archives."
+msgstr "Activeren van deze feature dumpt de bestanden waarnaar deze symbolische koppelingen verwijzen, en kan leiden tot gigantische archieven."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:4001
+msgid "Directories to skip in archives:"
+msgstr "Niet te archiveren mappen:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:4001
+msgid "Please enter a space-separated list of directories which should not be archived."
+msgstr "Gelieve een door spaties gescheiden lijst van mappen die niet gearchiveerd moeten worden in te geven."
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:5001
+msgid "long"
+msgstr "lang"
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:5001
+msgid "short"
+msgstr "kort"
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:5002
+msgid "Archives name format:"
+msgstr "Formaat van de archiefnamen:"
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:5002
+msgid "Files generated by backup-manager may use different file naming conventions."
+msgstr "De door backup-manager aangemaakte bestanden kunnen verschillende naamgevingsconventies volgen."
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:5002
+msgid "The long format is \"host-full-path-to-directory.tar.gz\" while the short format only uses the last directory name. For instance, /home/me would be named me.tar.gz."
+msgstr "Het lang-formaat is 'computer-volledig-pad-naar-de-map.tar.gz', het kort-formaat gebruikt enkel de laatste mapnaam (dus /home/ikke wordt ikke.tar.gz)."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:6001
+msgid "Age of kept archives (days):"
+msgstr "Hoe lang te archiveren (in dagen):"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:6001
+msgid "Please choose the number of days backup-manager will keep the files before purging them. Combining several directories and a large number of days for keeping them may lead to huge archives."
+msgstr "Hoe lang dient backup-manager de bestanden te bewaren alvorens ze te wissen? Combinatie van verschillende mappen en een groot aantal dagen kan tot gigantische archieven leiden."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:7001
+msgid "Directories to backup:"
+msgstr "Te archiveren mappen:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:7001
+msgid "Please enter a space-separated list of all the directories you want to backup."
+msgstr "Gelieve een door spaties gescheiden lijst van alle mappen die u wilt archiveren op te geven."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:7001
+msgid "You should rather to enter several subdirectories instead of the parent in order to have more pertinent files in your backup repository."
+msgstr "Om meer relevante bestanden te hebben in uw archiefmap te krijgen kunt u best verschillende sub-mappen opgeven i.p.v. de bovenliggende map."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:7001
+msgid "For instance, \"/home/user1 /home/user2 /home/user3\" is more appropriate than \"/home\" alone."
+msgstr "Bijvoorbeeld '/home/gebruiker1 /home/gebruiker2 /home/gebruiker3' is beter dan alleen '/home'/."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:8001
+msgid "Enable automatic burning?"
+msgstr "Wilt u automatisch branden activeren?"
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:8001
+msgid "Archives may be burnt on a CDR/CDRW/DVD media."
+msgstr "Archieven kunnen naar CDR/CDRW/DVD media gebrand worden."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:8001
+msgid "Using this feature requires a writable media to be present at the running time."
+msgstr "Dit vereist wel dat een schrijfbaar medium aanwezig is op het moment dat het archief gemaakt wordt."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:9001
+msgid "Device to use for burning data:"
+msgstr "Voor het branden te gebruiken apparaat:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:10001
+msgid "Maximum size of your media (MB):"
+msgstr "Maximum grootte van uw media (in MB):"
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:11001
+msgid "CDRW"
+msgstr "CDRW"
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:11001
+msgid "CDR"
+msgstr "CDR"
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:11001
+msgid "DVD"
+msgstr "DVD"
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:11001
+msgid "DVD-RW"
+msgstr "DVD-RW"
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:11002
+msgid "Burning method:"
+msgstr "Brandmethode:"
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:11002
+msgid "When burning data, backup-manager will try to burn the whole archives repository. If it does not fit in the media, it will try to burn only the daily generated archives."
+msgstr "Backup-manager zal wanneer mogelijk altijd alle archieven branden. Wanneer dit niet op het gebruikte medium past wordt geprobeerd met enkel de dagelijks gegenereerde archieven."
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:11002
+msgid "The CDRW/DVD-RW methods will first blank the media and then burn the data."
+msgstr "De CDRW/DVD-RW methodes wissen het gebruikte medium voor ze de data branden."
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:11002
+msgid "The CDR/DVD method will only burn the data, assuming that the media is empty (or that the disc does not need formatting, like DVD+RW)."
+msgstr "De CDR/DVD methodes nemen aan dat het gebruikte medium leeg is (of dat de schijf niet geformatteerd hoeft te worden zoals bijvoorbeeld DVD+RW)."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:12001
+msgid "Enable backup-manager's uploading system?"
+msgstr "Wilt u het upload-systeem van backup-manager activeren?"
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:12001
+msgid "Archives may be uploaded to remote hosts using ftp or ssh."
+msgstr "Archieven kunnen naar andere computers ge-upload worden via ftp of ssh."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:12001
+msgid "Using this feature requires valid ftp or ssh account on remote hosts."
+msgstr "Gebruik van deze feature vereist een geldige ftp- of ssh-account op een andere computer."
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:13001
+msgid "Transfer mode to use:"
+msgstr "Te gebruiken overzet-modus:"
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:13001
+msgid "The \"ftp\" transfer mode requires a valid FTP account on remote hosts."
+msgstr "De 'ftp'-modus vereist een geldige FTP-account op een andere computer."
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:13001
+msgid "The \"scp\" mode requires a valid SSH account on remote hosts. SSH Key authentication is used to establish the connection."
+msgstr "De 'scp'-modus vereist een geldige SSH-account op een andere computer. Voor het opzetten van de verbinding wordt gebruik gemaakt van SSH-sleutel-authenticatie."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:14001
+msgid "Remote hosts list:"
+msgstr "Lijst van computers waarnaar te uploaden:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:14001
+msgid "Please enter a space-separated list of hosts (IP or FQDN) where archives will be uploaded."
+msgstr "Gelieve een met spaties gescheiden list van computers op te geven (IP of FQDN) naar waar archieven ge-upload moeten worden."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:15001
+msgid "SSH user's login:"
+msgstr "SSH-gebruikersnaam:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:15001
+msgid "For the scp transfer mode to be possible, a SSH account will be used. The SSH login to use is required as well as the path to the private key."
+msgstr "Om de scp-modus te kunnen gebruiken is een SSH-account nodig. Hiervoor dient u de gebruikersnaam, en het pad naar de geheime sleutel op te geven. "
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:15001
+msgid "Remote hosts must have the user's public key listed in their authorized_keys files (see ssh-keygen(1) for details)."
+msgstr "Computers waarnaar ge-upload wordt dienen de publieke sleutel van de gebruiker in hun 'authorized_keys'-bestand te hebben staan (meer informatie vindt u in ssh-keygen(1) )."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:16001
+msgid "FTP user's login:"
+msgstr "FTP-gebruikersnaam:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:16001
+msgid "Please enter the FTP user to use for uploading files to remote hosts."
+msgstr "Wat is de FTP-gebruikersnaam waarmee geupload kan worden naar andere computers?"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:17001
+msgid "SSH private key file:"
+msgstr "Bestand dat de SSH geheime sleutel bevat:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:17001
+msgid "Despite of the ftp transfer mode, ssh doesn't require a password. The authentication is based on the SSH key."
+msgstr "In tegenstelling tot de ftp-modus, vereist de ssh-modus geen wachtwoord, de authenticatie is in plaats daarvan gebaseerd op een SSH-sleutel."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:17001
+msgid "Don't forget to add the user's public key to the remote host's authorized_keys file (see ssh-keygen(1) for details about ssh key authentication)."
+msgstr "Vergeet niet om de publieke sleutel van de gebruiker toe te voegen aan het 'authorized_keys' bestand op de andere computer (meer informatie over ssh-sleutel-authenticatie vindt u in ssh-keygen(1) )."
+
+#. Type: password
+#. Description
+#: ../backup-manager.templates:18001
+msgid "FTP user's password:"
+msgstr "Wachtwoord van de FTP-gebruiker:"
+
+#. Type: password
+#. Description
+#: ../backup-manager.templates:18001
+msgid "Enter the password of the FTP user to use for uploading files to remote hosts."
+msgstr "Wat is het wachtwoord van de FTP-gebruiker waarmee bestanden naar andere computers ge-upload worden?"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:19001
+msgid "Remote host's repository:"
+msgstr "Archiefmap op andere computers:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:19001
+msgid "Please enter where - on the remote hosts - archives should be stored."
+msgstr "Waar op andere computers dienen de archieven opgeslagen te worden?"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:19001
+msgid "If backup-manager is installed on those hosts, it is recommended to use a subdirectory of its archive repository so that even uploaded archives will be purged when needed."
+msgstr "Als backup-manager geïnstalleerd is op die andere computers is het aan te raden om een submap van de archiefmap daar te gebruiken zodat ge-uploade archieven indien nodig gewist worden."
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:20001
+msgid "never"
+msgstr "nooit"
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:20001
+msgid "daily"
+msgstr "dagelijks"
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:20001
+msgid "weekly"
+msgstr "wekelijks"
+
+#. Type: select
+#. Choices
+#: ../backup-manager.templates:20001
+msgid "monthly"
+msgstr "maandelijks"
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:20002
+msgid "CRON frequency:"
+msgstr "CRON-frequentie:"
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:20002
+msgid "Although backup-manager is designed to make daily archives, it can be run less frequently, like once a week or even once a month."
+msgstr "Backup-manager is ontworpen om dagelijks archieven te maken, het is echter mogelijk om dit minder vaak te doen (bv. eens peer week, of eens per maand)."
+
+#. Type: select
+#. Description
+#: ../backup-manager.templates:20002
+msgid "Note that you can also choose not to run backup-manager at all with CRON."
+msgstr "Merk op dat u er ook voor kunt kiezen om backup-manager helemaal niet via CRON te draaien."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:21001
+msgid "Owner user of the repository:"
+msgstr "Gebruiker-eigenaar van de archiefmap:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:21001
+msgid "For security reason, the repository where archives will be stored is accessible  by a specific user."
+msgstr "Omwille van veiligheidsredenen is de archiefmap (waar de archieven opgeslagen worden) enkel toegankelijk voor één specifieke gebruiker."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:21001
+msgid "The repository and archives inside will be readable and writeable by this user."
+msgstr "Deze gebruiker kan in de archiefmap (en dus de archieven) lezen en schrijven."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:22001
+msgid "Owner group of the repository:"
+msgstr "Groep-eigenaar van de archiefmap:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:22001
+msgid "For security reason, the repository where archives will be stored is accessible  by a specific group."
+msgstr "Omwille van veiligheidsredenen is de archiefmap (waar de archieven opgeslagen worden) enkel toegankelijk voor gebruikers die lid zijn van één bepaalde groep."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:22001
+msgid "The repository and archives inside will be readable and writeable by this group."
+msgstr "Leden van deze groep kunnen in de archiefmap (en dus de archieven) lezen en schrijven."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:23001
+msgid "Remove deprecated file /etc/cron.d/backup-manager?"
+msgstr "Wilt u het verouderde bestand /etc/cron.d/backup-manager verwijderen?"
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:23001
+msgid "In previous version, backup-manager uses /etc/cron.d directory but this directory is not  handled by anacron. Thus, it is not possible to run backup-manager's job asynchronously, if  cron.d is used."
+msgstr "In eerdere versies gebruikte backup-manager de '/etc/cron.d/'-map. Deze map wordt door anacron echter genegeerd, het is dan ook niet mogelijk om de backup-manager taken asynchroon uit te voeren als cron.d gebruikt wordt."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:23001
+msgid "In order to let anacron handle backup-manager's job, the following CRON subdirectories are used: /etc/cron.daily, /etc/cron.weekly and /etc/cron.monthly, depending on the chosen frequency."
+msgstr "Om anacron de backup-manager taken te laten beheren worden, afhankelijk van de gekozen frequentie, de volgende CRON-mappen gebruikt: /etc/cron.daily, /etc/cron.weekly, en /etc/cron/monthly."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:23001
+msgid "As jobs handled by the cron.d subdirectory may be skipped if the system is not running, it is recommanded to use one of those directories instead."
+msgstr "Taken die via de 'cron.d'-submap beheerd worden, worden overgeslagen als het systeem niet aan staat, het is dan ook aangeraden om deze map niet te gebruiken."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:24001
+msgid "Encrypt archives?"
+msgstr "Wilt u de archieven versleutelen?"
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:24001
+msgid "If you don't trust the physical device where you store your data, you may want to be sure that your archives won't be accessible by a malicious user."
+msgstr "Als u het fysieke apparaat waarop u de data opslaat niet vertrouwd, wilt u zich er waarschijnlijk van verzekeren dat uw archieven niet toegankelijk zijn voor een kwaadwillige gebruiker."
+
+#. Type: boolean
+#. Description
+#: ../backup-manager.templates:24001
+msgid "Backup Manager can encrypt your archives with GPG, that means that you will need a GPG identity to use that feature."
+msgstr "Backup-manager is in staat om uw archieven te versleutelen met GPG. Hiervoor dient u dus wel over een GPG-identiteit te beschikken."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:25001
+msgid "GPG recipient:"
+msgstr "GPG-ontvanger:"
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:25001
+msgid "You have to set the recipient for which the archive is encrypted. A valid  specification is a short or long key id, or a descriptive name, as explained  in the gpg man page."
+msgstr "U dient de GPG-identiteit aan te geven die de versleutelde archieven moet kunnen lezen. Geldige waarden zijn een lange of korte sleutel-id, of een beschrijvende naam (zoals gedefinieerd in de gpg man-pagina)."
+
+#. Type: string
+#. Description
+#: ../backup-manager.templates:25001
+msgid "The public key for this identity must be in the key ring of the user running gpg,  which may be root in most of the cases."
+msgstr "De publieke sleutel voor deze identiteit dient in de sleutelring van de gebruiker die gpg uitvoert te zitten (dit is meestal root)."
+

Modified: trunk/doc/Makefile
===================================================================
--- trunk/doc/Makefile	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/doc/Makefile	2007-05-30 12:53:39 UTC (rev 66)
@@ -10,11 +10,16 @@
 	install $(BASE).html $(DEST)
 	install $(BASE).txt $(DEST)
 
-pdf:
+pdf: user-guide.pdf
+user-guide.pdf:
 	debiandoc2pdf $(SOURCE)
-txt:
+
+txt: user-guide.txt
+user-guide.txt:
 	debiandoc2text $(SOURCE)
-html:
+
+html: user-guide.html
+user-guide.html:
 	debiandoc2html $(SOURCE)
 
 clean:

Modified: trunk/doc/common.ent
===================================================================
--- trunk/doc/common.ent	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/doc/common.ent	2007-05-30 12:53:39 UTC (rev 66)
@@ -17,7 +17,7 @@
 
 <!-- Backup Manager related information -->
 <!ENTITY bmngr "Backup Manager">
-<!ENTITY bmngr-version "0.7.5">
+<!ENTITY bmngr-version "0.7.6">
 
 <!-- Email addresses -->
 <!ENTITY doc-email "<email>backup-manager-devel at backup-manager.org</email>">

Modified: trunk/doc/user-guide.sgml
===================================================================
--- trunk/doc/user-guide.sgml	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/doc/user-guide.sgml	2007-05-30 12:53:39 UTC (rev 66)
@@ -185,6 +185,73 @@
 export BM_ARCHIVE_CHMOD="660"
 </example>
 
+<sect1 id="encryption">Encryption
+<p>
+<em>
+If you cannot trust the place where you store your archives, you can choose to
+encrypt them so you are the only one who can read their content.
+That's a very good idea for archives you plan to upload to some remote place,
+or even for the archives you want to daily export on removable media.
+</em>
+
+<sect2 id="BM_ENCRYPTION_METHOD"><tt>BM_ENCRYPTION_METHOD</tt>
+<p>
+<em>Type: string, default: undefined.</em>
+<p>
+For &bmngr;, encryption is defined in one place in the configuration file.
+If the variable "<tt>BM_ENCRYPTION_METHOD</tt>" is not defined, no encryption occurs
+during the archive build process, if a method is defined there, then any
+archive built are encrypted through a pipeline with that method.
+
+<p>
+Be aware that encryption is supported for the methods "mysql", "pipe",
+"tarball" and "tarball-incremental" but only for those file types: 
+tar, tar.gz, tar.bz2.
+
+<p>
+The only valid method supported for encrypting archives is "gpg".
+
+<p>
+&bmngr; will encrypt your archive through a pipeline in order not to write any
+byte of unencrypted data on the physical media. The encryption will be
+performed with a command line like the following:
+
+<example>
+&lt;command&gt; | gpg -r "$BM_ENCRYPTION_RECIPIENT" -e > archive.gpg
+</example>
+
+<p>
+To decrypt an archive built with GPG encryption, you have to be the owner of
+the private GPG key for which the encryption was made.
+
+Then issue the following:
+<example>
+$ gpg -d &lt;archive.gpg&gt; > archive
+</example>
+
+<p>
+GPG will then prompt you for the private key passphrase and will decrypt the
+content of the archive if the passphrase is valid.
+
+<p>
+Refer to the GPG documentation for more details of encryption.
+
+<sect2 id="BM_ENCRYPTION_RECIPIENT"><tt>BM_ENCRYPTION_RECIPIENT</tt>
+<p>
+<em>Type: string, default: undefined.</em>
+<p>
+As explained in the previous section, that variable should contain the GPG
+recipient for the encryption, eg: your GPG ID.
+
+<p>
+Examples of valid GPG ID:
+
+<example>
+export BM_ENCRYPTION_RECIPIENT="0x1EE5DD34"
+export BM_ENCRYPTION_RECIPIENT="Alexis Sukrieh"
+export BM_ENCRYPTION_RECIPIENT="sukria at sukria.net"
+</example>
+
 <sect1 id="archives">Archives
 
 <p>
@@ -193,6 +260,32 @@
 archive is a file that contains data, it can be compressed or not, in a binary
 form or not.</em>
 
+<sect2 id="BM_ARCHIVE_STRICTPURGE"><tt>BM_ARCHIVE_STRICTPURGE</tt>
+
+<p>
+<em>Type: boolean, default: <tt>true</tt>.</em>
+
+<p>
+As explained in the BM_REPOSITORY_ROOT section, every archive built by &bmngr; will
+be purged when their lifetime expires. In versions prior to 0.7.6, any archive
+were purged.
+<p>
+You can now choose to purge only the archive built in the scope of the
+configuration file, that is: archives prefixed with BM_ARCHIVE_PREFIX.
+
+<p>
+This is useful if you share the same BM_REPOSITORY_ROOT with different instances
+of &bmngr; that have different purging rules (eg: a BM_REPOSITORY_ROOT shared
+over NFS for multiple &bmngr; configuration).
+
+<p>
+Example:
+
+<example>
+export BM_ARCHIVE_STRICTPURGE="true"
+</example>
+
+
 <sect2 id="BM_ARCHIVE_PURGEDUPS"><tt>BM_ARCHIVE_PURGEDUPS</tt>
 
 <p>
@@ -662,6 +755,21 @@
 This method provides a way to archive MySQL databases, the archives are made with 
 mysqldump (SQL text files) and can be compressed.
 
+<p>
+In versions prior to 0.7.6, &bmngr; used to pass the MySQL client's password through 
+the command line. As explained by the MySQL manual, that's a security issue as
+the password is then readable for a short time in the /proc directory (or using
+the ps command).
+
+<p>
+To close that vulnerability, the MySQL client password is not passed through
+the command line anymore, it is written in a configuration file located in the
+home directory of the user running &bmngr; : <tt>~/.my.cnf</tt>.
+
+<p>
+If that file doesn't exist at runtime, &bmngr; will create it and will then
+write the password provided in <tt>BM_MYSQL_ADMINPASS</tt> inside. 
+
 <sect2 id="BM_MYSQL_DATABASES"><tt>BM_MYSQL_DATABASES</tt>
 
 <p>
@@ -712,6 +820,29 @@
 export BM_MYSQL_ADMINLOGIN="root"
 </example>
 
+<sect2 id="BM_MYSQL_ADMINPASS"><tt>BM_MYSQL_ADMINPASS</tt>
+
+<p>
+<em>Type: string, default: <tt>undefined</tt>.</em>
+<p>
+The MySQL client password.
+
+<p>
+If you have already made your own ~/.my.cnf configuration file, you don't have
+to set that variable.
+
+<p>
+If you don't know what is the <tt>~/.my.cnf</tt> configuration file, set the password,
+then &bmngr; will take care of creating the MySQL client configuration file.
+
+<p>
+Example:
+
+<example>
+export BM_MYSQL_ADMINPASS="MySecretPass"
+</example>
+
+
 <sect2 id="BM_MYSQL_HOST"><tt>BM_MYSQL_HOST</tt>
 
 <p>
@@ -1102,9 +1233,16 @@
 <p>
 Example:
 <example>
+# in your main conffile -- /etc/backup-manager.conf
 export BM_ARCHIVE_TTL="0"
 export BM_UPLOAD_FTP_TTL="5"
-export BM_POST_BACKUP_COMMAND="backup-manager --purge"
+export BM_POST_BACKUP_COMMAND="/usr/sbin/backup-manager --purge"
+
+# in your cron job:
+/usr/sbin/backup-manager
+/usr/sbin/backup-manager --purge
+
+(Don't put the post-command in the main conffile or you'll face an infinite loop.)
 </example>
 
 <sect2 id="BM_UPLOAD_FTP_USER"><tt>BM_UPLOAD_FTP_USER</tt>

Added: trunk/doc/user-guide.txt
===================================================================
--- trunk/doc/user-guide.txt	                        (rev 0)
+++ trunk/doc/user-guide.txt	2007-05-30 12:53:39 UTC (rev 66)
@@ -0,0 +1,1837 @@
+
+                      Backup Manager 0.7.6 User Guide
+                      -------------------------------
+
+                              Alexis Sukrieh
+
+                            1.6 - 08 Sept, 2006
+
+
+-------------------------------------------------------------------------------
+
+
+Copyright Notice
+----------------
+
+     copyright (C) 2005 Alexis Sukrieh
+
+     This user guide is free software; you may redistribute it and/or
+     modify it under the terms of the GNU General Public License as
+     published by the Free Software Foundation; either version 2, or (at
+     your option) any later version.
+
+     This is distributed in the hope that it will be useful, but _without
+     any warranty_; without even the implied warranty of was
+     merchantability or fitness for a particular purpose.  See the GNU
+     General Public License for more details.
+
+     A copy of the GNU General Public License is available on the World
+     Wide Web at the GNU web site (http://www.gnu.org/copyleft/gpl.html).
+     You can also obtain it by writing to the Free Software Foundation,
+     Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+-------------------------------------------------------------------------------
+
+
+Contents
+--------
+
+     1.        About this manual
+     1.1.      Scope
+     1.2.      Version
+     1.3.      Authors
+
+     2.        Configuration files
+     2.1.      Repository and Archives
+     2.1.1.         The Repository
+     2.1.2.         Encryption
+     2.1.3.         Archives
+     2.2.      Backup Methods
+     2.2.1.         Tarballs
+     2.2.2.         Incremental tarballs
+     2.2.3.         MySQL databases
+     2.2.4.         Subversion repositories
+     2.2.5.         Generic methods
+     2.3.      Upload Methods
+     2.3.1.         Description
+     2.3.2.         Global configuration keys
+     2.3.3.         SSH uploads
+     2.3.4.         Encrypted SSH uploads
+     2.3.5.         FTP uploads
+     2.3.6.         Amazon S3 uploads
+     2.3.7.         RSYNC uploads
+     2.4.      Exports
+     2.4.1.         Burning CDR/DVD media
+     2.5.      Advanced features
+     2.5.1.         Logging to syslog
+     2.5.2.         Writing external hooks
+
+     3.        Using Backup Manager
+     3.1.      Command line
+     3.1.1.         Restrictions
+     3.1.2.         Options
+     3.2.      CRON integration
+
+
+-------------------------------------------------------------------------------
+
+
+1. About this manual
+--------------------
+
+
+1.1. Scope
+----------
+
+     Backup Manager is a system tool designed to handle backups.  It is
+     written with simplicity in mind.
+
+     If you want to handle a couple of tarballs, reading the default
+     configuration file might be enough to understand the main design.  On
+     the other hand, if you want to know more about the global design of
+     the program, how to write your own backup methods or even look at some
+     real life examples, this guide is for you.
+
+     This document describes the main design of the software and gives
+     information about supported configuration keys.  All backup methods
+     are described, with a sample configuration file as illustration.
+     Whenever possible, advices and best practices are given.
+
+     This manual also describes every configuration variables supported in
+     the version 0.7.6.
+
+
+1.2. Version
+------------
+
+     This document is updated whenever a new release of Backup Manager is
+     published.  The current version covers all features and configuration
+     details about version 0.7.6.
+
+     The first version of this document was written with the release 0.6 of
+     Backup Manager.
+
+
+1.3. Authors
+------------
+
+     The first version of this document was made in late 2005, by Alexis
+     Sukrieh and has been reviewed by Sven Joachim.
+
+     While the author of this document has tried hard to avoid typos and
+     other errors, these do still occur.  If you discover an error in this
+     manual or if you want to give any comments, suggestions, or criticisms
+     please send an email to the development list,
+     backup-manager-devel at backup-manager.org, or submit a bug report
+     against the "Documentation" product, in the bug tracking system[1].
+
+[1]  http://bugzilla.backup-manager.org/
+
+
+-------------------------------------------------------------------------------
+
+
+2. Configuration files
+----------------------
+
+     _Backup Manager's behaviour is defined in configuration files.  You
+     can run Backup Manager with different configuration files (at the same
+     time or not).  This chapter will cover all the configuration keys
+     supported in version 0.7.6 and will explain their meaning._
+
+
+2.1. Repository and Archives
+----------------------------
+
+     Backup Manager stores _archives_ it builds in a _repository_.
+     _Archives_ are built by using a _backup method_.
+
+2.1.1. The Repository
+---------------------
+
+2.1.1.1. `BM_REPOSITORY_ROOT'
+-----------------------------
+
+     _Type: string, default: `/var/archives'._
+
+     The repository is the place in your filesystem where all archives are
+     stored.  This is a particular place for Backup Manager, it will be
+     cleaned during backup sessions: archives older than the authorized
+     lifetime will be purged.  If the repository does not exist, it will be
+     created at runtime.
+
+     Isolating the repository on a dedicated partition is a good idea.
+     This can prevent the repository from eating all the disk space of the
+     partition.  With a bad configuration file, backup sessions can lead to
+     huge archives, for many reasons, so take care.
+
+     Example:
+
+          export BM_REPOSITORY_ROOT="/var/archives"
+
+2.1.1.2. `BM_REPOSITORY_SECURE'
+-------------------------------
+
+     _Type: boolean, default: `true'._
+
+     For security reasons, the repository can be accessible by a specific
+     user/group pair.  This will prevent the archives from being readable
+     (and writable) by any user in the system.  This mode is enabled by
+     default (owned by `root:root').
+
+     To enable this mode, set the configuration key `BM_REPOSITORY_SECURE'
+     to `yes', then update `BM_REPOSITORY_USER' and `BM_REPOSITORY_GROUP'
+     to your needs.
+
+     You can also change the permission of the repository and the archives,
+     that is possible with two configuration variables:
+     `BM_REPOSITORY_CHMOD' and `BM_ARCHIVE_CHMOD'.
+
+     Example:
+
+          export BM_REPOSITORY_SECURE="true"
+          export BM_REPOSITORY_USER="root"
+          export BM_REPOSITORY_GROUP="root"
+          export BM_REPOSITORY_CHMOD="770"
+          export BM_ARCHIVE_CHMOD="660"
+
+2.1.2. Encryption
+-----------------
+
+     _If you cannot trust the place where you store your archives, you can
+     choose to encrypt them so you are the only one who can read their
+     content.  That's a very good idea for archives you plan to upload to
+     some remote place, or even for the archives you want to daily export
+     on removable media._
+
+2.1.2.1. `BM_ENCRYPTION_METHOD'
+-------------------------------
+
+     _Type: string, default: undefined._
+
+     For Backup Manager, encryption is defined in one place in the
+     configuration file.  If the variable "`BM_ENCRYPTION_METHOD'" is not
+     defined, no encryption occurs during the archive build process, if a
+     method is defined there, then any archive built are encrypted through
+     a pipeline with that method.
+
+     Be aware that encryption is supported for the methods "mysql", "pipe",
+     "tarball" and "tarball-incremental" but only for those file types:
+     tar, tar.gz, tar.bz2.
+
+     The only valid method supported for encrypting archives is "gpg".
+
+     Backup Manager will encrypt your archive through a pipeline in order
+     not to write any byte of unencrypted data on the physical media.  The
+     encryption will be performed with a command line like the following:
+
+          <command> | gpg -r "$BM_ENCRYPTION_RECIPIENT" -e > archive.gpg
+
+     To decrypt an archive built with GPG encryption, you have to be the
+     owner of the private GPG key for which the encryption was made.  Then
+     issue the following:
+
+          $ gpg -d <archive.gpg> > archive
+
+     GPG will then prompt you for the private key passphrase and will
+     decrypt the content of the archive if the passphrase is valid.
+
+     Refer to the GPG documentation for more details of encryption.
+
+2.1.2.2. `BM_ENCRYPTION_RECIPIENT'
+----------------------------------
+
+     _Type: string, default: undefined._
+
+     As explained in the previous section, that variable should contain the
+     GPG recipient for the encryption, eg: your GPG ID.
+
+     Examples of valid GPG ID:
+
+          export BM_ENCRYPTION_RECIPIENT="0x1EE5DD34"
+          export BM_ENCRYPTION_RECIPIENT="Alexis Sukrieh"
+          export BM_ENCRYPTION_RECIPIENT="sukria at sukria.net"
+
+2.1.3. Archives
+---------------
+
+     _Archives are produced by backup methods, they can be virtually
+     anything, but will always be named like the following:
+     `prefix-name-date.filetype'.  An archive is a file that contains data,
+     it can be compressed or not, in a binary form or not._
+
+2.1.3.1. `BM_ARCHIVE_STRICTPURGE'
+---------------------------------
+
+     _Type: boolean, default: `true'._
+
+     As explained in the BM_REPOSITORY_ROOT section, every archive built by
+     Backup Manager will be purged when their lifetime expires.  In
+     versions prior to 0.7.6, any archive were purged.
+
+     You can now choose to purge only the archive built in the scope of the
+     configuration file, that is: archives prefixed with BM_ARCHIVE_PREFIX.
+
+     This is useful if you share the same BM_REPOSITORY_ROOT with different
+     instances of Backup Manager that have different purging rules (eg: a
+     BM_REPOSITORY_ROOT shared over NFS for multiple Backup Manager
+     configuration).
+
+     Example:
+
+          export BM_ARCHIVE_STRICTPURGE="true"
+
+2.1.3.2. `BM_ARCHIVE_PURGEDUPS'
+-------------------------------
+
+     _Type: boolean, default: `true'._
+
+     If disk usage matters in your backup strategy, you might find useful
+     to use Backup Manager's duplicates purging feature.  When an archive
+     is generated, Backup Manager looks at the previous versions of this
+     archive.  If it finds that a previous archive is the same file as the
+     one it has just built, the previous one is replaced by a symlink to
+     the new one.  This is useful if you don't want to have the same
+     archive twice in the repository.
+
+     Example:
+
+          export BM_ARCHIVE_PURGEDUPS="true"
+          
+          host-etc.20051115.tar.gz
+          host-etc.20051116.tar.gz -> /var/archives/host-etc.20051117.tar.gz
+          host-etc.20051117.tar.gz
+
+2.1.3.3. `BM_ARCHIVE_TTL'
+-------------------------
+
+     _Type: integer, default: `5'._
+
+     One of the main concepts behind the handling of the repository is to
+     purge deprecated archives automatically.  The purge session is always
+     performed when you launch Backup Manager.  During this phase, all
+     archives older than the authorized lifetime are dropped.
+
+     Since version 0.7.3, Backup Manager purges only files it has created
+     whereas in previous versions, it used to purge also other files within
+     the repository.
+
+     Note that when using the incremental method for building archives,
+     Backup Manager will handle differently master backups and incremental
+     ones.  The incremental backups will be purged like any other archives
+     (when exceeding the authorized lifetime).  On the ohter hand,
+     deprecated master backups won't be purged unless there is a younger
+     master backup in the repository.  Then, even with a lifetime set to
+     three days, a master backup will live more than three days, until a
+     newer master backup is built.
+
+     Example:
+
+          export BM_ARCHIVE_TTL="5"
+
+2.1.3.4. `BM_REPOSITORY_RECURSIVEPURGE'
+---------------------------------------
+
+     _Type: boolean, default: `false'._
+
+     On most setups, all the archives are stored in the top-level directory
+     specified by the configuration key `BM_REPOSITORY_ROOT'.  But it can
+     make sense to have subdirectories, for instance to store archives
+     uploaded from other hosts running Backup Manager.  In this case, it is
+     possible to ask Backup Manager to purge those directories too, by
+     setting `BM_REPOSITORY_RECURSIVEPURGE' to `true'.
+
+     Please note that the `BM_ARCHIVE_TTL' value is global, so if you want
+     to have different lifetimes for some archives, this is not the way to
+     go.  In this case you should save them outside `BM_REPOSITORY_ROOT'
+     and write a cron job to do the purge (possibly calling `backup-manager
+     --purge' with an alternate configuration file).
+
+     Example:
+
+          export BM_REPOSITORY_RECURSIVEPURGE="false"
+
+2.1.3.5. `BM_ARCHIVE_PREFIX'
+----------------------------
+
+     _Type: string, default: `$HOSTNAME'._
+
+     This is the prefix used for naming archives.
+
+     Example:
+
+          export BM_ARCHIVE_PREFIX="$HOSTNAME"
+          
+          # echo $HOSTNAME
+          ouranos
+          # ls /var/archives
+          ouranos-20051123.md5
+          ouranos-usr-local-src.20051123.tar.gz
+          ouranos-etc.20051123.tar.gz
+
+
+2.2. Backup Methods
+-------------------
+
+     The core feature of Backup Manager is to make archives, for doing
+     this, a _method_ is used.  Each method can require a set of
+     configuration keys.  We will describe here every method supported in
+     the version 0.7.6.
+
+     The method you choose must be defined in the configuration key
+     `BM_ARCHIVE_METHOD'.  You can put here a list of all the different
+     methods you want to use.  Take care to put every configuration key
+     needed by all the methods you choose.  Note that you can also choose
+     none of the proposed methods, if you don't want to build archives with
+     this configuration file, then just put `none'.
+
+     A couple of other configuration keys may be needed depending on the
+     method you choose.
+
+     Example:
+
+          export BM_ARCHIVE_METHOD="tarball-incremental mysql"
+
+2.2.1. Tarballs
+---------------
+
+2.2.1.1. Description
+--------------------
+
+     _Method name: `tarball', configuration key prefix: `BM_TARBALL'._
+
+     If all you want to do is to handle a couple of tarballs of your file
+     system, you can use this method.  This method takes a list of
+     directories and builds the corresponding tarballs.  This method is the
+     default one, this is the easiest to use, it just builds tarballs as
+     you could do with your own tar script.  Its main drawback is to eat a
+     lot of disk space: archives can be big from a day to another, even if
+     there are no changes in their content.  See the `tarball-incremental'
+     method if you want to optimize archives' size.
+
+     When building full backups (when not building incremental ones),
+     Backup Manager will append the keyword "master" to the name of the
+     archive.  This is very useful when using the `tarball-incremental'
+     method for seeing where the full backups are quickly.
+
+     A couple of options are available: the name format of the archive, the
+     compression type (gzip, zip, bzip2, none) and the facility to
+     dereference symlinks when building the tarball.
+
+2.2.1.2. `BM_TARBALL_NAMEFORMAT'
+--------------------------------
+
+     This configuration key defines how to perform the naming of the
+     archive.  Two values are possible:
+
+        * `long': the name will be made with the absolute path of the
+          directory (eg: `var-log-apache' for `/var/log/apache').
+
+        * `short': the name will just contain the directory (eg: `apache'
+          for `/var/log/apache').
+
+     Suggested value: `long'.
+
+2.2.1.3. `BM_TARBALL_FILETYPE'
+------------------------------
+
+     _Type: enum(tar, tar.gz, tar.bz2, tar.lz, zip, dar), default:
+     `tar.gz'._
+
+     Basically, this configuration key defines the filetype of the
+     resulting archive.  In a way, it defines which compressor to use (zip,
+     gzip, dar or bzip2).  Here are the supported values: `tar', `tar.gz',
+     `tar.bz2', `zip' and `dar'.  Note that depending on the filetype you
+     choose, you will have to make sure you have the corresponding
+     compressor installed.
+
+     For the best compression rate, choose `tar.bz2' or `tar.lz'.
+
+     Since version 0.7.1, Backup Manager supports _dar_ archives.  This
+     archiver provides some interesting features like the archive slicing.
+
+     Since version 0.7.5, Backup Manager supports _lzma_ archives.
+
+     Make sure to statisfy dependencies according to the filetype you
+     choose:
+
+        * tar.bz2 : needs "bzip2".
+
+        * tar.lz : needs "lzma".
+
+        * dar : needs "dar".
+
+        * zip : needs "zip".
+
+2.2.1.4. `BM_TARBALL_SLICESIZE'
+-------------------------------
+
+     _Type: string_
+
+     If you want to make sure your archives won't exceed a given size (for
+     instance 2 GB) you can use that configuration variable, but only if
+     you are using the `dar' `BM_TARBALL_FILETYPE'.  Indeed this feature is
+     only supported by dar.
+
+     If you want to limit your archives size to 1 giga byte, use such a
+     statement:
+
+          BM_TARBALL_SLICESIZE="1000M"
+
+     Refer to the dar manpage for details about slices.
+
+2.2.1.5. `BM_TARBALL_EXTRA_OPTIONS'
+-----------------------------------
+
+     _Type: string_
+
+     If you want to provide extra options to "tar" or "dar" you may do so
+     here.  Leave blank unless you know what you are doing.
+
+     Example: to enable verbosity with tar (which would appeard in the
+     logfiles), use this:
+
+          BM_TARBALL_EXTRA_OPTIONS="-v"
+
+2.2.1.6. `BM_TARBALL_DUMPSYMLINKS'
+----------------------------------
+
+     _Type: boolean, default: `true'._
+
+     It is possible, when generating the tarball (or the zip file) to
+     dereference the symlinks.  If you enable this feature, every symbolic
+     link in the file system will be replaced in the archive by the file it
+     points to.  Use this feature with care, it can quickly lead to huge
+     archives, or even worse: if you have a circular symlink somewhere,
+     this will lead to an infinite archive!
+
+     In most of the cases, you should not use this feature.
+
+2.2.1.7. `BM_TARBALL_DIRECTORIES'
+---------------------------------
+
+     _Type: space-separated list, default: `null'._
+
+     Since version 0.7.3, this variable is replaced by the array
+     BM_TARBALL_TARGETS[], it's still supported for backward compatibility
+     though.  You can use this variable for defining the locations to
+     backup, but you must not use this variable if one or more of the paths
+     you want to archive contain a space.
+
+     If you want to backup some targets that have spaces in their name (eg
+     "Program Files"), you must not use this variable, but the array
+     BM_TARBALL_TARGETS[] instead.
+
+     Example:
+
+          export BM_TARBALL_DIRECTORIES="/etc /home /var/log/apache"
+
+2.2.1.8. `BM_TARBALL_TARGETS'
+-----------------------------
+
+     _Type: array, default: `"/etc", "/boot"'._
+
+     This variable holds every place you want to backup.  This is the
+     recommanded variable to use for defining your backup targets
+     (`BM_TARBALL_DIRECTORIES' is deprecated since version 0.7.3).
+
+     You can safely put items that contain spaces (eg: "Program Files")
+     whereas you can't with `BM_TARBALL_DIRECTORIES'.
+
+     You can also put Bash patterns in BM_TARBALL_TARGETS[], it will be
+     expanded at runtime to find the resulting targets.  For instance :
+     BM_TARBALL_TARGETS[0]="/home/*" will lead to backup every home's
+     sub-directory.
+
+     Example
+
+          BM_TARBALL_TARGETS[0]="/etc"
+          BM_TARBALL_TARGETS[1]="/home/*"
+          BM_TARBALL_TARGETS[2]="/boot"
+          BM_TARBALL_TARGETS[3]="/mnt/win/Program Files"
+
+2.2.1.9. `BM_TARBALL_BLACKLIST'
+-------------------------------
+
+     _Type: space-separated list, default: `"/proc /dev /sys /tmp"'._
+
+     It can be very useful to prevent some locations of your filesytem from
+     being included in the archives.  This is really useful when you use
+     wildcards in BM_TARBALL_DIRECTORIES.  Indeed, you may want to backup
+     every top-level directory of your filesystem (`/*') but without
+     volatile locations like `/tmp', `/dev' and `/proc'.
+
+     You can also use this variable for excluding every files of a given
+     extension, like for instance mp3 or mpg files.
+
+     Example:
+
+          export BM_TARBALL_BLACKLIST="/tmp /dev /proc *.mp3 *.mpg"
+
+2.2.1.10. `BM_TARBALL_OVER_SSH'
+-------------------------------
+
+     _Type: boolean, default: `false'._
+
+     _Dependency: `BM_UPLOAD_SSH'_
+
+     If you want to archive some remote locations from a server where
+     Backup Manager is insalled, you can choose to build archives over SSH.
+     This is useful if you don't want to install Backup Manager every where
+     and setup some upload methods from all thoses servers to a central
+     data storage server.  This way, Backup Manager will build some
+     archives directly over SSH and will store the resulting tarballs
+     locally, as if it was built like any other archive.  The resulting
+     archive will be prefixed with the remote hostname instead of
+     `BM_ARCHIVE_PREFIX'.
+
+     This feature requires that the following variables are set in the
+     BM_UPLOAD_SSH section:
+
+        * `BM_UPLOAD_SSH_USER': the user to use for connecting to the
+          remote server.  Note that this user will run tar remotely, so
+          take care to archive something this user can read!
+
+        * `BM_UPLOAD_SSH_KEY': as usal, the path to the private key to use
+          for establishing the connection.
+
+        * `BM_UPLOAD_SSH_HOSTS': A list of hosts where to run the tarball
+          builds.
+
+     If you enable this feature, note that the resulting configuration file
+     will have the following restrictions:
+
+        * Remote tarball build only works with the `tarball' method, it
+          will silently behaves the same with `tarball-incremental'.
+
+        * You cannot use the remote build and the local one in the same
+          configuration file.  If you want to do both, use two
+          configuration files.
+
+     Example: You have three hosts: host01, host02 and host03.  You want to
+     set up host01 as a data storage server, it has a big /var/archives
+     partition.  You want to archive "/etc", "/home" and "/var/log" on
+     box02 and box03 and store the archives on host01.
+
+          [...]
+          export BM_ARCHIVE_METHOD="tarball"
+          
+          export BM_TARBALL_OVER_SSH="true"
+          export BM_TARBALL_FILETYPE="tar.bz2"
+          export BM_TARBALL_DIRECTORIES="/etc /home /var/log"
+          
+          export BM_UPLOAD_SSH_USER="bamuser"
+          export BM_UPLOAD_SSH_KEY="/home/bamuser/.ssh/id_dsa"
+          export BM_UPLOAD_SSH_HOSTS="box02 box03"
+
+     Of course, for this to work correctly, ``bamuser'' should be a valid
+     user on box02 and box03; it must be allowed to connect to them with
+     SSH key autentication and has to be able to read those directories.
+
+2.2.2. Incremental tarballs
+---------------------------
+
+2.2.2.1. Description
+--------------------
+
+     _Method name: `tarball-incremental', configuration key prefix:
+     `BM_TARBALLINC'._
+
+     If you want to handle tarballs without wasting disk space, you should
+     use this method.  The concept of this method is simple: You choose a
+     frequency when a full backup is made (exactly like the one made by the
+     tarball mehod).  All the days between two full backups, archives
+     contain only the files that have changed from the previous archive.
+
+     For instance, let's say you want to backup /home with this method.
+     Your /home directory is composed by two sub-directories: /home/foo and
+     /home/bar.  You choose a weekly frequency and say that monday will be
+     the "fullbackup" day.  Obviously, you will have a full tarball of
+     /home on monday.  Then, if a file changed inside /home/foo and if
+     /home/bar remains unchanged, tuesday's archive will only contain the
+     modified files of /home/foo.  Using this method will save a lot of
+     disk space.
+
+     To build incremental tarballs, Backup Manager uses tar's switch
+     `--listed-incremental'.  This will create a file for each target which
+     will contain some statistics used by tar to figure out if a file
+     should be backed up or not.  When Backup Manager is run for the first
+     time, this file doesn't exist, so the first tarballs made are always
+     master backups.  If the _incremental list_ files get removed, the next
+     backups won't be incremental.
+
+     Since version 0.7.3, it's possible to see at the first glance if a
+     backup is a master or an incremental one: master backup have the
+     keyword `master' appended to the date.  When purging the repository,
+     the master backups are not removed as the incremental ones.  Backup
+     Manager always keep a master backup that is older than incremental
+     archives.
+
+     This method uses all the tarball's configuration keys and adds two
+     more.  One to define the kind of frequency, the other to choose on
+     which day the full backups should be done.
+
+2.2.2.2. `BM_TARBALLINC_MASTERDATETYPE'
+---------------------------------------
+
+     _Type: enum(weekly, monthly), default: `weekly'._
+
+     This is the type of frequency you want to use.  If you choose
+     `weekly', you'll have to choose a day number between 1 and 7 for the
+     BM_TARBALLINC_MASTERDATEVALUE configuration key, if you choose
+     `monthly', the day number will be between 1 and 31.
+
+2.2.2.3. `BM_TARBALLINC_MASTERDATEVALUE'
+----------------------------------------
+
+     _Type: integer, default: `1'._
+
+     The number of the day when making full backups.  Note that its meaning
+     directly depends on the `BM_TARBALLINC_MASTERDATETYPE'.  For instance,
+     1 means _"monday"_ if you choose a weekly frequency, but it means
+     _"the first day of the month"_ if you choose a monthly frequency.
+
+2.2.3. MySQL databases
+----------------------
+
+2.2.3.1. Description
+--------------------
+
+     _Method name: `mysql', configuration keys prefix: `BM_MYSQL'._
+
+     This method provides a way to archive MySQL databases, the archives
+     are made with mysqldump (SQL text files) and can be compressed.
+
+     In versions prior to 0.7.6, Backup Manager used to pass the MySQL
+     client's password through the command line.  As explained by the MySQL
+     manual, that's a security issue as the password is then readable for a
+     short time in the /proc directory (or using the ps command).
+
+     To close that vulnerability, the MySQL client password is not passed
+     through the command line anymore, it is written in a configuration
+     file located in the home directory of the user running Backup Manager
+     : `~/.my.cnf'.
+
+     If that file doesn't exist at runtime, Backup Manager will create it
+     and will then write the password provided in `BM_MYSQL_ADMINPASS'
+     inside.
+
+2.2.3.2. `BM_MYSQL_DATABASES'
+-----------------------------
+
+     _Type: space-separated list, default: `__ALL__'._
+
+     This is the list of databases you want to archive.  You can put the
+     keyword `__ALL__' if you like to backup every database without having
+     to list them.
+
+     Example:
+
+          export BM_MYSQL_DATABASES="mysql mybase wordpress dotclear phpbb2"
+
+2.2.3.3. `BM_MYSQL_SAFEDUMPS'
+-----------------------------
+
+     _Type: boolean, default: `true'._
+
+     The best way to produce MySQL dumps is done by using mysqldump's
+     `--opt' switch.  This makes the dump directly usable with mysql (adds
+     the drop table statements), locks tables during the dump generation
+     and other cool things (see `mysqldump').  This is recommended for
+     full-clean-safe backups, but needs a privileged user (for the lock
+     permissions).
+
+     Example:
+
+          export BM_MYSQL_SAFEDUMPS="true"
+
+2.2.3.4. `BM_MYSQL_ADMINLOGIN'
+------------------------------
+
+     _Type: string, default: `root'._
+
+     The MySQL login you want to use for connecting to the database.  Make
+     sure this login can read all the databases you've set in
+     `BM_MYSQL_DATABASES'.
+
+     Example:
+
+          export BM_MYSQL_ADMINLOGIN="root"
+
+2.2.3.5. `BM_MYSQL_ADMINPASS'
+-----------------------------
+
+     _Type: string, default: `undefined'._
+
+     The MySQL client password.
+
+     If you have already made your own ~/.my.cnf configuration file, you
+     don't have to set that variable.
+
+     If you don't know what is the `~/.my.cnf' configuration file, set the
+     password, then Backup Manager will take care of creating the MySQL
+     client configuration file.
+
+     Example:
+
+          export BM_MYSQL_ADMINPASS="MySecretPass"
+
+2.2.3.6. `BM_MYSQL_HOST'
+------------------------
+
+     _Type: string, default: `localhost'._
+
+     The database host where the databases are.
+
+     Example:
+
+          export BM_MYSQL_HOST="localhost"
+
+2.2.3.7. `BM_MYSQL_PORT'
+------------------------
+
+     _Type: string, default: `3306'._
+
+     The port on `BM_MYSQL_HOST' where the mysql server is listening.
+
+     Example:
+
+          export BM_MYSQL_PORT="3306"
+
+2.2.3.8. `BM_MYSQL_FILETYPE'
+----------------------------
+
+     _Type: enum(gzip, bzip2), default: `bzip2'._
+
+     The archive is made with mysqldump which renders SQL lines; the
+     resulting text file can be compressed.  If you want to compress the
+     file, choose the compressor you want.  Leave it blank if you want pure
+     SQL files.
+
+     Example:
+
+          export BM_MYSQL_FILETYPE="bzip2"
+
+2.2.4. Subversion repositories
+------------------------------
+
+2.2.4.1. Description
+--------------------
+
+     You can archive Subversion repositories with this method.  The archive
+     will be made with `svnadmin' and will contain XML data (text files).
+     Like the mysql method, you can choose to compress it.
+
+2.2.4.2. `BM_SVN_REPOSITORIES'
+------------------------------
+
+     _Type: space-separated list_
+
+     This is the list of absolute paths to the SVN repositories to archive.
+
+     Example:
+
+          export BM_SVN_REPOSITORIES="/srv/svnroot/repo1 /srv/svnroot/repo2"
+
+2.2.4.3. `BM_SVN_COMPRESSWITH'
+------------------------------
+
+     _Type: enum(gzip, bzip2), default: `bzip2'._
+
+     If you want to compress the resulting XML files, choose a compressor
+     here.  Leave this blank if you don't want any compression.
+
+     Example:
+
+          export BM_SVN_COMPRESSWITH="gzip"
+
+2.2.5. Generic methods
+----------------------
+
+2.2.5.1. Description
+--------------------
+
+     Even if most of the common needs are covered by the existing methods,
+     there is always a case uncovered.  Backup Manager provides a way for
+     backing up anything, and can be used in such circumstances.
+
+     This method is called `pipe', it is more complex to use but can
+     virtually backup anything.  The concept is simple, a pipe method is
+     defined by the following items:
+
+        * A name (for naming the archive)
+
+        * A command (that produces content on stdout)
+
+        * A file type (txt, sql, dump, ...)
+
+        * A compressor (gzip, bzip2)
+
+     Those configuration keys are arrays, so you can implement as many pipe
+     methods as you like.
+
+     For each pipe method defined, Backup Manager will launch the command
+     given and redirect the content sent to stdout by this command to a
+     file named with the name of the method and its filetype.  Then, if the
+     method uses a compressor, the file will be compressed.
+
+2.2.5.2. Example
+----------------
+
+     Example for archiving a remote MySQL database through SSH:
+
+          BM_PIPE_COMMAND[0]="ssh host -c \"mysqldump -ufoo -pbar base\""
+          BM_PIPE_NAME[0]="base"
+          BM_PIPE_FILETYPE[0]="sql"
+          BM_PIPE_COMPRESS[0]="gzip"
+
+     Imagine you have a second pipe method to implement, for instance
+     building a tarball trough SSH:
+
+          BM_PIPE_COMMAND[1]="ssh host -c \"tar -c -z /home/user\""
+          BM_PIPE_NAME[1]="host.home.user"
+          BM_PIPE_FILETYPE[1]="tar.gz"
+          BM_PIPE_COMPRESS[1]=""
+
+     Note that we have incremented the array's index.
+
+
+2.3. Upload Methods
+-------------------
+
+2.3.1. Description
+------------------
+
+     _One of the most important thing to do when backing up file systems is
+     to store the archives on different places.  The more different
+     physical spaces you have, the better.  Backup Manager provides a way
+     for achieving this goal : the upload methods._
+
+     There are different upload methods, each of them behaves differently
+     and provides particular features.  In Backup Manager 0.7.6 you can use
+     FTP, SSH, RSYNC or Amazon S3 uploads.
+
+     In the same manner as for backup methods, you can choose to use as
+     many upload methods as you like.  If you don't want to use this
+     feature at all, just put the keyword `none' in the configuration
+     `BM_UPLOAD_METHOD'.
+
+     Note that the FTP, SSH and S3 methods are dedicated to upload
+     archives, using those method depends on the use of at least one backup
+     method.
+
+     On the opposite, the RSYNC method uploads a directory to remote
+     locations, this directory can be your repository or whatever other
+     location of your file sytem.
+
+2.3.2. Global configuration keys
+--------------------------------
+
+     The following configuration keys are global in the upload section:
+
+2.3.2.1. `BM_UPLOAD_HOSTS'
+--------------------------
+
+     _Type: space-separated list_
+
+     Each of the hosts defined in that list is used by all the upload
+     methods when establishing connections.  For instance if you want to
+     perform SSH uploads of your archives and RSYNC upload of a location to
+     the same host, put it in this list.
+
+     Example:
+
+export BM_UPLOAD_HOSTS="mirror1.lan.mysite.net mirror2.lan.mysite.net"
+
+2.3.2.2. `BM_UPLOAD_DESTINATION'
+--------------------------------
+
+     _Type: string_
+
+     This is the absolute path of the directory in the remote hosts where
+     to put the files uploaded.
+
+     If you have installed installed Backup Manager on the remote host, a
+     good idea is to choose a sub-directory of the repository.  Then,
+     during the remote host purge phase, your uploads will be cleaned at
+     the same time.
+
+     You can also define a destination dedicated to your host:
+     `BM_UPLOAD_DESTINATION="/var/archives/$HOSTNAME"'
+
+     Example:
+
+     Let's say you want that all your uploads are performed on the host
+     mirror2.lan.mysite.net, in the sub-directory /var/archives/uploads
+
+          export BM_UPLOAD_HOSTS="mirror2.lan.mysite.net"
+          export BM_UPLOAD_DESTINATION="/var/archives/uploads"
+
+2.3.3. SSH uploads
+------------------
+
+2.3.3.1. Description
+--------------------
+
+     _Method name: `ssh', goal: upload archives to remote hosts over SSH.
+     This method depends on a backup method._
+
+     If you want to upload your archives on remote locations, you can use
+     the SSH method.  This method is good if you like to use a secure
+     tunnel between the two points of the upload.
+
+     The call to `scp' will be done with the identity of the user
+     `BM_UPLOAD_SSH_USER', thus, you have to make sure this user can have
+     access to the repository (take care to the secure mode).
+
+2.3.3.2. `BM_UPLOAD_SSH_USER'
+-----------------------------
+
+     _Type: string_
+
+     This is the user to use for performing the ssh connection.  Make sure
+     this user can access repository.
+
+     Example:
+
+          export BM_UPLOAD_SSH_USER="bmngr"
+
+2.3.3.3. `BM_UPLOAD_SSH_KEY'
+----------------------------
+
+     _Type: string_
+
+     This is the path to the private key of the user BM_UPLOAD_SSH_USER.
+
+     Example:
+
+          export BM_UPLOAD_SSH_KEY="/home/bmngr/.ssh/id_dsa"
+
+2.3.3.4. `BM_UPLOAD_SSH_PORT'
+-----------------------------
+
+     _Type: integer_
+
+     You may want to connect to remote hosts with a specific port.  Use
+     this configuration key then.
+
+     Example:
+
+          export BM_UPLOAD_SSH_PORT="1352"
+
+2.3.3.5. `BM_UPLOAD_SSH_HOSTS'
+------------------------------
+
+     _Type: space-separated list_
+
+     Put here the list of hosts to use for SSH-only uploads.  Note that if
+     you put some hosts in `BM_UPLOAD_HOSTS', they will be used as well.
+
+     Example:
+
+          export BM_UPLOAD_SSH_HOSTS="mirror3.lan.mysite.net"
+
+2.3.3.6. `BM_UPLOAD_SSH_PURGE'
+------------------------------
+
+     _Type: boolean_
+
+     If you set this boolean to "true", the remote archives will be purged
+     before the new ones are uploaded.  The purging rules are the same as
+     the ones Backup Manager uses for local purging.  If
+     `BM_UPLOAD_SSH_TTL' is defined, this time to live will be used, else
+     `BM_ARCHIVE_TTL' will be used.
+
+     Example:
+
+          export BM_UPLOAD_SSH_PURGE="true"
+          export BM_UPLOAD_SSH_TTL="10"
+
+2.3.3.7. `BM_UPLOAD_SSH_DESTINATION'
+------------------------------------
+
+     _Type: string_
+
+     Put here the destination for SSH-only uploads, this key overrides
+     `BM_UPLOAD_DESTINATION'.
+
+     Example:
+
+          export BM_UPLOAD_SSH_DESTINATION="/var/archives/scp-uploads"
+
+2.3.4. Encrypted SSH uploads
+----------------------------
+
+2.3.4.1. Description
+--------------------
+
+     _Method name: `ssh-gpg', goal: encrypt arcives using public key
+     encryption and upload the result to untrusted remote hosts over SSH.
+     This method depends on a backup method._
+
+     The upload using SSH can also be combined with public key encryption
+     provided by `gpg'.  The archives will be encrypted using a public key
+     prior to sending them over the network, so on the remote server your
+     files are protected from inspection.
+
+     This method can be used to protect your data from inspection on
+     untrusted remote servers.  However, since the encrypted files are not
+     signed, this does not protect you from archive manipulation.  So the
+     _md5_ hases are still needed.
+
+     This method uses all of the configuartion keys of the _ssh_ method.
+     One additional key is required.
+
+2.3.4.2. `BM_UPLOAD_SSH_GPG_RECIPIENT'
+--------------------------------------
+
+     _Type: string_
+
+     This parameter sets the recipient for which the archive is encrypted.
+     A valid specification is a short or long key id, or a descriptive
+     name, as explained in the `gpg' man page.  The public key for this
+     identity must be in the key ring of the user running `gpg', which is
+     the same as specified by `BM_UPLOAD_SSH_USER'.  To test this run the
+     command `gpg --list-keys ID' as that user, where `ID' is the ID as you
+     give it to this parameter.  If `gpg' displays exactly one key, then
+     you are fine.  Refer to the `gpg' man page for further details.
+
+     Example:
+
+          export BM_UPLOAD_SSH_GPG_RECIPIENT="email at address.com"
+          export BM_UPLOAD_SSH_GPG_RECIPIENT="ECE009856"
+
+2.3.5. FTP uploads
+------------------
+
+2.3.5.1. Description
+--------------------
+
+     If security does not matter much on your lan (between the two points
+     of the upload) you can choose to use the FTP method.  One of the main
+     pros of this method is that it can perform purging independently.  You
+     can safely use this method for uploading files to a host where you
+     just have an FTP account.
+
+2.3.5.2. `BM_UPLOAD_FTP_SECURE'
+-------------------------------
+
+     _Type: boolean, default: false._
+
+     If this variable is set to true, all FTP transfers will be done over
+     SSL.
+
+     Example:
+
+          export BM_UPLOAD_FTP_SECURE="true"
+
+2.3.5.3. `BM_UPLOAD_FTP_PASSIVE'
+--------------------------------
+
+     _Type: boolean, default: true._
+
+     If this variable is set to true, FTP transfers will be performed in
+     passive mode, which is mandatory in NATed/firewalled environments.
+
+     Example:
+
+          export BM_UPLOAD_FTP_PASSIVE="true"
+
+2.3.5.4. `BM_UPLOAD_FTP_TTL'
+----------------------------
+
+     _Type: integer, default: $BM_ARCHIVE_TTL_
+
+     Using different _time to live_ values for local and remote archives
+     can be useful in certain situations.  For instance, it's possible to
+     install Backup Manager locally, make it build archives, upload them to
+     a remote FTP host and then purge them locally (but not on the remote
+     host).  Doing this is possible with setting a null value to the local
+     TTL (BM_ARCHIVE_TTL) and a non-null value to BM_UPLOAD_FTP_TTL.
+
+     Example:
+
+# in your main conffile -- /etc/backup-manager.conf
+export BM_ARCHIVE_TTL="0"
+export BM_UPLOAD_FTP_TTL="5"
+export BM_POST_BACKUP_COMMAND="/usr/sbin/backup-manager --purge"
+
+# in your cron job:
+/usr/sbin/backup-manager
+/usr/sbin/backup-manager --purge
+
+(Don't put the post-command in the main conffile or you'll face an infinite loop.)
+
+2.3.5.5. `BM_UPLOAD_FTP_USER'
+-----------------------------
+
+     _Type: string._
+
+     Put here the FTP user to use for opening the connections.
+
+     Example:
+
+          export BM_UPLOAD_FTP_USER="bmngr"
+
+2.3.5.6. `BM_UPLOAD_FTP_PASSWORD'
+---------------------------------
+
+     _Type: string._
+
+     Put here the `BM_UPLOAD_FTP_USER''s password to use (in plain text).
+
+     Example:
+
+          export BM_UPLOAD_FTP_USER="secret"
+
+2.3.5.7. `BM_UPLOAD_FTP_HOSTS'
+------------------------------
+
+     _Type: space-separated list_
+
+     Put here the list of hosts to use for FTP-only uploads.  Note that if
+     you put some hosts in `BM_UPLOAD_HOSTS', they will be used as well.
+
+     Example:
+
+          export BM_UPLOAD_FTP_HOSTS="mirror4.lan.mysite.net"
+
+2.3.5.8. `BM_UPLOAD_FTP_DESTINATION'
+------------------------------------
+
+     _Type: string_
+
+     Put here the destination for FTP-only uploads, this key overrides
+     `BM_UPLOAD_DESTINATION'.
+
+     Example:
+
+          export BM_UPLOAD_FTP_DESTINATION="/var/archives/ftp-uploads"
+
+2.3.5.9. `BM_UPLOAD_FTP_PURGE'
+------------------------------
+
+     _Type: boolean, default: `true'_
+
+     You can choose to purge deprecated archives before uploading new ones.
+     This purge is done over FTP and uses the configuration key
+     `BM_ARCHIVE_TTL' in the same manner as the local purge behaves (the
+     FTP purge is not recursive though).
+
+     Example:
+
+          export BM_UPLOAD_FTP_PURGE="true"
+
+2.3.6. Amazon S3 uploads
+------------------------
+
+2.3.6.1. Description
+--------------------
+
+     Amazon's new Simple Storage Service (S3) is an Internet "web service"
+     that permits you to store unlimited blocks of data on their replicated
+     and managed systems.  See http://aws.amazon.com for more information.
+     Registration is free and the rates are quite reasonable.
+
+     Using the S3 upload method will permit your archives to be stored on
+     Amazon's S3 service.  You must allocate a "bucket" to the exclusive
+     use of Backup Manager.  Each of your created archives will be uploaded
+     to S3 and stored within this bucket in a key name that matches the
+     name of the archive.
+
+     As with the other backup methods Backup Manager does not assist you in
+     restoring files from archives.  You must retrieve archives from S3
+     using other mechanisms such as the S3Shell provided as an examle
+     command line utility by Amazon.
+
+     Note that when using this upload method, the `BM_UPLOAD_HOSTS'
+     variable is ignored as the only valid host for S3 uploads in
+     `s3.amazon.com'.
+
+2.3.6.2. `BM_UPLOAD_S3_DESTINATION'
+-----------------------------------
+
+     _Type: string._
+
+     This option is required for the S3 upload method.  This specifies the
+     bucket used to store backup data.  If the bucket does not exist it
+     will be created as a private bucket.  This key overrides
+     `BM_UPLOAD_DESTINATION'.  Note that Amazon requires that bucket names
+     be globally unique.  Be creative picking one.
+
+     Example:
+
+          export BM_UPLOAD_S3_DESTINATION="my_backup_bucket"
+
+2.3.6.3. `BM_UPLOAD_S3_ACCESS_KEY'
+----------------------------------
+
+     _Type: string._
+
+     This option is required for the S3 upload method.  After you have
+     registered Amazon will provide you an access key.  You must use this
+     key to access your storage on S3.
+
+     Example:
+
+          export BM_UPLOAD_S3_ACCESS_KEY="a9sabkz0342dasv"
+
+2.3.6.4. `BM_UPLOAD_S3_SECRET_KEY'
+----------------------------------
+
+     _Type: string._
+
+     This option is required for the S3 upload method.  After you have
+     registered Amazon will provide you a secret key.  You must use this
+     key to write to your storage on S3.
+
+     Example:
+
+          export BM_UPLOAD_S3_SECRET_KEY="lkj2341askj123sa"
+
+2.3.6.5. `BM_UPLOAD_S3_PURGE'
+-----------------------------
+
+     _Type: boolean, default: `true'_
+
+     You can choose to purge deprecated archives before uploading new ones.
+     This purge is done over S3 and uses the configuration key
+     `BM_ARCHIVE_TTL' in the same manner as the local purge behaves (the S3
+     purge is not recursive though).
+
+     Example:
+
+          export BM_UPLOAD_S3_PURGE="true"
+
+2.3.7. RSYNC uploads
+--------------------
+
+2.3.7.1. Description
+--------------------
+
+     You may want to upload some parts of your file system to some remote
+     hosts.  In these cases, archives are not needed, you just want to
+     synchronize some directories to remote places.  This is where the
+     RSYNC upload method is useful.
+
+     RSYNC uploads need a SSH user/key pair to behave correctly, thus there
+     is a dependency against the keys `BM_UPLOAD_SSH_USER' and
+     `BM_UPLOAD_SSH_KEY'.
+
+2.3.7.2. `BM_UPLOAD_RSYNC_DIRECTORIES'
+--------------------------------------
+
+     _Type: space-separated list_
+
+     Put here the list of local directories you want to upload with rsync.
+
+     Example:
+
+export BM_UPLOAD_RSYNC_DIRECTORIES="/data/photos /data/videos /data/mp3"
+
+2.3.7.3. `BM_UPLOAD_RSYNC_HOSTS'
+--------------------------------
+
+     _Type: space-separated list_
+
+     Put here the list of hosts to use for RSYNC-only uploads.  Note that
+     if you put some hosts in `BM_UPLOAD_HOSTS', they will be used as well.
+
+     Example:
+
+          export BM_UPLOAD_RSYNC_HOSTS="mirror5.lan.mysite.net"
+
+2.3.7.4. `BM_UPLOAD_RSYNC_DESTINATION'
+--------------------------------------
+
+     _Type: string_
+
+     Put here the destination for RSYNC-only uploads, this key overrides
+     `BM_UPLOAD_DESTINATION'.
+
+     Example:
+
+          export BM_UPLOAD_RSYNC_DESTINATION="/var/archives/rsync-snapshots"
+
+2.3.7.5. `BM_UPLOAD_RSYNC_DUMPSYMLINKS'
+---------------------------------------
+
+     _Type: boolean, default: `false'._
+
+     You can choose to dereference files pointed by symlinks in your RSYNC
+     snapshots.  This feature should be used with care.
+
+     Example:
+
+          export BM_UPLOAD_RSYNC_DUMPSYMLINKS="false"
+
+
+2.4. Exports
+------------
+
+     _Another way of storing your archives to a safe place is to use
+     external media._
+
+     In version 0.7.6, only CDs and DVDs are supported as external media,
+     so we will discuss in this section only the `BM_BURNING' features.
+     Other exports are expected to come in next versions though.
+
+2.4.1. Burning CDR/DVD media
+----------------------------
+
+     In the version 0.7.6, Backup Manager supports four different kinds of
+     media: CDR, CDRW and DVD+R(W) and DVD-R(W).
+
+2.4.1.1. `BM_BURNING_METHOD'
+----------------------------
+
+     Set the key `BM_BURNING_METHOD' to the method corresponding to the
+     media you want to burn:
+
+        * CDR
+
+        * CDRW
+
+        * DVD
+
+        * DVD-RW
+
+     In _non-interactive mode_ (when backup-manager is not lauchned from a
+     terminal), any of these methods will try to put the whole archive
+     repository in the media, if it does not fit in the media, it will try
+     to put only the archives built on the day, if that's not possible,
+     nothing will be burnt.
+
+     In _interactive mode_ (when backup-manager is launched from a
+     terminal), the whole repository will be burnt into as many media as
+     needed.  When a medium is satured with archives, backup-manager will
+     pause the process asking the user to put a new media inside.
+
+     The `CDRW' and `DVD-RW' methods will first blank the media, so you can
+     safely use these methods if you want to use the same medium several
+     times.
+
+     The `CDR' and `DVD' medthods won't blank the medium first (DVD+RW
+     media doesn't need blanking, it's possible to re-burn data on-the-fly
+     over such media)..
+
+     DVD media are handled by the tool `dvd+rw-tools', problems can occur
+     in CRON environment with `dvd+rw-tools' versions prior to `6.1', make
+     sure to have `6.1' or later if you want to burn DVD media with Backup
+     Manager.
+
+     As usual, you can put `none' in order to disable the burning process.
+
+     All those burning methods share the same configuration keys, so it's
+     easy to switch from a medium to another.
+
+2.4.1.2. `BM_BURNING_DEVICE'
+----------------------------
+
+     _Type: string, default: `/dev/cdrom'._
+
+     This is mandatory for using the burning feature, it's the device to
+     use for mounting the media.  It's needed by backup manager for
+     performing the MD5 checks and for other needs.
+
+     Example:
+
+          export BM_BURNING_DEVICE="/dev/cdrom"
+
+2.4.1.3. `BM_BURNING_DEVFORCED'
+-------------------------------
+
+     _Type: string_
+
+     Backup Manager uses `cdrecord' for burning CDs.  If when you run
+     `cdrecord -scanbus' you don't see your burning device, that means you
+     will have to force the device in ATA mode.  To tell Backup Manager to
+     do so, just put here the path to your device, and a switch will be
+     appended to the cdrecord commandline like the following : `cdrecrord
+     ...  dev=$BM_BURNING_DEVFORCED ...'.
+
+     Leave this configuration key blank if you see your device with
+     `cdrecord -scanbus', in this case, Backup Manager will use the default
+     cdrecord device for burning CDR media.
+
+     Example:
+
+          export BM_BURNING_DEVFORCED="/dev/cdrom"
+
+2.4.1.4. `BM_BURNING_ISO_FLAGS'
+-------------------------------
+
+     _Type: string, default: "-R -J"_
+
+     Media burned with Backup Manager will be made using a Joliet disc
+     image.  The flags defined in that variable will be appended to the
+     mkisofs command lines in order to specify wich media image to use.
+
+     The default value "-R -J" produces a Joliet image, if you want to make
+     non-Joliet disc images, you can change these flags.  Refer to the
+     manpage of mkisofs for details about possible disc images.
+
+     Don't change that variable if you don't know what you're doing.
+
+     Example:
+
+          export BM_BURNING_ISO_FLAGS="-R -J"
+
+2.4.1.5. `BM_BURNING_MAXSIZE'
+-----------------------------
+
+     _Type: integer, default: `700'._
+
+     This is where you define the maximum size (in megabytes) of the media
+     you will put in the device.  Here is the list of the common sizes:
+
+        * CDR/CDRW: 650, 700, 800
+
+        * DVD: 4700
+
+     When Backup Manager looks in the repository for burning data, it will
+     try to put the whole archive repository in the media.  If the
+     summarized size of the repository does not fit in
+     `BM_BURNING_MAXSIZE', Backup Manager will then try to put only the
+     archives of the day.
+
+     Example for a CD burner
+
+          export BM_BURNING_METHOD="CDRW"
+          export BM_BURNING_MAXSIZE="700"
+
+     Example for a DVD burner:
+
+          export BM_BURNING_METHOD="DVD"
+          export BM_BURNING_MAXSIZE="4700"
+
+2.4.1.6. `BM_BURNING_CHKMD5'
+----------------------------
+
+     _Type: boolean, default: `true'._
+
+     If this boolean is set to a true value, every MD5 sum will be checked
+     when the media is burned in order to make sure everything is ok.
+
+     Note that you can choose to perform this checkup with the command
+     switch `--md5check'.
+
+     Example:
+
+          exports BM_BURNING_CHKMD5="true"
+
+
+2.5. Advanced features
+----------------------
+
+     _A couple of advanced features are provided, they will be covered in
+     this section._
+
+2.5.1. Logging to syslog
+------------------------
+
+     If you want to log Backup Manager actions to syslog, you can enable
+     the internal logger, this is done with the configuration key
+     `BM_LOGGER'.  You are also able to choose which syslog facility to use
+     thanks to the key `BM_LOGGER_FACILITY'.
+
+2.5.1.1. `BM_LOGGER'
+--------------------
+
+     _Type: boolean, default: `true'._
+
+     If this boolean is set to true, Backup Manager will log everything to
+     syslog.
+
+     Example:
+
+          exports BM_LOGGER="true"
+
+2.5.1.2. `BM_LOGGER_FACILITY'
+-----------------------------
+
+     _Type: string, default: `user'._
+
+     You can specify here a syslog facility to use, this can be useful if
+     you like to filter messages from Backup Manager to a special syslog
+     file.
+
+     Example:
+
+          exports BM_LOGGER_FACILITY="cron"
+
+2.5.2. Writing external hooks
+-----------------------------
+
+     You have the availability to write your own hooks if you want to
+     automate some special beaviours within the Backup Manager process.
+     You may like to mount over NFS your archive repository _before_ the
+     backup session and unmount it after, or you may like to launch your
+     own uploader script when the backup session is finished.
+
+     In order to let you implement any solution you like, Backup Manager
+     provides two different hooks: the _pre-command_ and _post-command_
+     hooks.
+
+2.5.2.1. `BM_PRE_BACKUP_COMMAND'
+--------------------------------
+
+     _Type: string_
+
+     Put here the path to a program (or a shell command) to launch before
+     the backup session.  If the command fails (exits with non zero value,
+     or prints the keyword `false' on stdout) the backup session will stop.
+     If the pre-command succeeds, the process can follow.
+
+     Example with a basic shell command:
+
+export BM_PRE_BACKUP_COMMAND="mount -t nfs mirror.lan.net:/exports/backups /var/archives"
+
+     Example with a custom script:
+
+export BM_PRE_BACKUP_COMMAND="/usr/local/bin/backup-prepare.pl $TODAY"
+
+2.5.2.2. `BM_POST_BACKUP_COMMAND'
+---------------------------------
+
+     _Type: string_
+
+     Put here the path to a program (or a shell command) to launch after
+     the backup session.  If the command fails (exits with non zero value,
+     or prints the keyword `false' on stdout) Backup Manager will exit with
+     an error code (and will log to syslog the post-command failure if the
+     logger is enabled).
+
+     Example with a basic shell command:
+
+          export BM_POST_BACKUP_COMMAND="umount /var/archives"
+
+     Example with a custom script:
+
+export BM_POST_BACKUP_COMMAND="/usr/local/bin/backup-cleanup.pl $TODAY"
+
+
+-------------------------------------------------------------------------------
+
+
+3. Using Backup Manager
+-----------------------
+
+     _Now that you know in details how to write your configuration files,
+     let's see how to use Backup Manager._
+
+
+3.1. Command line
+-----------------
+
+3.1.1. Restrictions
+-------------------
+
+     In version 0.7.6, Backup Manager can only be used by `root', as it has
+     be designed as a systemwide tool.
+
+          $ backup-manager
+          backup-manager must be run as root.
+
+     If you want to launch it from the command line, you first have to use
+     the `root' account.
+
+          $ su
+          Password:
+          # backup-manager -h
+          /usr/sbin/backup-manager [options]
+          
+          Output:
+          --help|-h           : Print this short help message.
+          --verbose|-v        : Print what happens on STDOUT.
+          --no-warnings       : Disable warnings.
+          
+          Single actions:
+          --upload|-u         : Just upload the files of the day.
+          --burn|-b           : Just burn the files of the day.
+          --md5check|-m       : Just test the md5 sums.
+          --purge|-p          : Just purge old archives.
+          
+          Behaviour:
+          --conffile|-c file  : Choose an alternate config file.
+          --force|-f          : Force overwrite of existing archives.
+          
+          Unwanted actions:
+          --no-upload         : Disable the upload process.
+          --no-burn           : Disable the burning process.
+          --no-purge          : Disable the purge process.
+          ouranos:/home/sukria#
+
+     As you can see in the example above, using the `-h' switch (or
+     `--help') gives a short help message and prints all supported command
+     switches.  We will cover in this section each of them.
+
+3.1.2. Options
+--------------
+
+     The following switches can be used for altering Backup Manager's
+     behaviour.
+
+3.1.2.1. `--version'
+--------------------
+
+     Prints on stdout the Backup Manager version installed on the system
+     and exit.
+
+     Example:
+
+          # backup-manager --version
+          Backup Manager 0.6
+
+3.1.2.2. `--verbose' or `-v'
+----------------------------
+
+     Using this switch will enabled the verbose mode.  All actions are
+     reported on stdout.
+
+     Example:
+
+# backup-manager -v
+Getting lock for backup-manager 10605 with /etc/backup-manager.conf: ok
+Cleaning /var/archives
+Entering directory /var/archives/lost+found.
+[...]
+
+3.1.2.3. `--no-warnings'
+------------------------
+
+     When a non-critical problem occurs (an error occured but the backup
+     process can follow) Backup Manager will print a warning message (and
+     will log it if the logger is enabled).  If you don't want to see
+     warning messages, you can append this switch on the command line.
+
+3.1.2.4. `--conffile' or `-c'
+-----------------------------
+
+     Backup Manager relies on configuration files, by default, the file
+     `/etc/backup-manager.conf' is used but you can choose to run it with a
+     different one.  This is done by using the following syntax :
+
+          # backup-manager -c <FILE>
+
+     Note that Backup Manager is designed to work properly when launched in
+     parallel mode with different configuration files, but it will refuse
+     to run twice at the same time with the same configuration file.  You
+     can then safely do something like that:
+
+          # backup-manager -c /etc/backup-manager/backup-nfs.conf &
+          # backup-manager -c /etc/backup-manager/backup-homedirs.conf &
+          # backup-manager -c /etc/backup-manager/backup-rsync-filer.conf
+
+3.1.2.5. `--force'
+------------------
+
+     When building an archive, Backup Manager looks if the archive already
+     exists in the repository, if so, a warning is sent saying that the
+     archive exists.  If you want to bypass this warning and overwrite
+     archives, use this switch.
+
+3.1.2.6. `--upload' or `-u'
+---------------------------
+
+     If you have made a configuration file that enables the uploading
+     system, you can ask Backup Manager to perform the uploading session
+     instead of the whole process with this switch.
+
+3.1.2.7. `--burn' or `-b' [<DATE>]
+----------------------------------
+
+     If you have made a configuration file that enables the burning system,
+     you can ask Backup Manager to perform the burning session instead of
+     the whole process with this switch.
+
+     You can also ask Backup Manager to burn only archives of a given date
+     with providing a timestamp after the `--burn' switch.
+
+     Example:
+
+     Burning all the archives made on March, 12nd 2006:
+
+          # backup-manager --bnurn 20060312
+
+3.1.2.8. `--md5check' or `-m'
+-----------------------------
+
+     If you have made a configuration file that enables the MD5 checks on
+     burnt media, you can ask Backup Manager to perform the MD5 checks
+     instead of the whole process with this switch.
+
+3.1.2.9. `--purge' or `-p'
+--------------------------
+
+     This switch will as Backup Manager to just perform the archive
+     repository purge: removing any depreacted archives (according to
+     `BM_ARCHIVE_TTL'.
+
+3.1.2.10. `--no-upload' or `-p'
+-------------------------------
+
+     Use this switch if you have a configuration file that enables the
+     uploading system and want to run Backup Manager without it.
+
+3.1.2.11. `--no-burn'
+---------------------
+
+     Use this switch if you have a configuration file that enables the
+     burning system and want to run Backup Manager without it.
+
+3.1.2.12. `--no-purge' or `-p'
+------------------------------
+
+     Use this switch if you want to disable the purging phase.  This can be
+     useful if you like to implement another kind of purging system, with a
+     post-command hook for instance.
+
+
+3.2. CRON integration
+---------------------
+
+     There is a global idea behind Backup Manager's design: "_You won't do
+     it if you have to think about it_".  This is specifically true for
+     backup concerns and it is strongly adviced to automate your backup
+     process with a tasks scheduler like CRON.
+
+     Setting up a Backup Manager job in cron is pretty easy, you just have
+     to write a shell script under the appropriate CRON sub-directory that
+     will call backup-manager.  The best sub-directory to choose is
+     `/etc/cron.daily' as Backup Manager handles daily archives.
+
+     Here is an example of a CRON script:
+
+          cat > /etc/cron.daily/backup-manager
+          #!/bin/sh
+          
+          /usr/sbin/backup-manager
+
+     If you want to be notified by mail if a problem occurs during the
+     backup session, just make sure you receive mails coming from CRON.
+     When the verbose mode is off, only warnings and errors are printed on
+     stdout, so you will receive a mail from the Backup Manager CRON job
+     only in case of unexpected effects.
+
+     On the other hand, if you like to receive daily mails from the job,
+     even if everything went well, just append the --verbose switch like
+     that :
+
+          cat > /etc/cron.daily/backup-manager
+          #!/bin/sh
+          
+          /usr/sbin/backup-manager --verbose
+
+
+-------------------------------------------------------------------------------
+
+
+     Backup Manager 0.7.6 User Guide
+
+     Alexis Sukrieh
+
+
+     1.6 - 08 Sept, 2006
+

Modified: trunk/lib/actions.sh
===================================================================
--- trunk/lib/actions.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/lib/actions.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005 The Backup Manager Authors
+# Copyright © 2005-2006 Alexis Sukrieh
 #
 # See the AUTHORS file for details.
 #
@@ -16,13 +16,15 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-# * * *
-# Every kind of actions that are not covered by -methods.sh libraries.
-# * * * 
+#
+# Main wrapper
+#
 
 # Loop on the backup methods
-make_archives()
+function make_archives()
 {
+    debug "make_archives()"
+
     for method in $BM_ARCHIVE_METHOD
     do      
         case $method in
@@ -59,8 +61,10 @@
 }
 
 # Loop on the upload methods
-upload_files ()
+function upload_files ()
 {
+    debug "upload_files()"
+
     for method in $BM_UPLOAD_METHOD
     do            
         case $method in
@@ -94,8 +98,10 @@
 
 # This will parse all the files contained in BM_REPOSITORY_ROOT
 # and will clean them up. Using clean_directory() and clean_file().
-clean_repositories()
+function clean_repositories()
 {
+    debug "clean_repositories"
+
     info "Cleaning \$BM_REPOSITORY_ROOT"
     clean_directory $BM_REPOSITORY_ROOT
 }
@@ -104,8 +110,10 @@
 # This will run the pre-command given.
 # If this command prints on STDOUT "false", 
 # backup-manager will stop here.
-exec_pre_command()
+function exec_pre_command()
 {
+    debug "exec_pre_command()"
+
     if [ ! -z "$BM_PRE_BACKUP_COMMAND" ]; then
         info "Running pre-command: \$BM_PRE_BACKUP_COMMAND."
         RET=`$BM_PRE_BACKUP_COMMAND` || RET="false" 
@@ -123,8 +131,10 @@
 
 }
 
-exec_post_command()
+function exec_post_command()
 {
+    debug "exec_post_command()"
+
     if [ ! -z "$BM_POST_BACKUP_COMMAND" ]; then
         info "Running post-command: \$BM_POST_BACKUP_COMMAND"
         RET=`$BM_POST_BACKUP_COMMAND` || RET="false"
@@ -143,31 +153,35 @@
 
 function bm_init_env ()
 {
+    debug "bm_init_env()"
     export TOOMUCH_TIME_AGO=`date +%d --date "$BM_ARCHIVE_TTL days ago"`
     check_logger
 }
 
 function bm_init_today()
 {
+    debug "bm_init_today()"
     export TODAY=`date +%Y%m%d`                  
 }
 
 # be sure that zip is supported.
-check_filetypes()
+function check_filetypes()
 {
+    debug "check_filetypes()"
+
 	case "$BM_TARBALL_FILETYPE" in
 		"zip")
-			if [ ! -x $zip ]; then
+			if [ ! -x "$zip" ]; then
 				error "The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
 			fi
 		;;
 		"tar.bz2" )
-			if [ ! -x $bzip ]; then
+			if [ ! -x "$bzip" ]; then
 				error "The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not installed."
 			fi
 		;;
 		"dar" )
-			if [ ! -x $dar ]; then
+			if [ ! -x "$dar" ]; then
 				error "The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
 			fi
 		;;
@@ -176,6 +190,8 @@
 
 function create_directories()
 {
+    debug "create_directories()"
+
 	if [ ! -d $BM_REPOSITORY_ROOT ]
 	then
 		info "The repository \$BM_REPOSITORY_ROOT does not exist, creating it."
@@ -191,4 +207,3 @@
 }
 
 
-

Modified: trunk/lib/backup-methods.sh
===================================================================
--- trunk/lib/backup-methods.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/lib/backup-methods.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -24,7 +24,14 @@
 	file_to_create="$1"
     size=$(size_of_path $file_to_create)
     str=$(echo_translated "\$file_to_create: ok (\${size}M,")
+    debug "commit_archive ($file_to_create)"
 
+    # The archive is ok, we can drop the "pending" stuff
+    debug "rm -f ${bm_pending_incremental_list}.orig"
+    rm -f "${bm_pending_incremental_list}.orig"
+    bm_pending_incremental_list=""
+    bm_pending_archive=""
+
     base=$(basename $file_to_create)
     md5hash=$(get_md5sum $file_to_create)
     if [ "$verbose" = "true" ]; then
@@ -55,9 +62,41 @@
     fi
 }
 
+# this is the callback wich is run when backup-manager
+# is stopped with a signal like SIGTERM or SIGKILL
+# We have to take care of the incomplete builds, in order to leave a repository with 
+# only trustable archives and friends.
+function clean_exit()
+{
+	echo ""
+	warning "Warning, process interrupted."
+    if [ -n "$bm_pending_archive" ] && [ -e "$bm_pending_archive" ]; then
+        
+        # remove the archive that is being built (it's incomplete)
+        warning "Removing archive \"\$bm_pending_archive\" (build interrupted)."
+        rm -f $bm_pending_archive
+    
+        # if we're building incremental stuff, restore the original incremental list file
+        if [ -n "$bm_pending_incremental_list" ]; then
+            if [ -e "${bm_pending_incremental_list}.orig" ]; then
+                warning "Restoring incremental-building details list: \"\$bm_pending_incremental_list\"."
+                rm -f $bm_pending_incremental_list
+                mv "${bm_pending_incremental_list}.orig" $bm_pending_incremental_list
+            else
+                warning "Removing incremental-building details list: \"$bm_pending_incremental_list\"."
+                rm -f $bm_pending_incremental_list
+            fi
+        fi            
+    fi
+	release_lock
+    exit 70
+}
+
 function commit_archives()
 {    
 	file_to_create="$1"
+    debug "commit_archives ($file_to_create)"
+
     if [ "$BM_TARBALL_FILETYPE" = "dar" ]; then
         for dar_file in $file_to_create.*.dar
         do
@@ -72,6 +111,7 @@
 {
 	target="$1"
 	logfile="$2"
+    debug "handle_tarball_error ($target, $logfile)"
 
 	warning "Unable to create \"\$target\", check \$logfile"
 	nb_err=$(($nb_err + 1))
@@ -82,6 +122,7 @@
     command="$1"
     file_to_create="$2"
     compress="$3"
+    debug "__exec_meta_command ($command, $file_to_create, $compress)"
 
     if [ -f $file_to_create ] && [ $force != true ] 
     
@@ -92,40 +133,60 @@
         logfile=$(mktemp /tmp/bm-command.XXXXXX)
 
         case "$compress" in
-        "gzip"|"gz")
-            if [ -x $gzip ]; then
-                # we cannot pipe the command to gzip here, or $? will _always_ be 0... 
-                $command 2>$logfile > $file_to_create
-                if [ $? -gt 0 ]; then
-                    warning "Unable to exec \$command; check \$logfile"
-                    rm -f $file_to_create
+        "gzip"|"gz"|"bzip"|"bzip2")
+            if [ "$compress" = "gzip" ] || 
+               [ "$compress" = "gz" ]; then
+               compress_bin=$gzip
+                if [ -z "$compress_bin" ]; then
+                    error "gzip is not installed but gzip compression needed."
+                fi
+               ext="gz"
+            fi
+            if [ "$compress" = "bzip2" ] || 
+               [ "$compress" = "bzip" ]; then
+               compress_bin=$bzip
+                if [ -z "$compress_bin" ]; then
+                    error "bzip2 is not installed but bzip2 compression needed."
+                fi
+               ext="bz2"
+            fi
+
+            if [ -n "$compress_bin" ] && [ -x "$compress_bin" ]; then
+                debug "$command > $file_to_create 2> $logfile"
+                tail_logfile "$logfile"
+                if [ "$BM_ENCRYPTION_METHOD" = "gpg" ]; then
+                    $command 2>$logfile | $compress_bin -f -q -9 2>$logfile | $gpg -r "$BM_ENCRYPTION_RECIPIENT" -e > $file_to_create.$ext.gpg 2> $logfile
+                    debug "$command | $compress_bin -f -q -9 | $gpg -r \"$BM_ENCRYPTION_RECIPIENT\" -e > $file_to_create.$ext.gpg 2> $logfile"
+                    file_to_create="$file_to_create.$ext.gpg"
                 else
-                    rm -f $logfile
-                    $gzip -f -q -9 "$file_to_create"
-                    file_to_create="$file_to_create.gz"
+                    $command 2> $logfile | $compress_bin -f -q -9 > $file_to_create.$ext 2> $logfile
+                    file_to_create="$file_to_create.$ext"
                 fi
-            else
-                error "Compressor \$compress requires \$gzip."
-            fi
-        ;;
-        "bzip"|"bzip2")
-            if [ -x $bzip ]; then
-                # we cannot pipe the command to gzip here, or $? will _always_ be 0... 
-                $command 2>$logfile > $file_to_create
+
                 if [ $? -gt 0 ]; then
                     warning "Unable to exec \$command; check \$logfile"
                     rm -f $file_to_create
                 else
                     rm -f $logfile
-                    $bzip -f -q -9 "$file_to_create"
-                    file_to_create="$file_to_create.bz2"
                 fi
             else
-                error "Compressor \$compress requires \$bzip."
+                error "Compressor \$compress is needed."
             fi
         ;;
         ""|"uncompressed"|"none")
-            $command 1> $file_to_create 2>$logfile
+            if [ "$verbosedebug" == "true" ]; then
+                tail -f $logfile &
+            fi
+
+            debug "$command 1> $file_to_create 2>$logfile"
+            tail_logfile "$logfile"
+            if [ "$BM_ENCRYPTION_METHOD" = "gpg" ]; then
+                $command | $gpg -r "$BM_ENCRYPTION_RECIPIENT" -e > $file_to_create.gpg 2> $logfile
+                file_to_create="$file_to_create.gpg"
+            else
+                $command 1> $file_to_create 2>$logfile
+            fi
+            
             if [ $? -gt 0 ]; then
                 warning "Unable to exec \$command; check \$logfile"
                 rm -f $file_to_create
@@ -148,6 +209,8 @@
 
 function __create_file_with_meta_command()
 {
+    debug "__create_file_with_meta_command ()"
+
     __exec_meta_command "$command" "$file_to_create" "$compress"
     file_to_create="$BM_RET"
     if [ -n "$BM_RET" ]; then
@@ -162,6 +225,7 @@
 {
     switch="$1"
     target="$2"
+    debug "__get_flags_relative_blacklist ($switch, $target)"
 
     target=${target%/}
     blacklist=""
@@ -194,18 +258,24 @@
 function __get_flags_dar_blacklist()
 {
     target="$1"
+    debug "__get_flags_dar_blacklist ($target)"
+
     __get_flags_relative_blacklist "-P" "$target"
 }
 
 function __get_flags_tar_blacklist()
 {
     target="$1"
+    debug "__get_flags_tar_blacklist ($target)"
+
     __get_flags_relative_blacklist "--exclude=" "$target"
 }
 
 
 function __get_flags_zip_dump_symlinks()
 {
+    debug "__get_flags_zip_dump_symlinks"
+
     export ZIP="" 
     export ZIPOPT="" 
 	y="-y"
@@ -217,6 +287,8 @@
 
 function __get_flags_tar_dump_symlinks()
 {
+    debug "__get_flags_tar_dump_symlinks"
+
 	h=""
 	if [ "$BM_TARBALL_DUMPSYMLINKS" = "true" ]; then
 		h="-h "
@@ -227,6 +299,8 @@
 function __get_file_to_create()
 {
     target="$1"
+    debug "__get_file_to_create ($target)"
+
     dir_name=$(get_dir_name "$target" $BM_TARBALL_NAMEFORMAT)
     file_to_create="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$TODAY${master}.$BM_TARBALL_FILETYPE"
     
@@ -241,6 +315,7 @@
 {
     target="$1"
     host="$2"
+    debug "__get_file_to_create_remote ($target, $host)"
     
     dir_name=$(get_dir_name "$target" $BM_TARBALL_NAMEFORMAT)
     file_to_create="$BM_REPOSITORY_ROOT/${host}${dir_name}.$TODAY${master}.$BM_TARBALL_FILETYPE"
@@ -250,6 +325,8 @@
 
 function __get_master_day()
 {
+    debug "__get_master_day ()"
+
     if [ -z "$BM_TARBALLINC_MASTERDATETYPE" ]; then
         error "No frequency given, set BM_TARBALLINC_MASTERDATETYPE."
     fi
@@ -269,6 +346,8 @@
 
 function __init_masterdatevalue()
 {
+    debug "__init_masterdatevalue ()"
+
     if [ -z "$BM_TARBALLINC_MASTERDATEVALUE" ]; then
         BM_TARBALLINC_MASTERDATEVALUE="1"
     fi
@@ -277,8 +356,15 @@
 function __get_flags_tar_incremental()
 {
     dir_name="$1"
-    incremental_list="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.incremental-list.txt"
-    
+    debug "__get_flags_tar_incremental ($dir_name)"
+
+    incremental_list="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.incremental.bin"
+    bm_pending_incremental_list="$incremental_list"
+    if [ -e "${incremental_list}" ]; then
+        debug "cp $incremental_list ${incremental_list}.orig"
+        cp $incremental_list "${incremental_list}.orig"
+    fi
+
     incremental=""
     __get_master_day
     __init_masterdatevalue
@@ -299,33 +385,42 @@
 function __get_flags_dar_incremental()
 {
     dir_name="$1"
+    debug "__get_flags_dar_incremental ($dir_name)"
+
     incremental=""
     
     __get_master_day
     __init_masterdatevalue
+
+    # looking for the youngest last DAR backup available 
+    for pastdays in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
+    do
+        lastday=$(date +'%Y%m%d' --date "$pastdays days ago")
+        lastday_dar="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$lastday.dar"
+        lastday_dar_first_slice="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$lastday.1.dar"
+        lastday_dar_master="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$lastday.master.dar"
+        lastday_dar_master_first_slice="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$lastday.master.1.dar"
+
+        if [ -e $lastday_dar ] || [ -e $lastday_dar_first_slice ] ; then
+            # we have found a previous dar backup, this one will be used as a reference
+            # if needed.
+            break
+        fi
+    done        
     
-    yesterday=$(date +'%Y%m%d' --date '1 days ago')
-    
-    yesterday_dar="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$yesterday.dar"
-    yesterday_dar_first_slice="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$yesterday.1.dar"
-    
-    yesterday_dar_master="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$yesterday.master.dar"
-    yesterday_dar_master_first_slice="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$yesterday.master.1.dar"
-    
     # If we aren't the "full backup" day, we take the previous backup as 
     # a reference for the incremental stuff.
     # We have to find the previous backup for that...
     if [ "$master_day" != "$BM_TARBALLINC_MASTERDATEVALUE" ] ; then
         
-        # Either we have a master backup made yesterday...
-    	if [ -e $yesterday_dar_master ] || 
-           [ -e $yesterday_dar_master_first_slice ] ; then
-            incremental="--ref $BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$yesterday.master"
+        # Either we have a master backup made lastday...
+    	if [ -e $lastday_dar_master ] || 
+           [ -e $lastday_dar_master_first_slice ] ; then
+            incremental="--ref $BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$lastday.master"
     
-        # ... Or we have an incremental backup made yesterday
-        elif [ -e $yesterday_dar ] || 
-             [ -e $yesterday_dar_first_slice ] ; then
-            incremental="--ref $BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$yesterday"
+        # ... Or we have an incremental backup made lastday
+        elif [ -e $lastday_dar ] || [ -e $lastday_dar_first_slice ] ; then
+            incremental="--ref $BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX$dir_name.$lastday"
         fi
         
         # if we use some --ref then, it's not a master but an incremental backup.
@@ -337,6 +432,8 @@
 
 function __get_flags_dar_maxsize()
 {
+    debug "__get_flags_dar_maxsize ()"
+
     if [ -n "$BM_TARBALL_SLICESIZE" ]; then
         maxsize="--alter=SI -s $BM_TARBALL_SLICESIZE"
     fi
@@ -345,6 +442,8 @@
 
 function __get_flags_dar_overwrite()
 {
+    debug "__get_flags_dar_overwrite"
+    
 	if [ $force = true ] ; then
 		overwrite="-w"
 	fi
@@ -356,6 +455,8 @@
 # in the current shape...
 function __get_backup_tarball_remote_command()
 {
+    debug "__get_backup_tarball_remote_command ()"
+
     oldgzip="$GZIP"
     export GZIP="-n"
     case $BM_TARBALL_FILETYPE in
@@ -380,8 +481,45 @@
     
 }
 
+# This function will take care of changing the behaviour of BM
+# regarding the error code given
+# 0 is a success case (remove the logfile and commit the archive).
+# 1 is a warning case (don't remove the logfile but commit the archive).
+# >1 is an error code (don't remove the logile, don't commit the archive).
+function check_error_code()
+{
+    error_code="$1"
+    file_to_create="$2"
+    logfile="$3"
+
+    if [ -z "$error_code" ]; then
+        error_code=0
+    fi
+
+    # looks like a warning, if the file exists, it's a warning,
+    # otherwise it's an error
+    if [ "$error_code" == "1" ]; then
+        if [ -f "$file_to_create" ]; then
+            warning "The archive command returned 1 but the archive has been created; check \"\$logfile\"."
+            commit_archives "$file_to_create"
+        else
+            handle_tarball_error "$file_to_create" "$logfile"
+        fi
+    # an error code greater than 1 occured : fatal error
+    elif [ "$error_code" -gt 0 ]; then
+        handle_tarball_error "$file_to_create" "$logfile"
+
+    # error code of 0, success.
+    else
+        rm -f $logfile
+        commit_archives "$file_to_create"
+    fi
+}
+
 function __get_backup_tarball_command()
 {
+    debug "__get_backup_tarball_command ()"
+
     case $BM_TARBALL_FILETYPE in
         tar) 
             __get_flags_tar_blacklist "$target"
@@ -428,47 +566,51 @@
 
 function build_clear_archive
 {
+    debug "build_clear_archive ()"
+    
     logfile=$(mktemp /tmp/bm-tarball.log.XXXXXX)
+    debug "logfile: $logfile"
 
     # A couple of archive types have a special command line
     case "$BM_TARBALL_FILETYPE" in 
 
         # lzma archives should be piped manually
         "tar.lz")
-            $tar $incremental $blacklist $dumpsymlinks $BM_TARBALL_EXTRA_OPTIONS -p -c -f - $target 2>>$logfile | $lzma -si e $file_to_create 2>>$logfile
-            if [ $? -gt 0 ]; then
-                handle_tarball_error "$file_to_create" "$logfile"
-            else
-                rm -f $logfile
-                commit_archives "$file_to_create"
+            if [ "$verbosedebug" == "true" ]; then
+                tail -f $logfile &
             fi
+            
+            debug "$tar $incremental $blacklist $dumpsymlinks $BM_TARBALL_EXTRA_OPTIONS -p -c -f - $target 2>>$logfile | $lzma -si e $file_to_create 2>>$logfile"
+            tail_logfile "$logfile"
+            $tar $incremental $blacklist $dumpsymlinks $BM_TARBALL_EXTRA_OPTIONS -p -c -f - $target 2>>$logfile | $lzma -si e $file_to_create 2>>$logfile || error_code=$?
+            check_error_code "$error_code" "$file_to_create" "$logfile"
         ;;
         
         # dar has a special commandline, that cannot fit the common tar way
         "dar")
-            if ! `$command "$target"> $logfile 2>&1`; then
-                handle_tarball_error "$file_to_create" "$logfile"
-            else
-                rm -f $logfile
-                commit_archives "$file_to_create"
-            fi
+            debug "$command $target> $logfile 2>&1"
+            tail_logfile "$logfile"
+
+            $command "$target"> $logfile 2>&1 || error_code=$?
+            check_error_code "$error_code" "$file_to_create" "$logfile"
         ;;
 
         # the common commandline
         *)
-            if ! `$command $file_to_create "$target"> $logfile 2>&1`; then
-                handle_tarball_error "$file_to_create" "$logfile"
-            else
-                rm -f $logfile
-                commit_archives "$file_to_create"
-            fi
+            debug "$command $file_to_create \"$target\"> $logfile 2>&1"
+            tail_logfile "$logfile"
+            $command $file_to_create "$target"> $logfile 2>&1 || error_code=$?
+            check_error_code "$error_code" "$file_to_create" "$logfile"
         ;;
     esac
 }
 
+
 function build_encrypted_archive
 {
+    debug "build_encrypted_archive"
     logfile=$(mktemp /tmp/bm-tarball.log.XXXXXX)
+    debug "logfile: $logfile"
 
     if [ -z "$BM_ENCRYPTION_RECIPIENT" ]; then
         error "The configuration variable \"BM_ENCRYPTION_RECIPIENT\" must be defined."
@@ -481,18 +623,19 @@
     fi
 
     file_to_create="$file_to_create.gpg"
-    if ! `$command - "$target" 2>>$logfile | $gpg -r "$BM_ENCRYPTION_RECIPIENT" -e > $file_to_create 2>> $logfile`; then
-        handle_tarball_error "$file_to_create" "$logfile"
-    else
-        rm -f $logfile
-        commit_archives "$file_to_create"
-    fi
+    
+    debug "$command - \"$target\" 2>>$logfile | $gpg -r \"$BM_ENCRYPTION_RECIPIENT\" -e > $file_to_create 2>> $logfile"
+    tail_logfile "$logfile"
+
+    $command - "$target" 2>>$logfile | $gpg -r "$BM_ENCRYPTION_RECIPIENT" -e > $file_to_create 2>> $logfile || error_code=$?
+    check_error_code "$error_code" "$file_to_create" "$logfile"
 }
 
 function __build_local_archive()
 {
     target="$1"
     dir_name="$2"
+    debug "__build_local_archive ($target, $dir_name)"
     
     file_to_create=$(__get_file_to_create "$target")
     command="$(__get_backup_tarball_command)" || 
@@ -505,18 +648,27 @@
         file_to_check="$file_to_create"
     fi
 
+    if [ "$BM_ENCRYPTION_METHOD" = "gpg" ]; then
+        file_to_check="$file_to_check.gpg"
+    fi
+
+
     # let's exec the command
-    if [ ! -e $file_to_check ] || [ $force = true ]; then
+    if [ ! -e "$file_to_check" ] || [ "$force" = "true" ]; then
         if [ "$BM_ENCRYPTION_METHOD" = "gpg" ]; then
             if [ ! -x $gpg ]; then
                 error "The program \"\$gpg\" is needed."
             fi
+            bm_pending_archive="${file_to_check}"
             build_encrypted_archive
         else
+            bm_pending_archive="${file_to_check}"
             build_clear_archive
         fi
     else
         warning "File \$file_to_check already exists, skipping."
+        debug "rm -f ${bm_pending_incremental_list}.orig"
+        rm -f "${bm_pending_incremental_list}.orig"
         continue
     fi
 }
@@ -525,6 +677,7 @@
 {
     target="$1"
     dir_name="$2"
+    debug "__build_remote_archive ($target, $dir_name)"
     
     for host in $BM_UPLOAD_SSH_HOSTS
     do
@@ -540,13 +693,11 @@
         if [ ! -e $file_to_check ] || [ $force = true ]; then
              
             logfile=$(mktemp /tmp/bm-tarball.log.XXXXXX)
-            $remote_command > "$file_to_create" 2>$logfile
-            if [ $? -gt 0 ]; then
-                handle_tarball_error "$file_to_create" "$logfile"
-            else
-                rm -f $logfile
-                commit_archives "$file_to_create"
-            fi
+
+            debug "$remote_command > $file_to_create 2>$logfile"
+            tail_logfile "$logfile"
+            $remote_command > "$file_to_create" 2>$logfile || error_code=$?
+            check_error_code "$error_code" "$file_to_create" "$logfile"
         else
             warning "File \$file_to_check already exists, skipping."
             continue
@@ -557,6 +708,8 @@
 function __make_remote_tarball_token
 {
     t="$1"
+    debug "__make_remote_tarball_token ($t)"
+
     dir_name=$(get_dir_name "$t" $BM_TARBALL_NAMEFORMAT)
     master=".master"
     __build_remote_archive "$t" "$dir_name"
@@ -565,6 +718,7 @@
 function __make_local_tarball_token
 {
     t="$1"
+    debug "__make_local_tarball_token ($t)"
 
     if [ ! -e "$t" ] || [ ! -r "$t" ]; then
         # first be sure the target exists
@@ -598,6 +752,8 @@
 
 function __make_remote_tarball_archives()
 {
+    debug "__make_remote_tarball_archives"
+
     nb_err=0
     for target in "${BM_TARBALL_TARGETS[@]}"
     do
@@ -610,6 +766,8 @@
 
 function __make_local_tarball_archives()
 {
+    debug "__make_local_tarball_archives"
+
     nb_err=0
     for target in "${BM_TARBALL_TARGETS[@]}"
     do
@@ -637,6 +795,8 @@
 function backup_method_tarball()
 {
     method="$1"
+    debug "backup_method_tarball ($method)"
+
 	info "Using method \"\$method\"."
 	
     # build the command line
@@ -660,16 +820,20 @@
     fi
 	
     # Handle errors
+    # since version 0.8, BM's follows up its process even if errors were triggered 
+    # during the archive generation.
 	if [ $nb_err -eq 1 ]; then
-		error "1 error occurred during the tarball generation."
+		warning "1 error occurred during the tarball generation."
 	elif [ $nb_err -gt 1 ]; then
-        error "\$nb_err errors occurred during the tarball generation."
+        warning "\$nb_err errors occurred during the tarball generation."
     fi
 }
 
 function backup_method_mysql()
 {
     method="$1"
+    debug "backup_method_mysql ($method)"
+
 	info "Using method \"\$method\"."
 	if [ ! -x $mysqldump ]; then
 		error "The \"mysql\" method is chosen, but \$mysqldump is not found."
@@ -680,7 +844,21 @@
         opt="--opt"
     fi
     
-    base_command="$mysqldump $opt -u$BM_MYSQL_ADMINLOGIN -p$BM_MYSQL_ADMINPASS -h$BM_MYSQL_HOST -P$BM_MYSQL_PORT"
+    # if a MySQL Client conffile exists, the password must be inside
+    if [ -f "$HOME/.my.cnf" ]; then
+        info "Using existing MySQL client configuration file: \$HOME/.my.cnf"
+    # we create a default one, just with the password
+    else
+        if [ -z "$BM_MYSQL_ADMINPASS" ]; then
+            error "You have to set BM_MYSQL_ADMINPASS in order to use the mysql method."
+        fi
+        warning "Creating a default MySQL client configuration file: \$HOME/.my.cnf"
+        echo "[client]" > $HOME/.my.cnf 
+        echo "# The following password will be sent to all standard MySQL clients" >> $HOME/.my.cnf 
+        echo "password=\"$BM_MYSQL_ADMINPASS\"" >> $HOME/.my.cnf
+        chmod 600 $HOME/.my.cnf
+    fi
+    base_command="$mysqldump $opt -u$BM_MYSQL_ADMINLOGIN -h$BM_MYSQL_HOST -P$BM_MYSQL_PORT"
     compress="$BM_MYSQL_FILETYPE"	
 
     for database in $BM_MYSQL_DATABASES
@@ -699,6 +877,8 @@
 function backup_method_svn()
 {
     method="$1"
+    debug "backup_method_svn ($method)"
+
     info "Using method \"\$method\"."
     if [ ! -x $svnadmin ]; then
         error "The \"svn\" method is chosen, but \$svnadmin is not found."
@@ -721,6 +901,8 @@
 function backup_method_pipe()
 {
     method="$1"
+    debug "backup_method_pipe ($method)"
+
     info "Using method \"\$method\"."
     index=0
 

Modified: trunk/lib/burning-methods.sh
===================================================================
--- trunk/lib/burning-methods.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/lib/burning-methods.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2006 The Backup Manager Authors
+# Copyright © 2005-2006 Alexis Sukrieh
 #
 # See the AUTHORS file for details.
 #
@@ -16,20 +16,20 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
-# * * *
+
 #
-# Burning related functions. Every burning method is implemented there.
+# CD/DVD discs burning features
 #
-# * * *
 
 
 function bm_safe_unmount
 {
     device="$1"
+    debug "bm_safe_unmount($device)"
+
     realdevice=$(ls -l $device | awk '{print $10}')
     if [ -n "$realdevice" ]; then
         device="$realdevice"
-        __debug "device : $realdevice"
     fi
 
     for m in `grep $device /etc/mtab 2>/dev/null| awk '{print $2}'`
@@ -44,10 +44,11 @@
 # This will get all the md5 sums of the day,
 # mount the BM_BURNING_DEVICE on /tmp/device and check 
 # that the files are correct with md5 tests.
-check_cdrom_md5_sums()
+function check_cdrom_md5_sums()
 {
+    debug "check_cdrom_md5_sums()"
+
     has_error=0
-
     if [ -z $BM_BURNING_DEVICE ]; then
         error "MD5 checkup is only performed on disks. Please set the BM_BURNING_DEVICE in \$conffile"
     fi
@@ -137,8 +138,10 @@
 # Two cases are possible:
 # - non-interactive mode: will try to burn data on a signle disc
 # - interactive mode : will ask for next disc if needed.
-burn_files()
+function burn_files()
 {
+    debug "burn_files()"
+
     if [ "$BM_BURNING_METHOD" = "none" ] || 
        [ -z "$BM_BURNING_METHOD" ]; then
         info "No burning method used."
@@ -148,8 +151,10 @@
     # Choose which mode to use (interactive or not)
     # according to the standard input
     if tty -s ; then 
+        debug "tty detected, using the interactive mode"
         burn_files_interactive
     else
+        debug "no tty detected, non-interactive mode"
         burn_files_non_interactive
     fi
 }
@@ -157,6 +162,8 @@
 function find_what_to_burn()
 {
     source="$1"
+    debug "find_what_to_burn($source)"
+    
     what_to_burn=""
 
     nb_file=$(ls -l $source 2>/dev/null | wc -l)
@@ -177,6 +184,8 @@
 # This has to do something without any interactive input.
 function burn_files_non_interactive()
 {
+    debug "burn_files_non_interactive()"
+
     # find what to burn according to the size...
     what_to_burn=""
     size=$(size_of_path "$BM_REPOSITORY_ROOT")
@@ -211,6 +220,8 @@
 # (anyway, we rely on this assertion, this should be documented).
 function burn_files_interactive()
 {
+    debug "burn_files_interactive()"
+
     purge_indexes
  	if [ ! -z "${BM__BURNING_DATE}" ] ; then
 		info "Burning archives of \$BM__BURNING_DATE."
@@ -233,6 +244,7 @@
     what_to_burn="$1"
     session_number="$2"
     number_of_indexes="$3"
+    debug "burn_session($what_to_burn, $session_number, $number_of_indexes)"
 
     # Since version 0.7.5 disc-image can be non-joliet.
     # This is handled by $BM_BURNING_ISO_FLAGS, let's default that 
@@ -269,6 +281,8 @@
             fi
             
             info "Exporting archives to the DVD+R(W) disc in \$BM_BURNING_DEVICE."
+            debug "$growisofs -use-the-force-luke=tty -Z ${BM_BURNING_DEVICE} ${BM_BURNING_ISO_FLAGS} -V \"${title}\" ${what_to_burn} >> ${logfile}"
+            tail_logfile $logfile
             $growisofs -use-the-force-luke=tty -Z ${BM_BURNING_DEVICE} ${BM_BURNING_ISO_FLAGS} -V "${title}" ${what_to_burn} >> ${logfile} 2>&1 ||
                 error "failed, check \$logfile"
         ;;
@@ -282,10 +296,13 @@
             fi
             
             info "Blanking the DVD-R(W) disc in \$BM_BURNING_DEVICE"
+            debug "$dvdrwformat -blank $BM_BURNING_DEVICE > $logfile"
+            tail_logfile $logfile
             $dvdrwformat -blank $BM_BURNING_DEVICE > $logfile 2>&1 || 
                 error "Unable to blank the DVD-R(W) disc (check \$logfile)."
             
             info "Exporting archives to the DVD-R(W) disc in \$BM_BURNING_DEVICE."
+            debug "$growisofs -use-the-force-luke=tty -Z ${BM_BURNING_DEVICE} ${BM_BURNING_ISO_FLAGS} -V \"${title}\" ${what_to_burn} >> ${logfile}"
             $growisofs -use-the-force-luke=tty -Z ${BM_BURNING_DEVICE} ${BM_BURNING_ISO_FLAGS} -V "${title}" ${what_to_burn} >> ${logfile} 2>&1 ||
                 error "failed, check \$logfile"
         ;;
@@ -296,10 +313,13 @@
             fi
                         
             info "Blanking the CDRW in \$BM_BURNING_DEVICE."
+            debug "${cdrecord} -tao $devforced blank=fast > ${logfile}"
+            tail_logfile $logfile
             ${cdrecord} -tao $devforced blank=fast > ${logfile} 2>&1 ||
                 error "failed, check \$logfile"
             
             info "Burning data to \$BM_BURNING_DEVICE."
+            debug "${mkisofs} -V \"${title}\" -q ${BM_BURNING_ISO_FLAGS} ${what_to_burn} | ${cdrecord} -tao $devforced - > ${logfile}"
             ${mkisofs} -V "${title}" -q ${BM_BURNING_ISO_FLAGS} ${what_to_burn} | \
             ${cdrecord} -tao $devforced - > ${logfile} 2>&1 ||
                 error "failed, check \$logfile"
@@ -311,6 +331,8 @@
             fi
 
             info "Burning data to \$BM_BURNING_DEVICE."
+            debug "${mkisofs} -V \"${title}\" -q ${BM_BURNING_ISO_FLAGS} ${what_to_burn} | ${cdrecord} -tao $devforced - > ${logfile}"
+            tail_logfile $logfile
             ${mkisofs} -V "${title}" -q ${BM_BURNING_ISO_FLAGS} ${what_to_burn} | \
             ${cdrecord} -tao $devforced - > ${logfile} 2>&1 ||
                 error "failed, check \$logfile"
@@ -336,12 +358,15 @@
 
 function purge_indexes()
 {
+    debug "purge_indexes()"
+
     index_prefix=$(get_index_prefix)
 	rm -f ${index_prefix}*
 }
 
 function get_index_prefix()
 {
+    debug "get_index_prefix()"
 	index_prefix="$BM_REPOSITORY_ROOT/index-${BM__BURNING_DATE}"
     echo "$index_prefix"
 }
@@ -352,6 +377,7 @@
 function __build_indexes_from_target()
 {
 	target="$1"
+    debug "__build_indexes_from_target ($target)"
 
     indexes=""
 	medium_index=""
@@ -367,6 +393,9 @@
 	# When a medium is full, we create a new one.
 	for file in ${target}
 	do
+        if [ ! -f $file ]; then
+            continue
+        fi
 		size_of_file=$(size_of_path "$file")
 
 		if [ $size_of_file -gt $BM_BURNING_MAXSIZE ] ; then
@@ -384,8 +413,6 @@
 			number_of_indexes=$(($number_of_indexes +1))
 			index_number=$(($index_number + 1))
 			index_session="$index_prefix-$index_number"
-            #__debug "BM_BURNING_MAXSIZE is reached : new index: $index_session"
-            
 			echo "$file" > $index_session
 			
             medium_index="$file"
@@ -401,6 +428,7 @@
 
 function __insert_new_medium()
 {
+    debug "__insert_new_medium()"
     bm_pause "$(translate "Please insert a new disk in \$BM_BURNING_DEVICE")"
 }
 
@@ -409,6 +437,7 @@
     index_file="$1"
     session_number="$2"
     number_of_indexes="$3"
+    debug "__burn_session_from_file ($index_file, $session_number, $number_of_indexes)"
 
     if [ ! -e "$index_file" ]; then
         error "No such index file: \"\$index_file\"."
@@ -422,13 +451,13 @@
     done
     
     what_to_burn="$what_to_burn_session"
-    
     burn_session "$what_to_burn_session" "$session_number" "$number_of_indexes"
-
 }
 
 function __append_index_paths_in_indexes()
 {
+    debug "__append_index_paths_in_indexes()"
+
     prefix=$(get_index_prefix)
     for index_file in $prefix*
     do    
@@ -442,6 +471,7 @@
 function burn_multiples_media()
 {
     target="$1"
+    debug "burn_multiples_media ($target)"
     
     # first purge existing indexs
     purge_indexes
@@ -473,5 +503,4 @@
 
 	# Remove all the index files.
 	rm -f $indexes
-
 }

Modified: trunk/lib/dialog.sh
===================================================================
--- trunk/lib/dialog.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/lib/dialog.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,4 +1,4 @@
-# Copyright © 2005-2006 The Backup Manager Authors
+# Copyright © 2005-2006 Alexis Sukrieh
 #
 # See the AUTHORS file for details.
 #
@@ -50,18 +50,6 @@
 	_exit 0
 }
 
-# this is the callback wich is run when backup-manager
-# is stopped with a signal like SIGTERM or SIGKILL
-# see the trap stuff ;)
-# So the only thing to do is to release the lock before.
-stop_me()
-{
-	echo ""
-	error "Warning, process interrupted, archives may be corrupted."
-	release_lock
-}
-
-
 # Prompt the user with a question, set $BM_RET to "true" if the user agreed,
 # to "false" if not.
 # PLEASE use translate() for giving a question to that function!
@@ -97,8 +85,11 @@
     read pause
 }
 
-function __debug()
+function tail_logfile
 {
-    message="$1"
-    echo "DEBUG: $message" >&2
+    logfile="$1"
+    if [ "$verbosedebug" == "true" ]; then
+        debug "Outping content of $logfile to stderr"
+        tail -f $logfile &
+    fi
 }

Modified: trunk/lib/files.sh
===================================================================
--- trunk/lib/files.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/lib/files.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005 The Backup Manager Authors
+# Copyright © 2005-2006 Alexis Sukrieh
 #
 # See the AUTHORS file for details.
 #
@@ -11,12 +11,8 @@
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-#
-#
-# The backup-manager's files.sh library.
-#
+
 # All functions dedicated to manage the files.
-#
 
 #unmount_tmp_dir()
 #{
@@ -31,10 +27,11 @@
 
 # this will send the appropriate name of archive to 
 # make according to what the user choose in the conf.
-get_dir_name()
+function get_dir_name()
 {
     base="$1"
     format="$2"
+    debug "get_dir_name ($base, $format)"
 
     if [ "$format" = "long" ]
     then
@@ -66,9 +63,11 @@
 # This will take a path and return the size in mega bytes
 # used on the disk.
 # Thanks to Michel Grentzinger <mic.grentz at online.fr>
-size_of_path()
+function size_of_path()
 {
     path="$1"
+    debug "size_of_path ($path)"
+
     if [ -z "$path" ]; then
         error "No path given."
     fi
@@ -79,9 +78,11 @@
 }
 
 # Thanks to Michel Grentzinger <mic.grentz at online.fr>
-size_left_of_path()
+function size_left_of_path()
 {
     path="$1"
+    debug "size_left_of_path ($path)"
+
     if [ -z "$path" ]; then
         error "No path given."
     fi
@@ -93,9 +94,11 @@
 }
 
 # Will return the prefix contained in the file name
-get_prefix_from_file()
+function get_prefix_from_file()
 {
     filename="$1"
+    debug "get_prefix_from_file ($filename)"
+
     filename=$(basename $filename)
     prefix=$(echo $filename | sed -e 's/^\([^-]\+\)-.*$/\1/')
     echo $prefix
@@ -103,19 +106,23 @@
 
 
 # Will return the date contained in the file name
-get_date_from_file()
+function get_date_from_file()
 {
+    debug "get_date_from_file ($1)"
     get_date_from_archive "$1"
 }
 
 # This function is here to free each lock previously enabled.
 # We have to keep in mind that lock must be done for each conffile.
 # It is not global anymore, and that's the tricky thing.
-release_lock() {
+function release_lock() 
+{
+    debug "release_lock()"
+
     if [ -e $lockfile ]; then
         # We have to remove the line which contains 
         # the conffile.
-        newfile=$(mktemp)
+        newfile=$(mktemp /tmp/bm-lock.XXXXXX)
         newcontent=""
         OLDIFS=$IFS
         IFS=$'\n'
@@ -135,7 +142,10 @@
 # backup-manager won't run.
 # Be aware that a there will be one lock for each conffile used.
 # If the PID written in the lockfile is not alive, release.
-get_lock() {
+function get_lock() 
+{
+    debug "get_lock()"
+
     if [ -e $lockfile ]; then
         
         # look if a lock exists for that conffile (eg, we must find 
@@ -182,6 +192,8 @@
 function get_date_from_archive()
 {
     file="$1"
+    debug "get_date_from_archive ($file)"
+
     date=$(echo $file | sed -e 's/.*\(20[0-9][0-9][0-9][0-9][0-3][0-9]\).*/\1/')
     echo "$date"
 }   
@@ -192,6 +204,8 @@
 function get_name_from_archive()
 {
     archive="$1"
+    debug "get_name_from_archive ($archive)"
+
     archive=$(basename "$archive")
 
     # drop the first token before a dash (the prefix)
@@ -207,6 +221,8 @@
 function get_master_from_archive()
 {
     archive="$1"
+    debug "get_master_from_archive ($archive)"
+
     archive=$(basename "$archive")
     
     master=$(echo "$archive" | sed -e 's/.*\.\(master\)\..*/\1/')
@@ -229,6 +245,8 @@
     prefix="$1"
     name="$2"
     date="$3"
+    debug "get_newer_master ($prefix, $name, $date)"
+    
     master=""
     
     for this_master in $BM_REPOSITORY_ROOT/$prefix-$name.*.master.*
@@ -237,7 +255,7 @@
         
         # is this master newer than the one we are testing?
         if [ "$this_date" -gt "$date" ]; then
-#            __debug "found this newer master : $this_master"
+            debug "found this newer master : $this_master"
             master="$this_master"
         fi
     done
@@ -249,6 +267,7 @@
 {
     file="$1"
     purge_date="$2"
+    debug "clean_file ($file, $purge_date)"
 
     if [ ! -f "$file" ]; then
         error "\$file is not a regular file."
@@ -258,8 +277,7 @@
     date=$(get_date_from_archive "$file")
     name=$(get_name_from_archive "$file")
     master=$(get_master_from_archive "$file")
-    
-#    __debug "parsing $file ($prefix, $date, $name, $master)"
+    debug "parsing $file ($prefix, $date, $name, $master)"
                 
     # we assume that if we find that, we have an archive
     if [ -n "$date" ] && [ "$date" != "$(basename $file)" ] &&
@@ -306,9 +324,11 @@
 # the file's date to the date_to_remove.
 # If the file's date is older than the date_to_remove
 # we drop the file.
-clean_directory()
+function clean_directory()
 {
     directory="$1"
+    debug "clean_directory ($directory)"
+
     purge_date=$(date +%Y%m%d --date "$BM_ARCHIVE_TTL days ago")
 
     if [ ! -d $directory ]; then
@@ -316,9 +336,9 @@
     fi
 
     if [ "$BM_REPOSITORY_RECURSIVEPURGE" = "true" ]; then
-	maxdepth=""
+        maxdepth=""
     else
-	maxdepth="-maxdepth 1"
+        maxdepth="-maxdepth 1"
     fi
 
     # First list all the files to process
@@ -341,9 +361,11 @@
 # It will look at every archives of the same source
 # and will replace duplicates (same size) by symlinks.
 # CONDITION: BM_ARCHIVE_PURGEDUPS = true
-purge_duplicate_archives()
+function purge_duplicate_archives()
 {
     file_to_create="$1"
+    debug "purge_duplicate_archives ($file_to_create)"
+
     md5hash=$(get_md5sum $file_to_create)
 
     # Only purge if BM_ARCHIVE_PURGEDUPS = true

Modified: trunk/lib/logger.sh
===================================================================
--- trunk/lib/logger.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/lib/logger.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005 The Backup Manager Authors
+# Copyright © 2005-2006 Alexis Sukrieh
 #
 # See the AUTHORS file for details.
 #
@@ -11,10 +11,10 @@
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-#
+
 # This is the logger library
 # It can print stuff on STDIN, STDERR and send messages
-# to syslog
+# to syslog.
 
 function check_logger()
 {
@@ -36,7 +36,7 @@
 #      syslog "info" "message to log"
 #
 #########################################
-syslog()
+function syslog()
 {
 	if [ "$BM_LOGGER" = "true" ]; then	
 		level="$1"
@@ -51,8 +51,7 @@
 # $@ should be the same args as for a echo stanza.
 # 
 # $bm_log_level should be "info", "warning" or "error".
-#
-log() 
+function log() 
 {
 	# set the default log level if none given
 	if [ -z "$bm_log_level" ]; then
@@ -62,7 +61,7 @@
 	# choose the good switch to read if needed
 	case "$bm_log_level" in
 		"debug")
-			bm_log_level=$debug
+			bm_log_switch=$verbosedebug
 		;;
 		"info")
 			bm_log_switch=$verbose
@@ -90,7 +89,11 @@
 		# output the message to STDOUT
 		message=$(echo_translated "$@")
 		if [ "$bm_log_switch" == "true" ]; then
-			echo "${message}"
+			if [ "$bm_log_level" == "debug" ]; then
+                echo "${message}" >&2
+            else
+                echo "${message}"
+            fi
 		fi
 		# log the message to syslog
 		syslog $bm_log_level "${log_buffer}${message}"
@@ -99,26 +102,33 @@
 	fi
 }
 
-info()
+function info()
 {
 	bm_log_level="info"
 	log "$@"
 }
 
-error()
+function error()
 {
 	bm_log_level="error"
 	log "$@"
 	_exit 1
 }
 
-debug()
+# That function is deprecated, soon we'll remove it.
+function __debug()
 {
+    message="$1"
+    echo "DEPRECATED DEBUG: $message" >&2
+}
+
+function debug()
+{
 	bm_log_level="debug"
-	log "$@"
+	log "DEBUG: $@"
 }
 
-warning()
+function warning()
 {
 	bm_log_level="warning"
 	log "$@"
@@ -128,8 +138,9 @@
 # that's the way backup-manager should exit.
 # need to remove the lock before, clean the mountpoint and 
 # remove the logfile
-_exit()
+function _exit()
 {
+    exec_post_command || error "Unable to exec post-command."
     umask $BM_UMASK >/dev/null
 	info "Releasing lock"
 	release_lock

Modified: trunk/lib/md5sum.sh
===================================================================
--- trunk/lib/md5sum.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/lib/md5sum.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005 The Backup Manager Authors
+# Copyright © 2005-2006 Alexis Sukrieh
 #
 # See the AUTHORS file for details.
 #
@@ -19,10 +19,11 @@
 
 # This will get a filename a will search its 
 # md5hash in the file given as second arg.
-get_md5sum_from_file()
+function get_md5sum_from_file()
 {
 	filename="$1"
 	md5file="$2"
+    debug "get_md5sum_from_file ($filename, $md5file)"
 
     if [ -z "$filename" ] || 
        [ -z "$md5file" ]; then
@@ -40,9 +41,11 @@
 }
 
 # Just return the md5 hash of a file
-get_md5sum()
+function get_md5sum()
 {
 	file="$1"
+    debug "get_md5sum ($file)"
+
 	if [ -f $file ]; then
 		md5=`$md5sum $file 2>/dev/null` || md5=""
 		if [ -z "$md5" ]; then
@@ -63,9 +66,11 @@
 # the given archive path in order to get the 
 # MD5 hash from the BM_REPOSITORY_ROOT.
 # 
-save_md5_sum()
+function save_md5_sum()
 {
 	archive="$1"
+    debug "save_md5_sum ($archive)"
+
 	archive=$(basename $archive)
 	archive="$BM_REPOSITORY_ROOT/$archive"
 	md5file="$2"
@@ -76,6 +81,5 @@
 	else
 		warning "Archive given does not exist in the repository: \$archive"
 	fi
-
 }
 

Modified: trunk/lib/sanitize.sh
===================================================================
--- trunk/lib/sanitize.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/lib/sanitize.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005 The Backup Manager Authors
+# Copyright © 2005-2007 Alexis Sukrieh
 #
 # See the AUTHORS file for details.
 #
@@ -21,19 +21,22 @@
 
 # For minimizing translations and counting warnings, we globalize the warnings messages
 # Please, developers, use this for handling those warnings :)
-confkey_warning()
+function confkey_warning()
 {
 	key="$1"
 	default="$2"
+    debug "confkey_warning ($key, $default)"
+
 	nb_warnings=$(($nb_warnings + 1))
 	warning "The configuration key \$key is not set, using \"\$default\"."	
 }
 
-confkey_warning_deprecated()
+function confkey_warning_deprecated()
 {
 	deprecated_key="$1"
 	deprecated_value="$2"
 	new_key="$3"
+    debug "confkey_warning_deprecated ($deprecated_key, $deprecated_value, $new_key)"
 
 	nb_warnings=$(($nb_warnings + 1))
 	warning "The configuration key \"\$deprecated_key\" is deprecated, you should rename it \"\$new_key\". Using \"\$deprecated_value\"."
@@ -41,10 +44,12 @@
 
 # Look if the deprecated key exists, if so, warning and use it as 
 # a default value for the new key.
-confkey_handle_deprecated()
+function confkey_handle_deprecated()
 {
 	deprecated_key="$1"
 	new_key="$2"
+    debug "confkey_handle_deprecated ($deprecated_key, $new_key)"
+
 	eval "deprecated_value=\"\$$deprecated_key\"" || deprecated_value=""
 
 	if [ -n "$deprecated_value" ]; then 
@@ -54,10 +59,12 @@
 	fi
 }
 
-confkey_require()
+function confkey_require()
 {
 	key="$1"
 	default="$2"
+    debug "confkey_require ($key, $default)"
+
 	eval "value=\"\$$key\""
 
 	if [ -z "$value" ]; then
@@ -71,35 +78,36 @@
 {
 	key="$1"
 	keymandatory="$2"
+    debug "confkey_error ($key, $keymandatory)"
+
 	error "The configuration key \$key is not set but \$keymandatory is enabled."
 }
 
-# In version older than 0.6, it was possible to 
-# set booleans to "yes" or "no", that's not more
-# valid.
-# In order to keep old conffiles working, we automagically
-# override yes/no values to true/false, but we trigger 
-# a warning.
-replace_deprecated_booleans()
+# In version older than 0.6, it was possible to set booleans to "yes" or "no",
+# that's not valid anymore. In order to be backward compatible, we override yes/no
+# values to true/false, but we trigger a warning.
+function replace_deprecated_booleans()
 {
-        for line in $(env)
-        do
-            key=$(echo "$line" | awk -F '=' '{print $1}')
-            value=$(echo "$line" | awk -F '=' '{print $2}')
-          
+    debug "replace_deprecated_booleans()"
+    for line in $(env)
+    do
+        key=$(echo "$line" | awk -F '=' '{print $1}')
+        value=$(echo "$line" | awk -F '=' '{print $2}')
+        if [ -n "$key" ]; then
             if [ $(expr match "$key" BM_) -gt 0 ]; then
                 if [ "$value" = "yes" ]; then
                     warning "Deprecated boolean, \$key is set to \"yes\", setting \"true\" instead."
-	                nb_warnings=$(($nb_warnings + 1))
+                    nb_warnings=$(($nb_warnings + 1))
                     eval "export $key=\"true\""
                 fi
                 if [ "$value" = "no" ]; then
                     warning "Deprecated boolean, \$key is set to \"no\", setting \"false\" instead."
-	                nb_warnings=$(($nb_warnings + 1))
+                    nb_warnings=$(($nb_warnings + 1))
                     eval "export $key=\"false\""
                 fi
             fi
-        done    
+        fi
+    done    
 }
 
 ##############################################################
@@ -109,7 +117,6 @@
 
 # First of all replace yes/no booleans with true/false ones.
 replace_deprecated_booleans
-
 confkey_handle_deprecated "BM_ARCHIVES_REPOSITORY" "BM_REPOSITORY_ROOT"
 confkey_require "BM_REPOSITORY_ROOT" "/var/archives" 
 
@@ -157,6 +164,13 @@
 confkey_handle_deprecated "BM_DIRECTORIES_BLACKLIST" "BM_TARBALL_BLACKLIST"
 confkey_handle_deprecated "BM_DUMP_SYMLINKS" "BM_TARBALL_DUMPSYMLINKS"
 
+# encryption stuff goes here
+if [ "$BM_ENCRYPTION_METHOD" = "gpg" ]; then
+    if [ -z "$BM_ENCRYPTION_RECIPIENT" ]; then
+        confkey_error "BM_ENCRYPTION_RECIPIENT" "BM_ENCRYPTION_METHOD"
+    fi
+fi
+
 # The TARBALL_OVER_SSH thing
 if [ "$BM_TARBALL_OVER_SSH" = "true" ]; then
     if [ -z "$BM_UPLOAD_SSH_HOSTS" ]; then
@@ -198,7 +212,6 @@
 
 if [ "$BM_ARCHIVE_METHOD" = "mysql" ]; then
 	confkey_require "BM_MYSQL_ADMINLOGIN" "root"
-	confkey_require "BM_MYSQL_ADMINPASS" ""
 	confkey_require "BM_MYSQL_HOST" "localhost"
 	confkey_require "BM_MYSQL_PORT" "3306"
 	confkey_require "BM_MYSQL_FILETYPE" "tar.gz"
@@ -220,10 +233,6 @@
 	confkey_require "BM_BURNING_CHKMD5" "true"
 fi
 
-# The SSH stuff
-
-# The FTP stuff
-
 if [ -n "$BM_UPLOAD_MODE" ]; then
 	confkey_handle_deprecated "BM_UPLOAD_MODE" "BM_UPLOAD_METHOD"
    
@@ -238,6 +247,9 @@
     confkey_handle_deprecated "BM_UPLOAD_DIR" "BM_UPLOAD_DESTINATION"
 fi        
 
+if [ -z "$BM_ARCHIVE_STRICTPURGE" ]; then
+    confkey_require "BM_ARCHIVE_STRICTPURGE" "true"
+fi
 
 confkey_require "BM_LOGGER" "true"
 if [ "$BM_LOGGER" = "true" ]; then 

Modified: trunk/po/cs.po
===================================================================
--- trunk/po/cs.po	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/po/cs.po	2007-05-30 12:53:39 UTC (rev 66)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: backup-manager\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-09-18 09:27+0200\n"
+"POT-Creation-Date: 2006-10-20 16:36+0200\n"
 "PO-Revision-Date: 2006-09-05 22:14+0200\n"
 "Last-Translator: Miroslav Kure <kurem at debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech at lists.debian.org>\n"
@@ -20,168 +20,168 @@
 msgid "$file_to_create: ok (${size}M,"
 msgstr "$file_to_create: ok (${size}M,"
 
-#: ../lib/backup-methods.sh:47
+#: ../lib/backup-methods.sh:48
 #, sh-format
 msgid "Unable to purge duplicates of $file_to_create"
 msgstr "Nemohu smazat duplikáty $file_to_create"
 
-#: ../lib/backup-methods.sh:52
+#: ../lib/backup-methods.sh:53
 #, sh-format
 msgid "Unable to change the owner of \"$file_to_create\"."
 msgstr "Nemohu změnit vlastníka \"$file_to_create\"."
 
-#: ../lib/backup-methods.sh:54
+#: ../lib/backup-methods.sh:55
 #, sh-format
 msgid "Unable to change file permissions of \"$file_to_create\"."
 msgstr "Nemohu změnit oprávnění k \"$file_to_create\"."
 
-#: ../lib/backup-methods.sh:76
+#: ../lib/backup-methods.sh:80
 #, sh-format
 msgid "Unable to create \"$target\", check $logfile"
 msgstr "Nemohu vytvořit \"$target\", zkontrolujte $logfile"
 
-#: ../lib/backup-methods.sh:89
+#: ../lib/backup-methods.sh:94
 #, sh-format
 msgid "File $file_to_create already exists, skipping."
 msgstr "Soubor $file_to_create již existuje, přeskakuji."
 
-#: ../lib/backup-methods.sh:100 ../lib/backup-methods.sh:116
-#: ../lib/backup-methods.sh:130
+#: ../lib/backup-methods.sh:108 ../lib/backup-methods.sh:128
+#: ../lib/backup-methods.sh:149
 #, sh-format
 msgid "Unable to exec $command; check $logfile"
 msgstr "Nemohu spustit $command, zkontrolujte $logfile"
 
-#: ../lib/backup-methods.sh:108
-#, sh-format
+#: ../lib/backup-methods.sh:116
+#, fuzzy, sh-format
 msgid "Compressor $compress requires $gzip."
-msgstr "Komprese $compress vyžaduje $gzip."
+msgstr "Komprese $compress vyžaduje $bzip."
 
-#: ../lib/backup-methods.sh:124
+#: ../lib/backup-methods.sh:136
 #, sh-format
 msgid "Compressor $compress requires $bzip."
 msgstr "Komprese $compress vyžaduje $bzip."
 
-#: ../lib/backup-methods.sh:137
+#: ../lib/backup-methods.sh:156
 #, sh-format
 msgid "No such compressor supported: $compress."
 msgstr "Tato komprese není podporovaná: $compress."
 
-#: ../lib/backup-methods.sh:143
+#: ../lib/backup-methods.sh:162
 #, sh-format
 msgid "Unable to find $file_to_create"
 msgstr "Nemohu najít $file_to_create"
 
-#: ../lib/backup-methods.sh:254
+#: ../lib/backup-methods.sh:289
 msgid "No frequency given, set BM_TARBALLINC_MASTERDATETYPE."
 msgstr "Nebyla zadána frekvence, nastavte BM_TARBALLINC_MASTERDATETYPE."
 
-#: ../lib/backup-methods.sh:265
+#: ../lib/backup-methods.sh:300
 #, sh-format
 msgid "Unknown frequency: $BM_TARBALLINC_MASTERDATETYPE"
 msgstr "Neznámá frekvence: $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:289
+#: ../lib/backup-methods.sh:328
 #, sh-format
 msgid "Building master backup for target: \"$dir_name\"."
 msgstr "Vytvářím hlavní zálohu pro cíl: \"$dir_name\"."
 
-#: ../lib/backup-methods.sh:396
+#: ../lib/backup-methods.sh:452
 #, sh-format
 msgid "The archive type \"tar.bz2\" depends on the tool \"$bzip\"."
 msgstr "Typ archivu \"tar.bz2\" závisí na nástroji \"$bzip\"."
 
-#: ../lib/backup-methods.sh:403
+#: ../lib/backup-methods.sh:459
 #, sh-format
 msgid "The archive type \"tar.lz\" depends on the tool \"$lzma\"."
 msgstr "Typ archivu \"tar.lz\" závisí na nástroji \"$lzma\"."
 
-#: ../lib/backup-methods.sh:410
+#: ../lib/backup-methods.sh:466
 #, sh-format
 msgid "The archive type \"zip\" depends on the tool \"$zip\"."
 msgstr "Typ archivu \"zip\" závisí na nástroji \"$zip\"."
 
-#: ../lib/backup-methods.sh:416
+#: ../lib/backup-methods.sh:472
 #, sh-format
 msgid "The archive type \"dar\" depends on the tool \"$dar\"."
 msgstr "Typ archivu \"dar\" závisí na nástroji \"$dar\"."
 
-#: ../lib/backup-methods.sh:422 ../lib/backup-methods.sh:499
-#: ../lib/backup-methods.sh:535
+#: ../lib/backup-methods.sh:478 ../lib/backup-methods.sh:579
+#: ../lib/backup-methods.sh:620
 #, sh-format
 msgid "The archive type \"$BM_TARBALL_FILETYPE\" is not supported."
 msgstr "Typ archivu \"$BM_TARBALL_FILETYPE\" není podporován."
 
-#: ../lib/backup-methods.sh:474
+#: ../lib/backup-methods.sh:549
 msgid "The configuration variable \"BM_ENCRYPTION_RECIPIENT\" must be defined."
 msgstr ""
 "Konfigurační proměnná \"$BM_ENCRYPTION_RECIPIENT\" musí být definována."
 
-#: ../lib/backup-methods.sh:480
+#: ../lib/backup-methods.sh:555
 #, sh-format
 msgid ""
 "The encryption is not yet possible with \"$BM_TARBALL_FILETYPE\" archives."
 msgstr "Šifrování archivů \"$BM_TARBALL_FILETYPE\" zatím není možné."
 
-#: ../lib/backup-methods.sh:512
+#: ../lib/backup-methods.sh:596
 #, sh-format
 msgid "The program \"$gpg\" is needed."
 msgstr "Je vyžadován program \"$gpg\"."
 
-#: ../lib/backup-methods.sh:519 ../lib/backup-methods.sh:551
+#: ../lib/backup-methods.sh:603 ../lib/backup-methods.sh:640
 #, sh-format
 msgid "File $file_to_check already exists, skipping."
 msgstr "Soubor $file_to_check již existuje, přeskakuji."
 
-#: ../lib/backup-methods.sh:571
+#: ../lib/backup-methods.sh:663
 #, sh-format
 msgid "Target \"$t\" does not exist, skipping."
 msgstr "Cíl \"$t\" neexistuje, přeskakuji."
 
-#: ../lib/backup-methods.sh:640 ../lib/backup-methods.sh:673
-#: ../lib/backup-methods.sh:702 ../lib/backup-methods.sh:724
+#: ../lib/backup-methods.sh:738 ../lib/backup-methods.sh:773
+#: ../lib/backup-methods.sh:804 ../lib/backup-methods.sh:828
 #, sh-format
 msgid "Using method \"$method\"."
 msgstr "Používám metodu \"$method\"."
 
-#: ../lib/backup-methods.sh:664
+#: ../lib/backup-methods.sh:762
 msgid "1 error occurred during the tarball generation."
 msgstr "Během vytváření tar archivu se objevila 1 chyba."
 
-#: ../lib/backup-methods.sh:666
+#: ../lib/backup-methods.sh:764
 #, sh-format
 msgid "$nb_err errors occurred during the tarball generation."
 msgstr "Během vytváření tar archivu se objevily chyby (celkem $nb_err)."
 
-#: ../lib/backup-methods.sh:675
+#: ../lib/backup-methods.sh:775
 #, sh-format
 msgid "The \"mysql\" method is chosen, but $mysqldump is not found."
 msgstr "Je vybrána metoda \"mysql\", avšak $mysqldump nelze nalézt."
 
-#: ../lib/backup-methods.sh:704
+#: ../lib/backup-methods.sh:806
 #, sh-format
 msgid "The \"svn\" method is chosen, but $svnadmin is not found."
 msgstr "Je vybrána metoda \"svn\", avšak $svnadmin nelze nalézt."
 
-#: ../lib/backup-methods.sh:710
+#: ../lib/backup-methods.sh:812
 #, sh-format
 msgid "SVN repository \"$repository\" is not valid; skipping."
 msgstr "SVN repozitář \"$repository\" není platný; přeskakuji."
 
-#: ../lib/backup-methods.sh:733
+#: ../lib/backup-methods.sh:837
 #, sh-format
 msgid "Not enough args for this archive ($archive), skipping."
 msgstr "Pro tento archiv ($archive) nemám dost argumentů, přeskakuji."
 
-#: ../lib/backup-methods.sh:740
+#: ../lib/backup-methods.sh:844
 msgid "Cannot create archive."
 msgstr "Nemohu vytvořit archiv."
 
-#: ../lib/sanitize.sh:29
+#: ../lib/sanitize.sh:31
 #, sh-format
 msgid "The configuration key $key is not set, using \"$default\"."
 msgstr "Konfigurační klíč $key není nastaven, používám \"$default\"."
 
-#: ../lib/sanitize.sh:39
+#: ../lib/sanitize.sh:42
 #, sh-format
 msgid ""
 "The configuration key \"$deprecated_key\" is deprecated, you should rename "
@@ -190,22 +190,22 @@
 "Konfigurační klíč \"$deprecated_key\" je zastaralý, měli byste jej "
 "přejmenovat na \"$new_key\". Používám \"$deprecated_value\"."
 
-#: ../lib/sanitize.sh:74
+#: ../lib/sanitize.sh:83
 #, sh-format
 msgid "The configuration key $key is not set but $keymandatory is enabled."
 msgstr "Konfigurační klíč $key není nastaven, ale $keymandatory je povolen."
 
-#: ../lib/sanitize.sh:92
+#: ../lib/sanitize.sh:99
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"yes\", setting \"true\" instead."
 msgstr "Změněn typ boolean, $key má hodnotu \"yes\", nastavuji na \"true\"."
 
-#: ../lib/sanitize.sh:97
+#: ../lib/sanitize.sh:104
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"no\", setting \"false\" instead."
 msgstr "Změněn typ boolean, $key má hodnotu \"no\", nastavuji na \"false\"."
 
-#: ../lib/sanitize.sh:248
+#: ../lib/sanitize.sh:251
 #, sh-format
 msgid ""
 "When validating the configuration file $conffile, $nb_warnings warnings were "
@@ -214,16 +214,104 @@
 "Při ověřování konfiguračního souboru $conffile bylo nalezeno $nb_warnings "
 "varování."
 
-#: ../lib/md5sum.sh:29
+#: ../lib/actions.sh:44
+msgid "No backup method used."
+msgstr "Není použita žádná zálohovací metoda."
+
+#: ../lib/actions.sh:47
+#, sh-format
+msgid "No such backup method: $BM_ARCHIVE_METHOD"
+msgstr "Tato zálohovací metoda neexistuje: $BM_ARCHIVE_METHOD"
+
+#: ../lib/actions.sh:56
+#, sh-format
+msgid "Unable to change the owner of \"$md5file\"."
+msgstr "Nemohu změnit vlastníka \"$md5file\"."
+
+#: ../lib/actions.sh:58
+#, sh-format
+msgid "Unable to change file permissions of \"$md5file\"."
+msgstr "Nemohu změnit oprávnění k \"$md5file\"."
+
+#: ../lib/actions.sh:90
+msgid "No upload method used."
+msgstr "Není použita žádná nahrávací metoda."
+
+#: ../lib/actions.sh:93
+#, sh-format
+msgid "The upload method \"$method\" is not supported; skipping."
+msgstr "Nahrávací metoda \"$method\" není podporovaná; přeskakuji."
+
+#: ../lib/actions.sh:105
+#, sh-format
+msgid "Cleaning $BM_REPOSITORY_ROOT"
+msgstr "Čistím $BM_REPOSITORY_ROOT"
+
+#: ../lib/actions.sh:118
+#, sh-format
+msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
+msgstr "Spouštím úvodní příkaz: $BM_PRE_BACKUP_COMMAND."
+
+#: ../lib/actions.sh:122
+msgid "Pre-command failed. Stopping the process."
+msgstr "Úvodní příkaz selhal. Zastavuji proces."
+
+#: ../lib/actions.sh:127
+#, sh-format
+msgid "Pre-command returned: \"$RET\" (success)."
+msgstr "Úvodní příkaz vrátil: \"$RET\" (úspěch)."
+
+#: ../lib/actions.sh:139
+#, sh-format
+msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
+msgstr "Spouštím závěrečný příkaz: $BM_POST_BACKUP_COMMAND"
+
+#: ../lib/actions.sh:143
+msgid "Post-command failed."
+msgstr "Závěrečný příkaz selhal."
+
+#: ../lib/actions.sh:148
+#, sh-format
+msgid "Post-command returned: \"$RET\" (success)."
+msgstr "Závěrečný příkaz vrátil: \"$RET\" (úspěch)."
+
+#: ../lib/actions.sh:175
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
+msgstr ""
+"Konfigurační klíč BM_TARBALL_FILETYPE je nastaven na \"zip\", ale zip není "
+"nainstalován."
+
+#: ../lib/actions.sh:180
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
+"installed."
+msgstr ""
+"Konfigurační klíč BM_TARBALL_FILETYPE je nastaven na \"bzip2\", ale bzip2 "
+"není nainstalován."
+
+#: ../lib/actions.sh:185
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
+msgstr ""
+"Konfigurační klíč BM_TARBALL_FILETYPE je nastaven na \"dar\", ale dar není "
+"nainstalován."
+
+#: ../lib/actions.sh:197
+#, sh-format
+msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
+msgstr "Úložiště $BM_REPOSITORY_ROOT neexistuje, vytvářím je."
+
+#: ../lib/md5sum.sh:30
 msgid "Internal error: bad usage of function get_md5sum_from_file()"
 msgstr "Vnitřní chyba: chybné použití funkce get_md5sum_from_file()"
 
-#: ../lib/md5sum.sh:33
+#: ../lib/md5sum.sh:34
 #, sh-format
 msgid "No md5file found: $md5file"
 msgstr "Nebyl nalezen soubor s md5 součty: $md5file"
 
-#: ../lib/md5sum.sh:77
+#: ../lib/md5sum.sh:82
 #, sh-format
 msgid "Archive given does not exist in the repository: $archive"
 msgstr "Zadaný archiv v úložišti neexistuje: $archive"
@@ -293,6 +381,7 @@
 msgstr "Zakáže promazání starých archivů."
 
 #: ../lib/dialog.sh:60
+#, fuzzy
 msgid "Warning, process interrupted, archives may be corrupted."
 msgstr "Varování, proces přerušen, archivy mohou být porušeny."
 
@@ -300,108 +389,28 @@
 msgid "Not in interactive mode, cannot continue."
 msgstr "Nejsem v interaktivním režimu, nemohu pokračovat."
 
-#: ../lib/logger.sh:134
+#: ../lib/logger.sh:143 ../backup-manager:264
+msgid "Unable to exec post-command."
+msgstr "Nemohu spustit závěrečný příkaz."
+
+#: ../lib/logger.sh:145
 msgid "Releasing lock"
 msgstr "Uvolňuji zámek"
 
-#: ../lib/actions.sh:42
-msgid "No backup method used."
-msgstr "Není použita žádná zálohovací metoda."
+#: ../lib/archives.sh:31
+msgid "Internal error: wrong call to bm_merge_incremental_backups()."
+msgstr "Vnitřní chyba: chybné volání bm_merge_incremental_backups()."
 
-#: ../lib/actions.sh:45
-#, sh-format
-msgid "No such backup method: $BM_ARCHIVE_METHOD"
-msgstr "Tato zálohovací metoda neexistuje: $BM_ARCHIVE_METHOD"
-
-#: ../lib/actions.sh:54
-#, sh-format
-msgid "Unable to change the owner of \"$md5file\"."
-msgstr "Nemohu změnit vlastníka \"$md5file\"."
-
-#: ../lib/actions.sh:56
-#, sh-format
-msgid "Unable to change file permissions of \"$md5file\"."
-msgstr "Nemohu změnit oprávnění k \"$md5file\"."
-
-#: ../lib/actions.sh:86
-msgid "No upload method used."
-msgstr "Není použita žádná nahrávací metoda."
-
-#: ../lib/actions.sh:89
-#, sh-format
-msgid "The upload method \"$method\" is not supported; skipping."
-msgstr "Nahrávací metoda \"$method\" není podporovaná; přeskakuji."
-
-#: ../lib/actions.sh:99
-#, sh-format
-msgid "Cleaning $BM_REPOSITORY_ROOT"
-msgstr "Čistím $BM_REPOSITORY_ROOT"
-
-#: ../lib/actions.sh:110
-#, sh-format
-msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
-msgstr "Spouštím úvodní příkaz: $BM_PRE_BACKUP_COMMAND."
-
-#: ../lib/actions.sh:114
-msgid "Pre-command failed. Stopping the process."
-msgstr "Úvodní příkaz selhal. Zastavuji proces."
-
-#: ../lib/actions.sh:119
-#, sh-format
-msgid "Pre-command returned: \"$RET\" (success)."
-msgstr "Úvodní příkaz vrátil: \"$RET\" (úspěch)."
-
-#: ../lib/actions.sh:129
-#, sh-format
-msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
-msgstr "Spouštím závěrečný příkaz: $BM_POST_BACKUP_COMMAND"
-
-#: ../lib/actions.sh:133
-msgid "Post-command failed."
-msgstr "Závěrečný příkaz selhal."
-
-#: ../lib/actions.sh:138
-#, sh-format
-msgid "Post-command returned: \"$RET\" (success)."
-msgstr "Závěrečný příkaz vrátil: \"$RET\" (úspěch)."
-
-#: ../lib/actions.sh:161
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
-msgstr ""
-"Konfigurační klíč BM_TARBALL_FILETYPE je nastaven na \"zip\", ale zip není "
-"nainstalován."
-
-#: ../lib/actions.sh:166
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
-"installed."
-msgstr ""
-"Konfigurační klíč BM_TARBALL_FILETYPE je nastaven na \"bzip2\", ale bzip2 "
-"není nainstalován."
-
-#: ../lib/actions.sh:171
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
-msgstr ""
-"Konfigurační klíč BM_TARBALL_FILETYPE je nastaven na \"dar\", ale dar není "
-"nainstalován."
-
-#: ../lib/actions.sh:181
-#, sh-format
-msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
-msgstr "Úložiště $BM_REPOSITORY_ROOT neexistuje, vytvářím je."
-
-#: ../lib/files.sh:73 ../lib/files.sh:86
+#: ../lib/files.sh:72 ../lib/files.sh:87
 msgid "No path given."
 msgstr "Nebyla zadána cesta."
 
-#: ../lib/files.sh:152
+#: ../lib/files.sh:162
 #, sh-format
 msgid "Removing lock for old PID, $pid is not running."
 msgstr "Odstraňuji zámek pro staré PID, $pid již neběží."
 
-#: ../lib/files.sh:162
+#: ../lib/files.sh:172
 #, sh-format
 msgid ""
 "A backup-manager process ($pid) is already running with the conffile "
@@ -409,67 +418,67 @@
 msgstr ""
 "Proces backup-manageru ($pid) již běží s konfiguračním souborem $conffile"
 
-#: ../lib/files.sh:166 ../lib/files.sh:172
+#: ../lib/files.sh:176 ../lib/files.sh:182
 #, sh-format
 msgid "Getting lock for backup-manager $pid with $conffile"
 msgstr "Získávám zámek pro backup-manager $pid s $conffile"
 
-#: ../lib/files.sh:175
+#: ../lib/files.sh:185
 msgid "failed (check the file permissions)."
 msgstr "selhalo (zkontrolujte přístupová práva souborů)."
 
-#: ../lib/files.sh:254
+#: ../lib/files.sh:273
 #, sh-format
 msgid "$file is not a regular file."
 msgstr "$file není běžný soubor."
 
-#: ../lib/files.sh:280
+#: ../lib/files.sh:298
 #, sh-format
 msgid "Removing obsolete master backup: \"$file\"."
 msgstr "Odstraňuji zastaralou hlavní zálohu: \"$file\"."
 
-#: ../lib/files.sh:288
+#: ../lib/files.sh:306
 #, sh-format
 msgid "Removing obsolete master backup (isolated): \"$file\"."
 msgstr "Odstraňuji zastaralou hlavní zálohu (izolovaná): \"$file\"."
 
-#: ../lib/files.sh:295
+#: ../lib/files.sh:313
 #, sh-format
 msgid "Removing archive \"$file\"."
 msgstr "Odstraňuji archiv \"$file\"."
 
-#: ../lib/files.sh:315
+#: ../lib/files.sh:335
 msgid "Directory given was not found."
 msgstr "Zadaný adresář nebyl nalezen."
 
-#: ../lib/files.sh:334
+#: ../lib/files.sh:354
 #, sh-format
 msgid "Removing archive \"$archive\"."
 msgstr "Odstraňuji archiv \"$archive\"."
 
-#: ../lib/files.sh:356
+#: ../lib/files.sh:378
 #, sh-format
 msgid "The given file does not exist: $file_to_create"
 msgstr "Zadaný soubor neexistuje: $file_to_create"
 
-#: ../lib/files.sh:361
+#: ../lib/files.sh:383
 msgid "No file given."
 msgstr "Nebyl zadán žádný soubor."
 
-#: ../lib/files.sh:366 ../lib/files.sh:368 ../lib/files.sh:382
+#: ../lib/files.sh:388 ../lib/files.sh:390 ../lib/files.sh:404
 msgid "Unable to get date from file."
 msgstr "Nemohu ze souboru získat datum."
 
-#: ../lib/files.sh:372
+#: ../lib/files.sh:394
 msgid "Unable to find the pattern of the file."
 msgstr "Nemohu najít vzor souboru."
 
-#: ../lib/files.sh:388
+#: ../lib/files.sh:410
 #, sh-format
 msgid "Unable to find the md5 hash of file \"$file\" in file \"$md5file\"."
 msgstr "Nemohu najít md5 hash souboru \"$file\" v souboru \"$md5file\"."
 
-#: ../lib/files.sh:394
+#: ../lib/files.sh:416
 #, sh-format
 msgid "$file is a duplicate of $file_to_create (using symlink)."
 msgstr "$file je kopií $file_to_create (používám symbolický odkaz)."
@@ -574,12 +583,12 @@
 msgid "Using the upload method \"rsync-snapshots\"."
 msgstr "Používám nahrávací metodu \"rsync-snapshots\"."
 
-#: ../lib/burning-methods.sh:37
+#: ../lib/burning-methods.sh:38
 #, sh-format
 msgid "Device \"/dev/$device\" is mounted on \"$m\", unmounting it."
 msgstr "Zařízení \"/dev/$device\" je připojeno na \"$m\", odpojuji."
 
-#: ../lib/burning-methods.sh:52
+#: ../lib/burning-methods.sh:54
 #, sh-format
 msgid ""
 "MD5 checkup is only performed on disks. Please set the BM_BURNING_DEVICE in "
@@ -588,60 +597,60 @@
 "MD5 součet se počítá pouze na médiích. V $conffile prosím nastavte klíč "
 "BM_BURNING_DEVICE"
 
-#: ../lib/burning-methods.sh:58
+#: ../lib/burning-methods.sh:60
 #, sh-format
 msgid "The mount point $mount_point is not there."
 msgstr "Přípojný bod $mount_point neexistuje."
 
-#: ../lib/burning-methods.sh:65
+#: ../lib/burning-methods.sh:67
 #, sh-format
 msgid "Mounting $BM_BURNING_DEVICE on $mount_point."
 msgstr "Připojuji $BM_BURNING_DEVICE na $mount_point."
 
-#: ../lib/burning-methods.sh:89
+#: ../lib/burning-methods.sh:91
 #, sh-format
 msgid "Checking MD5 sum for $base_file:"
 msgstr "Kontroluji MD5 součet $base_file:"
 
-#: ../lib/burning-methods.sh:108
+#: ../lib/burning-methods.sh:110
 #, sh-format
 msgid "$str ok."
 msgstr "$str ok."
 
-#: ../lib/burning-methods.sh:111
+#: ../lib/burning-methods.sh:113
 #, sh-format
 msgid "$str failed (read error)."
 msgstr "$str selhalo (chyba čtení)."
 
-#: ../lib/burning-methods.sh:115
+#: ../lib/burning-methods.sh:117
 #, sh-format
 msgid "$str failed (MD5 hash mismatch)."
 msgstr "$str selhalo (MD5 nesouhlasí)."
 
-#: ../lib/burning-methods.sh:122
+#: ../lib/burning-methods.sh:124
 msgid "Errors encountered during MD5 checks."
 msgstr "Během MD5 kontrol byly zaznamenány chyby."
 
-#: ../lib/burning-methods.sh:126
+#: ../lib/burning-methods.sh:128
 #, sh-format
 msgid "Unable to unmount the mount point $mount_point"
 msgstr "Nemohu odpojit přípojný bod $mount_point"
 
-#: ../lib/burning-methods.sh:127
+#: ../lib/burning-methods.sh:129
 #, sh-format
 msgid "Unable to remove the mount point $mount_point"
 msgstr "Nemohu odstranit přípojný bod $mount_point"
 
-#: ../lib/burning-methods.sh:144
+#: ../lib/burning-methods.sh:148
 msgid "No burning method used."
 msgstr "Není použita žádná vypalovací metoda."
 
-#: ../lib/burning-methods.sh:164
+#: ../lib/burning-methods.sh:172
 #, sh-format
 msgid "Number of files to burn: $nb_file."
 msgstr "Počet souborů k vypálení: $nb_file."
 
-#: ../lib/burning-methods.sh:166
+#: ../lib/burning-methods.sh:174
 #, sh-format
 msgid ""
 "Nothing to burn for the $BM__BURNING_DATE, try the '--burn <date>' switch."
@@ -649,12 +658,12 @@
 "Pro den $BM__BURNING_DATE nemám nic k vypálení; zkuste přepínač '--burn "
 "datum'."
 
-#: ../lib/burning-methods.sh:193 ../lib/burning-methods.sh:216
+#: ../lib/burning-methods.sh:203 ../lib/burning-methods.sh:228
 #, sh-format
 msgid "Burning archives of $BM__BURNING_DATE."
 msgstr "Vypaluji archivy ze dne $BM__BURNING_DATE."
 
-#: ../lib/burning-methods.sh:198
+#: ../lib/burning-methods.sh:208
 #, sh-format
 msgid ""
 "Cannot burn archives of the $BM__BURNING_DATE, too big: ${size}M, must fit "
@@ -663,87 +672,87 @@
 "Nemohu vypálit archivy ze dne $BM__BURNING_DATE, jsou příliš velké: ${size}"
 "M, se musí vejít do $BM_BURNING_MAXSIZE"
 
-#: ../lib/burning-methods.sh:220
+#: ../lib/burning-methods.sh:232
 msgid "Burning the whole archives."
 msgstr "Vypaluji celé archivy."
 
-#: ../lib/burning-methods.sh:225
+#: ../lib/burning-methods.sh:237
 #, sh-format
 msgid "Trying to burn $BM_REPOSITORY_ROOT ($size MB) in interactive mode."
 msgstr "Zkouším vypálit $BM_REPOSITORY_ROOT ($size MB) v interaktivním režimu."
 
-#: ../lib/burning-methods.sh:255
+#: ../lib/burning-methods.sh:268
 #, sh-format
 msgid "Redirecting burning logs into $logfile"
 msgstr "Přesměrovávám hlášení o vypalování do $logfile"
 
-#: ../lib/burning-methods.sh:260
+#: ../lib/burning-methods.sh:273
 #, sh-format
 msgid "Forcing dev=${BM_BURNING_DEVFORCED} for cdrecord commands."
 msgstr "Pro příkazy cdrecordu vynucuji dev=${BM_BURNING_DEVFORCED}."
 
-#: ../lib/burning-methods.sh:268
+#: ../lib/burning-methods.sh:281
 #, sh-format
 msgid "DVD+R(W) burning requires $growisofs, aborting."
 msgstr "Vypalování DVD+R(W) vyžaduje $growisofs, končím."
 
-#: ../lib/burning-methods.sh:271
+#: ../lib/burning-methods.sh:284
 #, sh-format
 msgid "Exporting archives to the DVD+R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Exportuji archivy na DVD+R(W) médium v $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:273 ../lib/burning-methods.sh:290
-#: ../lib/burning-methods.sh:300 ../lib/burning-methods.sh:305
-#: ../lib/burning-methods.sh:316
+#: ../lib/burning-methods.sh:288 ../lib/burning-methods.sh:308
+#: ../lib/burning-methods.sh:320 ../lib/burning-methods.sh:326
+#: ../lib/burning-methods.sh:339
 #, sh-format
 msgid "failed, check $logfile"
 msgstr "selhalo, zkontrolujte $logfile"
 
-#: ../lib/burning-methods.sh:278
+#: ../lib/burning-methods.sh:293
 #, sh-format
 msgid "DVD-R(W) burning requires $growisofs, aborting."
 msgstr "Vypalování DVD-R(W) vyžaduje $growisofs, končím."
 
-#: ../lib/burning-methods.sh:281
+#: ../lib/burning-methods.sh:296
 #, sh-format
 msgid "DVD-R(W) burning requires $dvdrwformat, aborting."
 msgstr "Vypalování DVD-R(W) vyžaduje $dvdrwformat, končím."
 
-#: ../lib/burning-methods.sh:284
+#: ../lib/burning-methods.sh:299
 #, sh-format
 msgid "Blanking the DVD-R(W) disc in $BM_BURNING_DEVICE"
 msgstr "Mažu DVD-R(W) médium v $BM_BURNING_DEVICE"
 
-#: ../lib/burning-methods.sh:286
+#: ../lib/burning-methods.sh:303
 #, sh-format
 msgid "Unable to blank the DVD-R(W) disc (check $logfile)."
 msgstr "Nemohu smazat DVD-R(W) médium (zkontrolujte $logfile)."
 
-#: ../lib/burning-methods.sh:288
+#: ../lib/burning-methods.sh:305
 #, sh-format
 msgid "Exporting archives to the DVD-R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Exportuji archivy na DVD-R(W) médium v $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:295 ../lib/burning-methods.sh:310
+#: ../lib/burning-methods.sh:313 ../lib/burning-methods.sh:331
 #, sh-format
 msgid "CD-R(W) burning requires $cdrecord, aborting."
 msgstr "Vypalování CD-R(W) vyžaduje $cdrecord, končím."
 
-#: ../lib/burning-methods.sh:298
+#: ../lib/burning-methods.sh:316
 #, sh-format
 msgid "Blanking the CDRW in $BM_BURNING_DEVICE."
 msgstr "Mažu CDRW v $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:302 ../lib/burning-methods.sh:313
+#: ../lib/burning-methods.sh:322 ../lib/burning-methods.sh:334
 #, sh-format
 msgid "Burning data to $BM_BURNING_DEVICE."
 msgstr "Vypaluji data na $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:320
+#: ../lib/burning-methods.sh:343
 msgid "Nothing to burn."
 msgstr "Nic k vypálení."
 
-#: ../lib/burning-methods.sh:324
+#: ../lib/burning-methods.sh:347
 #, sh-format
 msgid ""
 "The requested burning method is not supported, check BM_BURNING_METHOD in "
@@ -752,48 +761,49 @@
 "Požadovaný způsob vypalování není podporovaný, zkontrolujte proměnnou "
 "BM_BURNING_METHOD v souboru $conffile"
 
-#: ../lib/burning-methods.sh:373
+#: ../lib/burning-methods.sh:400
 #, sh-format
 msgid "Not burning $file because it does not fit in the disk."
 msgstr "Nevypaluji soubor $file, protože se nevejde na médium."
 
-#: ../lib/burning-methods.sh:414
+#: ../lib/burning-methods.sh:443
 #, sh-format
 msgid "No such index file: \"$index_file\"."
 msgstr "Tento indexový soubor neexistuje: \"$index_file\"."
 
-#: ../lib/burning-methods.sh:455
+#: ../lib/burning-methods.sh:485
 msgid "The burning process will need one disk."
 msgstr "Počet médií nutných pro vypálení: 1."
 
-#: ../lib/burning-methods.sh:457
+#: ../lib/burning-methods.sh:487
 #, sh-format
 msgid "The burning process will need $number_of_indexes disks."
 msgstr "Počet médií nutných pro vypálení: $number_of_indexes."
 
-#: ../lib/burning-methods.sh:469
+#: ../lib/burning-methods.sh:499
 #, sh-format
 msgid "Burning content of $index"
 msgstr "Vypaluji obsah $index"
 
-#: ../backup-manager:134
+#: ../backup-manager:139
 msgid "The -b option must be followed by a valid date (YYYYMMDD)."
 msgstr "Za volbou -b musí následovat platný datum (YYYYMMDD)."
 
-#: ../backup-manager:165
+#: ../backup-manager:174
 msgid "The -c option must be followed by an existing filename."
 msgstr "Za volbou -c musí následovat jméno existujícího souboru"
 
-#: ../backup-manager:202
+#: ../backup-manager:214
 msgid "Unable to exec the pre-command"
 msgstr "Nemohu spustit úvodní příkaz"
 
-#: ../backup-manager:243
-msgid "Unable to exec post-command."
-msgstr "Nemohu spustit závěrečný příkaz."
+#, fuzzy
+#~ msgid "Removing archive \"$bm_pending_archive\" (build interrupted)."
+#~ msgstr "Odstraňuji archiv \"$archive\"."
 
-#~ msgid "Internal error: wrong call to bm_merge_incremental_backups()."
-#~ msgstr "Vnitřní chyba: chybné volání bm_merge_incremental_backups()."
+#, fuzzy
+#~ msgid "Compressor $compress is needed."
+#~ msgstr "Komprese $compress vyžaduje $gzip."
 
 #~ msgid "CDROM burning requires $cdrecord, aborting."
 #~ msgstr "Vypalování CD vyžaduje $cdrecord, končím."

Modified: trunk/po/de.po
===================================================================
--- trunk/po/de.po	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/po/de.po	2007-05-30 12:53:39 UTC (rev 66)
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: backup-manager 0.7.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-09-18 09:27+0200\n"
+"POT-Creation-Date: 2006-10-20 16:36+0200\n"
 "PO-Revision-Date: 2006-09-08 21:55+0200\n"
 "Last-Translator: Sven Joachim <sven_joachim at web.de>\n"
 "Language-Team: German <debian-l10n-german at lists.debian.org>\n"
@@ -22,103 +22,103 @@
 msgid "$file_to_create: ok (${size}M,"
 msgstr "$file_to_create: ok (${size}M,"
 
-#: ../lib/backup-methods.sh:47
+#: ../lib/backup-methods.sh:48
 #, sh-format
 msgid "Unable to purge duplicates of $file_to_create"
 msgstr "Kann Duplikate von $file_to_create nicht löschen"
 
-#: ../lib/backup-methods.sh:52
+#: ../lib/backup-methods.sh:53
 #, sh-format
 msgid "Unable to change the owner of \"$file_to_create\"."
 msgstr "Kann den Besitzer von »$file_to_create« nicht ändern."
 
-#: ../lib/backup-methods.sh:54
+#: ../lib/backup-methods.sh:55
 #, sh-format
 msgid "Unable to change file permissions of \"$file_to_create\"."
 msgstr "Kann die Zugriffsrechte von »$file_to_create« nicht ändern."
 
-#: ../lib/backup-methods.sh:76
+#: ../lib/backup-methods.sh:80
 #, sh-format
 msgid "Unable to create \"$target\", check $logfile"
 msgstr "Kann »$target« nicht erzeugen, überprüfen Sie $logfile"
 
-#: ../lib/backup-methods.sh:89
+#: ../lib/backup-methods.sh:94
 #, sh-format
 msgid "File $file_to_create already exists, skipping."
 msgstr "Datei $file_to_create existiert bereits, wird übergangen."
 
-#: ../lib/backup-methods.sh:100 ../lib/backup-methods.sh:116
-#: ../lib/backup-methods.sh:130
+#: ../lib/backup-methods.sh:108 ../lib/backup-methods.sh:128
+#: ../lib/backup-methods.sh:149
 #, sh-format
 msgid "Unable to exec $command; check $logfile"
 msgstr "Kann $command nicht ausführen; überprüfen Sie $logfile"
 
-#: ../lib/backup-methods.sh:108
-#, sh-format
+#: ../lib/backup-methods.sh:116
+#, fuzzy, sh-format
 msgid "Compressor $compress requires $gzip."
-msgstr "Kompressor $compress erfordert $gzip."
+msgstr "Kompressor $compress erfordert $bzip."
 
-#: ../lib/backup-methods.sh:124
+#: ../lib/backup-methods.sh:136
 #, sh-format
 msgid "Compressor $compress requires $bzip."
 msgstr "Kompressor $compress erfordert $bzip."
 
-#: ../lib/backup-methods.sh:137
+#: ../lib/backup-methods.sh:156
 #, sh-format
 msgid "No such compressor supported: $compress."
 msgstr "Dieser Kompressor wird nicht unterstützt: $compress."
 
-#: ../lib/backup-methods.sh:143
+#: ../lib/backup-methods.sh:162
 #, sh-format
 msgid "Unable to find $file_to_create"
 msgstr "Kann $file_to_create nicht finden"
 
-#: ../lib/backup-methods.sh:254
+#: ../lib/backup-methods.sh:289
 msgid "No frequency given, set BM_TARBALLINC_MASTERDATETYPE."
 msgstr "Keine Häufigkeit angegeben, setzen Sie $BM_TARBALLINC_MASTERDATETYPE."
 
-#: ../lib/backup-methods.sh:265
+#: ../lib/backup-methods.sh:300
 #, sh-format
 msgid "Unknown frequency: $BM_TARBALLINC_MASTERDATETYPE"
 msgstr "Unbekannte Häufigkeit: $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:289
+#: ../lib/backup-methods.sh:328
 #, sh-format
 msgid "Building master backup for target: \"$dir_name\"."
 msgstr "Erstellen des Master-Backups für das Ziel »$dir_name«."
 
-#: ../lib/backup-methods.sh:396
+#: ../lib/backup-methods.sh:452
 #, sh-format
 msgid "The archive type \"tar.bz2\" depends on the tool \"$bzip\"."
 msgstr "Der Archivtyp »tar.bz2« hängt vom Werkzeug »$bzip« ab."
 
-#: ../lib/backup-methods.sh:403
+#: ../lib/backup-methods.sh:459
 #, sh-format
 msgid "The archive type \"tar.lz\" depends on the tool \"$lzma\"."
 msgstr "Der Archivtyp »tar.lz« hängt vom Werkzeug »$lzma« ab."
 
-#: ../lib/backup-methods.sh:410
+#: ../lib/backup-methods.sh:466
 #, sh-format
 msgid "The archive type \"zip\" depends on the tool \"$zip\"."
 msgstr "Der Archivtyp »zip« hängt vom Werkzeug »$zip« ab."
 
-#: ../lib/backup-methods.sh:416
+#: ../lib/backup-methods.sh:472
 #, sh-format
 msgid "The archive type \"dar\" depends on the tool \"$dar\"."
 msgstr "Der Archivtyp »dar« hängt vom Werkzeug »$dar« ab."
 
-#: ../lib/backup-methods.sh:422 ../lib/backup-methods.sh:499
-#: ../lib/backup-methods.sh:535
+#: ../lib/backup-methods.sh:478 ../lib/backup-methods.sh:579
+#: ../lib/backup-methods.sh:620
 #, sh-format
 msgid "The archive type \"$BM_TARBALL_FILETYPE\" is not supported."
 msgstr "Der Archivtyp »$BM_TARBALL_FILETYPE« wird nicht unterstützt."
 
-#: ../lib/backup-methods.sh:474
+#: ../lib/backup-methods.sh:549
 msgid "The configuration variable \"BM_ENCRYPTION_RECIPIENT\" must be defined."
 msgstr ""
 "Die Konfigurationsvariable »$BM_ENCRYPTION_RECIPIENT« muss definiert sein."
 
-#: ../lib/backup-methods.sh:480
+#: ../lib/backup-methods.sh:555
 #, sh-format
 msgid ""
 "The encryption is not yet possible with \"$BM_TARBALL_FILETYPE\" archives."
@@ -126,67 +126,67 @@
 "Die Verschlüsselung ist mit »$BM_TARBALL_FILETYPE«-Archiven noch nicht "
 "möglich. "
 
-#: ../lib/backup-methods.sh:512
+#: ../lib/backup-methods.sh:596
 #, sh-format
 msgid "The program \"$gpg\" is needed."
 msgstr "Das Programm »$gpg« wird benötigt."
 
-#: ../lib/backup-methods.sh:519 ../lib/backup-methods.sh:551
+#: ../lib/backup-methods.sh:603 ../lib/backup-methods.sh:640
 #, sh-format
 msgid "File $file_to_check already exists, skipping."
 msgstr "Datei $file_to_check existiert bereits, wird übergangen."
 
-#: ../lib/backup-methods.sh:571
+#: ../lib/backup-methods.sh:663
 #, sh-format
 msgid "Target \"$t\" does not exist, skipping."
 msgstr "Ziel »$t« existiert nicht, wird übergangen."
 
-#: ../lib/backup-methods.sh:640 ../lib/backup-methods.sh:673
-#: ../lib/backup-methods.sh:702 ../lib/backup-methods.sh:724
+#: ../lib/backup-methods.sh:738 ../lib/backup-methods.sh:773
+#: ../lib/backup-methods.sh:804 ../lib/backup-methods.sh:828
 #, sh-format
 msgid "Using method \"$method\"."
 msgstr "Verwende die Methode »$method«."
 
-#: ../lib/backup-methods.sh:664
+#: ../lib/backup-methods.sh:762
 msgid "1 error occurred during the tarball generation."
 msgstr "Beim Erzeugen der Tarbälle ist ein Fehler aufgetreten."
 
-#: ../lib/backup-methods.sh:666
+#: ../lib/backup-methods.sh:764
 #, sh-format
 msgid "$nb_err errors occurred during the tarball generation."
 msgstr "Beim Erzeugen der Tarbälle sind $nb_err Fehler aufgetreten."
 
-#: ../lib/backup-methods.sh:675
+#: ../lib/backup-methods.sh:775
 #, sh-format
 msgid "The \"mysql\" method is chosen, but $mysqldump is not found."
 msgstr "Die »mysql«-Methode ist gewählt, aber $mysqldump wurde nicht gefunden."
 
-#: ../lib/backup-methods.sh:704
+#: ../lib/backup-methods.sh:806
 #, sh-format
 msgid "The \"svn\" method is chosen, but $svnadmin is not found."
 msgstr "Die »svn«-Methode ist gewählt, aber $svnadmin wurde nicht gefunden."
 
-#: ../lib/backup-methods.sh:710
+#: ../lib/backup-methods.sh:812
 #, sh-format
 msgid "SVN repository \"$repository\" is not valid; skipping."
 msgstr "SVN-Depot »$repository« ist nicht gültig; wird übergangen."
 
-#: ../lib/backup-methods.sh:733
+#: ../lib/backup-methods.sh:837
 #, sh-format
 msgid "Not enough args for this archive ($archive), skipping."
 msgstr "Zu wenige Argumente für dieses Archiv ($archive), wird übergangen."
 
-#: ../lib/backup-methods.sh:740
+#: ../lib/backup-methods.sh:844
 msgid "Cannot create archive."
 msgstr "Kann Archiv nicht erzeugen."
 
-#: ../lib/sanitize.sh:29
+#: ../lib/sanitize.sh:31
 #, sh-format
 msgid "The configuration key $key is not set, using \"$default\"."
 msgstr ""
 "Die Konfigurationsvariable $key ist nicht gesetzt, verwende »$default«."
 
-#: ../lib/sanitize.sh:39
+#: ../lib/sanitize.sh:42
 #, sh-format
 msgid ""
 "The configuration key \"$deprecated_key\" is deprecated, you should rename "
@@ -195,28 +195,28 @@
 "Die Konfigurationsvariable »$deprecated_key« wird missbilligt, Sie sollten "
 "sie in »$new_key« umbenennen. Verwende »$deprecated_value«."
 
-#: ../lib/sanitize.sh:74
+#: ../lib/sanitize.sh:83
 #, sh-format
 msgid "The configuration key $key is not set but $keymandatory is enabled."
 msgstr ""
 "Die Konfigurationsvariable $key ist nicht gesetzt, aber $keymandatory ist "
 "aktiviert."
 
-#: ../lib/sanitize.sh:92
+#: ../lib/sanitize.sh:99
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"yes\", setting \"true\" instead."
 msgstr ""
 "Missbilligter boolescher Wert, $key ist auf »yes« gesetzt, wird stattdessen "
 "auf »true« gesetzt."
 
-#: ../lib/sanitize.sh:97
+#: ../lib/sanitize.sh:104
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"no\", setting \"false\" instead."
 msgstr ""
 "Missbilligter boolescher Wert, $key ist auf »no« gesetzt, wird stattdessen "
 "auf »false« gesetzt."
 
-#: ../lib/sanitize.sh:248
+#: ../lib/sanitize.sh:251
 #, sh-format
 msgid ""
 "When validating the configuration file $conffile, $nb_warnings warnings were "
@@ -225,16 +225,106 @@
 "Beim Überprüfen der Konfigurationsdatei $conffile wurden $nb_warnings "
 "Warnungen gefunden."
 
-#: ../lib/md5sum.sh:29
+#: ../lib/actions.sh:44
+msgid "No backup method used."
+msgstr "Keine Backup-Methode verwendet."
+
+#: ../lib/actions.sh:47
+#, sh-format
+msgid "No such backup method: $BM_ARCHIVE_METHOD"
+msgstr "Backup-Methode existiert nicht: $BM_ARCHIVE_METHOD"
+
+#: ../lib/actions.sh:56
+#, sh-format
+msgid "Unable to change the owner of \"$md5file\"."
+msgstr "Kann den Besitzer von »$md5file« nicht ändern."
+
+#: ../lib/actions.sh:58
+#, sh-format
+msgid "Unable to change file permissions of \"$md5file\"."
+msgstr "Kann die Zugriffsrechte von »$md5file« nicht ändern."
+
+#: ../lib/actions.sh:90
+msgid "No upload method used."
+msgstr "Keine Upload-Methode verwendet."
+
+#: ../lib/actions.sh:93
+#, sh-format
+msgid "The upload method \"$method\" is not supported; skipping."
+msgstr ""
+"Die Upload-Methode »$method« wird nicht unterstützt; der Upload wird "
+"übergangen."
+
+#: ../lib/actions.sh:105
+#, sh-format
+msgid "Cleaning $BM_REPOSITORY_ROOT"
+msgstr "Aufräumen von $BM_REPOSITORY_ROOT"
+
+#: ../lib/actions.sh:118
+#, sh-format
+msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
+msgstr "Pre-command läuft: $BM_PRE_BACKUP_COMMAND."
+
+#: ../lib/actions.sh:122
+msgid "Pre-command failed. Stopping the process."
+msgstr "Pre-command fehlgeschlagen. Prozess wurde gestoppt."
+
+#: ../lib/actions.sh:127
+#, sh-format
+msgid "Pre-command returned: \"$RET\" (success)."
+msgstr "Pre-command gab »$RET« (Erfolg) zurück."
+
+#: ../lib/actions.sh:139
+#, sh-format
+msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
+msgstr "Post-command läuft: $BM_POST_BACKUP_COMMAND"
+
+#: ../lib/actions.sh:143
+msgid "Post-command failed."
+msgstr "Post-command fehlgeschlagen."
+
+#: ../lib/actions.sh:148
+#, sh-format
+msgid "Post-command returned: \"$RET\" (success)."
+msgstr "Post-command gab »$RET« (Erfolg) zurück."
+
+#: ../lib/actions.sh:175
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
+msgstr ""
+"Die Konfigurationsvariable BM_TARBALL_FILETYPE ist auf »zip« gesetzt, aber "
+"zip ist nicht installiert."
+
+#: ../lib/actions.sh:180
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
+"installed."
+msgstr ""
+"Die Konfigurationsvariable BM_TARBALL_FILETYPE ist auf »bzip2« gesetzt, aber "
+"bzip2 ist nicht installiert."
+
+#: ../lib/actions.sh:185
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
+msgstr ""
+"Die Konfigurationsvariable BM_TARBALL_FILETYPE ist auf »dar« gesetzt, aber "
+"dar ist nicht installiert."
+
+#: ../lib/actions.sh:197
+#, sh-format
+msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
+msgstr "Das Depot $BM_REPOSITORY_ROOT existiert nicht, wird angelegt."
+
+#: ../lib/md5sum.sh:30
 msgid "Internal error: bad usage of function get_md5sum_from_file()"
 msgstr "Interner Fehler: falscher Aufruf der Funktion get_md5sum_from_file()"
 
-#: ../lib/md5sum.sh:33
+#: ../lib/md5sum.sh:34
 #, sh-format
 msgid "No md5file found: $md5file"
 msgstr "Keine MD5-Datei gefunden: $md5file"
 
-#: ../lib/md5sum.sh:77
+#: ../lib/md5sum.sh:82
 #, sh-format
 msgid "Archive given does not exist in the repository: $archive"
 msgstr "Angegebenes Archiv existiert nicht im Depot: $archive"
@@ -304,6 +394,7 @@
 msgstr "Löschen alter Archive deaktivieren."
 
 #: ../lib/dialog.sh:60
+#, fuzzy
 msgid "Warning, process interrupted, archives may be corrupted."
 msgstr "Warnung, Prozess wurde unterbrochen. Archive könnten defekt sein."
 
@@ -311,110 +402,28 @@
 msgid "Not in interactive mode, cannot continue."
 msgstr "Nicht in interaktivem Modus, kann nicht fortsetzen."
 
-#: ../lib/logger.sh:134
+#: ../lib/logger.sh:143 ../backup-manager:264
+msgid "Unable to exec post-command."
+msgstr "Kann post-command nicht ausführen."
+
+#: ../lib/logger.sh:145
 msgid "Releasing lock"
 msgstr "Freigabe der Sperre"
 
-#: ../lib/actions.sh:42
-msgid "No backup method used."
-msgstr "Keine Backup-Methode verwendet."
+#: ../lib/archives.sh:31
+msgid "Internal error: wrong call to bm_merge_incremental_backups()."
+msgstr "Systemfehler: falscher Aufruf von bm_merge_incremental_backups()."
 
-#: ../lib/actions.sh:45
-#, sh-format
-msgid "No such backup method: $BM_ARCHIVE_METHOD"
-msgstr "Backup-Methode existiert nicht: $BM_ARCHIVE_METHOD"
-
-#: ../lib/actions.sh:54
-#, sh-format
-msgid "Unable to change the owner of \"$md5file\"."
-msgstr "Kann den Besitzer von »$md5file« nicht ändern."
-
-#: ../lib/actions.sh:56
-#, sh-format
-msgid "Unable to change file permissions of \"$md5file\"."
-msgstr "Kann die Zugriffsrechte von »$md5file« nicht ändern."
-
-#: ../lib/actions.sh:86
-msgid "No upload method used."
-msgstr "Keine Upload-Methode verwendet."
-
-#: ../lib/actions.sh:89
-#, sh-format
-msgid "The upload method \"$method\" is not supported; skipping."
-msgstr ""
-"Die Upload-Methode »$method« wird nicht unterstützt; der Upload wird "
-"übergangen."
-
-#: ../lib/actions.sh:99
-#, sh-format
-msgid "Cleaning $BM_REPOSITORY_ROOT"
-msgstr "Aufräumen von $BM_REPOSITORY_ROOT"
-
-#: ../lib/actions.sh:110
-#, sh-format
-msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
-msgstr "Pre-command läuft: $BM_PRE_BACKUP_COMMAND."
-
-#: ../lib/actions.sh:114
-msgid "Pre-command failed. Stopping the process."
-msgstr "Pre-command fehlgeschlagen. Prozess wurde gestoppt."
-
-#: ../lib/actions.sh:119
-#, sh-format
-msgid "Pre-command returned: \"$RET\" (success)."
-msgstr "Pre-command gab »$RET« (Erfolg) zurück."
-
-#: ../lib/actions.sh:129
-#, sh-format
-msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
-msgstr "Post-command läuft: $BM_POST_BACKUP_COMMAND"
-
-#: ../lib/actions.sh:133
-msgid "Post-command failed."
-msgstr "Post-command fehlgeschlagen."
-
-#: ../lib/actions.sh:138
-#, sh-format
-msgid "Post-command returned: \"$RET\" (success)."
-msgstr "Post-command gab »$RET« (Erfolg) zurück."
-
-#: ../lib/actions.sh:161
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
-msgstr ""
-"Die Konfigurationsvariable BM_TARBALL_FILETYPE ist auf »zip« gesetzt, aber "
-"zip ist nicht installiert."
-
-#: ../lib/actions.sh:166
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
-"installed."
-msgstr ""
-"Die Konfigurationsvariable BM_TARBALL_FILETYPE ist auf »bzip2« gesetzt, aber "
-"bzip2 ist nicht installiert."
-
-#: ../lib/actions.sh:171
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
-msgstr ""
-"Die Konfigurationsvariable BM_TARBALL_FILETYPE ist auf »dar« gesetzt, aber "
-"dar ist nicht installiert."
-
-#: ../lib/actions.sh:181
-#, sh-format
-msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
-msgstr "Das Depot $BM_REPOSITORY_ROOT existiert nicht, wird angelegt."
-
-#: ../lib/files.sh:73 ../lib/files.sh:86
+#: ../lib/files.sh:72 ../lib/files.sh:87
 msgid "No path given."
 msgstr "Kein Pfad angegeben."
 
-#: ../lib/files.sh:152
+#: ../lib/files.sh:162
 #, sh-format
 msgid "Removing lock for old PID, $pid is not running."
 msgstr "Löschen der Sperrdatei von altem Prozess, $pid läuft nicht."
 
-#: ../lib/files.sh:162
+#: ../lib/files.sh:172
 #, sh-format
 msgid ""
 "A backup-manager process ($pid) is already running with the conffile "
@@ -423,68 +432,68 @@
 "Ein backup-manager-Prozess ($pid) läuft bereits mit der Konfigurationsdatei "
 "$conffile"
 
-#: ../lib/files.sh:166 ../lib/files.sh:172
+#: ../lib/files.sh:176 ../lib/files.sh:182
 #, sh-format
 msgid "Getting lock for backup-manager $pid with $conffile"
 msgstr "Holen der Sperrdatei für backup-manager $pid mit $conffile"
 
-#: ../lib/files.sh:175
+#: ../lib/files.sh:185
 msgid "failed (check the file permissions)."
 msgstr "fehlgeschlagen (überprüfen Sie die Dateirechte)."
 
-#: ../lib/files.sh:254
+#: ../lib/files.sh:273
 #, sh-format
 msgid "$file is not a regular file."
 msgstr "$file ist keine reguläre Datei."
 
-#: ../lib/files.sh:280
+#: ../lib/files.sh:298
 #, sh-format
 msgid "Removing obsolete master backup: \"$file\"."
 msgstr "Löschen des veralteten Master-Backups: »$file«."
 
-#: ../lib/files.sh:288
+#: ../lib/files.sh:306
 #, sh-format
 msgid "Removing obsolete master backup (isolated): \"$file\"."
 msgstr "Löschen des veralteten Master-Backups (isoliert): »$file«."
 
-#: ../lib/files.sh:295
+#: ../lib/files.sh:313
 #, sh-format
 msgid "Removing archive \"$file\"."
 msgstr "Löschen des Archivs »$file«."
 
-#: ../lib/files.sh:315
+#: ../lib/files.sh:335
 msgid "Directory given was not found."
 msgstr "Angegebenes Verzeichnis wurde nicht gefunden."
 
-#: ../lib/files.sh:334
+#: ../lib/files.sh:354
 #, sh-format
 msgid "Removing archive \"$archive\"."
 msgstr "Löschen des Archivs »$archive«."
 
-#: ../lib/files.sh:356
+#: ../lib/files.sh:378
 #, sh-format
 msgid "The given file does not exist: $file_to_create"
 msgstr "Angegebene Datei existiert nicht: $file_to_create"
 
-#: ../lib/files.sh:361
+#: ../lib/files.sh:383
 msgid "No file given."
 msgstr "Keine Datei angegeben."
 
-#: ../lib/files.sh:366 ../lib/files.sh:368 ../lib/files.sh:382
+#: ../lib/files.sh:388 ../lib/files.sh:390 ../lib/files.sh:404
 msgid "Unable to get date from file."
 msgstr "Kann Datum der Datei nicht ermitteln."
 
-#: ../lib/files.sh:372
+#: ../lib/files.sh:394
 msgid "Unable to find the pattern of the file."
 msgstr "Kann das Dateimuster nicht finden."
 
-#: ../lib/files.sh:388
+#: ../lib/files.sh:410
 #, sh-format
 msgid "Unable to find the md5 hash of file \"$file\" in file \"$md5file\"."
 msgstr ""
 "Kann die Md5-Summe der Datei »$file« nicht in der Datei »$md5file« finden."
 
-#: ../lib/files.sh:394
+#: ../lib/files.sh:416
 #, sh-format
 msgid "$file is a duplicate of $file_to_create (using symlink)."
 msgstr "$file ist ein Duplikat von $file_to_create (verwende Symlink)."
@@ -592,12 +601,12 @@
 msgid "Using the upload method \"rsync-snapshots\"."
 msgstr "Verwende die Upload-Methode »rsync-snapshots«."
 
-#: ../lib/burning-methods.sh:37
+#: ../lib/burning-methods.sh:38
 #, sh-format
 msgid "Device \"/dev/$device\" is mounted on \"$m\", unmounting it."
 msgstr "Gerät »/dev/$device« ist auf »$m« eingehängt, es wird ausgehängt."
 
-#: ../lib/burning-methods.sh:52
+#: ../lib/burning-methods.sh:54
 #, sh-format
 msgid ""
 "MD5 checkup is only performed on disks. Please set the BM_BURNING_DEVICE in "
@@ -606,60 +615,60 @@
 "MD5-Überprüfung wird nur auf optischen Medien durchgeführt. Bitte setzen Sie "
 "BM_BURNING_DEVICE in $conffile"
 
-#: ../lib/burning-methods.sh:58
+#: ../lib/burning-methods.sh:60
 #, sh-format
 msgid "The mount point $mount_point is not there."
 msgstr "Der Einhängepunkt $mount_point existiert nicht."
 
-#: ../lib/burning-methods.sh:65
+#: ../lib/burning-methods.sh:67
 #, sh-format
 msgid "Mounting $BM_BURNING_DEVICE on $mount_point."
 msgstr "Einhängen von $BM_BURNING_DEVICE auf $mount_point."
 
-#: ../lib/burning-methods.sh:89
+#: ../lib/burning-methods.sh:91
 #, sh-format
 msgid "Checking MD5 sum for $base_file:"
 msgstr "Überprüfen der MD5-Summe für $base_file:"
 
-#: ../lib/burning-methods.sh:108
+#: ../lib/burning-methods.sh:110
 #, sh-format
 msgid "$str ok."
 msgstr "$str ok."
 
-#: ../lib/burning-methods.sh:111
+#: ../lib/burning-methods.sh:113
 #, sh-format
 msgid "$str failed (read error)."
 msgstr "$str fehlgeschlagen (Lesefehler)."
 
-#: ../lib/burning-methods.sh:115
+#: ../lib/burning-methods.sh:117
 #, sh-format
 msgid "$str failed (MD5 hash mismatch)."
 msgstr "$str fehlgeschlagen (MD5-Summe stimmt nicht überein)."
 
-#: ../lib/burning-methods.sh:122
+#: ../lib/burning-methods.sh:124
 msgid "Errors encountered during MD5 checks."
 msgstr "Fehler während der MD5-Überprüfung aufgetreten."
 
-#: ../lib/burning-methods.sh:126
+#: ../lib/burning-methods.sh:128
 #, sh-format
 msgid "Unable to unmount the mount point $mount_point"
 msgstr "Kann den Einhängepunkt $mount_point nicht aushängen."
 
-#: ../lib/burning-methods.sh:127
+#: ../lib/burning-methods.sh:129
 #, sh-format
 msgid "Unable to remove the mount point $mount_point"
 msgstr "Kann den Einhängepunkt $mount_point nicht entfernen."
 
-#: ../lib/burning-methods.sh:144
+#: ../lib/burning-methods.sh:148
 msgid "No burning method used."
 msgstr "Keine Brennmethode verwendet."
 
-#: ../lib/burning-methods.sh:164
+#: ../lib/burning-methods.sh:172
 #, sh-format
 msgid "Number of files to burn: $nb_file."
 msgstr "Anzahl zu brennender Dateien: $nb_file."
 
-#: ../lib/burning-methods.sh:166
+#: ../lib/burning-methods.sh:174
 #, sh-format
 msgid ""
 "Nothing to burn for the $BM__BURNING_DATE, try the '--burn <date>' switch."
@@ -667,12 +676,12 @@
 "Nichts zu brennen für das Datum $BM__BURNING_DATE, probieren Sie den "
 "Schalter »--burn <Datum>«."
 
-#: ../lib/burning-methods.sh:193 ../lib/burning-methods.sh:216
+#: ../lib/burning-methods.sh:203 ../lib/burning-methods.sh:228
 #, sh-format
 msgid "Burning archives of $BM__BURNING_DATE."
 msgstr "Brennen der Archive von $BM__BURNING_DATE."
 
-#: ../lib/burning-methods.sh:198
+#: ../lib/burning-methods.sh:208
 #, sh-format
 msgid ""
 "Cannot burn archives of the $BM__BURNING_DATE, too big: ${size}M, must fit "
@@ -681,88 +690,88 @@
 "Kann Archive des Tages $BM__BURNING_DATE nicht brennen, zu groß: ${size}M, "
 "maximale Größe laut Konfiguration $BM_BURNING_MAXSIZE"
 
-#: ../lib/burning-methods.sh:220
+#: ../lib/burning-methods.sh:232
 msgid "Burning the whole archives."
 msgstr "Brennen der gesamten Archive."
 
-#: ../lib/burning-methods.sh:225
+#: ../lib/burning-methods.sh:237
 #, sh-format
 msgid "Trying to burn $BM_REPOSITORY_ROOT ($size MB) in interactive mode."
 msgstr ""
 "Versuche $BM_REPOSITORY_ROOT ($size MB) in interaktivem Modus zu brennen."
 
-#: ../lib/burning-methods.sh:255
+#: ../lib/burning-methods.sh:268
 #, sh-format
 msgid "Redirecting burning logs into $logfile"
 msgstr "Umleiten der Ausgaben des Brennprogramms nach $logfile"
 
-#: ../lib/burning-methods.sh:260
+#: ../lib/burning-methods.sh:273
 #, sh-format
 msgid "Forcing dev=${BM_BURNING_DEVFORCED} for cdrecord commands."
 msgstr "Erzwinge dev=${BM_BURNING_DEVFORCED} für cdrecord-Befehle."
 
-#: ../lib/burning-methods.sh:268
+#: ../lib/burning-methods.sh:281
 #, sh-format
 msgid "DVD+R(W) burning requires $growisofs, aborting."
 msgstr "DVD+R(W)-Brennen erfordert $growisofs, Abbruch."
 
-#: ../lib/burning-methods.sh:271
+#: ../lib/burning-methods.sh:284
 #, sh-format
 msgid "Exporting archives to the DVD+R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Exportieren der Archive auf das DVD+R(W)-Medium in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:273 ../lib/burning-methods.sh:290
-#: ../lib/burning-methods.sh:300 ../lib/burning-methods.sh:305
-#: ../lib/burning-methods.sh:316
+#: ../lib/burning-methods.sh:288 ../lib/burning-methods.sh:308
+#: ../lib/burning-methods.sh:320 ../lib/burning-methods.sh:326
+#: ../lib/burning-methods.sh:339
 #, sh-format
 msgid "failed, check $logfile"
 msgstr "fehlgeschlagen, überprüfen Sie $logfile"
 
-#: ../lib/burning-methods.sh:278
+#: ../lib/burning-methods.sh:293
 #, sh-format
 msgid "DVD-R(W) burning requires $growisofs, aborting."
 msgstr "DVD-R(W)-Brennen erfordert $growisofs, Abbruch."
 
-#: ../lib/burning-methods.sh:281
+#: ../lib/burning-methods.sh:296
 #, sh-format
 msgid "DVD-R(W) burning requires $dvdrwformat, aborting."
 msgstr "DVD-R(W)-Brennen erfordert $dvdrwformat, Abbruch."
 
-#: ../lib/burning-methods.sh:284
+#: ../lib/burning-methods.sh:299
 #, sh-format
 msgid "Blanking the DVD-R(W) disc in $BM_BURNING_DEVICE"
 msgstr "Löschen des DVD-R(W)-Mediums in $BM_BURNING_DEVICE"
 
-#: ../lib/burning-methods.sh:286
+#: ../lib/burning-methods.sh:303
 #, sh-format
 msgid "Unable to blank the DVD-R(W) disc (check $logfile)."
 msgstr "Kann das DVD-R(W)-Medium nicht löschen (überprüfen Sie $logfile)."
 
-#: ../lib/burning-methods.sh:288
+#: ../lib/burning-methods.sh:305
 #, sh-format
 msgid "Exporting archives to the DVD-R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Exportieren der Archive auf das DVD-R(W)-Medium in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:295 ../lib/burning-methods.sh:310
+#: ../lib/burning-methods.sh:313 ../lib/burning-methods.sh:331
 #, sh-format
 msgid "CD-R(W) burning requires $cdrecord, aborting."
 msgstr "CD-Brennen erfordert $cdrecord, Abbruch."
 
-#: ../lib/burning-methods.sh:298
+#: ../lib/burning-methods.sh:316
 #, sh-format
 msgid "Blanking the CDRW in $BM_BURNING_DEVICE."
 msgstr "Löschen der CDRW in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:302 ../lib/burning-methods.sh:313
+#: ../lib/burning-methods.sh:322 ../lib/burning-methods.sh:334
 #, sh-format
 msgid "Burning data to $BM_BURNING_DEVICE."
 msgstr "Brennen der Daten auf $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:320
+#: ../lib/burning-methods.sh:343
 msgid "Nothing to burn."
 msgstr "Nichts zu brennen."
 
-#: ../lib/burning-methods.sh:324
+#: ../lib/burning-methods.sh:347
 #, sh-format
 msgid ""
 "The requested burning method is not supported, check BM_BURNING_METHOD in "
@@ -771,45 +780,46 @@
 "Die angeforderte Brennmethode wird nicht unterstützt, überprüfen Sie "
 "BM_BURNING_METHOD in $conffile"
 
-#: ../lib/burning-methods.sh:373
+#: ../lib/burning-methods.sh:400
 #, sh-format
 msgid "Not burning $file because it does not fit in the disk."
 msgstr "Datei $file wird nicht gebrannt, weil sie nicht auf das Medium passt."
 
-#: ../lib/burning-methods.sh:414
+#: ../lib/burning-methods.sh:443
 #, sh-format
 msgid "No such index file: \"$index_file\"."
 msgstr "Die Indexdatei »$index_file« existiert nicht."
 
-#: ../lib/burning-methods.sh:455
+#: ../lib/burning-methods.sh:485
 msgid "The burning process will need one disk."
 msgstr "Der Brennvorgang benötigt ein Medium."
 
-#: ../lib/burning-methods.sh:457
+#: ../lib/burning-methods.sh:487
 #, sh-format
 msgid "The burning process will need $number_of_indexes disks."
 msgstr "Der Brennvorgang benötigt $number_of_indexes Medien."
 
-#: ../lib/burning-methods.sh:469
+#: ../lib/burning-methods.sh:499
 #, sh-format
 msgid "Burning content of $index"
 msgstr "Brennen des Inhalts von $index"
 
-#: ../backup-manager:134
+#: ../backup-manager:139
 msgid "The -b option must be followed by a valid date (YYYYMMDD)."
 msgstr "Auf die Option -b muss ein gültiges Datum (JJJJMMTT) folgen."
 
-#: ../backup-manager:165
+#: ../backup-manager:174
 msgid "The -c option must be followed by an existing filename."
 msgstr "Auf die Option -c muss der Name einer existierenden Datei folgen."
 
-#: ../backup-manager:202
+#: ../backup-manager:214
 msgid "Unable to exec the pre-command"
 msgstr "Kann pre-command nicht ausführen"
 
-#: ../backup-manager:243
-msgid "Unable to exec post-command."
-msgstr "Kann post-command nicht ausführen."
+#, fuzzy
+#~ msgid "Removing archive \"$bm_pending_archive\" (build interrupted)."
+#~ msgstr "Löschen des Archivs »$archive«."
 
-#~ msgid "Internal error: wrong call to bm_merge_incremental_backups()."
-#~ msgstr "Systemfehler: falscher Aufruf von bm_merge_incremental_backups()."
+#, fuzzy
+#~ msgid "Compressor $compress is needed."
+#~ msgstr "Kompressor $compress erfordert $gzip."

Modified: trunk/po/es.po
===================================================================
--- trunk/po/es.po	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/po/es.po	2007-05-30 12:53:39 UTC (rev 66)
@@ -30,7 +30,7 @@
 msgstr ""
 "Project-Id-Version: backup-manager 0.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-09-18 09:27+0200\n"
+"POT-Creation-Date: 2006-10-20 16:36+0200\n"
 "PO-Revision-Date: 2005-12-14 13:07+0100\n"
 "Last-Translator: Carlos Galisteo de Cabo <cgalisteo at k-rolus.net>\n"
 "Language-Team: \n"
@@ -44,175 +44,175 @@
 msgid "$file_to_create: ok (${size}M,"
 msgstr "$file_to_create: ok (${size}M,"
 
-#: ../lib/backup-methods.sh:47
+#: ../lib/backup-methods.sh:48
 #, sh-format
 msgid "Unable to purge duplicates of $file_to_create"
 msgstr "No se pudieron borrar los duplicados de $file_to_create"
 
-#: ../lib/backup-methods.sh:52
+#: ../lib/backup-methods.sh:53
 #, sh-format
 msgid "Unable to change the owner of \"$file_to_create\"."
 msgstr "No se han podido borrar los duplicados de \"$file_to_create\"."
 
-#: ../lib/backup-methods.sh:54
+#: ../lib/backup-methods.sh:55
 #, sh-format
 msgid "Unable to change file permissions of \"$file_to_create\"."
 msgstr "No se han podido borrar los duplicados de \"$file_to_create\"."
 
-#: ../lib/backup-methods.sh:76
+#: ../lib/backup-methods.sh:80
 #, sh-format
 msgid "Unable to create \"$target\", check $logfile"
 msgstr "No se pudo crear \"$target\", consulte el fichero $logfile"
 
-#: ../lib/backup-methods.sh:89
+#: ../lib/backup-methods.sh:94
 #, sh-format
 msgid "File $file_to_create already exists, skipping."
 msgstr "El fichero $file_to_create, ya existe. Se ignora."
 
-#: ../lib/backup-methods.sh:100 ../lib/backup-methods.sh:116
-#: ../lib/backup-methods.sh:130
+#: ../lib/backup-methods.sh:108 ../lib/backup-methods.sh:128
+#: ../lib/backup-methods.sh:149
 #, sh-format
 msgid "Unable to exec $command; check $logfile"
 msgstr "No se pudo ejecutar $command; consulte el fichero $logfile"
 
-#: ../lib/backup-methods.sh:108
-#, sh-format
+#: ../lib/backup-methods.sh:116
+#, fuzzy, sh-format
 msgid "Compressor $compress requires $gzip."
-msgstr "El compresor $compress requiere $gzip"
+msgstr "El compresor $compress requiere $bzip"
 
-#: ../lib/backup-methods.sh:124
+#: ../lib/backup-methods.sh:136
 #, sh-format
 msgid "Compressor $compress requires $bzip."
 msgstr "El compresor $compress requiere $bzip"
 
-#: ../lib/backup-methods.sh:137
+#: ../lib/backup-methods.sh:156
 #, sh-format
 msgid "No such compressor supported: $compress."
 msgstr "Compresor no soportado: $compress"
 
-#: ../lib/backup-methods.sh:143
+#: ../lib/backup-methods.sh:162
 #, sh-format
 msgid "Unable to find $file_to_create"
 msgstr "No se pudo encontrar $file_to_create"
 
-#: ../lib/backup-methods.sh:254
+#: ../lib/backup-methods.sh:289
 msgid "No frequency given, set BM_TARBALLINC_MASTERDATETYPE."
 msgstr ""
 "No se ha indicado la frecuencia, establézcala en "
 "BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:265
+#: ../lib/backup-methods.sh:300
 #, sh-format
 msgid "Unknown frequency: $BM_TARBALLINC_MASTERDATETYPE"
 msgstr "Frecuencia desconocida: $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:289
+#: ../lib/backup-methods.sh:328
 #, sh-format
 msgid "Building master backup for target: \"$dir_name\"."
 msgstr "Creando copia de seguridad maestra para el objetivo : $dir_name"
 
-#: ../lib/backup-methods.sh:396
+#: ../lib/backup-methods.sh:452
 #, sh-format
 msgid "The archive type \"tar.bz2\" depends on the tool \"$bzip\"."
 msgstr "El tipo de fichero \"tar.bz2\" depende de la herramienta \"$bzip\"."
 
-#: ../lib/backup-methods.sh:403
+#: ../lib/backup-methods.sh:459
 #, sh-format
 msgid "The archive type \"tar.lz\" depends on the tool \"$lzma\"."
 msgstr "El tipo de fichero \"tar.lz\" depende de la herramienta \"$lzma\"."
 
-#: ../lib/backup-methods.sh:410
+#: ../lib/backup-methods.sh:466
 #, sh-format
 msgid "The archive type \"zip\" depends on the tool \"$zip\"."
 msgstr "El tipo de fichero \"zip\" depende de la herramienta \"$zip\"."
 
-#: ../lib/backup-methods.sh:416
+#: ../lib/backup-methods.sh:472
 #, sh-format
 msgid "The archive type \"dar\" depends on the tool \"$dar\"."
 msgstr "El tipo de fichero \"dar\" depende de la herramienta \"$dar\"."
 
-#: ../lib/backup-methods.sh:422 ../lib/backup-methods.sh:499
-#: ../lib/backup-methods.sh:535
+#: ../lib/backup-methods.sh:478 ../lib/backup-methods.sh:579
+#: ../lib/backup-methods.sh:620
 #, sh-format
 msgid "The archive type \"$BM_TARBALL_FILETYPE\" is not supported."
 msgstr "El tipo de fichero \"$BM_TARBALL_FILETYPE\" no está soportado."
 
-#: ../lib/backup-methods.sh:474
+#: ../lib/backup-methods.sh:549
 msgid "The configuration variable \"BM_ENCRYPTION_RECIPIENT\" must be defined."
 msgstr ""
 "La variable de configuración \"$BM_ENCRYPTION_RECIPIENT\" debe estar "
 "definida."
 
-#: ../lib/backup-methods.sh:480
+#: ../lib/backup-methods.sh:555
 #, sh-format
 msgid ""
 "The encryption is not yet possible with \"$BM_TARBALL_FILETYPE\" archives."
 msgstr "Todavía no es posible cifrar archivos \"$BM_TARBALL_FILETYPE\"."
 
-#: ../lib/backup-methods.sh:512
+#: ../lib/backup-methods.sh:596
 #, sh-format
 msgid "The program \"$gpg\" is needed."
 msgstr "Se necesita el programa \"$gpg\"."
 
-#: ../lib/backup-methods.sh:519 ../lib/backup-methods.sh:551
+#: ../lib/backup-methods.sh:603 ../lib/backup-methods.sh:640
 #, sh-format
 msgid "File $file_to_check already exists, skipping."
 msgstr "El fichero $file_to_check, ya existe. Se ignora."
 
-#: ../lib/backup-methods.sh:571
+#: ../lib/backup-methods.sh:663
 #, sh-format
 msgid "Target \"$t\" does not exist, skipping."
 msgstr "El destino \"$t\" no existe, se omite."
 
-#: ../lib/backup-methods.sh:640 ../lib/backup-methods.sh:673
-#: ../lib/backup-methods.sh:702 ../lib/backup-methods.sh:724
+#: ../lib/backup-methods.sh:738 ../lib/backup-methods.sh:773
+#: ../lib/backup-methods.sh:804 ../lib/backup-methods.sh:828
 #, sh-format
 msgid "Using method \"$method\"."
 msgstr "Utilizando el método de subida \"$method\"."
 
-#: ../lib/backup-methods.sh:664
+#: ../lib/backup-methods.sh:762
 msgid "1 error occurred during the tarball generation."
 msgstr "Ha ocurrido un error durante la generación del archivo comprimido."
 
-#: ../lib/backup-methods.sh:666
+#: ../lib/backup-methods.sh:764
 #, sh-format
 msgid "$nb_err errors occurred during the tarball generation."
 msgstr "$nb_err errores durante la generación del archivo comprimido."
 
-#: ../lib/backup-methods.sh:675
+#: ../lib/backup-methods.sh:775
 #, sh-format
 msgid "The \"mysql\" method is chosen, but $mysqldump is not found."
 msgstr ""
 "El método \"mysql\" está seleccionado, pero no se pudo encontrar "
 "$mysqldump."
 
-#: ../lib/backup-methods.sh:704
+#: ../lib/backup-methods.sh:806
 #, sh-format
 msgid "The \"svn\" method is chosen, but $svnadmin is not found."
 msgstr ""
 "El método \"svn\" está seleccionado, pero no se pudo encontrar $svnadmin"
 
-#: ../lib/backup-methods.sh:710
+#: ../lib/backup-methods.sh:812
 #, sh-format
 msgid "SVN repository \"$repository\" is not valid; skipping."
 msgstr "El repositorio SVN  \"$repository\" es inválido; se omite."
 
-#: ../lib/backup-methods.sh:733
+#: ../lib/backup-methods.sh:837
 #, sh-format
 msgid "Not enough args for this archive ($archive), skipping."
 msgstr "No hay suficientes argumentos para este fichero ($archive), se omite."
 
-#: ../lib/backup-methods.sh:740
+#: ../lib/backup-methods.sh:844
 msgid "Cannot create archive."
 msgstr "No se puede crear el fichero."
 
-#: ../lib/sanitize.sh:29
+#: ../lib/sanitize.sh:31
 #, sh-format
 msgid "The configuration key $key is not set, using \"$default\"."
 msgstr ""
 "La opción de configuración $key no esta definida, se usará \"$default\"."
 
-#: ../lib/sanitize.sh:39
+#: ../lib/sanitize.sh:42
 #, sh-format
 msgid ""
 "The configuration key \"$deprecated_key\" is deprecated, you should rename "
@@ -221,26 +221,26 @@
 "La opción \"$deprecated_key\" esta obsoleta, debería renombrarla \"$new_key"
 "\". Se usará  \"$deprecated_value\"."
 
-#: ../lib/sanitize.sh:74
+#: ../lib/sanitize.sh:83
 #, sh-format
 msgid "The configuration key $key is not set but $keymandatory is enabled."
 msgstr "La opción $key no esta definida, pero $keymandatory esta activado."
 
-#: ../lib/sanitize.sh:92
+#: ../lib/sanitize.sh:99
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"yes\", setting \"true\" instead."
 msgstr ""
 "Valor booleano obsoleto, $key está definido como \"yes\", se usará \"true"
 "\" en su lugar."
 
-#: ../lib/sanitize.sh:97
+#: ../lib/sanitize.sh:104
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"no\", setting \"false\" instead."
 msgstr ""
 "Valor booleano obsoleto, $key está definido como \"no\", se usará \"false"
 "\" en su lugar."
 
-#: ../lib/sanitize.sh:248
+#: ../lib/sanitize.sh:251
 #, sh-format
 msgid ""
 "When validating the configuration file $conffile, $nb_warnings warnings were "
@@ -249,16 +249,104 @@
 "Se encontraron $nb_warnings avisos al validar el fichero de configuración "
 "$conffile"
 
-#: ../lib/md5sum.sh:29
+#: ../lib/actions.sh:44
+msgid "No backup method used."
+msgstr "No se está usando ningún método de copia de seguridad."
+
+#: ../lib/actions.sh:47
+#, sh-format
+msgid "No such backup method: $BM_ARCHIVE_METHOD"
+msgstr "Método de copia de seguridad desconocido: $BM_ARCHIVE_METHOD"
+
+#: ../lib/actions.sh:56
+#, sh-format
+msgid "Unable to change the owner of \"$md5file\"."
+msgstr "No se pudo obtener la fecha de \"$md5file\"."
+
+#: ../lib/actions.sh:58
+#, sh-format
+msgid "Unable to change file permissions of \"$md5file\"."
+msgstr "No se pudieron cambiar los permisos de \"$md5file\"."
+
+#: ../lib/actions.sh:90
+msgid "No upload method used."
+msgstr "No se usó ningún método de subida."
+
+#: ../lib/actions.sh:93
+#, sh-format
+msgid "The upload method \"$method\" is not supported; skipping."
+msgstr "El método de subida \"$method\" no está soportado; Se omitirá."
+
+#: ../lib/actions.sh:105
+#, sh-format
+msgid "Cleaning $BM_REPOSITORY_ROOT"
+msgstr "Limpiando $BM_REPOSITORY_ROOT."
+
+#: ../lib/actions.sh:118
+#, sh-format
+msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
+msgstr "Ejecutando la orden previa al proceso: $BM_PRE_BACKUP_COMMAND."
+
+#: ../lib/actions.sh:122
+msgid "Pre-command failed. Stopping the process."
+msgstr "La orden previa al proceso falló. Parando el proceso."
+
+#: ../lib/actions.sh:127
+#, sh-format
+msgid "Pre-command returned: \"$RET\" (success)."
+msgstr "La orden previa al proceso devolvió:\"$RET\" (éxito)."
+
+#: ../lib/actions.sh:139
+#, sh-format
+msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
+msgstr "Ejecutando la orden posterior al proceso: $BM_POST_BACKUP_COMMAND."
+
+#: ../lib/actions.sh:143
+msgid "Post-command failed."
+msgstr "La orden posterior al proceso falló."
+
+#: ../lib/actions.sh:148
+#, sh-format
+msgid "Post-command returned: \"$RET\" (success)."
+msgstr "La orden posterior al proceso devolvió: \"$RET\" (éxito)."
+
+#: ../lib/actions.sh:175
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
+msgstr ""
+"La clave de configuración BM_TARBALL_FILETYPE está establecida como \"zip"
+"\" pero el programa zip no está instalado."
+
+#: ../lib/actions.sh:180
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
+"installed."
+msgstr ""
+"La clave de configuración BM_TARBALL_FILETYPE está establecida como \"bzip2"
+"\" pero el programa bzip2 no está instalado."
+
+#: ../lib/actions.sh:185
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
+msgstr ""
+"La clave de configuración BM_FILETYPE está establecida como \"dar\" pero "
+"el programa dar no está instalado."
+
+#: ../lib/actions.sh:197
+#, sh-format
+msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
+msgstr "El repositorio $BM_REPOSITORY_ROOT no existe, creándolo"
+
+#: ../lib/md5sum.sh:30
 msgid "Internal error: bad usage of function get_md5sum_from_file()"
 msgstr "Error interno: Mal uso de la función get_md5sum_from_file()"
 
-#: ../lib/md5sum.sh:33
+#: ../lib/md5sum.sh:34
 #, sh-format
 msgid "No md5file found: $md5file"
 msgstr "No se encontró el fichero md5: $md5file"
 
-#: ../lib/md5sum.sh:77
+#: ../lib/md5sum.sh:82
 #, sh-format
 msgid "Archive given does not exist in the repository: $archive"
 msgstr "El fichero especificado no existe en el repositorio: $archive"
@@ -328,6 +416,7 @@
 msgstr "Deshabilitar el proceso de borrado."
 
 #: ../lib/dialog.sh:60
+#, fuzzy
 msgid "Warning, process interrupted, archives may be corrupted."
 msgstr ""
 "Aviso, el proceso se ha interrumpido. Los archivos pueden estar  corruptos."
@@ -336,108 +425,28 @@
 msgid "Not in interactive mode, cannot continue."
 msgstr "No se puede continuar, no está en modo interactivo."
 
-#: ../lib/logger.sh:134
+#: ../lib/logger.sh:143 ../backup-manager:264
+msgid "Unable to exec post-command."
+msgstr "No se pudo ejecutar la orden posterior."
+
+#: ../lib/logger.sh:145
 msgid "Releasing lock"
 msgstr "Liberando el bloqueo"
 
-#: ../lib/actions.sh:42
-msgid "No backup method used."
-msgstr "No se está usando ningún método de copia de seguridad."
+#: ../lib/archives.sh:31
+msgid "Internal error: wrong call to bm_merge_incremental_backups()."
+msgstr "Error interno: Lamada erronea a bm_merge_incremental_backups()."
 
-#: ../lib/actions.sh:45
-#, sh-format
-msgid "No such backup method: $BM_ARCHIVE_METHOD"
-msgstr "Método de copia de seguridad desconocido: $BM_ARCHIVE_METHOD"
-
-#: ../lib/actions.sh:54
-#, sh-format
-msgid "Unable to change the owner of \"$md5file\"."
-msgstr "No se pudo obtener la fecha de \"$md5file\"."
-
-#: ../lib/actions.sh:56
-#, sh-format
-msgid "Unable to change file permissions of \"$md5file\"."
-msgstr "No se pudieron cambiar los permisos de \"$md5file\"."
-
-#: ../lib/actions.sh:86
-msgid "No upload method used."
-msgstr "No se usó ningún método de subida."
-
-#: ../lib/actions.sh:89
-#, sh-format
-msgid "The upload method \"$method\" is not supported; skipping."
-msgstr "El método de subida \"$method\" no está soportado; Se omitirá."
-
-#: ../lib/actions.sh:99
-#, sh-format
-msgid "Cleaning $BM_REPOSITORY_ROOT"
-msgstr "Limpiando $BM_REPOSITORY_ROOT."
-
-#: ../lib/actions.sh:110
-#, sh-format
-msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
-msgstr "Ejecutando la orden previa al proceso: $BM_PRE_BACKUP_COMMAND."
-
-#: ../lib/actions.sh:114
-msgid "Pre-command failed. Stopping the process."
-msgstr "La orden previa al proceso falló. Parando el proceso."
-
-#: ../lib/actions.sh:119
-#, sh-format
-msgid "Pre-command returned: \"$RET\" (success)."
-msgstr "La orden previa al proceso devolvió:\"$RET\" (éxito)."
-
-#: ../lib/actions.sh:129
-#, sh-format
-msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
-msgstr "Ejecutando la orden posterior al proceso: $BM_POST_BACKUP_COMMAND."
-
-#: ../lib/actions.sh:133
-msgid "Post-command failed."
-msgstr "La orden posterior al proceso falló."
-
-#: ../lib/actions.sh:138
-#, sh-format
-msgid "Post-command returned: \"$RET\" (success)."
-msgstr "La orden posterior al proceso devolvió: \"$RET\" (éxito)."
-
-#: ../lib/actions.sh:161
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
-msgstr ""
-"La clave de configuración BM_TARBALL_FILETYPE está establecida como \"zip"
-"\" pero el programa zip no está instalado."
-
-#: ../lib/actions.sh:166
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
-"installed."
-msgstr ""
-"La clave de configuración BM_TARBALL_FILETYPE está establecida como \"bzip2"
-"\" pero el programa bzip2 no está instalado."
-
-#: ../lib/actions.sh:171
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
-msgstr ""
-"La clave de configuración BM_FILETYPE está establecida como \"dar\" pero "
-"el programa dar no está instalado."
-
-#: ../lib/actions.sh:181
-#, sh-format
-msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
-msgstr "El repositorio $BM_REPOSITORY_ROOT no existe, creándolo"
-
-#: ../lib/files.sh:73 ../lib/files.sh:86
+#: ../lib/files.sh:72 ../lib/files.sh:87
 msgid "No path given."
 msgstr "No se especificó ninguna ruta."
 
-#: ../lib/files.sh:152
+#: ../lib/files.sh:162
 #, sh-format
 msgid "Removing lock for old PID, $pid is not running."
 msgstr "Liberando el bloqueo del PID antiguo, $pid no está en ejecución."
 
-#: ../lib/files.sh:162
+#: ../lib/files.sh:172
 #, sh-format
 msgid ""
 "A backup-manager process ($pid) is already running with the conffile "
@@ -446,69 +455,69 @@
 "Ya se está ejecutando un proceso backup-manager ($pid) usando el fichero de "
 "configuración $conffile."
 
-#: ../lib/files.sh:166 ../lib/files.sh:172
+#: ../lib/files.sh:176 ../lib/files.sh:182
 #, sh-format
 msgid "Getting lock for backup-manager $pid with $conffile"
 msgstr "Bloqueando backup-manager $pid con $conffile."
 
-#: ../lib/files.sh:175
+#: ../lib/files.sh:185
 msgid "failed (check the file permissions)."
 msgstr "Falló (compruebe los permisos del fichero)"
 
-#: ../lib/files.sh:254
+#: ../lib/files.sh:273
 #, sh-format
 msgid "$file is not a regular file."
 msgstr "$file no es un fichero uniforme."
 
-#: ../lib/files.sh:280
+#: ../lib/files.sh:298
 #, sh-format
 msgid "Removing obsolete master backup: \"$file\"."
 msgstr "Borrando copia de seguridad maestra obsoleta: \"$file\"."
 
-#: ../lib/files.sh:288
+#: ../lib/files.sh:306
 #, sh-format
 msgid "Removing obsolete master backup (isolated): \"$file\"."
 msgstr "Borrando copia de seguridad maestra obsoleta (aislada): \"$file\"."
 
-#: ../lib/files.sh:295
+#: ../lib/files.sh:313
 #, sh-format
 msgid "Removing archive \"$file\"."
 msgstr "Borrando fichero \"$file\"."
 
-#: ../lib/files.sh:315
+#: ../lib/files.sh:335
 msgid "Directory given was not found."
 msgstr "No se encuentra el directorio especificado."
 
-#: ../lib/files.sh:334
+#: ../lib/files.sh:354
 #, sh-format
 msgid "Removing archive \"$archive\"."
 msgstr "Borrando fichero \"$archive\"."
 
-#: ../lib/files.sh:356
+#: ../lib/files.sh:378
 #, sh-format
 msgid "The given file does not exist: $file_to_create"
 msgstr "El fichero especificado no existe: $file_to_create"
 
-#: ../lib/files.sh:361
+#: ../lib/files.sh:383
 msgid "No file given."
 msgstr "No se especificó ningún fichero"
 
-#: ../lib/files.sh:366 ../lib/files.sh:368 ../lib/files.sh:382
+#: ../lib/files.sh:388 ../lib/files.sh:390 ../lib/files.sh:404
 msgid "Unable to get date from file."
 msgstr "No se pudo obtener la fecha del fichero."
 
-#: ../lib/files.sh:372
+#: ../lib/files.sh:394
 msgid "Unable to find the pattern of the file."
 msgstr "No se pudo encontrar el patrón del fichero"
 
-#: ../lib/files.sh:388
+#: ../lib/files.sh:410
 #, sh-format
 msgid "Unable to find the md5 hash of file \"$file\" in file \"$md5file\"."
 msgstr ""
 "No se ha podido encontrar la firma md5 del fichero \"$file\" en el archivo "
 "\"$md5file\"."
 
-#: ../lib/files.sh:394
+#: ../lib/files.sh:416
 #, sh-format
 msgid "$file is a duplicate of $file_to_create (using symlink)."
 msgstr "$file es un duplicado de $file_to_create (usando un enlace simbólico)"
@@ -622,13 +631,13 @@
 msgid "Using the upload method \"rsync-snapshots\"."
 msgstr "Utilizando el método de subida \"rsync-snapshots\"."
 
-#: ../lib/burning-methods.sh:37
+#: ../lib/burning-methods.sh:38
 #, sh-format
 msgid "Device \"/dev/$device\" is mounted on \"$m\", unmounting it."
 msgstr ""
 "El dispositivo \"/dev/$device\" está montado en \"$m\", desmontándolo. "
 
-#: ../lib/burning-methods.sh:52
+#: ../lib/burning-methods.sh:54
 #, sh-format
 msgid ""
 "MD5 checkup is only performed on disks. Please set the BM_BURNING_DEVICE in "
@@ -637,60 +646,60 @@
 "Sólo se realizara la comprobación MD5 sobre discos. Por favor configure  "
 "BM_BURNING_DEVICE en $conffile."
 
-#: ../lib/burning-methods.sh:58
+#: ../lib/burning-methods.sh:60
 #, sh-format
 msgid "The mount point $mount_point is not there."
 msgstr "El punto de montaje $mount_point no existe"
 
-#: ../lib/burning-methods.sh:65
+#: ../lib/burning-methods.sh:67
 #, sh-format
 msgid "Mounting $BM_BURNING_DEVICE on $mount_point."
 msgstr "Montando $BM_BURNING_DEVICE en $mount_point."
 
-#: ../lib/burning-methods.sh:89
+#: ../lib/burning-methods.sh:91
 #, sh-format
 msgid "Checking MD5 sum for $base_file:"
 msgstr "Comprobando la firma MD5 de $base_file: "
 
-#: ../lib/burning-methods.sh:108
+#: ../lib/burning-methods.sh:110
 #, sh-format
 msgid "$str ok."
 msgstr "$str ok."
 
-#: ../lib/burning-methods.sh:111
+#: ../lib/burning-methods.sh:113
 #, sh-format
 msgid "$str failed (read error)."
 msgstr "$str falló (error de lectura)."
 
-#: ../lib/burning-methods.sh:115
+#: ../lib/burning-methods.sh:117
 #, sh-format
 msgid "$str failed (MD5 hash mismatch)."
 msgstr "$str falló (no coinciden las firmas MD5)."
 
-#: ../lib/burning-methods.sh:122
+#: ../lib/burning-methods.sh:124
 msgid "Errors encountered during MD5 checks."
 msgstr "Se encontraron errores durante la revisión de las firmas MD5."
 
-#: ../lib/burning-methods.sh:126
+#: ../lib/burning-methods.sh:128
 #, sh-format
 msgid "Unable to unmount the mount point $mount_point"
 msgstr "No se pudo desmontar el punto de montaje $mount_point"
 
-#: ../lib/burning-methods.sh:127
+#: ../lib/burning-methods.sh:129
 #, sh-format
 msgid "Unable to remove the mount point $mount_point"
 msgstr "No se pudo suprimir el punto de montaje $mount_point"
 
-#: ../lib/burning-methods.sh:144
+#: ../lib/burning-methods.sh:148
 msgid "No burning method used."
 msgstr "No se usó ningún método de grabación."
 
-#: ../lib/burning-methods.sh:164
+#: ../lib/burning-methods.sh:172
 #, sh-format
 msgid "Number of files to burn: $nb_file."
 msgstr "Número de archivos a grabar: $nb_file."
 
-#: ../lib/burning-methods.sh:166
+#: ../lib/burning-methods.sh:174
 #, sh-format
 msgid ""
 "Nothing to burn for the $BM__BURNING_DATE, try the '--burn <date>' switch."
@@ -698,12 +707,12 @@
 "Nada que grabar para el $BM__BURNING_DATE, pruebe el parámetro '--burn "
 "<fecha>'."
 
-#: ../lib/burning-methods.sh:193 ../lib/burning-methods.sh:216
+#: ../lib/burning-methods.sh:203 ../lib/burning-methods.sh:228
 #, sh-format
 msgid "Burning archives of $BM__BURNING_DATE."
 msgstr "Grabando archivos de  $BM__BURNING_DATE."
 
-#: ../lib/burning-methods.sh:198
+#: ../lib/burning-methods.sh:208
 #, sh-format
 msgid ""
 "Cannot burn archives of the $BM__BURNING_DATE, too big: ${size}M, must fit "
@@ -712,88 +721,88 @@
 "No se pueden grabar los ficheros de $BM__BURNING_DATE, son demasiado "
 "grandes: ${size}M, deben ocupar un máximo de $BM_BURNING_MAXSIZE"
 
-#: ../lib/burning-methods.sh:220
+#: ../lib/burning-methods.sh:232
 msgid "Burning the whole archives."
 msgstr "Grabando todos los archivos."
 
-#: ../lib/burning-methods.sh:225
+#: ../lib/burning-methods.sh:237
 #, sh-format
 msgid "Trying to burn $BM_REPOSITORY_ROOT ($size MB) in interactive mode."
 msgstr "Intentando grabar $BM_REPOSITORY_ROOT ($size MB) en modo interactivo."
 
-#: ../lib/burning-methods.sh:255
+#: ../lib/burning-methods.sh:268
 #, sh-format
 msgid "Redirecting burning logs into $logfile"
 msgstr "Redirigiendo los registros de grabación al fichero $logfile"
 
-#: ../lib/burning-methods.sh:260
+#: ../lib/burning-methods.sh:273
 #, sh-format
 msgid "Forcing dev=${BM_BURNING_DEVFORCED} for cdrecord commands."
 msgstr "Forzando dev=${BM_BURNING_DEVFORCED} para las órdenes de cdrecord."
 
-#: ../lib/burning-methods.sh:268
+#: ../lib/burning-methods.sh:281
 #, sh-format
 msgid "DVD+R(W) burning requires $growisofs, aborting."
 msgstr "Se requiere $growisofs para la grabación en DVD+R(W), abortando."
 
-#: ../lib/burning-methods.sh:271
+#: ../lib/burning-methods.sh:284
 #, sh-format
 msgid "Exporting archives to the DVD+R(W) disc in $BM_BURNING_DEVICE."
 msgstr ""
 "Exportando los ficheros al disco DVD+R(W) que está en $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:273 ../lib/burning-methods.sh:290
-#: ../lib/burning-methods.sh:300 ../lib/burning-methods.sh:305
-#: ../lib/burning-methods.sh:316
+#: ../lib/burning-methods.sh:288 ../lib/burning-methods.sh:308
+#: ../lib/burning-methods.sh:320 ../lib/burning-methods.sh:326
+#: ../lib/burning-methods.sh:339
 #, sh-format
 msgid "failed, check $logfile"
 msgstr "falló, consulte el fichero $logfile"
 
-#: ../lib/burning-methods.sh:278
+#: ../lib/burning-methods.sh:293
 #, sh-format
 msgid "DVD-R(W) burning requires $growisofs, aborting."
 msgstr "Se requiere $growisofs para la grabación en DVD-R(W), abortando."
 
-#: ../lib/burning-methods.sh:281
+#: ../lib/burning-methods.sh:296
 #, sh-format
 msgid "DVD-R(W) burning requires $dvdrwformat, aborting."
 msgstr "Se requiere $dvdrwformat para la grabación en DVD-R(W), abortando."
 
-#: ../lib/burning-methods.sh:284
+#: ../lib/burning-methods.sh:299
 #, sh-format
 msgid "Blanking the DVD-R(W) disc in $BM_BURNING_DEVICE"
 msgstr "Borrando el disco DVD-R(W) en $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:286
+#: ../lib/burning-methods.sh:303
 #, sh-format
 msgid "Unable to blank the DVD-R(W) disc (check $logfile)."
 msgstr "No se pudo borrar el disco DVD-R(W) (consulte $logfile)."
 
-#: ../lib/burning-methods.sh:288
+#: ../lib/burning-methods.sh:305
 #, sh-format
 msgid "Exporting archives to the DVD-R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Exportando los ficheros al DVD-R(W) que está en $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:295 ../lib/burning-methods.sh:310
+#: ../lib/burning-methods.sh:313 ../lib/burning-methods.sh:331
 #, sh-format
 msgid "CD-R(W) burning requires $cdrecord, aborting."
 msgstr "Se requiere $cdrecord para la grabación de CD-R(W), abortando."
 
-#: ../lib/burning-methods.sh:298
+#: ../lib/burning-methods.sh:316
 #, sh-format
 msgid "Blanking the CDRW in $BM_BURNING_DEVICE."
 msgstr "Borrando el CDRW en $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:302 ../lib/burning-methods.sh:313
+#: ../lib/burning-methods.sh:322 ../lib/burning-methods.sh:334
 #, sh-format
 msgid "Burning data to $BM_BURNING_DEVICE."
 msgstr "Grabando los datos a $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:320
+#: ../lib/burning-methods.sh:343
 msgid "Nothing to burn."
 msgstr "Nada que grabar."
 
-#: ../lib/burning-methods.sh:324
+#: ../lib/burning-methods.sh:347
 #, sh-format
 msgid ""
 "The requested burning method is not supported, check BM_BURNING_METHOD in "
@@ -802,48 +811,49 @@
 "El método de grabación solicitado no está soportado, consulte "
 "BM_BURNING_METHOD en el fichero $conffile"
 
-#: ../lib/burning-methods.sh:373
+#: ../lib/burning-methods.sh:400
 #, sh-format
 msgid "Not burning $file because it does not fit in the disk."
 msgstr "No se grabará $file porque no cabe en el disco."
 
-#: ../lib/burning-methods.sh:414
+#: ../lib/burning-methods.sh:443
 #, sh-format
 msgid "No such index file: \"$index_file\"."
 msgstr "No existe el archivo índice \"$index_file\"."
 
-#: ../lib/burning-methods.sh:455
+#: ../lib/burning-methods.sh:485
 msgid "The burning process will need one disk."
 msgstr "El proceso de grabación necesitará un disco."
 
-#: ../lib/burning-methods.sh:457
+#: ../lib/burning-methods.sh:487
 #, sh-format
 msgid "The burning process will need $number_of_indexes disks."
 msgstr "El proceso de grabación necesitará $number_of_indexes disco(s)."
 
-#: ../lib/burning-methods.sh:469
+#: ../lib/burning-methods.sh:499
 #, sh-format
 msgid "Burning content of $index"
 msgstr "Grabando el contenido de $index"
 
-#: ../backup-manager:134
+#: ../backup-manager:139
 msgid "The -b option must be followed by a valid date (YYYYMMDD)."
 msgstr "La opción -b debe acompañarse de una fecha válida (YYYYMMDD)."
 
-#: ../backup-manager:165
+#: ../backup-manager:174
 msgid "The -c option must be followed by an existing filename."
 msgstr "La opción -c debe acompañarse del nombre de un fichero existente."
 
-#: ../backup-manager:202
+#: ../backup-manager:214
 msgid "Unable to exec the pre-command"
 msgstr "No se pudo ejecutar la orden previa."
 
-#: ../backup-manager:243
-msgid "Unable to exec post-command."
-msgstr "No se pudo ejecutar la orden posterior."
+#, fuzzy
+#~ msgid "Removing archive \"$bm_pending_archive\" (build interrupted)."
+#~ msgstr "Borrando fichero \"$archive\"."
 
-#~ msgid "Internal error: wrong call to bm_merge_incremental_backups()."
-#~ msgstr "Error interno: Lamada erronea a bm_merge_incremental_backups()."
+#, fuzzy
+#~ msgid "Compressor $compress is needed."
+#~ msgstr "El compresor $compress requiere $gzip"
 
 #~ msgid "CDROM burning requires $cdrecord, aborting."
 #~ msgstr "Se requiere $cdrecord para la grabación en CDROM, abortando."

Modified: trunk/po/fr.po
===================================================================
--- trunk/po/fr.po	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/po/fr.po	2007-05-30 12:53:39 UTC (rev 66)
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: backup-manager 0.7.5\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-09-18 09:27+0200\n"
+"POT-Creation-Date: 2006-10-20 16:36+0200\n"
 "PO-Revision-Date: 2006-09-04 09:27+0100\n"
 "Last-Translator: Alexis Sukrieh <sukria at sukria.net>\n"
 "Language-Team: Debian l10n French Team <debian-l10n-french at lists.debian."
@@ -19,103 +19,103 @@
 msgid "$file_to_create: ok (${size}M,"
 msgstr "$file_to_create : OK (${size} Mo,"
 
-#: ../lib/backup-methods.sh:47
+#: ../lib/backup-methods.sh:48
 #, sh-format
 msgid "Unable to purge duplicates of $file_to_create"
 msgstr "Impossible de purger les doublons de $file_to_create"
 
-#: ../lib/backup-methods.sh:52
+#: ../lib/backup-methods.sh:53
 #, sh-format
 msgid "Unable to change the owner of \"$file_to_create\"."
 msgstr "Impossible de changer le propriétaire de « $file_to_create »."
 
-#: ../lib/backup-methods.sh:54
+#: ../lib/backup-methods.sh:55
 #, sh-format
 msgid "Unable to change file permissions of \"$file_to_create\"."
 msgstr "Impossible de changer les droits d'accès de « $file_to_create »."
 
-#: ../lib/backup-methods.sh:76
+#: ../lib/backup-methods.sh:80
 #, sh-format
 msgid "Unable to create \"$target\", check $logfile"
 msgstr "Impossible de créer « $target », lisez $logfile pour les détails."
 
-#: ../lib/backup-methods.sh:89
+#: ../lib/backup-methods.sh:94
 #, sh-format
 msgid "File $file_to_create already exists, skipping."
 msgstr "Fichier $file_to_create existe déjà ; ignoré."
 
-#: ../lib/backup-methods.sh:100 ../lib/backup-methods.sh:116
-#: ../lib/backup-methods.sh:130
+#: ../lib/backup-methods.sh:108 ../lib/backup-methods.sh:128
+#: ../lib/backup-methods.sh:149
 #, sh-format
 msgid "Unable to exec $command; check $logfile"
 msgstr "Impossible d'exécuter $command ; lisez $logfile"
 
-#: ../lib/backup-methods.sh:108
-#, sh-format
+#: ../lib/backup-methods.sh:116
+#, fuzzy, sh-format
 msgid "Compressor $compress requires $gzip."
-msgstr "L'archiveur $compress nécessite $gzip."
+msgstr "L'archiveur $compress nécessite $bzip."
 
-#: ../lib/backup-methods.sh:124
+#: ../lib/backup-methods.sh:136
 #, sh-format
 msgid "Compressor $compress requires $bzip."
 msgstr "L'archiveur $compress nécessite $bzip."
 
-#: ../lib/backup-methods.sh:137
+#: ../lib/backup-methods.sh:156
 #, sh-format
 msgid "No such compressor supported: $compress."
 msgstr "Cet archiveur n'est pas supporté : $compress"
 
-#: ../lib/backup-methods.sh:143
+#: ../lib/backup-methods.sh:162
 #, sh-format
 msgid "Unable to find $file_to_create"
 msgstr "Impossible de trouver $file_to_create"
 
-#: ../lib/backup-methods.sh:254
+#: ../lib/backup-methods.sh:289
 msgid "No frequency given, set BM_TARBALLINC_MASTERDATETYPE."
 msgstr "Aucune fréquence définie, changez BM_TARBALLINC_MASTERDATETYPE."
 
-#: ../lib/backup-methods.sh:265
+#: ../lib/backup-methods.sh:300
 #, sh-format
 msgid "Unknown frequency: $BM_TARBALLINC_MASTERDATETYPE"
 msgstr "Fréquence inconnue : $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:289
+#: ../lib/backup-methods.sh:328
 #, sh-format
 msgid "Building master backup for target: \"$dir_name\"."
 msgstr "Création de l'archive maître pour la cible : « $dir_name »."
 
-#: ../lib/backup-methods.sh:396
+#: ../lib/backup-methods.sh:452
 #, sh-format
 msgid "The archive type \"tar.bz2\" depends on the tool \"$bzip\"."
 msgstr "Le type d'archive « tar.bz2 » dépend de l'outil « $bzip »."
 
-#: ../lib/backup-methods.sh:403
+#: ../lib/backup-methods.sh:459
 #, sh-format
 msgid "The archive type \"tar.lz\" depends on the tool \"$lzma\"."
 msgstr "Le type d'archive « tar.lz » dépend de l'outil « $lzma »."
 
-#: ../lib/backup-methods.sh:410
+#: ../lib/backup-methods.sh:466
 #, sh-format
 msgid "The archive type \"zip\" depends on the tool \"$zip\"."
 msgstr "Le type d'archive « zip » dépend de l'outil « $zip »."
 
-#: ../lib/backup-methods.sh:416
+#: ../lib/backup-methods.sh:472
 #, sh-format
 msgid "The archive type \"dar\" depends on the tool \"$dar\"."
 msgstr "Le type d'archive « dar » dépend de l'outil « $dar »."
 
-#: ../lib/backup-methods.sh:422 ../lib/backup-methods.sh:499
-#: ../lib/backup-methods.sh:535
+#: ../lib/backup-methods.sh:478 ../lib/backup-methods.sh:579
+#: ../lib/backup-methods.sh:620
 #, sh-format
 msgid "The archive type \"$BM_TARBALL_FILETYPE\" is not supported."
 msgstr "Le type d'archive « $BM_TARBALL_FILETYPE » n'est pas géré."
 
-#: ../lib/backup-methods.sh:474
+#: ../lib/backup-methods.sh:549
 msgid "The configuration variable \"BM_ENCRYPTION_RECIPIENT\" must be defined."
 msgstr ""
 "La variable de configuration « BM_ENCRYPTION_RECIPIENT » doit être définie."
 
-#: ../lib/backup-methods.sh:480
+#: ../lib/backup-methods.sh:555
 #, sh-format
 msgid ""
 "The encryption is not yet possible with \"$BM_TARBALL_FILETYPE\" archives."
@@ -123,67 +123,67 @@
 "Le cryptage n'est pas supporté avec les archives de type "
 "« $BM_TARBALL_FILETYPE »."
 
-#: ../lib/backup-methods.sh:512
+#: ../lib/backup-methods.sh:596
 #, sh-format
 msgid "The program \"$gpg\" is needed."
 msgstr "Le programme « $gpg » est nécessaire."
 
-#: ../lib/backup-methods.sh:519 ../lib/backup-methods.sh:551
+#: ../lib/backup-methods.sh:603 ../lib/backup-methods.sh:640
 #, sh-format
 msgid "File $file_to_check already exists, skipping."
 msgstr "Fichier $file_to_check existe déjà ; ignoré."
 
-#: ../lib/backup-methods.sh:571
+#: ../lib/backup-methods.sh:663
 #, sh-format
 msgid "Target \"$t\" does not exist, skipping."
 msgstr "La cible « $t » n'existe pas ; ignoré."
 
-#: ../lib/backup-methods.sh:640 ../lib/backup-methods.sh:673
-#: ../lib/backup-methods.sh:702 ../lib/backup-methods.sh:724
+#: ../lib/backup-methods.sh:738 ../lib/backup-methods.sh:773
+#: ../lib/backup-methods.sh:804 ../lib/backup-methods.sh:828
 #, sh-format
 msgid "Using method \"$method\"."
 msgstr "Utilisation de la méthode « $method »."
 
-#: ../lib/backup-methods.sh:664
+#: ../lib/backup-methods.sh:762
 msgid "1 error occurred during the tarball generation."
 msgstr "Une erreur a eu lieu pendant la génération des archives."
 
-#: ../lib/backup-methods.sh:666
+#: ../lib/backup-methods.sh:764
 #, sh-format
 msgid "$nb_err errors occurred during the tarball generation."
 msgstr "$nb_err erreurs ont eu lieu pendant la génération des archives."
 
-#: ../lib/backup-methods.sh:675
+#: ../lib/backup-methods.sh:775
 #, sh-format
 msgid "The \"mysql\" method is chosen, but $mysqldump is not found."
 msgstr "La méthode « mysql » est choisie, mais $mysqldump n'est pas présent."
 
-#: ../lib/backup-methods.sh:704
+#: ../lib/backup-methods.sh:806
 #, sh-format
 msgid "The \"svn\" method is chosen, but $svnadmin is not found."
 msgstr "La méthode « svn » est choisie, mais $svnadmin n'est pas présent."
 
-#: ../lib/backup-methods.sh:710
+#: ../lib/backup-methods.sh:812
 #, sh-format
 msgid "SVN repository \"$repository\" is not valid; skipping."
 msgstr "Le dépôt SVN « $repository » n'est pas valide ; ignoré."
 
-#: ../lib/backup-methods.sh:733
+#: ../lib/backup-methods.sh:837
 #, sh-format
 msgid "Not enough args for this archive ($archive), skipping."
 msgstr "Pas assez d'arguments pour cette archive ($archive) ; ignoré."
 
-#: ../lib/backup-methods.sh:740
+#: ../lib/backup-methods.sh:844
 msgid "Cannot create archive."
 msgstr "Impossible de créer l'archive."
 
-#: ../lib/sanitize.sh:29
+#: ../lib/sanitize.sh:31
 #, sh-format
 msgid "The configuration key $key is not set, using \"$default\"."
 msgstr ""
 "La clef de configuration $key n'est pas définie, utilisation de « $default »"
 
-#: ../lib/sanitize.sh:39
+#: ../lib/sanitize.sh:42
 #, sh-format
 msgid ""
 "The configuration key \"$deprecated_key\" is deprecated, you should rename "
@@ -192,28 +192,28 @@
 "La clef de configuration « $deprecated_key » est obsolète, vous devez la "
 "renommer « $new_key ». Utilisation de « $deprecated_value »."
 
-#: ../lib/sanitize.sh:74
+#: ../lib/sanitize.sh:83
 #, sh-format
 msgid "The configuration key $key is not set but $keymandatory is enabled."
 msgstr ""
 "La clef de configuration « $key » n'est pas définie mais « $keymandatory » "
 "est activée."
 
-#: ../lib/sanitize.sh:92
+#: ../lib/sanitize.sh:99
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"yes\", setting \"true\" instead."
 msgstr ""
 "Booléen obsolète : $key vaut actuellement « yes », utilisez « true » à la "
 "place."
 
-#: ../lib/sanitize.sh:97
+#: ../lib/sanitize.sh:104
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"no\", setting \"false\" instead."
 msgstr ""
 "Booléen obsolète : $key vaut actuellement « no », utilisez « false » à la "
 "place."
 
-#: ../lib/sanitize.sh:248
+#: ../lib/sanitize.sh:251
 #, sh-format
 msgid ""
 "When validating the configuration file $conffile, $nb_warnings warnings were "
@@ -222,17 +222,100 @@
 "Lors de la validation du fichier de configuration $conffile, $nb_warnings "
 "avertissements ont été détectés."
 
-#: ../lib/md5sum.sh:29
+#: ../lib/actions.sh:44
+msgid "No backup method used."
+msgstr "Aucune méthode d'archivage utilisée."
+
+#: ../lib/actions.sh:47
+#, sh-format
+msgid "No such backup method: $BM_ARCHIVE_METHOD"
+msgstr "Aucune méthode de sauvegarde du type : $BM_ARCHIVE_METHOD"
+
+#: ../lib/actions.sh:56
+#, sh-format
+msgid "Unable to change the owner of \"$md5file\"."
+msgstr "Impossible de changer le propriétaire du fichier « $md5file »."
+
+#: ../lib/actions.sh:58
+#, sh-format
+msgid "Unable to change file permissions of \"$md5file\"."
+msgstr "Impossible de changer les droits d'accès au fichier « $md5file »."
+
+#: ../lib/actions.sh:90
+msgid "No upload method used."
+msgstr "Aucune méthode de téléchargement utilisée."
+
+#: ../lib/actions.sh:93
+#, sh-format
+msgid "The upload method \"$method\" is not supported; skipping."
+msgstr "La méthode de téléchargement « $method » n'est pas supportée ; ignoré."
+
+#: ../lib/actions.sh:105
+#, sh-format
+msgid "Cleaning $BM_REPOSITORY_ROOT"
+msgstr "Nettoyage de $BM_REPOSITORY_ROOT"
+
+#: ../lib/actions.sh:118
+#, sh-format
+msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
+msgstr "Lancement de la précommande : $BM_PRE_BACKUP_COMMAND"
+
+#: ../lib/actions.sh:122
+msgid "Pre-command failed. Stopping the process."
+msgstr "La précommande a échoué. Arrêt du processus."
+
+#: ../lib/actions.sh:127
+#, sh-format
+msgid "Pre-command returned: \"$RET\" (success)."
+msgstr "La pré-commande a retourné : « $RET » (succès)."
+
+#: ../lib/actions.sh:139
+#, sh-format
+msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
+msgstr "Lancement de la post-commande : $BM_POST_BACKUP_COMMAND"
+
+#: ../lib/actions.sh:143
+msgid "Post-command failed."
+msgstr "La post-commande a échoué."
+
+#: ../lib/actions.sh:148
+#, sh-format
+msgid "Post-command returned: \"$RET\" (success)."
+msgstr "La post-commande a retourné : « $RET » (succès)."
+
+#: ../lib/actions.sh:175
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
+msgstr "La clef BM_TARBALL_FILETYPE vaut « zip » mais zip n'est pas installé."
+
+#: ../lib/actions.sh:180
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
+"installed."
+msgstr ""
+"La clef BM_TARBALL_FILETYPE vaut « bzip2 » mais bzip2 n'est pas installé."
+
+#: ../lib/actions.sh:185
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
+msgstr "La clef BM_TARBALL_FILETYPE vaut « dar » mais dar n'est pas installé."
+
+#: ../lib/actions.sh:197
+#, sh-format
+msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
+msgstr "Le dépôt « $BM_REPOSITORY_ROOT » n'existe pas ; création."
+
+#: ../lib/md5sum.sh:30
 msgid "Internal error: bad usage of function get_md5sum_from_file()"
 msgstr ""
 "Erreur interne : mauvaise utilisation de le fonction get_md5sum_from_file()"
 
-#: ../lib/md5sum.sh:33
+#: ../lib/md5sum.sh:34
 #, sh-format
 msgid "No md5file found: $md5file"
 msgstr "Pas de fichier MD5 : $md5file"
 
-#: ../lib/md5sum.sh:77
+#: ../lib/md5sum.sh:82
 #, sh-format
 msgid "Archive given does not exist in the repository: $archive"
 msgstr "L'archive demandée n'existe pas dans le répertoire : $archive"
@@ -302,6 +385,7 @@
 msgstr "Désactive la phase de nettoyage."
 
 #: ../lib/dialog.sh:60
+#, fuzzy
 msgid "Warning, process interrupted, archives may be corrupted."
 msgstr ""
 "Attention, interruption utilisateur. Les archives risquent d'être corrompues."
@@ -310,103 +394,28 @@
 msgid "Not in interactive mode, cannot continue."
 msgstr "Pas en mode interactif, impossible de continuer."
 
-#: ../lib/logger.sh:134
+#: ../lib/logger.sh:143 ../backup-manager:264
+msgid "Unable to exec post-command."
+msgstr "Impossible d'exécuter la post-commande."
+
+#: ../lib/logger.sh:145
 msgid "Releasing lock"
 msgstr "Libération du verrou."
 
-#: ../lib/actions.sh:42
-msgid "No backup method used."
-msgstr "Aucune méthode d'archivage utilisée."
+#: ../lib/archives.sh:31
+msgid "Internal error: wrong call to bm_merge_incremental_backups()."
+msgstr "Erreur interne : mauvais appel à bm_merge_incremental_backups()."
 
-#: ../lib/actions.sh:45
-#, sh-format
-msgid "No such backup method: $BM_ARCHIVE_METHOD"
-msgstr "Aucune méthode de sauvegarde du type : $BM_ARCHIVE_METHOD"
-
-#: ../lib/actions.sh:54
-#, sh-format
-msgid "Unable to change the owner of \"$md5file\"."
-msgstr "Impossible de changer le propriétaire du fichier « $md5file »."
-
-#: ../lib/actions.sh:56
-#, sh-format
-msgid "Unable to change file permissions of \"$md5file\"."
-msgstr "Impossible de changer les droits d'accès au fichier « $md5file »."
-
-#: ../lib/actions.sh:86
-msgid "No upload method used."
-msgstr "Aucune méthode de téléchargement utilisée."
-
-#: ../lib/actions.sh:89
-#, sh-format
-msgid "The upload method \"$method\" is not supported; skipping."
-msgstr "La méthode de téléchargement « $method » n'est pas supportée ; ignoré."
-
-#: ../lib/actions.sh:99
-#, sh-format
-msgid "Cleaning $BM_REPOSITORY_ROOT"
-msgstr "Nettoyage de $BM_REPOSITORY_ROOT"
-
-#: ../lib/actions.sh:110
-#, sh-format
-msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
-msgstr "Lancement de la précommande : $BM_PRE_BACKUP_COMMAND"
-
-#: ../lib/actions.sh:114
-msgid "Pre-command failed. Stopping the process."
-msgstr "La précommande a échoué. Arrêt du processus."
-
-#: ../lib/actions.sh:119
-#, sh-format
-msgid "Pre-command returned: \"$RET\" (success)."
-msgstr "La pré-commande a retourné : « $RET » (succès)."
-
-#: ../lib/actions.sh:129
-#, sh-format
-msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
-msgstr "Lancement de la post-commande : $BM_POST_BACKUP_COMMAND"
-
-#: ../lib/actions.sh:133
-msgid "Post-command failed."
-msgstr "La post-commande a échoué."
-
-#: ../lib/actions.sh:138
-#, sh-format
-msgid "Post-command returned: \"$RET\" (success)."
-msgstr "La post-commande a retourné : « $RET » (succès)."
-
-#: ../lib/actions.sh:161
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
-msgstr "La clef BM_TARBALL_FILETYPE vaut « zip » mais zip n'est pas installé."
-
-#: ../lib/actions.sh:166
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
-"installed."
-msgstr ""
-"La clef BM_TARBALL_FILETYPE vaut « bzip2 » mais bzip2 n'est pas installé."
-
-#: ../lib/actions.sh:171
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
-msgstr "La clef BM_TARBALL_FILETYPE vaut « dar » mais dar n'est pas installé."
-
-#: ../lib/actions.sh:181
-#, sh-format
-msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
-msgstr "Le dépôt « $BM_REPOSITORY_ROOT » n'existe pas ; création."
-
-#: ../lib/files.sh:73 ../lib/files.sh:86
+#: ../lib/files.sh:72 ../lib/files.sh:87
 msgid "No path given."
 msgstr "Aucun chemin fourni."
 
-#: ../lib/files.sh:152
+#: ../lib/files.sh:162
 #, sh-format
 msgid "Removing lock for old PID, $pid is not running."
 msgstr "Libération du verrou pour un vieux PID, $pid ne tourne plus."
 
-#: ../lib/files.sh:162
+#: ../lib/files.sh:172
 #, sh-format
 msgid ""
 "A backup-manager process ($pid) is already running with the conffile "
@@ -415,69 +424,69 @@
 "Un processus backup-manager ($pid) tourne déjà avec le fichier de "
 "configuration $conffile"
 
-#: ../lib/files.sh:166 ../lib/files.sh:172
+#: ../lib/files.sh:176 ../lib/files.sh:182
 #, sh-format
 msgid "Getting lock for backup-manager $pid with $conffile"
 msgstr "Demande de verrou pour backup-manager, $pid avec $conffile"
 
-#: ../lib/files.sh:175
+#: ../lib/files.sh:185
 msgid "failed (check the file permissions)."
 msgstr "échec (vérifiez les permissions du fichier)."
 
-#: ../lib/files.sh:254
+#: ../lib/files.sh:273
 #, sh-format
 msgid "$file is not a regular file."
 msgstr "$file n'est pas un fichier ordinaire."
 
-#: ../lib/files.sh:280
+#: ../lib/files.sh:298
 #, sh-format
 msgid "Removing obsolete master backup: \"$file\"."
 msgstr "Suppression de l'archive maître obsolète : « $file »."
 
-#: ../lib/files.sh:288
+#: ../lib/files.sh:306
 #, sh-format
 msgid "Removing obsolete master backup (isolated): \"$file\"."
 msgstr "Suppression de l'archive maître obsolète (isolée) : « $file »."
 
-#: ../lib/files.sh:295
+#: ../lib/files.sh:313
 #, sh-format
 msgid "Removing archive \"$file\"."
 msgstr "Suppression de l'archive « $file »."
 
-#: ../lib/files.sh:315
+#: ../lib/files.sh:335
 msgid "Directory given was not found."
 msgstr "Le répertoire spécifié n'est pas trouvable."
 
-#: ../lib/files.sh:334
+#: ../lib/files.sh:354
 #, sh-format
 msgid "Removing archive \"$archive\"."
 msgstr "Suppression de l'archive « $archive »."
 
-#: ../lib/files.sh:356
+#: ../lib/files.sh:378
 #, sh-format
 msgid "The given file does not exist: $file_to_create"
 msgstr "Le fichier donné n'existe pas : $file_to_create"
 
-#: ../lib/files.sh:361
+#: ../lib/files.sh:383
 msgid "No file given."
 msgstr "Aucun fichier spécifié."
 
-#: ../lib/files.sh:366 ../lib/files.sh:368 ../lib/files.sh:382
+#: ../lib/files.sh:388 ../lib/files.sh:390 ../lib/files.sh:404
 msgid "Unable to get date from file."
 msgstr "Impossible de récupérer la date du fichier."
 
-#: ../lib/files.sh:372
+#: ../lib/files.sh:394
 msgid "Unable to find the pattern of the file."
 msgstr "Impossible de trouver le motif du fichier."
 
-#: ../lib/files.sh:388
+#: ../lib/files.sh:410
 #, sh-format
 msgid "Unable to find the md5 hash of file \"$file\" in file \"$md5file\"."
 msgstr ""
 "Impossible de trouver le hachage MD5 du fichier « $file » dans le fichier "
 "« $md5file »."
 
-#: ../lib/files.sh:394
+#: ../lib/files.sh:416
 #, sh-format
 msgid "$file is a duplicate of $file_to_create (using symlink)."
 msgstr ""
@@ -585,12 +594,12 @@
 msgid "Using the upload method \"rsync-snapshots\"."
 msgstr "Utilisation de la méthode de téléchargement « rsync-snapshots »."
 
-#: ../lib/burning-methods.sh:37
+#: ../lib/burning-methods.sh:38
 #, sh-format
 msgid "Device \"/dev/$device\" is mounted on \"$m\", unmounting it."
 msgstr "Le périphérique « /dev/$device » est monté sur « $m », démontage."
 
-#: ../lib/burning-methods.sh:52
+#: ../lib/burning-methods.sh:54
 #, sh-format
 msgid ""
 "MD5 checkup is only performed on disks. Please set the BM_BURNING_DEVICE in "
@@ -599,72 +608,72 @@
 "Les contrôles des sommes MD5 ne sont effectués que sur les media CD/DVD. "
 "Veuillez définir BM_BURNING_DEVICE dans « $conffile »."
 
-#: ../lib/burning-methods.sh:58
+#: ../lib/burning-methods.sh:60
 #, sh-format
 msgid "The mount point $mount_point is not there."
 msgstr "Le point de montage « $mount_point » n'est pas présent."
 
-#: ../lib/burning-methods.sh:65
+#: ../lib/burning-methods.sh:67
 #, sh-format
 msgid "Mounting $BM_BURNING_DEVICE on $mount_point."
 msgstr "Montage de $BM_BURNING_DEVICE sur $mount_point."
 
-#: ../lib/burning-methods.sh:89
+#: ../lib/burning-methods.sh:91
 #, sh-format
 msgid "Checking MD5 sum for $base_file:"
 msgstr "Vérification de la somme MD5 pour $base_file :"
 
-#: ../lib/burning-methods.sh:108
+#: ../lib/burning-methods.sh:110
 #, sh-format
 msgid "$str ok."
 msgstr "$str OK."
 
-#: ../lib/burning-methods.sh:111
+#: ../lib/burning-methods.sh:113
 #, sh-format
 msgid "$str failed (read error)."
 msgstr "$str Échec (erreur de lecture)."
 
-#: ../lib/burning-methods.sh:115
+#: ../lib/burning-methods.sh:117
 #, sh-format
 msgid "$str failed (MD5 hash mismatch)."
 msgstr "$str Échec (les sommes MD5 ne concordent pas)."
 
-#: ../lib/burning-methods.sh:122
+#: ../lib/burning-methods.sh:124
 msgid "Errors encountered during MD5 checks."
 msgstr "Problèmes lors du contrôle des sommes MD5."
 
-#: ../lib/burning-methods.sh:126
+#: ../lib/burning-methods.sh:128
 #, sh-format
 msgid "Unable to unmount the mount point $mount_point"
 msgstr "Impossible de démonter le point de montage « $mount_point »."
 
-#: ../lib/burning-methods.sh:127
+#: ../lib/burning-methods.sh:129
 #, sh-format
 msgid "Unable to remove the mount point $mount_point"
 msgstr "Impossible de supprimer le point de montage « $mount_point »."
 
-#: ../lib/burning-methods.sh:144
+#: ../lib/burning-methods.sh:148
 msgid "No burning method used."
 msgstr "Aucune méthode de gravure utilisée."
 
-#: ../lib/burning-methods.sh:164
+#: ../lib/burning-methods.sh:172
 #, sh-format
 msgid "Number of files to burn: $nb_file."
 msgstr "Nombre de fichiers à graver : $nb_file."
 
-#: ../lib/burning-methods.sh:166
+#: ../lib/burning-methods.sh:174
 #, sh-format
 msgid ""
 "Nothing to burn for the $BM__BURNING_DATE, try the '--burn <date>' switch."
 msgstr ""
 "Rien à graver pour le $BM__BURNING_DATE, essayez l'option « --burn <date> »."
 
-#: ../lib/burning-methods.sh:193 ../lib/burning-methods.sh:216
+#: ../lib/burning-methods.sh:203 ../lib/burning-methods.sh:228
 #, sh-format
 msgid "Burning archives of $BM__BURNING_DATE."
 msgstr "Gravure des archives du $BM__BURNING_DATE."
 
-#: ../lib/burning-methods.sh:198
+#: ../lib/burning-methods.sh:208
 #, sh-format
 msgid ""
 "Cannot burn archives of the $BM__BURNING_DATE, too big: ${size}M, must fit "
@@ -674,91 +683,91 @@
 "encombrant (${size} Mo). L'archive doit être inférieure à "
 "${BM_BURNING_MAXSIZE} Mo."
 
-#: ../lib/burning-methods.sh:220
+#: ../lib/burning-methods.sh:232
 msgid "Burning the whole archives."
 msgstr "Gravure de toutes les archives."
 
-#: ../lib/burning-methods.sh:225
+#: ../lib/burning-methods.sh:237
 #, sh-format
 msgid "Trying to burn $BM_REPOSITORY_ROOT ($size MB) in interactive mode."
 msgstr ""
 "Tentative de gravure de $BM_REPOSITORY_ROOT ($size Mo) en mode interactif."
 
-#: ../lib/burning-methods.sh:255
+#: ../lib/burning-methods.sh:268
 #, sh-format
 msgid "Redirecting burning logs into $logfile"
 msgstr "Redirection des journaux de gravure dans $logfile"
 
-#: ../lib/burning-methods.sh:260
+#: ../lib/burning-methods.sh:273
 #, sh-format
 msgid "Forcing dev=${BM_BURNING_DEVFORCED} for cdrecord commands."
 msgstr ""
 "Ajout de « dev=${BM_BURNING_DEVFORCED} » dans les commandes de cdrecord."
 
-#: ../lib/burning-methods.sh:268
+#: ../lib/burning-methods.sh:281
 #, sh-format
 msgid "DVD+R(W) burning requires $growisofs, aborting."
 msgstr "La gravure de DVD+R(W) nécessite $growisofs ; annulation."
 
-#: ../lib/burning-methods.sh:271
+#: ../lib/burning-methods.sh:284
 #, sh-format
 msgid "Exporting archives to the DVD+R(W) disc in $BM_BURNING_DEVICE."
 msgstr ""
 "Export des archives vers le disque DVD+R(W) sur « $BM_BURNING_DEVICE »."
 
-#: ../lib/burning-methods.sh:273 ../lib/burning-methods.sh:290
-#: ../lib/burning-methods.sh:300 ../lib/burning-methods.sh:305
-#: ../lib/burning-methods.sh:316
+#: ../lib/burning-methods.sh:288 ../lib/burning-methods.sh:308
+#: ../lib/burning-methods.sh:320 ../lib/burning-methods.sh:326
+#: ../lib/burning-methods.sh:339
 #, sh-format
 msgid "failed, check $logfile"
 msgstr "Erreur, voir le fichier $logfile"
 
-#: ../lib/burning-methods.sh:278
+#: ../lib/burning-methods.sh:293
 #, sh-format
 msgid "DVD-R(W) burning requires $growisofs, aborting."
 msgstr "La gravure de DVD-R(W) nécessite $growisofs ; annulation."
 
-#: ../lib/burning-methods.sh:281
+#: ../lib/burning-methods.sh:296
 #, sh-format
 msgid "DVD-R(W) burning requires $dvdrwformat, aborting."
 msgstr "La gravure de DVD-R(W) nécessite $dvdrwformat ; annulation."
 
-#: ../lib/burning-methods.sh:284
+#: ../lib/burning-methods.sh:299
 #, sh-format
 msgid "Blanking the DVD-R(W) disc in $BM_BURNING_DEVICE"
 msgstr "Effacement du disque DVD-R(W) sur « $BM_BURNING_DEVICE »."
 
-#: ../lib/burning-methods.sh:286
+#: ../lib/burning-methods.sh:303
 #, sh-format
 msgid "Unable to blank the DVD-R(W) disc (check $logfile)."
 msgstr "Impossible d'effacer le disque DVD-R(W) (voir « $logfile »)."
 
-#: ../lib/burning-methods.sh:288
+#: ../lib/burning-methods.sh:305
 #, sh-format
 msgid "Exporting archives to the DVD-R(W) disc in $BM_BURNING_DEVICE."
 msgstr ""
 "Export des archives vers le disque DVD-R(W) sur « $BM_BURNING_DEVICE »."
 
-#: ../lib/burning-methods.sh:295 ../lib/burning-methods.sh:310
+#: ../lib/burning-methods.sh:313 ../lib/burning-methods.sh:331
 #, sh-format
 msgid "CD-R(W) burning requires $cdrecord, aborting."
 msgstr "La gravure de CD-R(W) nécessite $cdrecord ; annulation."
 
-#: ../lib/burning-methods.sh:298
+#: ../lib/burning-methods.sh:316
 #, sh-format
 msgid "Blanking the CDRW in $BM_BURNING_DEVICE."
 msgstr "Effacement du CD-RW sur $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:302 ../lib/burning-methods.sh:313
+#: ../lib/burning-methods.sh:322 ../lib/burning-methods.sh:334
 #, sh-format
 msgid "Burning data to $BM_BURNING_DEVICE."
 msgstr "Gravure des données sur $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:320
+#: ../lib/burning-methods.sh:343
 msgid "Nothing to burn."
 msgstr "Rien à graver."
 
-#: ../lib/burning-methods.sh:324
+#: ../lib/burning-methods.sh:347
 #, sh-format
 msgid ""
 "The requested burning method is not supported, check BM_BURNING_METHOD in "
@@ -767,47 +776,48 @@
 "La méthode de gravure demandée n'est pas supportée, voir BM_BURNING_METHOD "
 "dans $conffile"
 
-#: ../lib/burning-methods.sh:373
+#: ../lib/burning-methods.sh:400
 #, sh-format
 msgid "Not burning $file because it does not fit in the disk."
 msgstr ""
 "Annulation de la gravure de « $file » car ce fichier est trop gros pour le "
 "disque."
 
-#: ../lib/burning-methods.sh:414
+#: ../lib/burning-methods.sh:443
 #, sh-format
 msgid "No such index file: \"$index_file\"."
 msgstr "Impossible de trouver le fichier d'index : « $index_file »."
 
-#: ../lib/burning-methods.sh:455
+#: ../lib/burning-methods.sh:485
 msgid "The burning process will need one disk."
 msgstr "La phase de gravure nécessitera un disque."
 
-#: ../lib/burning-methods.sh:457
+#: ../lib/burning-methods.sh:487
 #, sh-format
 msgid "The burning process will need $number_of_indexes disks."
 msgstr "La phase de gravure nécessitera $number_of_indexes disques."
 
-#: ../lib/burning-methods.sh:469
+#: ../lib/burning-methods.sh:499
 #, sh-format
 msgid "Burning content of $index"
 msgstr "Gravure du contenu de « $index »."
 
-#: ../backup-manager:134
+#: ../backup-manager:139
 msgid "The -b option must be followed by a valid date (YYYYMMDD)."
 msgstr "L'option -b doit être suivie d'une date valide (AAAAMMJJ)."
 
-#: ../backup-manager:165
+#: ../backup-manager:174
 msgid "The -c option must be followed by an existing filename."
 msgstr "L'option -c doit être suivie d'un nom de fichier existant."
 
-#: ../backup-manager:202
+#: ../backup-manager:214
 msgid "Unable to exec the pre-command"
 msgstr "Impossible d'exécuter la précommande."
 
-#: ../backup-manager:243
-msgid "Unable to exec post-command."
-msgstr "Impossible d'exécuter la post-commande."
+#, fuzzy
+#~ msgid "Removing archive \"$bm_pending_archive\" (build interrupted)."
+#~ msgstr "Suppression de l'archive « $archive »."
 
-#~ msgid "Internal error: wrong call to bm_merge_incremental_backups()."
-#~ msgstr "Erreur interne : mauvais appel à bm_merge_incremental_backups()."
+#, fuzzy
+#~ msgid "Compressor $compress is needed."
+#~ msgstr "L'archiveur $compress nécessite $gzip."

Modified: trunk/po/it.po
===================================================================
--- trunk/po/it.po	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/po/it.po	2007-05-30 12:53:39 UTC (rev 66)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: BM ITALIAN VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-09-18 09:27+0200\n"
+"POT-Creation-Date: 2006-10-20 16:36+0200\n"
 "PO-Revision-Date: 2006-09-05 12:19+0100\n"
 "Last-Translator: Matteo Frare Barutti <xenon at ngi.it>\n"
 "Language-Team: ITALIAN <xenon at ngi.it>\n"
@@ -22,102 +22,102 @@
 msgid "$file_to_create: ok (${size}M,"
 msgstr "$file_to_create: ok (${size}M,"
 
-#: ../lib/backup-methods.sh:47
+#: ../lib/backup-methods.sh:48
 #, sh-format
 msgid "Unable to purge duplicates of $file_to_create"
 msgstr "Impossibile rimuovere i duplicati di $file_to_create"
 
-#: ../lib/backup-methods.sh:52
+#: ../lib/backup-methods.sh:53
 #, sh-format
 msgid "Unable to change the owner of \"$file_to_create\"."
 msgstr "Impossibile cambiare il proprietario di \"$file_to_create\"."
 
-#: ../lib/backup-methods.sh:54
+#: ../lib/backup-methods.sh:55
 #, sh-format
 msgid "Unable to change file permissions of \"$file_to_create\"."
 msgstr "Impossibile cambiare i permessi di \"$file_to_create\"."
 
-#: ../lib/backup-methods.sh:76
+#: ../lib/backup-methods.sh:80
 #, sh-format
 msgid "Unable to create \"$target\", check $logfile"
 msgstr "Impossibile creare \"$target\", controllare $logfile"
 
-#: ../lib/backup-methods.sh:89
+#: ../lib/backup-methods.sh:94
 #, sh-format
 msgid "File $file_to_create already exists, skipping."
 msgstr "Il file $file_to_create è già esistente, vado avanti."
 
-#: ../lib/backup-methods.sh:100 ../lib/backup-methods.sh:116
-#: ../lib/backup-methods.sh:130
+#: ../lib/backup-methods.sh:108 ../lib/backup-methods.sh:128
+#: ../lib/backup-methods.sh:149
 #, sh-format
 msgid "Unable to exec $command; check $logfile"
 msgstr "Impossibile eseguire $command; verificare $logfile"
 
-#: ../lib/backup-methods.sh:108
-#, sh-format
+#: ../lib/backup-methods.sh:116
+#, fuzzy, sh-format
 msgid "Compressor $compress requires $gzip."
-msgstr "Il compressore $compress richiede $gzip."
+msgstr "Il compressore $compress richiede $bzip."
 
-#: ../lib/backup-methods.sh:124
+#: ../lib/backup-methods.sh:136
 #, sh-format
 msgid "Compressor $compress requires $bzip."
 msgstr "Il compressore $compress richiede $bzip."
 
-#: ../lib/backup-methods.sh:137
+#: ../lib/backup-methods.sh:156
 #, sh-format
 msgid "No such compressor supported: $compress."
 msgstr "Nessun compressore supportato: $compress."
 
-#: ../lib/backup-methods.sh:143
+#: ../lib/backup-methods.sh:162
 #, sh-format
 msgid "Unable to find $file_to_create"
 msgstr "Impossibile trovare $file_to_create"
 
-#: ../lib/backup-methods.sh:254
+#: ../lib/backup-methods.sh:289
 msgid "No frequency given, set BM_TARBALLINC_MASTERDATETYPE."
 msgstr "Nessuna frequenza impostata: modificare $BM_TARBALLINC_MASTERDATETYPE."
 
-#: ../lib/backup-methods.sh:265
+#: ../lib/backup-methods.sh:300
 #, sh-format
 msgid "Unknown frequency: $BM_TARBALLINC_MASTERDATETYPE"
 msgstr "Frequenza sconoscita: $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:289
+#: ../lib/backup-methods.sh:328
 #, sh-format
 msgid "Building master backup for target: \"$dir_name\"."
 msgstr "Creo il master backup per il target: \"$dir_name\"."
 
-#: ../lib/backup-methods.sh:396
+#: ../lib/backup-methods.sh:452
 #, sh-format
 msgid "The archive type \"tar.bz2\" depends on the tool \"$bzip\"."
 msgstr "Il tipo di archivio \"tar.bz2\" dipende dal tool \"$bzip\"."
 
-#: ../lib/backup-methods.sh:403
+#: ../lib/backup-methods.sh:459
 #, sh-format
 msgid "The archive type \"tar.lz\" depends on the tool \"$lzma\"."
 msgstr "Il tipo di archivio \"tar.lz\" dipende dal tool \"$lzma\"."
 
-#: ../lib/backup-methods.sh:410
+#: ../lib/backup-methods.sh:466
 #, sh-format
 msgid "The archive type \"zip\" depends on the tool \"$zip\"."
 msgstr "Il tipo di archivio \"zip\" dipende dal tool \"$zip\"."
 
-#: ../lib/backup-methods.sh:416
+#: ../lib/backup-methods.sh:472
 #, sh-format
 msgid "The archive type \"dar\" depends on the tool \"$dar\"."
 msgstr "Il tipo di archivio \"dar\" dipende dal tool \"$dar\"."
 
-#: ../lib/backup-methods.sh:422 ../lib/backup-methods.sh:499
-#: ../lib/backup-methods.sh:535
+#: ../lib/backup-methods.sh:478 ../lib/backup-methods.sh:579
+#: ../lib/backup-methods.sh:620
 #, sh-format
 msgid "The archive type \"$BM_TARBALL_FILETYPE\" is not supported."
 msgstr "Il tipo di archivio \"$BM_TARBALL_FILETYPE\" non è supportato."
 
-#: ../lib/backup-methods.sh:474
+#: ../lib/backup-methods.sh:549
 msgid "The configuration variable \"BM_ENCRYPTION_RECIPIENT\" must be defined."
 msgstr "Deve essere definita la variabile \"BM_ENCRYPTION_RECIPIENT\"."
 
-#: ../lib/backup-methods.sh:480
+#: ../lib/backup-methods.sh:555
 #, sh-format
 msgid ""
 "The encryption is not yet possible with \"$BM_TARBALL_FILETYPE\" archives."
@@ -125,68 +125,68 @@
 "La crittografia non è ancora possibile con gli archivi  "
 "\"$BM_TARBALL_FILETYPE\"."
 
-#: ../lib/backup-methods.sh:512
+#: ../lib/backup-methods.sh:596
 #, sh-format
 msgid "The program \"$gpg\" is needed."
 msgstr "E' necessario il programma \"$gpg\"."
 
-#: ../lib/backup-methods.sh:519 ../lib/backup-methods.sh:551
+#: ../lib/backup-methods.sh:603 ../lib/backup-methods.sh:640
 #, sh-format
 msgid "File $file_to_check already exists, skipping."
 msgstr "Il file $file_to_check è già esistente, vado avanti."
 
-#: ../lib/backup-methods.sh:571
+#: ../lib/backup-methods.sh:663
 #, sh-format
 msgid "Target \"$t\" does not exist, skipping."
 msgstr "La destinazione \"$t\" non esiste, vado avanti."
 
-#: ../lib/backup-methods.sh:640 ../lib/backup-methods.sh:673
-#: ../lib/backup-methods.sh:702 ../lib/backup-methods.sh:724
+#: ../lib/backup-methods.sh:738 ../lib/backup-methods.sh:773
+#: ../lib/backup-methods.sh:804 ../lib/backup-methods.sh:828
 #, sh-format
 msgid "Using method \"$method\"."
 msgstr "Utilizzo il metodo \"$method\"."
 
-#: ../lib/backup-methods.sh:664
+#: ../lib/backup-methods.sh:762
 msgid "1 error occurred during the tarball generation."
 msgstr "E' stato riscontrato 1 errore nella creazione del tarball."
 
-#: ../lib/backup-methods.sh:666
+#: ../lib/backup-methods.sh:764
 #, sh-format
 msgid "$nb_err errors occurred during the tarball generation."
 msgstr "Riscontrati $nb_err errori nella generazione del tarball."
 
-#: ../lib/backup-methods.sh:675
+#: ../lib/backup-methods.sh:775
 #, sh-format
 msgid "The \"mysql\" method is chosen, but $mysqldump is not found."
 msgstr "E' stato scelto il metodo \"mysql\" ma $mysqldump non è stato trovato."
 
-#: ../lib/backup-methods.sh:704
+#: ../lib/backup-methods.sh:806
 #, sh-format
 msgid "The \"svn\" method is chosen, but $svnadmin is not found."
 msgstr "E' stato scelto il metodo \"svn\" ma  $svnadmin non è stato trovato."
 
-#: ../lib/backup-methods.sh:710
+#: ../lib/backup-methods.sh:812
 #, sh-format
 msgid "SVN repository \"$repository\" is not valid; skipping."
 msgstr "Il repository SVN \"$repository\" non è valido, continuo."
 
-#: ../lib/backup-methods.sh:733
+#: ../lib/backup-methods.sh:837
 #, sh-format
 msgid "Not enough args for this archive ($archive), skipping."
 msgstr ""
 "Non sono sufficienti gli args per questo archivio ($archive), proseguo."
 
-#: ../lib/backup-methods.sh:740
+#: ../lib/backup-methods.sh:844
 msgid "Cannot create archive."
 msgstr "Impossibile creare l'archivio."
 
-#: ../lib/sanitize.sh:29
+#: ../lib/sanitize.sh:31
 #, sh-format
 msgid "The configuration key $key is not set, using \"$default\"."
 msgstr ""
 "La chiave di configurazione $key non è impostata, utilizzo \"$default\"."
 
-#: ../lib/sanitize.sh:39
+#: ../lib/sanitize.sh:42
 #, sh-format
 msgid ""
 "The configuration key \"$deprecated_key\" is deprecated, you should rename "
@@ -195,26 +195,26 @@
 "La chiave di configurazione \"$deprecated_key\" è deprecato, è necessario "
 "rinominarlo in \"$new_key\". Utilizzo \"$deprecated_value\"."
 
-#: ../lib/sanitize.sh:74
+#: ../lib/sanitize.sh:83
 #, sh-format
 msgid "The configuration key $key is not set but $keymandatory is enabled."
 msgstr ""
 "La chiave di configurazione $key non è impostata ma $keymandatory è "
 "abilitato."
 
-#: ../lib/sanitize.sh:92
+#: ../lib/sanitize.sh:99
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"yes\", setting \"true\" instead."
 msgstr ""
 "Parametro booleano deprecato, $key è impostato su \"yes\", utilizzo \"true\" "
 "al suo posto."
 
-#: ../lib/sanitize.sh:97
+#: ../lib/sanitize.sh:104
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"no\", setting \"false\" instead."
 msgstr "Deprecated boolean, $key is set to \"no\", setting \"false\" instead."
 
-#: ../lib/sanitize.sh:248
+#: ../lib/sanitize.sh:251
 #, sh-format
 msgid ""
 "When validating the configuration file $conffile, $nb_warnings warnings were "
@@ -223,16 +223,104 @@
 "Durante la validazione del file di configurazione $conffile, $nb_warnings "
 "sono stati trovati dei warning."
 
-#: ../lib/md5sum.sh:29
+#: ../lib/actions.sh:44
+msgid "No backup method used."
+msgstr "Nessun metodo di backup specificato."
+
+#: ../lib/actions.sh:47
+#, sh-format
+msgid "No such backup method: $BM_ARCHIVE_METHOD"
+msgstr "Nessun metodo di backup: $BM_ARCHIVE_METHOD"
+
+#: ../lib/actions.sh:56
+#, sh-format
+msgid "Unable to change the owner of \"$md5file\"."
+msgstr "Impossibile cambiare il proprietario di  \"$md5file\"."
+
+#: ../lib/actions.sh:58
+#, sh-format
+msgid "Unable to change file permissions of \"$md5file\"."
+msgstr "Impossibile cambiare i permessi di \"$md5file\"."
+
+#: ../lib/actions.sh:90
+msgid "No upload method used."
+msgstr "Nessun metodo di upload specificato."
+
+#: ../lib/actions.sh:93
+#, sh-format
+msgid "The upload method \"$method\" is not supported; skipping."
+msgstr "Il metodo di upload \"$method\" non è supportato; vado avanti."
+
+#: ../lib/actions.sh:105
+#, sh-format
+msgid "Cleaning $BM_REPOSITORY_ROOT"
+msgstr "Pulisco $BM_REPOSITORY_ROOT"
+
+#: ../lib/actions.sh:118
+#, sh-format
+msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
+msgstr "Eseguo il pre-command: $BM_PRE_BACKUP_COMMAND."
+
+#: ../lib/actions.sh:122
+msgid "Pre-command failed. Stopping the process."
+msgstr "il pre-command è fallito. Termino il processo."
+
+#: ../lib/actions.sh:127
+#, sh-format
+msgid "Pre-command returned: \"$RET\" (success)."
+msgstr "Il pre-command ha restituito: \"$RET\" (operazione completata)"
+
+#: ../lib/actions.sh:139
+#, sh-format
+msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
+msgstr "Eseguo il post-command: $BM_POST_BACKUP_COMMAND"
+
+#: ../lib/actions.sh:143
+msgid "Post-command failed."
+msgstr "il post-command è fallito."
+
+#: ../lib/actions.sh:148
+#, sh-format
+msgid "Post-command returned: \"$RET\" (success)."
+msgstr "Il post-command ha restituito: \"$RET\" (operazione completata)"
+
+#: ../lib/actions.sh:175
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
+msgstr ""
+"Il parametro di configurazione BM_TARBALL_FILETYPE è impostato su \"zip\" ma "
+"zip non è installato."
+
+#: ../lib/actions.sh:180
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
+"installed."
+msgstr ""
+"Il parametro di configurazione BM_TARBALL_FILETYPE è impostato su \"bzip2\" "
+"ma bzip2 non è installato."
+
+#: ../lib/actions.sh:185
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
+msgstr ""
+"Il parametro di configurazione BM_TARBALL_FILETYPE è impostato su \"dar\" ma "
+"dar non è installato."
+
+#: ../lib/actions.sh:197
+#, sh-format
+msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
+msgstr "Il repository $BM_REPOSITORY_ROOT non esiste, lo creo."
+
+#: ../lib/md5sum.sh:30
 msgid "Internal error: bad usage of function get_md5sum_from_file()"
 msgstr "Errore interno: utilizzo errato della funzione get_md5sum_from_file()"
 
-#: ../lib/md5sum.sh:33
+#: ../lib/md5sum.sh:34
 #, sh-format
 msgid "No md5file found: $md5file"
 msgstr "Nessun file md5file trovato: $md5file"
 
-#: ../lib/md5sum.sh:77
+#: ../lib/md5sum.sh:82
 #, sh-format
 msgid "Archive given does not exist in the repository: $archive"
 msgstr "L'archivio specificato non esiste nel repository: $archive"
@@ -302,6 +390,7 @@
 msgstr "Disabilita il porcesso di svoutamento"
 
 #: ../lib/dialog.sh:60
+#, fuzzy
 msgid "Warning, process interrupted, archives may be corrupted."
 msgstr ""
 "Attenzione, processo interrotto, gli archivi potrebero essere corrotti."
@@ -310,108 +399,28 @@
 msgid "Not in interactive mode, cannot continue."
 msgstr "Non si è in modalità interattiva, impossibile continuare."
 
-#: ../lib/logger.sh:134
+#: ../lib/logger.sh:143 ../backup-manager:264
+msgid "Unable to exec post-command."
+msgstr "Impossibile eseguire il post-command"
+
+#: ../lib/logger.sh:145
 msgid "Releasing lock"
 msgstr "Rilascio il Lock"
 
-#: ../lib/actions.sh:42
-msgid "No backup method used."
-msgstr "Nessun metodo di backup specificato."
+#: ../lib/archives.sh:31
+msgid "Internal error: wrong call to bm_merge_incremental_backups()."
+msgstr "Errore interno: chiamata errata per bm_merge_incremental_backups()."
 
-#: ../lib/actions.sh:45
-#, sh-format
-msgid "No such backup method: $BM_ARCHIVE_METHOD"
-msgstr "Nessun metodo di backup: $BM_ARCHIVE_METHOD"
-
-#: ../lib/actions.sh:54
-#, sh-format
-msgid "Unable to change the owner of \"$md5file\"."
-msgstr "Impossibile cambiare il proprietario di  \"$md5file\"."
-
-#: ../lib/actions.sh:56
-#, sh-format
-msgid "Unable to change file permissions of \"$md5file\"."
-msgstr "Impossibile cambiare i permessi di \"$md5file\"."
-
-#: ../lib/actions.sh:86
-msgid "No upload method used."
-msgstr "Nessun metodo di upload specificato."
-
-#: ../lib/actions.sh:89
-#, sh-format
-msgid "The upload method \"$method\" is not supported; skipping."
-msgstr "Il metodo di upload \"$method\" non è supportato; vado avanti."
-
-#: ../lib/actions.sh:99
-#, sh-format
-msgid "Cleaning $BM_REPOSITORY_ROOT"
-msgstr "Pulisco $BM_REPOSITORY_ROOT"
-
-#: ../lib/actions.sh:110
-#, sh-format
-msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
-msgstr "Eseguo il pre-command: $BM_PRE_BACKUP_COMMAND."
-
-#: ../lib/actions.sh:114
-msgid "Pre-command failed. Stopping the process."
-msgstr "il pre-command è fallito. Termino il processo."
-
-#: ../lib/actions.sh:119
-#, sh-format
-msgid "Pre-command returned: \"$RET\" (success)."
-msgstr "Il pre-command ha restituito: \"$RET\" (operazione completata)"
-
-#: ../lib/actions.sh:129
-#, sh-format
-msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
-msgstr "Eseguo il post-command: $BM_POST_BACKUP_COMMAND"
-
-#: ../lib/actions.sh:133
-msgid "Post-command failed."
-msgstr "il post-command è fallito."
-
-#: ../lib/actions.sh:138
-#, sh-format
-msgid "Post-command returned: \"$RET\" (success)."
-msgstr "Il post-command ha restituito: \"$RET\" (operazione completata)"
-
-#: ../lib/actions.sh:161
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
-msgstr ""
-"Il parametro di configurazione BM_TARBALL_FILETYPE è impostato su \"zip\" ma "
-"zip non è installato."
-
-#: ../lib/actions.sh:166
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
-"installed."
-msgstr ""
-"Il parametro di configurazione BM_TARBALL_FILETYPE è impostato su \"bzip2\" "
-"ma bzip2 non è installato."
-
-#: ../lib/actions.sh:171
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
-msgstr ""
-"Il parametro di configurazione BM_TARBALL_FILETYPE è impostato su \"dar\" ma "
-"dar non è installato."
-
-#: ../lib/actions.sh:181
-#, sh-format
-msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
-msgstr "Il repository $BM_REPOSITORY_ROOT non esiste, lo creo."
-
-#: ../lib/files.sh:73 ../lib/files.sh:86
+#: ../lib/files.sh:72 ../lib/files.sh:87
 msgid "No path given."
 msgstr "Nessun path specificato."
 
-#: ../lib/files.sh:152
+#: ../lib/files.sh:162
 #, sh-format
 msgid "Removing lock for old PID, $pid is not running."
 msgstr "Rimuovo il lock per il vecchio PID, $pid non è in esecuzione."
 
-#: ../lib/files.sh:162
+#: ../lib/files.sh:172
 #, sh-format
 msgid ""
 "A backup-manager process ($pid) is already running with the conffile "
@@ -420,68 +429,68 @@
 "E' in esecuzione un'altro processo di backup-manager ($pid) con il conffile "
 "$conffile"
 
-#: ../lib/files.sh:166 ../lib/files.sh:172
+#: ../lib/files.sh:176 ../lib/files.sh:182
 #, sh-format
 msgid "Getting lock for backup-manager $pid with $conffile"
 msgstr "Inserisco il lock per backup-manager $pid con $conffile"
 
-#: ../lib/files.sh:175
+#: ../lib/files.sh:185
 msgid "failed (check the file permissions)."
 msgstr "fallito (controllare i permessi sul file)."
 
-#: ../lib/files.sh:254
+#: ../lib/files.sh:273
 #, sh-format
 msgid "$file is not a regular file."
 msgstr "$file non è un file regolare."
 
-#: ../lib/files.sh:280
+#: ../lib/files.sh:298
 #, sh-format
 msgid "Removing obsolete master backup: \"$file\"."
 msgstr "Rimuovo il master backup obsoleto \"$file\"."
 
-#: ../lib/files.sh:288
+#: ../lib/files.sh:306
 #, sh-format
 msgid "Removing obsolete master backup (isolated): \"$file\"."
 msgstr "Rimuovo il master backup obsoleto (isolato): \"$file\"."
 
-#: ../lib/files.sh:295
+#: ../lib/files.sh:313
 #, sh-format
 msgid "Removing archive \"$file\"."
 msgstr "Rimuovo l'archivio \"$file\"."
 
-#: ../lib/files.sh:315
+#: ../lib/files.sh:335
 msgid "Directory given was not found."
 msgstr "La directory specificata non è stata trovata."
 
-#: ../lib/files.sh:334
+#: ../lib/files.sh:354
 #, sh-format
 msgid "Removing archive \"$archive\"."
 msgstr "Rimuovo l'archivio \"$archive\"."
 
-#: ../lib/files.sh:356
+#: ../lib/files.sh:378
 #, sh-format
 msgid "The given file does not exist: $file_to_create"
 msgstr "il file specificato non esiste: $file_to_create"
 
-#: ../lib/files.sh:361
+#: ../lib/files.sh:383
 msgid "No file given."
 msgstr "nessun file specificato."
 
-#: ../lib/files.sh:366 ../lib/files.sh:368 ../lib/files.sh:382
+#: ../lib/files.sh:388 ../lib/files.sh:390 ../lib/files.sh:404
 msgid "Unable to get date from file."
 msgstr "impossibile ricavare la data dal file."
 
-#: ../lib/files.sh:372
+#: ../lib/files.sh:394
 msgid "Unable to find the pattern of the file."
 msgstr "impossibile trovare il pattern del file."
 
-#: ../lib/files.sh:388
+#: ../lib/files.sh:410
 #, sh-format
 msgid "Unable to find the md5 hash of file \"$file\" in file \"$md5file\"."
 msgstr ""
 "Impossibile trovare l'hash md5 del file \"$file\" nel file \"$md5file\"."
 
-#: ../lib/files.sh:394
+#: ../lib/files.sh:416
 #, sh-format
 msgid "$file is a duplicate of $file_to_create (using symlink)."
 msgstr "$file è un duplicato di $file_to_create (utilizzo un symlink)."
@@ -588,12 +597,12 @@
 msgid "Using the upload method \"rsync-snapshots\"."
 msgstr "Utilizzo il metodo di upload \"rsync-snapshots\"."
 
-#: ../lib/burning-methods.sh:37
+#: ../lib/burning-methods.sh:38
 #, sh-format
 msgid "Device \"/dev/$device\" is mounted on \"$m\", unmounting it."
 msgstr "Il device  \"/dev/$device\" è montato su  \"$m\", lo smonto."
 
-#: ../lib/burning-methods.sh:52
+#: ../lib/burning-methods.sh:54
 #, sh-format
 msgid ""
 "MD5 checkup is only performed on disks. Please set the BM_BURNING_DEVICE in "
@@ -602,60 +611,60 @@
 "Il controllo MD5 viene effettuato solo sui dischi. Impostare "
 "BM_BURNING_DEVICE su $conffile."
 
-#: ../lib/burning-methods.sh:58
+#: ../lib/burning-methods.sh:60
 #, sh-format
 msgid "The mount point $mount_point is not there."
 msgstr "Il mount point $mount_point non è lì."
 
-#: ../lib/burning-methods.sh:65
+#: ../lib/burning-methods.sh:67
 #, sh-format
 msgid "Mounting $BM_BURNING_DEVICE on $mount_point."
 msgstr "Monto $BM_BURNING_DEVICE su $mount_point."
 
-#: ../lib/burning-methods.sh:89
+#: ../lib/burning-methods.sh:91
 #, sh-format
 msgid "Checking MD5 sum for $base_file:"
 msgstr "ControlloMD5 sum per $base_file:"
 
-#: ../lib/burning-methods.sh:108
+#: ../lib/burning-methods.sh:110
 #, sh-format
 msgid "$str ok."
 msgstr "$str ok."
 
-#: ../lib/burning-methods.sh:111
+#: ../lib/burning-methods.sh:113
 #, sh-format
 msgid "$str failed (read error)."
 msgstr "$str fallito (errore di lettura)."
 
-#: ../lib/burning-methods.sh:115
+#: ../lib/burning-methods.sh:117
 #, sh-format
 msgid "$str failed (MD5 hash mismatch)."
 msgstr "$str fallito (hash MD5 non corrispondente)."
 
-#: ../lib/burning-methods.sh:122
+#: ../lib/burning-methods.sh:124
 msgid "Errors encountered during MD5 checks."
 msgstr "Riscontrati errori nei controlli MD5."
 
-#: ../lib/burning-methods.sh:126
+#: ../lib/burning-methods.sh:128
 #, sh-format
 msgid "Unable to unmount the mount point $mount_point"
 msgstr "Impossibile fare l'unmount di $mount_point"
 
-#: ../lib/burning-methods.sh:127
+#: ../lib/burning-methods.sh:129
 #, sh-format
 msgid "Unable to remove the mount point $mount_point"
 msgstr "Impossibile rimuovere il punto di mount $mount_point"
 
-#: ../lib/burning-methods.sh:144
+#: ../lib/burning-methods.sh:148
 msgid "No burning method used."
 msgstr "Nessun metodo di masterizzazione utilizzato."
 
-#: ../lib/burning-methods.sh:164
+#: ../lib/burning-methods.sh:172
 #, sh-format
 msgid "Number of files to burn: $nb_file."
 msgstr "Numero di file da masterizzare: $nb_file."
 
-#: ../lib/burning-methods.sh:166
+#: ../lib/burning-methods.sh:174
 #, sh-format
 msgid ""
 "Nothing to burn for the $BM__BURNING_DATE, try the '--burn <date>' switch."
@@ -663,12 +672,12 @@
 "Nulla da masterizzare per $BM__BURNING_DATE, prova con lo switch  '--burn "
 "<date>'"
 
-#: ../lib/burning-methods.sh:193 ../lib/burning-methods.sh:216
+#: ../lib/burning-methods.sh:203 ../lib/burning-methods.sh:228
 #, sh-format
 msgid "Burning archives of $BM__BURNING_DATE."
 msgstr "Masterizzo gli archivi di $BM__BURNING_DATE."
 
-#: ../lib/burning-methods.sh:198
+#: ../lib/burning-methods.sh:208
 #, sh-format
 msgid ""
 "Cannot burn archives of the $BM__BURNING_DATE, too big: ${size}M, must fit "
@@ -677,92 +686,92 @@
 "Impossibile masterizzare gli archivi di $BM__BURNING_DATE, sono troppo "
 "grandi: ${size}M, devono essere al massimo $BM_BURNING_MAXSIZE"
 
-#: ../lib/burning-methods.sh:220
+#: ../lib/burning-methods.sh:232
 msgid "Burning the whole archives."
 msgstr "Masterizzo tutti gli archivi."
 
-#: ../lib/burning-methods.sh:225
+#: ../lib/burning-methods.sh:237
 #, sh-format
 msgid "Trying to burn $BM_REPOSITORY_ROOT ($size MB) in interactive mode."
 msgstr ""
 "Provo a masterizzare $BM_REPOSITORY_ROOT ($size MB) in modalità interattiva."
 
-#: ../lib/burning-methods.sh:255
+#: ../lib/burning-methods.sh:268
 #, sh-format
 msgid "Redirecting burning logs into $logfile"
 msgstr "Ridireziono i log della masterizzazione su $logfile"
 
-#: ../lib/burning-methods.sh:260
+#: ../lib/burning-methods.sh:273
 #, sh-format
 msgid "Forcing dev=${BM_BURNING_DEVFORCED} for cdrecord commands."
 msgstr "Forzo dev=${BM_BURNING_DEVFORCED} per i comandi cdrecord."
 
-#: ../lib/burning-methods.sh:268
+#: ../lib/burning-methods.sh:281
 #, sh-format
 msgid "DVD+R(W) burning requires $growisofs, aborting."
 msgstr ""
 "La masterizzazione su DVD+R(W) richiede $growisofs, annullo l'operazione."
 
-#: ../lib/burning-methods.sh:271
+#: ../lib/burning-methods.sh:284
 #, sh-format
 msgid "Exporting archives to the DVD+R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Esporto gli archivi sul DVD+R(W) in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:273 ../lib/burning-methods.sh:290
-#: ../lib/burning-methods.sh:300 ../lib/burning-methods.sh:305
-#: ../lib/burning-methods.sh:316
+#: ../lib/burning-methods.sh:288 ../lib/burning-methods.sh:308
+#: ../lib/burning-methods.sh:320 ../lib/burning-methods.sh:326
+#: ../lib/burning-methods.sh:339
 #, sh-format
 msgid "failed, check $logfile"
 msgstr "fallito, controllare $logfile"
 
-#: ../lib/burning-methods.sh:278
+#: ../lib/burning-methods.sh:293
 #, sh-format
 msgid "DVD-R(W) burning requires $growisofs, aborting."
 msgstr ""
 "La masterizzazione su DVD-R(W) richiede $growisofs, annullo l'operazione."
 
-#: ../lib/burning-methods.sh:281
+#: ../lib/burning-methods.sh:296
 #, sh-format
 msgid "DVD-R(W) burning requires $dvdrwformat, aborting."
 msgstr ""
 "La masterizzazione su DVD-R(W) richiede $dvdrwformat, annullo l'operazione."
 
-#: ../lib/burning-methods.sh:284
+#: ../lib/burning-methods.sh:299
 #, sh-format
 msgid "Blanking the DVD-R(W) disc in $BM_BURNING_DEVICE"
 msgstr "Cancello il disco DVD-R(W) in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:286
+#: ../lib/burning-methods.sh:303
 #, sh-format
 msgid "Unable to blank the DVD-R(W) disc (check $logfile)."
 msgstr "Impossibile formattare il disco DVD-R(W) (controllare $logfile)."
 
-#: ../lib/burning-methods.sh:288
+#: ../lib/burning-methods.sh:305
 #, sh-format
 msgid "Exporting archives to the DVD-R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Esporto gli archivi sul DVD-R(W) in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:295 ../lib/burning-methods.sh:310
+#: ../lib/burning-methods.sh:313 ../lib/burning-methods.sh:331
 #, sh-format
 msgid "CD-R(W) burning requires $cdrecord, aborting."
 msgstr ""
 "La masterizzazione su CD-R(W) richiede $cdrecord, annullo l'operazione."
 
-#: ../lib/burning-methods.sh:298
+#: ../lib/burning-methods.sh:316
 #, sh-format
 msgid "Blanking the CDRW in $BM_BURNING_DEVICE."
 msgstr "Cancello il CDRW in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:302 ../lib/burning-methods.sh:313
+#: ../lib/burning-methods.sh:322 ../lib/burning-methods.sh:334
 #, sh-format
 msgid "Burning data to $BM_BURNING_DEVICE."
 msgstr "Masterizzo i dati su $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:320
+#: ../lib/burning-methods.sh:343
 msgid "Nothing to burn."
 msgstr "Niente da masterizzare."
 
-#: ../lib/burning-methods.sh:324
+#: ../lib/burning-methods.sh:347
 #, sh-format
 msgid ""
 "The requested burning method is not supported, check BM_BURNING_METHOD in "
@@ -771,48 +780,49 @@
 "L'opzione di masterizzazione selezionato non è supportato, controllare "
 "BM_BURNING_METHOD in $conffile"
 
-#: ../lib/burning-methods.sh:373
+#: ../lib/burning-methods.sh:400
 #, sh-format
 msgid "Not burning $file because it does not fit in the disk."
 msgstr "Impossibile masterizzare $file perchè è troppo grande per il disco."
 
-#: ../lib/burning-methods.sh:414
+#: ../lib/burning-methods.sh:443
 #, sh-format
 msgid "No such index file: \"$index_file\"."
 msgstr "Nessun file indice: \"$index_file\"."
 
-#: ../lib/burning-methods.sh:455
+#: ../lib/burning-methods.sh:485
 msgid "The burning process will need one disk."
 msgstr "La masterizzazione richiede un disco."
 
-#: ../lib/burning-methods.sh:457
+#: ../lib/burning-methods.sh:487
 #, sh-format
 msgid "The burning process will need $number_of_indexes disks."
 msgstr "La masterizzazione richiede $number_of_indexes dischi."
 
-#: ../lib/burning-methods.sh:469
+#: ../lib/burning-methods.sh:499
 #, sh-format
 msgid "Burning content of $index"
 msgstr "Masterizzo il contenuto di $index"
 
-#: ../backup-manager:134
+#: ../backup-manager:139
 msgid "The -b option must be followed by a valid date (YYYYMMDD)."
 msgstr "all'opzione -b deve seguire una data valida (AAAAMMGG)."
 
-#: ../backup-manager:165
+#: ../backup-manager:174
 msgid "The -c option must be followed by an existing filename."
 msgstr "all'opzione -c deve seguire un nome di file valido"
 
-#: ../backup-manager:202
+#: ../backup-manager:214
 msgid "Unable to exec the pre-command"
 msgstr "Impossibile eseguire il pre-command"
 
-#: ../backup-manager:243
-msgid "Unable to exec post-command."
-msgstr "Impossibile eseguire il post-command"
+#, fuzzy
+#~ msgid "Removing archive \"$bm_pending_archive\" (build interrupted)."
+#~ msgstr "Rimuovo l'archivio \"$archive\"."
 
-#~ msgid "Internal error: wrong call to bm_merge_incremental_backups()."
-#~ msgstr "Errore interno: chiamata errata per bm_merge_incremental_backups()."
+#, fuzzy
+#~ msgid "Compressor $compress is needed."
+#~ msgstr "Il compressore $compress richiede $gzip."
 
 #~ msgid "CDROM burning requires $cdrecord, aborting."
 #~ msgstr ""

Modified: trunk/po/nl.po
===================================================================
--- trunk/po/nl.po	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/po/nl.po	2007-05-30 12:53:39 UTC (rev 66)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: 0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-09-18 09:27+0200\n"
+"POT-Creation-Date: 2006-10-20 16:36+0200\n"
 "PO-Revision-Date: 2006-09-06 10:12+0100\n"
 "Last-Translator: Bjorn Wetzels <Bjorn.Wetzels at planet.nl>\n"
 "Language-Team: DUTCH\n"
@@ -20,168 +20,168 @@
 msgid "$file_to_create: ok (${size}M,"
 msgstr "$file_to_create: ok (${size}M,"
 
-#: ../lib/backup-methods.sh:47
+#: ../lib/backup-methods.sh:48
 #, sh-format
 msgid "Unable to purge duplicates of $file_to_create"
 msgstr "Kan duplicaten van $file_to_create niet weggooien"
 
-#: ../lib/backup-methods.sh:52
+#: ../lib/backup-methods.sh:53
 #, sh-format
 msgid "Unable to change the owner of \"$file_to_create\"."
 msgstr "Kan eigenaar van f \"$file_to_create\". niet wijzigen"
 
-#: ../lib/backup-methods.sh:54
+#: ../lib/backup-methods.sh:55
 #, sh-format
 msgid "Unable to change file permissions of \"$file_to_create\"."
 msgstr "Kan bestandsrechten van  \"$file_to_create\" niet wijzigen."
 
-#: ../lib/backup-methods.sh:76
+#: ../lib/backup-methods.sh:80
 #, sh-format
 msgid "Unable to create \"$target\", check $logfile"
 msgstr "Kan doel \"$target\" niet maken, controleer $logfile"
 
-#: ../lib/backup-methods.sh:89
+#: ../lib/backup-methods.sh:94
 #, sh-format
 msgid "File $file_to_create already exists, skipping."
 msgstr "Bestand $file_to_create bestaat reeds, overslaan."
 
-#: ../lib/backup-methods.sh:100 ../lib/backup-methods.sh:116
-#: ../lib/backup-methods.sh:130
+#: ../lib/backup-methods.sh:108 ../lib/backup-methods.sh:128
+#: ../lib/backup-methods.sh:149
 #, sh-format
 msgid "Unable to exec $command; check $logfile"
 msgstr "Uitvoeren van commando $command niet mogelijk; controleer $logfile"
 
-#: ../lib/backup-methods.sh:108
-#, sh-format
+#: ../lib/backup-methods.sh:116
+#, fuzzy, sh-format
 msgid "Compressor $compress requires $gzip."
-msgstr "Comprimeer-programma $compress benodigt $gzip"
+msgstr "Comprimeer-programma $compress benodigt $bzip"
 
-#: ../lib/backup-methods.sh:124
+#: ../lib/backup-methods.sh:136
 #, sh-format
 msgid "Compressor $compress requires $bzip."
 msgstr "Comprimeer-programma $compress benodigt $bzip"
 
-#: ../lib/backup-methods.sh:137
+#: ../lib/backup-methods.sh:156
 #, sh-format
 msgid "No such compressor supported: $compress."
 msgstr "$compress wordt niet ondersteund"
 
-#: ../lib/backup-methods.sh:143
+#: ../lib/backup-methods.sh:162
 #, sh-format
 msgid "Unable to find $file_to_create"
 msgstr "Bestand niet gevonden: $file_to_create"
 
-#: ../lib/backup-methods.sh:254
+#: ../lib/backup-methods.sh:289
 msgid "No frequency given, set BM_TARBALLINC_MASTERDATETYPE."
 msgstr "Onbekende frequentie: $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:265
+#: ../lib/backup-methods.sh:300
 #, sh-format
 msgid "Unknown frequency: $BM_TARBALLINC_MASTERDATETYPE"
 msgstr "Onbekende frequentie: $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:289
+#: ../lib/backup-methods.sh:328
 #, sh-format
 msgid "Building master backup for target: \"$dir_name\"."
 msgstr "Maken Master Backup voor doel: \"$dir_name\"."
 
-#: ../lib/backup-methods.sh:396
+#: ../lib/backup-methods.sh:452
 #, sh-format
 msgid "The archive type \"tar.bz2\" depends on the tool \"$bzip\"."
 msgstr "Het archieftype \"tar.bz2\" is afhankelijk van de tool \"$bzip\"."
 
-#: ../lib/backup-methods.sh:403
+#: ../lib/backup-methods.sh:459
 #, sh-format
 msgid "The archive type \"tar.lz\" depends on the tool \"$lzma\"."
 msgstr "Het archieftype \"tar.lz\" is afhankelijk van de tool \"$lzma\"."
 
-#: ../lib/backup-methods.sh:410
+#: ../lib/backup-methods.sh:466
 #, sh-format
 msgid "The archive type \"zip\" depends on the tool \"$zip\"."
 msgstr "Het archieftype \"zip\" is afhankelijk van de tool \"$zip\"."
 
-#: ../lib/backup-methods.sh:416
+#: ../lib/backup-methods.sh:472
 #, sh-format
 msgid "The archive type \"dar\" depends on the tool \"$dar\"."
 msgstr "Het archieftype \"dar\" is afhankelijjk van de tool \"$dar\"."
 
-#: ../lib/backup-methods.sh:422 ../lib/backup-methods.sh:499
-#: ../lib/backup-methods.sh:535
+#: ../lib/backup-methods.sh:478 ../lib/backup-methods.sh:579
+#: ../lib/backup-methods.sh:620
 #, sh-format
 msgid "The archive type \"$BM_TARBALL_FILETYPE\" is not supported."
 msgstr "Het bestandstype $BM_TARBALL_FILETYPE wordt niet ondersteund."
 
-#: ../lib/backup-methods.sh:474
+#: ../lib/backup-methods.sh:549
 msgid "The configuration variable \"BM_ENCRYPTION_RECIPIENT\" must be defined."
 msgstr ""
 "De configuratiesleutel \"BM_ENCRYPTION_RECIPIENT\" moet worden gedefinieerd."
 
-#: ../lib/backup-methods.sh:480
+#: ../lib/backup-methods.sh:555
 #, sh-format
 msgid ""
 "The encryption is not yet possible with \"$BM_TARBALL_FILETYPE\" archives."
 msgstr "Encryptie is nog niet mogelijk voor\"$BM_TARBALL_FILETYPE\" archieven"
 
-#: ../lib/backup-methods.sh:512
+#: ../lib/backup-methods.sh:596
 #, sh-format
 msgid "The program \"$gpg\" is needed."
 msgstr "Het programma \"$gpg\" is benodigd."
 
-#: ../lib/backup-methods.sh:519 ../lib/backup-methods.sh:551
+#: ../lib/backup-methods.sh:603 ../lib/backup-methods.sh:640
 #, sh-format
 msgid "File $file_to_check already exists, skipping."
 msgstr "Bestand $file_to_check bestaat reeds, overslaan."
 
-#: ../lib/backup-methods.sh:571
+#: ../lib/backup-methods.sh:663
 #, sh-format
 msgid "Target \"$t\" does not exist, skipping."
 msgstr "Doel: \"$t\" bestaat niet, overslaan."
 
-#: ../lib/backup-methods.sh:640 ../lib/backup-methods.sh:673
-#: ../lib/backup-methods.sh:702 ../lib/backup-methods.sh:724
+#: ../lib/backup-methods.sh:738 ../lib/backup-methods.sh:773
+#: ../lib/backup-methods.sh:804 ../lib/backup-methods.sh:828
 #, sh-format
 msgid "Using method \"$method\"."
 msgstr "Gebruik Methode\"$method\"."
 
-#: ../lib/backup-methods.sh:664
+#: ../lib/backup-methods.sh:762
 msgid "1 error occurred during the tarball generation."
 msgstr "1 fout voorgekomen tijdens het maken van de tarball"
 
-#: ../lib/backup-methods.sh:666
+#: ../lib/backup-methods.sh:764
 #, sh-format
 msgid "$nb_err errors occurred during the tarball generation."
 msgstr "$nb_err fouten voorgekomen tijdens het maken van de tarball"
 
-#: ../lib/backup-methods.sh:675
+#: ../lib/backup-methods.sh:775
 #, sh-format
 msgid "The \"mysql\" method is chosen, but $mysqldump is not found."
 msgstr "De \"mysql\" methode is gekozen, maar $mysqldump is niet gevonden."
 
-#: ../lib/backup-methods.sh:704
+#: ../lib/backup-methods.sh:806
 #, sh-format
 msgid "The \"svn\" method is chosen, but $svnadmin is not found."
 msgstr "De \"svn\" methode is gekozen, maar $svnadmin is niet gevonden."
 
-#: ../lib/backup-methods.sh:710
+#: ../lib/backup-methods.sh:812
 #, sh-format
 msgid "SVN repository \"$repository\" is not valid; skipping."
 msgstr "SVN verzameling \"$repository\" is niet geldig; overslaan."
 
-#: ../lib/backup-methods.sh:733
+#: ../lib/backup-methods.sh:837
 #, sh-format
 msgid "Not enough args for this archive ($archive), skipping."
 msgstr "Niet genoeg argumenten meegegeven voor archief ($archive), overslaan."
 
-#: ../lib/backup-methods.sh:740
+#: ../lib/backup-methods.sh:844
 msgid "Cannot create archive."
 msgstr "Kan archief niet maken"
 
-#: ../lib/sanitize.sh:29
+#: ../lib/sanitize.sh:31
 #, sh-format
 msgid "The configuration key $key is not set, using \"$default\"."
 msgstr "De configuratiesleutel $key is niet gezet, gebruik \"$default\"."
 
-#: ../lib/sanitize.sh:39
+#: ../lib/sanitize.sh:42
 #, sh-format
 msgid ""
 "The configuration key \"$deprecated_key\" is deprecated, you should rename "
@@ -190,24 +190,24 @@
 "De configuratiesleutel  \"$deprecated_key\" is verouderd, hernoemdeze naar "
 "\"$new_key\". Gebruik nu \"$deprecated_value\""
 
-#: ../lib/sanitize.sh:74
+#: ../lib/sanitize.sh:83
 #, sh-format
 msgid "The configuration key $key is not set but $keymandatory is enabled."
 msgstr ""
 "De configuratiesleutel $key is niet ingesteld, maar $keymandatory is wel "
 "aangezet."
 
-#: ../lib/sanitize.sh:92
+#: ../lib/sanitize.sh:99
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"yes\", setting \"true\" instead."
 msgstr "Verouderde boolean, $key is ingesteld op \"yes\", Gebruik nu \"true"
 
-#: ../lib/sanitize.sh:97
+#: ../lib/sanitize.sh:104
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"no\", setting \"false\" instead."
 msgstr "Verouderde boolean, $key is ingesteld op \"no\", Gebruik nu \"false"
 
-#: ../lib/sanitize.sh:248
+#: ../lib/sanitize.sh:251
 #, sh-format
 msgid ""
 "When validating the configuration file $conffile, $nb_warnings warnings were "
@@ -216,16 +216,104 @@
 "Tijdens het valideren van het configuratiebestand $conffile zijn "
 "$nb_warnings waarchuwing(en)  gevonden"
 
-#: ../lib/md5sum.sh:29
+#: ../lib/actions.sh:44
+msgid "No backup method used."
+msgstr "Geen backup methode gebruikt."
+
+#: ../lib/actions.sh:47
+#, sh-format
+msgid "No such backup method: $BM_ARCHIVE_METHOD"
+msgstr "Backup methode bestaat niet: $BM_ARCHIVE_METHOD"
+
+#: ../lib/actions.sh:56
+#, sh-format
+msgid "Unable to change the owner of \"$md5file\"."
+msgstr "Niet mogelijk om eigenaar van bestand  \"$md5file\" te wijzigen"
+
+#: ../lib/actions.sh:58
+#, sh-format
+msgid "Unable to change file permissions of \"$md5file\"."
+msgstr "Niet mogelijk om bestandsrechten te veranderen van \"$md5file\"."
+
+#: ../lib/actions.sh:90
+msgid "No upload method used."
+msgstr "Geen upload methode gebruikt."
+
+#: ../lib/actions.sh:93
+#, sh-format
+msgid "The upload method \"$method\" is not supported; skipping."
+msgstr "De Upload methode \"$method\" Wordt niet ondersteund; overslaan."
+
+#: ../lib/actions.sh:105
+#, sh-format
+msgid "Cleaning $BM_REPOSITORY_ROOT"
+msgstr "Opschonen $BM_REPOSITORY_ROOT"
+
+#: ../lib/actions.sh:118
+#, sh-format
+msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
+msgstr "Uitvoeren van  pre-commando: $BM_PRE_BACKUP_COMMAND."
+
+#: ../lib/actions.sh:122
+msgid "Pre-command failed. Stopping the process."
+msgstr "Pre-commando fout. Stoppen van proces."
+
+#: ../lib/actions.sh:127
+#, sh-format
+msgid "Pre-command returned: \"$RET\" (success)."
+msgstr "Pre-commando retourneerde: \"$RET\" (success)."
+
+#: ../lib/actions.sh:139
+#, sh-format
+msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
+msgstr "Uitvoeren post-commando: $BM_POST_BACKUP_COMMAND"
+
+#: ../lib/actions.sh:143
+msgid "Post-command failed."
+msgstr "Post-commando fout."
+
+#: ../lib/actions.sh:148
+#, sh-format
+msgid "Post-command returned: \"$RET\" (success)."
+msgstr "Post-commando retourneerde: \"$RET\" (success)."
+
+#: ../lib/actions.sh:175
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
+msgstr ""
+"De BM_TARBALL_FILETYPE configuratiesleutel is ingesteld op  \"zip\" maar zip "
+"is niet geinstalleerd."
+
+#: ../lib/actions.sh:180
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
+"installed."
+msgstr ""
+"De BM_TARBALL_FILETYPE configuratiesleutel is ingesteld op  \"bzip2\" maar "
+"bzip2 is niet geinstalleerd."
+
+#: ../lib/actions.sh:185
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
+msgstr ""
+"De BM_TARBALL_FILETYPE configuratiesleutel is ingesteld op  \"dar\" maar dar "
+"is niet geinstalleerd."
+
+#: ../lib/actions.sh:197
+#, sh-format
+msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
+msgstr "$BM_REPOSITORY_ROOT bestaat niet, maken"
+
+#: ../lib/md5sum.sh:30
 msgid "Internal error: bad usage of function get_md5sum_from_file()"
 msgstr "Interne error: fout gebruik van functie get_md5sum_from_file()"
 
-#: ../lib/md5sum.sh:33
+#: ../lib/md5sum.sh:34
 #, sh-format
 msgid "No md5file found: $md5file"
 msgstr "geen md5file gevonden: $md5file"
 
-#: ../lib/md5sum.sh:77
+#: ../lib/md5sum.sh:82
 #, sh-format
 msgid "Archive given does not exist in the repository: $archive"
 msgstr "opgegeven archief werd niet gevonden in de verzameling: $archive"
@@ -295,6 +383,7 @@
 msgstr "Schakel het verwijder proces uit."
 
 #: ../lib/dialog.sh:60
+#, fuzzy
 msgid "Warning, process interrupted, archives may be corrupted."
 msgstr "Waarschuwing, proces onderbroken, Archieven kunnen corrupt zijn."
 
@@ -302,108 +391,28 @@
 msgid "Not in interactive mode, cannot continue."
 msgstr "Niet in interactive modus, kan niet verder gaan."
 
-#: ../lib/logger.sh:134
+#: ../lib/logger.sh:143 ../backup-manager:264
+msgid "Unable to exec post-command."
+msgstr "Post-commando uitvoeren niet mogelijk"
+
+#: ../lib/logger.sh:145
 msgid "Releasing lock"
 msgstr "Vergrendeling vrijgeven"
 
-#: ../lib/actions.sh:42
-msgid "No backup method used."
-msgstr "Geen backup methode gebruikt."
+#: ../lib/archives.sh:31
+msgid "Internal error: wrong call to bm_merge_incremental_backups()."
+msgstr "Interne fout: verkeerde call naar bm_merge_incremental_backups()."
 
-#: ../lib/actions.sh:45
-#, sh-format
-msgid "No such backup method: $BM_ARCHIVE_METHOD"
-msgstr "Backup methode bestaat niet: $BM_ARCHIVE_METHOD"
-
-#: ../lib/actions.sh:54
-#, sh-format
-msgid "Unable to change the owner of \"$md5file\"."
-msgstr "Niet mogelijk om eigenaar van bestand  \"$md5file\" te wijzigen"
-
-#: ../lib/actions.sh:56
-#, sh-format
-msgid "Unable to change file permissions of \"$md5file\"."
-msgstr "Niet mogelijk om bestandsrechten te veranderen van \"$md5file\"."
-
-#: ../lib/actions.sh:86
-msgid "No upload method used."
-msgstr "Geen upload methode gebruikt."
-
-#: ../lib/actions.sh:89
-#, sh-format
-msgid "The upload method \"$method\" is not supported; skipping."
-msgstr "De Upload methode \"$method\" Wordt niet ondersteund; overslaan."
-
-#: ../lib/actions.sh:99
-#, sh-format
-msgid "Cleaning $BM_REPOSITORY_ROOT"
-msgstr "Opschonen $BM_REPOSITORY_ROOT"
-
-#: ../lib/actions.sh:110
-#, sh-format
-msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
-msgstr "Uitvoeren van  pre-commando: $BM_PRE_BACKUP_COMMAND."
-
-#: ../lib/actions.sh:114
-msgid "Pre-command failed. Stopping the process."
-msgstr "Pre-commando fout. Stoppen van proces."
-
-#: ../lib/actions.sh:119
-#, sh-format
-msgid "Pre-command returned: \"$RET\" (success)."
-msgstr "Pre-commando retourneerde: \"$RET\" (success)."
-
-#: ../lib/actions.sh:129
-#, sh-format
-msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
-msgstr "Uitvoeren post-commando: $BM_POST_BACKUP_COMMAND"
-
-#: ../lib/actions.sh:133
-msgid "Post-command failed."
-msgstr "Post-commando fout."
-
-#: ../lib/actions.sh:138
-#, sh-format
-msgid "Post-command returned: \"$RET\" (success)."
-msgstr "Post-commando retourneerde: \"$RET\" (success)."
-
-#: ../lib/actions.sh:161
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
-msgstr ""
-"De BM_TARBALL_FILETYPE configuratiesleutel is ingesteld op  \"zip\" maar zip "
-"is niet geinstalleerd."
-
-#: ../lib/actions.sh:166
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
-"installed."
-msgstr ""
-"De BM_TARBALL_FILETYPE configuratiesleutel is ingesteld op  \"bzip2\" maar "
-"bzip2 is niet geinstalleerd."
-
-#: ../lib/actions.sh:171
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
-msgstr ""
-"De BM_TARBALL_FILETYPE configuratiesleutel is ingesteld op  \"dar\" maar dar "
-"is niet geinstalleerd."
-
-#: ../lib/actions.sh:181
-#, sh-format
-msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
-msgstr "$BM_REPOSITORY_ROOT bestaat niet, maken"
-
-#: ../lib/files.sh:73 ../lib/files.sh:86
+#: ../lib/files.sh:72 ../lib/files.sh:87
 msgid "No path given."
 msgstr "Geen Pad opgegeven"
 
-#: ../lib/files.sh:152
+#: ../lib/files.sh:162
 #, sh-format
 msgid "Removing lock for old PID, $pid is not running."
 msgstr "Verwijderen vergrendeling voor oude PID, $pid loopt niet."
 
-#: ../lib/files.sh:162
+#: ../lib/files.sh:172
 #, sh-format
 msgid ""
 "A backup-manager process ($pid) is already running with the conffile "
@@ -411,67 +420,67 @@
 msgstr ""
 "Een backup-manager proces ($pid) loopt al met de configuratiefile $conffile"
 
-#: ../lib/files.sh:166 ../lib/files.sh:172
+#: ../lib/files.sh:176 ../lib/files.sh:182
 #, sh-format
 msgid "Getting lock for backup-manager $pid with $conffile"
 msgstr "Vergrendelen van proces: backup-manager $pid met $conffile"
 
-#: ../lib/files.sh:175
+#: ../lib/files.sh:185
 msgid "failed (check the file permissions)."
 msgstr "Fout (controleer bestandsrechten)"
 
-#: ../lib/files.sh:254
+#: ../lib/files.sh:273
 #, sh-format
 msgid "$file is not a regular file."
 msgstr "$file is geen regulier bestand."
 
-#: ../lib/files.sh:280
+#: ../lib/files.sh:298
 #, sh-format
 msgid "Removing obsolete master backup: \"$file\"."
 msgstr "Verwijderen overbodige master backup :\"$file\"."
 
-#: ../lib/files.sh:288
+#: ../lib/files.sh:306
 #, sh-format
 msgid "Removing obsolete master backup (isolated): \"$file\"."
 msgstr "Verwijderen overbodige master backup (geisoleerd) :\"$file\"."
 
-#: ../lib/files.sh:295
+#: ../lib/files.sh:313
 #, sh-format
 msgid "Removing archive \"$file\"."
 msgstr "Verwijderen $file"
 
-#: ../lib/files.sh:315
+#: ../lib/files.sh:335
 msgid "Directory given was not found."
 msgstr "Opgegeven map bestaat niet"
 
-#: ../lib/files.sh:334
+#: ../lib/files.sh:354
 #, sh-format
 msgid "Removing archive \"$archive\"."
 msgstr "Verwijderen archief \"$archive\"."
 
-#: ../lib/files.sh:356
+#: ../lib/files.sh:378
 #, sh-format
 msgid "The given file does not exist: $file_to_create"
 msgstr "Het opgegeven bestand bestaat niet: $file_to_create"
 
-#: ../lib/files.sh:361
+#: ../lib/files.sh:383
 msgid "No file given."
 msgstr "Geen bestand opgegeven"
 
-#: ../lib/files.sh:366 ../lib/files.sh:368 ../lib/files.sh:382
+#: ../lib/files.sh:388 ../lib/files.sh:390 ../lib/files.sh:404
 msgid "Unable to get date from file."
 msgstr "Niet mogelijk om datum van bestand op te halen"
 
-#: ../lib/files.sh:372
+#: ../lib/files.sh:394
 msgid "Unable to find the pattern of the file."
 msgstr "Niet mogelijk om patroon van bestand op te halen"
 
-#: ../lib/files.sh:388
+#: ../lib/files.sh:410
 #, sh-format
 msgid "Unable to find the md5 hash of file \"$file\" in file \"$md5file\"."
 msgstr "md5 hash van bestand \"$file\" niet gevonden in bestand  \"$md5file\"."
 
-#: ../lib/files.sh:394
+#: ../lib/files.sh:416
 #, sh-format
 msgid "$file is a duplicate of $file_to_create (using symlink)."
 msgstr "$file is een duplicaat van $file_to_create (door symlink)"
@@ -576,12 +585,12 @@
 msgid "Using the upload method \"rsync-snapshots\"."
 msgstr "Gebruik Upload Methode \"rsync-snapshots\"."
 
-#: ../lib/burning-methods.sh:37
+#: ../lib/burning-methods.sh:38
 #, sh-format
 msgid "Device \"/dev/$device\" is mounted on \"$m\", unmounting it."
 msgstr "Apparaat \"/dev/$device\" is gekoppeld op \"$m\", ontkoppelen."
 
-#: ../lib/burning-methods.sh:52
+#: ../lib/burning-methods.sh:54
 #, sh-format
 msgid ""
 "MD5 checkup is only performed on disks. Please set the BM_BURNING_DEVICE in "
@@ -590,60 +599,60 @@
 "MD5 Controle wordt alleen uitgevoerd op schijven. Stel BM_BURNING_DEVICE in "
 "$conffile in."
 
-#: ../lib/burning-methods.sh:58
+#: ../lib/burning-methods.sh:60
 #, sh-format
 msgid "The mount point $mount_point is not there."
 msgstr "Het MointPoint $mount_point is niet aanwezig"
 
-#: ../lib/burning-methods.sh:65
+#: ../lib/burning-methods.sh:67
 #, sh-format
 msgid "Mounting $BM_BURNING_DEVICE on $mount_point."
 msgstr "koppelen $BM_BURNING_DEVICE op $mount_point."
 
-#: ../lib/burning-methods.sh:89
+#: ../lib/burning-methods.sh:91
 #, sh-format
 msgid "Checking MD5 sum for $base_file:"
 msgstr "Controleren MD5 som voor $base_file:"
 
-#: ../lib/burning-methods.sh:108
+#: ../lib/burning-methods.sh:110
 #, sh-format
 msgid "$str ok."
 msgstr "$str ok"
 
-#: ../lib/burning-methods.sh:111
+#: ../lib/burning-methods.sh:113
 #, sh-format
 msgid "$str failed (read error)."
 msgstr "$str fout (leesfout)"
 
-#: ../lib/burning-methods.sh:115
+#: ../lib/burning-methods.sh:117
 #, sh-format
 msgid "$str failed (MD5 hash mismatch)."
 msgstr "$str failed (MD5 hash mismatch)"
 
-#: ../lib/burning-methods.sh:122
+#: ../lib/burning-methods.sh:124
 msgid "Errors encountered during MD5 checks."
 msgstr "Fouten opgetreden tijdens MD5 controle."
 
-#: ../lib/burning-methods.sh:126
+#: ../lib/burning-methods.sh:128
 #, sh-format
 msgid "Unable to unmount the mount point $mount_point"
 msgstr "Niet mogelijk om koppeling $mount_point te ontkoppelen "
 
-#: ../lib/burning-methods.sh:127
+#: ../lib/burning-methods.sh:129
 #, sh-format
 msgid "Unable to remove the mount point $mount_point"
 msgstr "Niet mogelijk om koppeling $mount_point te verwijderen"
 
-#: ../lib/burning-methods.sh:144
+#: ../lib/burning-methods.sh:148
 msgid "No burning method used."
 msgstr "Geen brandmethode gebruikt."
 
-#: ../lib/burning-methods.sh:164
+#: ../lib/burning-methods.sh:172
 #, sh-format
 msgid "Number of files to burn: $nb_file."
 msgstr "aantal bestanden om te branden: $nb_file."
 
-#: ../lib/burning-methods.sh:166
+#: ../lib/burning-methods.sh:174
 #, sh-format
 msgid ""
 "Nothing to burn for the $BM__BURNING_DATE, try the '--burn <date>' switch."
@@ -651,12 +660,12 @@
 "Niets te branden voor $BM__BURNING_DATE, probeer de '--burn <date>' "
 "schakeloptie."
 
-#: ../lib/burning-methods.sh:193 ../lib/burning-methods.sh:216
+#: ../lib/burning-methods.sh:203 ../lib/burning-methods.sh:228
 #, sh-format
 msgid "Burning archives of $BM__BURNING_DATE."
 msgstr "Branden archieven naar $BM__BURNING_DATE."
 
-#: ../lib/burning-methods.sh:198
+#: ../lib/burning-methods.sh:208
 #, sh-format
 msgid ""
 "Cannot burn archives of the $BM__BURNING_DATE, too big: ${size}M, must fit "
@@ -665,88 +674,88 @@
 "Kan archieven van  $BM__BURNING_DATE niet branden, te groot. ${size}M, moet "
 "passen in $BM_BURNING_MAXSIZE"
 
-#: ../lib/burning-methods.sh:220
+#: ../lib/burning-methods.sh:232
 msgid "Burning the whole archives."
 msgstr "Branden complete archieven"
 
-#: ../lib/burning-methods.sh:225
+#: ../lib/burning-methods.sh:237
 #, sh-format
 msgid "Trying to burn $BM_REPOSITORY_ROOT ($size MB) in interactive mode."
 msgstr ""
 "Proberen van branden $BM_REPOSITORY_ROOT ($size MB) in interactive mode."
 
-#: ../lib/burning-methods.sh:255
+#: ../lib/burning-methods.sh:268
 #, sh-format
 msgid "Redirecting burning logs into $logfile"
 msgstr "Verwijzen brandlogs naar $logfile"
 
-#: ../lib/burning-methods.sh:260
+#: ../lib/burning-methods.sh:273
 #, sh-format
 msgid "Forcing dev=${BM_BURNING_DEVFORCED} for cdrecord commands."
 msgstr "Forceren dev=${BM_BURNING_DEVFORCED} voor cdrecord commando"
 
-#: ../lib/burning-methods.sh:268
+#: ../lib/burning-methods.sh:281
 #, sh-format
 msgid "DVD+R(W) burning requires $growisofs, aborting."
 msgstr "DVD+R(W) branden benodigt $growisofs, afbreken."
 
-#: ../lib/burning-methods.sh:271
+#: ../lib/burning-methods.sh:284
 #, sh-format
 msgid "Exporting archives to the DVD+R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Exporteren archieven naar DVD media in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:273 ../lib/burning-methods.sh:290
-#: ../lib/burning-methods.sh:300 ../lib/burning-methods.sh:305
-#: ../lib/burning-methods.sh:316
+#: ../lib/burning-methods.sh:288 ../lib/burning-methods.sh:308
+#: ../lib/burning-methods.sh:320 ../lib/burning-methods.sh:326
+#: ../lib/burning-methods.sh:339
 #, sh-format
 msgid "failed, check $logfile"
 msgstr "fout, controleer $logfile"
 
-#: ../lib/burning-methods.sh:278
+#: ../lib/burning-methods.sh:293
 #, sh-format
 msgid "DVD-R(W) burning requires $growisofs, aborting."
 msgstr "DVD branden benodigt $growisofs, afbreken."
 
-#: ../lib/burning-methods.sh:281
+#: ../lib/burning-methods.sh:296
 #, sh-format
 msgid "DVD-R(W) burning requires $dvdrwformat, aborting."
 msgstr "DVD-R branden benodigt $dvdrwformat, afbreken."
 
-#: ../lib/burning-methods.sh:284
+#: ../lib/burning-methods.sh:299
 #, sh-format
 msgid "Blanking the DVD-R(W) disc in $BM_BURNING_DEVICE"
 msgstr "Leegmaken van de CDRW in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:286
+#: ../lib/burning-methods.sh:303
 #, sh-format
 msgid "Unable to blank the DVD-R(W) disc (check $logfile)."
 msgstr "kan CD niet leegmaken, controleer $logfile"
 
-#: ../lib/burning-methods.sh:288
+#: ../lib/burning-methods.sh:305
 #, sh-format
 msgid "Exporting archives to the DVD-R(W) disc in $BM_BURNING_DEVICE."
 msgstr "Exporteren archieven naar DVD media in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:295 ../lib/burning-methods.sh:310
+#: ../lib/burning-methods.sh:313 ../lib/burning-methods.sh:331
 #, sh-format
 msgid "CD-R(W) burning requires $cdrecord, aborting."
 msgstr "CDR(W) Branden vereist $cdrecord, afbreken."
 
-#: ../lib/burning-methods.sh:298
+#: ../lib/burning-methods.sh:316
 #, sh-format
 msgid "Blanking the CDRW in $BM_BURNING_DEVICE."
 msgstr "Leegmaken van de CDRW in $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:302 ../lib/burning-methods.sh:313
+#: ../lib/burning-methods.sh:322 ../lib/burning-methods.sh:334
 #, sh-format
 msgid "Burning data to $BM_BURNING_DEVICE."
 msgstr "Branden van data naar $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:320
+#: ../lib/burning-methods.sh:343
 msgid "Nothing to burn."
 msgstr "Geen data om te branden."
 
-#: ../lib/burning-methods.sh:324
+#: ../lib/burning-methods.sh:347
 #, sh-format
 msgid ""
 "The requested burning method is not supported, check BM_BURNING_METHOD in "
@@ -755,48 +764,49 @@
 "De opgegeven brandmethode wordt niet ondersteund, "
 "controleerBM_BURNING_METHOD in $conffile"
 
-#: ../lib/burning-methods.sh:373
+#: ../lib/burning-methods.sh:400
 #, sh-format
 msgid "Not burning $file because it does not fit in the disk."
 msgstr "Kan niet branden $file, past niet op de schijf."
 
-#: ../lib/burning-methods.sh:414
+#: ../lib/burning-methods.sh:443
 #, sh-format
 msgid "No such index file: \"$index_file\"."
 msgstr "Geen index file: \"$index_file\"."
 
-#: ../lib/burning-methods.sh:455
+#: ../lib/burning-methods.sh:485
 msgid "The burning process will need one disk."
 msgstr "Het brandproces benodigt 1 schijf"
 
-#: ../lib/burning-methods.sh:457
+#: ../lib/burning-methods.sh:487
 #, sh-format
 msgid "The burning process will need $number_of_indexes disks."
 msgstr "het branden vereist $number_of_indexes schijven."
 
-#: ../lib/burning-methods.sh:469
+#: ../lib/burning-methods.sh:499
 #, sh-format
 msgid "Burning content of $index"
 msgstr "Branden inhoud van $index"
 
-#: ../backup-manager:134
+#: ../backup-manager:139
 msgid "The -b option must be followed by a valid date (YYYYMMDD)."
 msgstr "-b optie moet gevolgd worden door Valide datum (YYYYMMDD)."
 
-#: ../backup-manager:165
+#: ../backup-manager:174
 msgid "The -c option must be followed by an existing filename."
 msgstr "-c optie moet gevolgd worden door een bestaande bestandsnaam"
 
-#: ../backup-manager:202
+#: ../backup-manager:214
 msgid "Unable to exec the pre-command"
 msgstr "Pre-commando uitvoeren niet mogelijk"
 
-#: ../backup-manager:243
-msgid "Unable to exec post-command."
-msgstr "Post-commando uitvoeren niet mogelijk"
+#, fuzzy
+#~ msgid "Removing archive \"$bm_pending_archive\" (build interrupted)."
+#~ msgstr "Verwijderen archief \"$archive\"."
 
-#~ msgid "Internal error: wrong call to bm_merge_incremental_backups()."
-#~ msgstr "Interne fout: verkeerde call naar bm_merge_incremental_backups()."
+#, fuzzy
+#~ msgid "Compressor $compress is needed."
+#~ msgstr "Comprimeer-programma $compress benodigt $gzip"
 
 #~ msgid "CDROM burning requires $cdrecord, aborting."
 #~ msgstr "CDROM Branden vereist $cdrecord, afbreken."

Modified: trunk/po/vi.po
===================================================================
--- trunk/po/vi.po	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/po/vi.po	2007-05-30 12:53:39 UTC (rev 66)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: backup-manager 0.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-09-18 09:27+0200\n"
+"POT-Creation-Date: 2006-10-20 16:36+0200\n"
 "PO-Revision-Date: 2006-09-15 15:47+0930\n"
 "Last-Translator: Clytie Siddall <clytie at riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN at googlegroups.com>\n"
@@ -21,170 +21,170 @@
 msgid "$file_to_create: ok (${size}M,"
 msgstr "$file_to_create: được (${size}M,"
 
-#: ../lib/backup-methods.sh:47
+#: ../lib/backup-methods.sh:48
 #, sh-format
 msgid "Unable to purge duplicates of $file_to_create"
 msgstr "Không thể tẩy các bản sao của tập tin « $file_to_create »"
 
-#: ../lib/backup-methods.sh:52
+#: ../lib/backup-methods.sh:53
 #, sh-format
 msgid "Unable to change the owner of \"$file_to_create\"."
 msgstr "Không thể thay đổi người sở hữu tập tin « $file_to_create »."
 
-#: ../lib/backup-methods.sh:54
+#: ../lib/backup-methods.sh:55
 #, sh-format
 msgid "Unable to change file permissions of \"$file_to_create\"."
 msgstr "Không thể thay đổi quyền hạn của tập tin « $file_to_create »."
 
-#: ../lib/backup-methods.sh:76
+#: ../lib/backup-methods.sh:80
 #, sh-format
 msgid "Unable to create \"$target\", check $logfile"
 msgstr ""
 "Không thể tạo đích « $target », hãy kiểm tra lại tập tin bản ghi « $logfile »"
 
-#: ../lib/backup-methods.sh:89
+#: ../lib/backup-methods.sh:94
 #, sh-format
 msgid "File $file_to_create already exists, skipping."
 msgstr "Tập tin « $file_to_create » đã có nên bỏ qua."
 
-#: ../lib/backup-methods.sh:100 ../lib/backup-methods.sh:116
-#: ../lib/backup-methods.sh:130
+#: ../lib/backup-methods.sh:108 ../lib/backup-methods.sh:128
+#: ../lib/backup-methods.sh:149
 #, sh-format
 msgid "Unable to exec $command; check $logfile"
 msgstr ""
 "Không thể thực hiện lệnh « $command »; hãy kiểm tra lại tập tin bản ghi « "
 "$logfile »"
 
-#: ../lib/backup-methods.sh:108
-#, sh-format
+#: ../lib/backup-methods.sh:116
+#, fuzzy, sh-format
 msgid "Compressor $compress requires $gzip."
-msgstr "Bộ nén « $compress » cần thiết $gzip."
+msgstr "Bộ nén « $compress » cần thiết $bzip."
 
-#: ../lib/backup-methods.sh:124
+#: ../lib/backup-methods.sh:136
 #, sh-format
 msgid "Compressor $compress requires $bzip."
 msgstr "Bộ nén « $compress » cần thiết $bzip."
 
-#: ../lib/backup-methods.sh:137
+#: ../lib/backup-methods.sh:156
 #, sh-format
 msgid "No such compressor supported: $compress."
 msgstr "Không hỗ trợ bộ nén như vậy: $compress."
 
-#: ../lib/backup-methods.sh:143
+#: ../lib/backup-methods.sh:162
 #, sh-format
 msgid "Unable to find $file_to_create"
 msgstr "Không tìm thấy tập tin « $file_to_create »"
 
-#: ../lib/backup-methods.sh:254
+#: ../lib/backup-methods.sh:289
 msgid "No frequency given, set BM_TARBALLINC_MASTERDATETYPE."
 msgstr "Chưa nhập tần số, đặt $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:265
+#: ../lib/backup-methods.sh:300
 #, sh-format
 msgid "Unknown frequency: $BM_TARBALLINC_MASTERDATETYPE"
 msgstr "Không biết tần số : $BM_TARBALLINC_MASTERDATETYPE"
 
-#: ../lib/backup-methods.sh:289
+#: ../lib/backup-methods.sh:328
 #, sh-format
 msgid "Building master backup for target: \"$dir_name\"."
 msgstr "Đang xây dựng bản sao lưu chính cho đích: « $dir_name »."
 
-#: ../lib/backup-methods.sh:396
+#: ../lib/backup-methods.sh:452
 #, sh-format
 msgid "The archive type \"tar.bz2\" depends on the tool \"$bzip\"."
 msgstr "Kiểu kho nén « tar.bz2 » phụ thuộc vào công cụ « $bzip »."
 
-#: ../lib/backup-methods.sh:403
+#: ../lib/backup-methods.sh:459
 #, sh-format
 msgid "The archive type \"tar.lz\" depends on the tool \"$lzma\"."
 msgstr "Kiểu kho nén « tar.lz » phụ thuộc vào công cụ « $lzma »."
 
-#: ../lib/backup-methods.sh:410
+#: ../lib/backup-methods.sh:466
 #, sh-format
 msgid "The archive type \"zip\" depends on the tool \"$zip\"."
 msgstr "Kiểu kho nén « zip » phụ thuộc vào công cụ « $zip »."
 
-#: ../lib/backup-methods.sh:416
+#: ../lib/backup-methods.sh:472
 #, sh-format
 msgid "The archive type \"dar\" depends on the tool \"$dar\"."
 msgstr "Kiểu kho nén « dar » phụ thuộc vào công cụ « $dar »."
 
-#: ../lib/backup-methods.sh:422 ../lib/backup-methods.sh:499
-#: ../lib/backup-methods.sh:535
+#: ../lib/backup-methods.sh:478 ../lib/backup-methods.sh:579
+#: ../lib/backup-methods.sh:620
 #, sh-format
 msgid "The archive type \"$BM_TARBALL_FILETYPE\" is not supported."
 msgstr "Không hỗ trợ kiểu kho nén « $BM_TARBALL_FILETYPE »."
 
-#: ../lib/backup-methods.sh:474
+#: ../lib/backup-methods.sh:549
 msgid "The configuration variable \"BM_ENCRYPTION_RECIPIENT\" must be defined."
 msgstr "Phải xác định biến cấu hình « $BM_ENCRYPTION_RECIPIENT »."
 
-#: ../lib/backup-methods.sh:480
+#: ../lib/backup-methods.sh:555
 #, sh-format
 msgid ""
 "The encryption is not yet possible with \"$BM_TARBALL_FILETYPE\" archives."
 msgstr "Chưa có khả năng mật mã hoá kho nén kiểu « $BM_TARBALL_FILETYPE »."
 
-#: ../lib/backup-methods.sh:512
+#: ../lib/backup-methods.sh:596
 #, sh-format
 msgid "The program \"$gpg\" is needed."
 msgstr "Cần thiết chương trình « $gpg »."
 
-#: ../lib/backup-methods.sh:519 ../lib/backup-methods.sh:551
+#: ../lib/backup-methods.sh:603 ../lib/backup-methods.sh:640
 #, sh-format
 msgid "File $file_to_check already exists, skipping."
 msgstr "Tập tin « $file_to_check » đã có nên bỏ qua."
 
-#: ../lib/backup-methods.sh:571
+#: ../lib/backup-methods.sh:663
 #, sh-format
 msgid "Target \"$t\" does not exist, skipping."
 msgstr "Không có đích « $t » nên bỏ qua."
 
-#: ../lib/backup-methods.sh:640 ../lib/backup-methods.sh:673
-#: ../lib/backup-methods.sh:702 ../lib/backup-methods.sh:724
+#: ../lib/backup-methods.sh:738 ../lib/backup-methods.sh:773
+#: ../lib/backup-methods.sh:804 ../lib/backup-methods.sh:828
 #, sh-format
 msgid "Using method \"$method\"."
 msgstr "Đang dùng phương pháp « $method »."
 
-#: ../lib/backup-methods.sh:664
+#: ../lib/backup-methods.sh:762
 msgid "1 error occurred during the tarball generation."
 msgstr "Gặp 1 lỗi trong tiến trình tạo ra kho nén « .tar »."
 
-#: ../lib/backup-methods.sh:666
+#: ../lib/backup-methods.sh:764
 #, sh-format
 msgid "$nb_err errors occurred during the tarball generation."
 msgstr "Gặp $nb_err lỗi trong tiến trình tạo ra kho nén « .tar »."
 
-#: ../lib/backup-methods.sh:675
+#: ../lib/backup-methods.sh:775
 #, sh-format
 msgid "The \"mysql\" method is chosen, but $mysqldump is not found."
 msgstr "Phương pháp « mysql » đã chọn còn không tìm thấy $mysqldump."
 
-#: ../lib/backup-methods.sh:704
+#: ../lib/backup-methods.sh:806
 #, sh-format
 msgid "The \"svn\" method is chosen, but $svnadmin is not found."
 msgstr "Phương pháp « svn » đã chọn còn không tìm thấy $svnadmin."
 
-#: ../lib/backup-methods.sh:710
+#: ../lib/backup-methods.sh:812
 #, sh-format
 msgid "SVN repository \"$repository\" is not valid; skipping."
 msgstr "Kho SVN « $repository » không hợp lệ nên bỏ qua."
 
-#: ../lib/backup-methods.sh:733
+#: ../lib/backup-methods.sh:837
 #, sh-format
 msgid "Not enough args for this archive ($archive), skipping."
 msgstr "Không đủ đối số cho kho này ($archive) nên bỏ qua."
 
-#: ../lib/backup-methods.sh:740
+#: ../lib/backup-methods.sh:844
 msgid "Cannot create archive."
 msgstr "Không thể tạo kho."
 
-#: ../lib/sanitize.sh:29
+#: ../lib/sanitize.sh:31
 #, sh-format
 msgid "The configuration key $key is not set, using \"$default\"."
 msgstr "Chưa đặt khóa cấu hình « $key » nên dùng mặc định « $default »."
 
-#: ../lib/sanitize.sh:39
+#: ../lib/sanitize.sh:42
 #, sh-format
 msgid ""
 "The configuration key \"$deprecated_key\" is deprecated, you should rename "
@@ -193,27 +193,27 @@
 "Khóa cấu hình « $deprecated_key » bị phản đối nên bạn hãy thay đổi tên nó "
 "thành « $new_key ». Như thế thì đang sử dụng « $deprecated_value »."
 
-#: ../lib/sanitize.sh:74
+#: ../lib/sanitize.sh:83
 #, sh-format
 msgid "The configuration key $key is not set but $keymandatory is enabled."
 msgstr ""
 "Khóa cấu hình « $key » chưa được đặt còn « $keymandatory » đã được bật."
 
-#: ../lib/sanitize.sh:92
+#: ../lib/sanitize.sh:99
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"yes\", setting \"true\" instead."
 msgstr ""
 "Biểu thực bun bị phản đối, khóa « $key » được lập thành « yes » (có) nên lập "
 "nó thành « true » (đúng) thay thế."
 
-#: ../lib/sanitize.sh:97
+#: ../lib/sanitize.sh:104
 #, sh-format
 msgid "Deprecated boolean, $key is set to \"no\", setting \"false\" instead."
 msgstr ""
 "Biểu thực bun bị phản đối, khóa « $key » được lập thành « nó » (không) nên "
 "lập nó thành « false » (sai) thay thế."
 
-#: ../lib/sanitize.sh:248
+#: ../lib/sanitize.sh:251
 #, sh-format
 msgid ""
 "When validating the configuration file $conffile, $nb_warnings warnings were "
@@ -221,16 +221,104 @@
 msgstr ""
 "Gặp $nb_warnings cảnh báo khi hợp lệ hóa tập tin cấu hình « $conffile »."
 
-#: ../lib/md5sum.sh:29
+#: ../lib/actions.sh:44
+msgid "No backup method used."
+msgstr "Chưa dùng phương pháp sao lưu."
+
+#: ../lib/actions.sh:47
+#, sh-format
+msgid "No such backup method: $BM_ARCHIVE_METHOD"
+msgstr "Không có phương pháp sao lưu như vậy: $BM_ARCHIVE_METHOD"
+
+#: ../lib/actions.sh:56
+#, sh-format
+msgid "Unable to change the owner of \"$md5file\"."
+msgstr "Không thể thay đổi người sở hữu tập tin « $md5file »."
+
+#: ../lib/actions.sh:58
+#, sh-format
+msgid "Unable to change file permissions of \"$md5file\"."
+msgstr "Không thể thay đổi quyền hạn của tập tin « $md5file »."
+
+#: ../lib/actions.sh:90
+msgid "No upload method used."
+msgstr "Chưa dùng phương pháp tải lên."
+
+#: ../lib/actions.sh:93
+#, sh-format
+msgid "The upload method \"$method\" is not supported; skipping."
+msgstr "Không hỗ trợ phương pháp tải lên « $method » nên bỏ qua."
+
+#: ../lib/actions.sh:105
+#, sh-format
+msgid "Cleaning $BM_REPOSITORY_ROOT"
+msgstr "Đang xóa sạch « $BM_REPOSITORY_ROOT »"
+
+#: ../lib/actions.sh:118
+#, sh-format
+msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
+msgstr "Đang chạy tiền lệnh: $BM_PRE_BACKUP_COMMAND."
+
+#: ../lib/actions.sh:122
+msgid "Pre-command failed. Stopping the process."
+msgstr "Tiền lệnh bị lỗi nên ngừng tiến trình."
+
+#: ../lib/actions.sh:127
+#, sh-format
+msgid "Pre-command returned: \"$RET\" (success)."
+msgstr "Tiền lệnh đã trả lại: « $RET » (thành công)."
+
+#: ../lib/actions.sh:139
+#, sh-format
+msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
+msgstr "Đang chạy hậu lệnh: $BM_POST_BACKUP_COMMAND"
+
+#: ../lib/actions.sh:143
+msgid "Post-command failed."
+msgstr "Hậu lệnh bị lỗi."
+
+#: ../lib/actions.sh:148
+#, sh-format
+msgid "Post-command returned: \"$RET\" (success)."
+msgstr "Hậu lệnh đã trả lại: « $RET » (thành công)."
+
+#: ../lib/actions.sh:175
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
+msgstr ""
+"Khóa cấu hình « BM_TARBALL_FILETYPE » được đặt thành « zip » nhưng chưa cài "
+"đặt phần mềm zip."
+
+#: ../lib/actions.sh:180
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
+"installed."
+msgstr ""
+"Khóa cấu hình « BM_TARBALL_FILETYPE » được đặt thành « bzip » nhưng chưa cài "
+"đặt phần mềm bzip."
+
+#: ../lib/actions.sh:185
+msgid ""
+"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
+msgstr ""
+"Khóa cấu hình « BM_TARBALL_FILETYPE » được đặt thành « dar » nhưng chưa cài "
+"đặt phần mềm dar."
+
+#: ../lib/actions.sh:197
+#, sh-format
+msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
+msgstr "Không có kho « $BM_REPOSITORY_ROOT » nên đang tạo nó."
+
+#: ../lib/md5sum.sh:30
 msgid "Internal error: bad usage of function get_md5sum_from_file()"
 msgstr "Lỗi nội bộ : dùng sai hàm « get_md5sum_from_file() »"
 
-#: ../lib/md5sum.sh:33
+#: ../lib/md5sum.sh:34
 #, sh-format
 msgid "No md5file found: $md5file"
 msgstr "Không tìm thấy tập tin MD5: $md5file"
 
-#: ../lib/md5sum.sh:77
+#: ../lib/md5sum.sh:82
 #, sh-format
 msgid "Archive given does not exist in the repository: $archive"
 msgstr "Kho nén đã cho không nằm trong kho lưu: $archive"
@@ -300,6 +388,7 @@
 msgstr "Tắt tiến trình tẩy."
 
 #: ../lib/dialog.sh:60
+#, fuzzy
 msgid "Warning, process interrupted, archives may be corrupted."
 msgstr "Cảnh báo : tiến trình bị ngắt thì kho có thể bị hỏng."
 
@@ -307,108 +396,28 @@
 msgid "Not in interactive mode, cannot continue."
 msgstr "Không phải trong chế độ tương tác nên không thể tiếp tục."
 
-#: ../lib/logger.sh:134
+#: ../lib/logger.sh:143 ../backup-manager:264
+msgid "Unable to exec post-command."
+msgstr "Không thể thực hiện hậu lệnh."
+
+#: ../lib/logger.sh:145
 msgid "Releasing lock"
 msgstr "Đang nhả khóa"
 
-#: ../lib/actions.sh:42
-msgid "No backup method used."
-msgstr "Chưa dùng phương pháp sao lưu."
+#: ../lib/archives.sh:31
+msgid "Internal error: wrong call to bm_merge_incremental_backups()."
+msgstr "Lỗi nội bộ : cuộc gọi sai cho « bm_merge_incremental_backups() »."
 
-#: ../lib/actions.sh:45
-#, sh-format
-msgid "No such backup method: $BM_ARCHIVE_METHOD"
-msgstr "Không có phương pháp sao lưu như vậy: $BM_ARCHIVE_METHOD"
-
-#: ../lib/actions.sh:54
-#, sh-format
-msgid "Unable to change the owner of \"$md5file\"."
-msgstr "Không thể thay đổi người sở hữu tập tin « $md5file »."
-
-#: ../lib/actions.sh:56
-#, sh-format
-msgid "Unable to change file permissions of \"$md5file\"."
-msgstr "Không thể thay đổi quyền hạn của tập tin « $md5file »."
-
-#: ../lib/actions.sh:86
-msgid "No upload method used."
-msgstr "Chưa dùng phương pháp tải lên."
-
-#: ../lib/actions.sh:89
-#, sh-format
-msgid "The upload method \"$method\" is not supported; skipping."
-msgstr "Không hỗ trợ phương pháp tải lên « $method » nên bỏ qua."
-
-#: ../lib/actions.sh:99
-#, sh-format
-msgid "Cleaning $BM_REPOSITORY_ROOT"
-msgstr "Đang xóa sạch « $BM_REPOSITORY_ROOT »"
-
-#: ../lib/actions.sh:110
-#, sh-format
-msgid "Running pre-command: $BM_PRE_BACKUP_COMMAND."
-msgstr "Đang chạy tiền lệnh: $BM_PRE_BACKUP_COMMAND."
-
-#: ../lib/actions.sh:114
-msgid "Pre-command failed. Stopping the process."
-msgstr "Tiền lệnh bị lỗi nên ngừng tiến trình."
-
-#: ../lib/actions.sh:119
-#, sh-format
-msgid "Pre-command returned: \"$RET\" (success)."
-msgstr "Tiền lệnh đã trả lại: « $RET » (thành công)."
-
-#: ../lib/actions.sh:129
-#, sh-format
-msgid "Running post-command: $BM_POST_BACKUP_COMMAND"
-msgstr "Đang chạy hậu lệnh: $BM_POST_BACKUP_COMMAND"
-
-#: ../lib/actions.sh:133
-msgid "Post-command failed."
-msgstr "Hậu lệnh bị lỗi."
-
-#: ../lib/actions.sh:138
-#, sh-format
-msgid "Post-command returned: \"$RET\" (success)."
-msgstr "Hậu lệnh đã trả lại: « $RET » (thành công)."
-
-#: ../lib/actions.sh:161
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"zip\" but zip is not installed."
-msgstr ""
-"Khóa cấu hình « BM_TARBALL_FILETYPE » được đặt thành « zip » nhưng chưa cài "
-"đặt phần mềm zip."
-
-#: ../lib/actions.sh:166
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"bzip2\" but bzip2 is not "
-"installed."
-msgstr ""
-"Khóa cấu hình « BM_TARBALL_FILETYPE » được đặt thành « bzip » nhưng chưa cài "
-"đặt phần mềm bzip."
-
-#: ../lib/actions.sh:171
-msgid ""
-"The BM_TARBALL_FILETYPE conf key is set to \"dar\" but dar is not installed."
-msgstr ""
-"Khóa cấu hình « BM_TARBALL_FILETYPE » được đặt thành « dar » nhưng chưa cài "
-"đặt phần mềm dar."
-
-#: ../lib/actions.sh:181
-#, sh-format
-msgid "The repository $BM_REPOSITORY_ROOT does not exist, creating it."
-msgstr "Không có kho « $BM_REPOSITORY_ROOT » nên đang tạo nó."
-
-#: ../lib/files.sh:73 ../lib/files.sh:86
+#: ../lib/files.sh:72 ../lib/files.sh:87
 msgid "No path given."
 msgstr "Chưa nhập đường dẫn."
 
-#: ../lib/files.sh:152
+#: ../lib/files.sh:162
 #, sh-format
 msgid "Removing lock for old PID, $pid is not running."
 msgstr "Đang gỡ bỏ khóa cho PID cũ, tiến trình số $pid không đang chạy."
 
-#: ../lib/files.sh:162
+#: ../lib/files.sh:172
 #, sh-format
 msgid ""
 "A backup-manager process ($pid) is already running with the conffile "
@@ -417,69 +426,69 @@
 "Một tiến trình backup-manager ($pid) đang chạy với tập tin cấu hình « "
 "$conffile »."
 
-#: ../lib/files.sh:166 ../lib/files.sh:172
+#: ../lib/files.sh:176 ../lib/files.sh:182
 #, sh-format
 msgid "Getting lock for backup-manager $pid with $conffile"
 msgstr ""
 "Đang lấy khóa cho backup-manager $pid với tập tin cấu hình « $conffile »"
 
-#: ../lib/files.sh:175
+#: ../lib/files.sh:185
 msgid "failed (check the file permissions)."
 msgstr "bị lỗi (hãy kiểm tra lại quyền hạn tập tin)."
 
-#: ../lib/files.sh:254
+#: ../lib/files.sh:273
 #, sh-format
 msgid "$file is not a regular file."
 msgstr "$file không phải là tập tin chuẩn."
 
-#: ../lib/files.sh:280
+#: ../lib/files.sh:298
 #, sh-format
 msgid "Removing obsolete master backup: \"$file\"."
 msgstr "Đang gỡ bỏ bản sao lưu chính cũ : « $file »."
 
-#: ../lib/files.sh:288
+#: ../lib/files.sh:306
 #, sh-format
 msgid "Removing obsolete master backup (isolated): \"$file\"."
 msgstr "Đang gỡ bỏ bản sao lưu chính cũ (cô lập): « $file »."
 
-#: ../lib/files.sh:295
+#: ../lib/files.sh:313
 #, sh-format
 msgid "Removing archive \"$file\"."
 msgstr "Đang gỡ bỏ kho nén « $file »."
 
-#: ../lib/files.sh:315
+#: ../lib/files.sh:335
 msgid "Directory given was not found."
 msgstr "Không tìm thấy thư mục đã cho."
 
-#: ../lib/files.sh:334
+#: ../lib/files.sh:354
 #, sh-format
 msgid "Removing archive \"$archive\"."
 msgstr "Đang gỡ bỏ kho nén « $archive »."
 
-#: ../lib/files.sh:356
+#: ../lib/files.sh:378
 #, sh-format
 msgid "The given file does not exist: $file_to_create"
 msgstr "Không có tập tin đã cho : $file_to_create"
 
-#: ../lib/files.sh:361
+#: ../lib/files.sh:383
 msgid "No file given."
 msgstr "Chưa nhập tập tin."
 
-#: ../lib/files.sh:366 ../lib/files.sh:368 ../lib/files.sh:382
+#: ../lib/files.sh:388 ../lib/files.sh:390 ../lib/files.sh:404
 msgid "Unable to get date from file."
 msgstr "Không thể lấy ngày tháng từ tập tin."
 
-#: ../lib/files.sh:372
+#: ../lib/files.sh:394
 msgid "Unable to find the pattern of the file."
 msgstr "Không tìm thấy mẫu của tập tin."
 
-#: ../lib/files.sh:388
+#: ../lib/files.sh:410
 #, sh-format
 msgid "Unable to find the md5 hash of file \"$file\" in file \"$md5file\"."
 msgstr ""
 "Không tìm thấy tổng MD5 của tập tin « $file » trong tập tin « $md5file »."
 
-#: ../lib/files.sh:394
+#: ../lib/files.sh:416
 #, sh-format
 msgid "$file is a duplicate of $file_to_create (using symlink)."
 msgstr ""
@@ -592,12 +601,12 @@
 msgid "Using the upload method \"rsync-snapshots\"."
 msgstr "Đang dùng phương pháp tải lên « rsync-snapshots »."
 
-#: ../lib/burning-methods.sh:37
+#: ../lib/burning-methods.sh:38
 #, sh-format
 msgid "Device \"/dev/$device\" is mounted on \"$m\", unmounting it."
 msgstr "Thiết bị « /dev/$device » được lắp vào « $m » nên đang tháo lắp nó."
 
-#: ../lib/burning-methods.sh:52
+#: ../lib/burning-methods.sh:54
 #, sh-format
 msgid ""
 "MD5 checkup is only performed on disks. Please set the BM_BURNING_DEVICE in "
@@ -606,61 +615,61 @@
 "Việc tổng kiểm MD5 được thực hiện chỉ trên đĩa. Hãy đặt giá trị thiết bị ghi "
 "« BM_BURNING_DEVICE » trong tập tin cấu hình « $conffile »"
 
-#: ../lib/burning-methods.sh:58
+#: ../lib/burning-methods.sh:60
 #, sh-format
 msgid "The mount point $mount_point is not there."
 msgstr "Không có điểm lắp « $mount_point »."
 
-#: ../lib/burning-methods.sh:65
+#: ../lib/burning-methods.sh:67
 #, sh-format
 msgid "Mounting $BM_BURNING_DEVICE on $mount_point."
 msgstr ""
 "Đang lắp thiết bị ghi « $BM_BURNING_DEVICE » vào điểm lắp « $mount_point »."
 
-#: ../lib/burning-methods.sh:89
+#: ../lib/burning-methods.sh:91
 #, sh-format
 msgid "Checking MD5 sum for $base_file:"
 msgstr "Đang kiểm tra tổng MD5 cho tập tin cơ bản « $base_file »:"
 
-#: ../lib/burning-methods.sh:108
+#: ../lib/burning-methods.sh:110
 #, sh-format
 msgid "$str ok."
 msgstr "$str được."
 
-#: ../lib/burning-methods.sh:111
+#: ../lib/burning-methods.sh:113
 #, sh-format
 msgid "$str failed (read error)."
 msgstr "$str bị lỗi (lỗi đọc)."
 
-#: ../lib/burning-methods.sh:115
+#: ../lib/burning-methods.sh:117
 #, sh-format
 msgid "$str failed (MD5 hash mismatch)."
 msgstr "$str bị lỗi (tổng MD5 sai khớp)."
 
-#: ../lib/burning-methods.sh:122
+#: ../lib/burning-methods.sh:124
 msgid "Errors encountered during MD5 checks."
 msgstr "Gặp lỗi trong các việc kiểm tra kiểu MD5."
 
-#: ../lib/burning-methods.sh:126
+#: ../lib/burning-methods.sh:128
 #, sh-format
 msgid "Unable to unmount the mount point $mount_point"
 msgstr "Không thể tháo lắp điểm lắp « $mount_point »"
 
-#: ../lib/burning-methods.sh:127
+#: ../lib/burning-methods.sh:129
 #, sh-format
 msgid "Unable to remove the mount point $mount_point"
 msgstr "Không thể gỡ bỏ điểm lắp « $mount_point »"
 
-#: ../lib/burning-methods.sh:144
+#: ../lib/burning-methods.sh:148
 msgid "No burning method used."
 msgstr "Chưa dùng phương pháp ghi."
 
-#: ../lib/burning-methods.sh:164
+#: ../lib/burning-methods.sh:172
 #, sh-format
 msgid "Number of files to burn: $nb_file."
 msgstr "Số tập tin cần ghi: $nb_file."
 
-#: ../lib/burning-methods.sh:166
+#: ../lib/burning-methods.sh:174
 #, sh-format
 msgid ""
 "Nothing to burn for the $BM__BURNING_DATE, try the '--burn <date>' switch."
@@ -668,12 +677,12 @@
 "Không có gì cần ghi vào ngày $BM__BURNING_DATE, hãy thử cái chuyển « --burn "
 "<ngày> »."
 
-#: ../lib/burning-methods.sh:193 ../lib/burning-methods.sh:216
+#: ../lib/burning-methods.sh:203 ../lib/burning-methods.sh:228
 #, sh-format
 msgid "Burning archives of $BM__BURNING_DATE."
 msgstr "Đang ghi các kho của ngày $BM__BURNING_DATE."
 
-#: ../lib/burning-methods.sh:198
+#: ../lib/burning-methods.sh:208
 #, sh-format
 msgid ""
 "Cannot burn archives of the $BM__BURNING_DATE, too big: ${size}M, must fit "
@@ -682,98 +691,98 @@
 "Không thể ghi các kho của ngày $BM__BURNING_DATE vì quá lớn: ${size}M phải "
 "vừa trong vùng $BM_BURNING_MAXSIZE"
 
-#: ../lib/burning-methods.sh:220
+#: ../lib/burning-methods.sh:232
 msgid "Burning the whole archives."
 msgstr "Đang ghi toàn bộ kho."
 
-#: ../lib/burning-methods.sh:225
+#: ../lib/burning-methods.sh:237
 #, sh-format
 msgid "Trying to burn $BM_REPOSITORY_ROOT ($size MB) in interactive mode."
 msgstr ""
 "Đang thử ghi « $BM_REPOSITORY_ROOT » ($size MB) trong chế độ tương tác."
 
-#: ../lib/burning-methods.sh:255
+#: ../lib/burning-methods.sh:268
 #, sh-format
 msgid "Redirecting burning logs into $logfile"
 msgstr ""
 "Đang chuyển hướng các bản ghi về ghi dữ liệu sang tập tin bản ghi « $logfile "
 "»"
 
-#: ../lib/burning-methods.sh:260
+#: ../lib/burning-methods.sh:273
 #, sh-format
 msgid "Forcing dev=${BM_BURNING_DEVFORCED} for cdrecord commands."
 msgstr ""
 "Đang buộc giá trị « dev=${BM_BURNING_DEVFORCED} » cho các lệnh cdrecord (ghi "
 "vào đĩa CD)."
 
-#: ../lib/burning-methods.sh:268
+#: ../lib/burning-methods.sh:281
 #, sh-format
 msgid "DVD+R(W) burning requires $growisofs, aborting."
 msgstr "Việc ghi vào đĩa DVD+R(W) cần thiết « $growisofs » nên hủy bỏ."
 
-#: ../lib/burning-methods.sh:271
+#: ../lib/burning-methods.sh:284
 #, sh-format
 msgid "Exporting archives to the DVD+R(W) disc in $BM_BURNING_DEVICE."
 msgstr ""
 "Đang xuất khẩu các kho vào đĩa DVD+R(W) trong thiết bị ghi "
 "$BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:273 ../lib/burning-methods.sh:290
-#: ../lib/burning-methods.sh:300 ../lib/burning-methods.sh:305
-#: ../lib/burning-methods.sh:316
+#: ../lib/burning-methods.sh:288 ../lib/burning-methods.sh:308
+#: ../lib/burning-methods.sh:320 ../lib/burning-methods.sh:326
+#: ../lib/burning-methods.sh:339
 #, sh-format
 msgid "failed, check $logfile"
 msgstr "bị lỗi, hãy kiểm tra xem bản ghi « $logfile »"
 
-#: ../lib/burning-methods.sh:278
+#: ../lib/burning-methods.sh:293
 #, sh-format
 msgid "DVD-R(W) burning requires $growisofs, aborting."
 msgstr "Việc ghi vào đĩa DVD-R(W) cần thiết « $growisofs » nên hủy bỏ."
 
-#: ../lib/burning-methods.sh:281
+#: ../lib/burning-methods.sh:296
 #, sh-format
 msgid "DVD-R(W) burning requires $dvdrwformat, aborting."
 msgstr "Việc ghi vào đĩa DVD-R(W) cần thiết « $dvdrwformat » nên hủy bỏ."
 
-#: ../lib/burning-methods.sh:284
+#: ../lib/burning-methods.sh:299
 #, sh-format
 msgid "Blanking the DVD-R(W) disc in $BM_BURNING_DEVICE"
 msgstr "Đang xóa trắng đĩa DVD-R(W) trong thiết bị ghi $BM_BURNING_DEVICE"
 
-#: ../lib/burning-methods.sh:286
+#: ../lib/burning-methods.sh:303
 #, sh-format
 msgid "Unable to blank the DVD-R(W) disc (check $logfile)."
 msgstr ""
 "Không thể xoá trắng đĩa DVD-R(W), hãy kiểm tra lại tập tin bản ghi « "
 "$logfile »."
 
-#: ../lib/burning-methods.sh:288
+#: ../lib/burning-methods.sh:305
 #, sh-format
 msgid "Exporting archives to the DVD-R(W) disc in $BM_BURNING_DEVICE."
 msgstr ""
 "Đang xuất khẩu các kho vào đĩa DVD-R(W) trong thiết bị ghi "
 "$BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:295 ../lib/burning-methods.sh:310
+#: ../lib/burning-methods.sh:313 ../lib/burning-methods.sh:331
 #, sh-format
 msgid "CD-R(W) burning requires $cdrecord, aborting."
 msgstr "Việc ghi vào đĩa CD-R(W) cần thiết « $cdrecord » nên hủy bỏ."
 
-#: ../lib/burning-methods.sh:298
+#: ../lib/burning-methods.sh:316
 #, sh-format
 msgid "Blanking the CDRW in $BM_BURNING_DEVICE."
 msgstr "Đang xóa trắng đĩa CD-RW trong thiết bị ghi $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:302 ../lib/burning-methods.sh:313
+#: ../lib/burning-methods.sh:322 ../lib/burning-methods.sh:334
 #, sh-format
 msgid "Burning data to $BM_BURNING_DEVICE."
 msgstr "Đang ghi dữ liệu vào $BM_BURNING_DEVICE."
 
-#: ../lib/burning-methods.sh:320
+#: ../lib/burning-methods.sh:343
 msgid "Nothing to burn."
 msgstr "Không có gì cần ghi."
 
-#: ../lib/burning-methods.sh:324
+#: ../lib/burning-methods.sh:347
 #, sh-format
 msgid ""
 "The requested burning method is not supported, check BM_BURNING_METHOD in "
@@ -782,45 +791,46 @@
 "Không hỗ trợ phương pháp ghi đã yêu cầu: hãy kiểm tra lại « "
 "BM_BURNING_METHOD » trong tập tin cấu hình « $conffile »"
 
-#: ../lib/burning-methods.sh:373
+#: ../lib/burning-methods.sh:400
 #, sh-format
 msgid "Not burning $file because it does not fit in the disk."
 msgstr "Không đang ghi tập tin « $file » vì không đủ chỗ còn lại trên đĩa."
 
-#: ../lib/burning-methods.sh:414
+#: ../lib/burning-methods.sh:443
 #, sh-format
 msgid "No such index file: \"$index_file\"."
 msgstr "Không có tập tin chỉ mục như vậy: « $index_file »."
 
-#: ../lib/burning-methods.sh:455
+#: ../lib/burning-methods.sh:485
 msgid "The burning process will need one disk."
 msgstr "Tiến trình ghi sẽ cần có một đĩa."
 
-#: ../lib/burning-methods.sh:457
+#: ../lib/burning-methods.sh:487
 #, sh-format
 msgid "The burning process will need $number_of_indexes disks."
 msgstr "Tiến trình ghi sẽ cần có $number_of_indexes đĩa."
 
-#: ../lib/burning-methods.sh:469
+#: ../lib/burning-methods.sh:499
 #, sh-format
 msgid "Burning content of $index"
 msgstr "Đang ghi nội dung của « $index »"
 
-#: ../backup-manager:134
+#: ../backup-manager:139
 msgid "The -b option must be followed by a valid date (YYYYMMDD)."
 msgstr "Tùy chọn « -b » phải có một ngày tháng hợp lệ theo sau (NNNNTTnn)."
 
-#: ../backup-manager:165
+#: ../backup-manager:174
 msgid "The -c option must be followed by an existing filename."
 msgstr "Tùy chọn « -c » phải có một tên tập tin tồn tại theo sau."
 
-#: ../backup-manager:202
+#: ../backup-manager:214
 msgid "Unable to exec the pre-command"
 msgstr "Không thể thực hiện tiền lệnh"
 
-#: ../backup-manager:243
-msgid "Unable to exec post-command."
-msgstr "Không thể thực hiện hậu lệnh."
+#, fuzzy
+#~ msgid "Removing archive \"$bm_pending_archive\" (build interrupted)."
+#~ msgstr "Đang gỡ bỏ kho nén « $archive »."
 
-#~ msgid "Internal error: wrong call to bm_merge_incremental_backups()."
-#~ msgstr "Lỗi nội bộ : cuộc gọi sai cho « bm_merge_incremental_backups() »."
+#, fuzzy
+#~ msgid "Compressor $compress is needed."
+#~ msgstr "Bộ nén « $compress » cần thiết $gzip."

Modified: trunk/t/t11-pipe-method.sh
===================================================================
--- trunk/t/t11-pipe-method.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/t/t11-pipe-method.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -3,8 +3,8 @@
 set -e
 
 source testlib.sh
-# verbose="true"
-# warnings="true"
+ verbose="true"
+ warnings="true"
 
 source confs/base.conf
 

Added: trunk/t/t11.2-pipe-encrypted.sh
===================================================================
--- trunk/t/t11.2-pipe-encrypted.sh	                        (rev 0)
+++ trunk/t/t11.2-pipe-encrypted.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+set -e
+
+source testlib.sh
+ verbose="true"
+ warnings="true"
+
+source confs/base.conf
+
+# taken verbatim from file attached to bug #4
+# http://bugzilla.backup-manager.org/cgi-bin/attachment.cgi?id=1&action=view
+export BM_REPOSITORY_ROOT="$PWD/repository"
+export BM_ARCHIVE_METHOD="pipe"
+export BM_ENCRYPTION_METHOD="gpg"
+export BM_ENCRYPTION_RECIPIENT="0x1EE5DD34"
+
+source $locallib/sanitize.sh
+bm_init_env
+bm_init_today
+
+BM_PIPE_COMMAND[0]="cat /etc/passwd" 
+BM_PIPE_NAME[0]="passwd" 
+BM_PIPE_FILETYPE[0]="txt"
+BM_PIPE_COMPRESS[0]="gzip"
+files[0]="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX-passwd.$TODAY.txt.gz.gpg"
+
+BM_PIPE_COMMAND[1]="echo 'sukria' ; date " 
+BM_PIPE_NAME[1]="sukria" 
+BM_PIPE_FILETYPE[1]="txt"
+BM_PIPE_COMPRESS[1]="bzip2"
+files[1]="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX-sukria.$TODAY.txt.bz2.gpg"
+
+BM_PIPE_COMMAND[2]="ls -lh /" 
+BM_PIPE_NAME[2]="ls-root" 
+BM_PIPE_FILETYPE[2]="txt"
+BM_PIPE_COMPRESS[2]=""
+files[2]="$BM_REPOSITORY_ROOT/$BM_ARCHIVE_PREFIX-ls-root.$TODAY.txt.gpg"
+
+# BM_PIPE_COMMAND[3]="/usr/bin/tototot"
+# BM_PIPE_NAME[3]="failure"
+# BM_PIPE_FILETYPE[3]="txt"
+# BM_PIPE_COMPRESS[3]=""
+
+# clean
+if [ -e $PWD/repository ]; then
+    rm -rf $PWD/repository
+fi    
+
+# BM actions
+create_directories
+make_archives
+
+# test of success/failure
+for file in $files
+do
+    if [ ! -e $file ]; then
+        warning "file $file does not exist"
+        rm -rf $BM_ARCHIVE_ROOT
+        exit 10
+    fi
+done
+rm -rf $BM_ARCHIVE_ROOT
+exit 0

Modified: trunk/t/t14-purging-system.sh
===================================================================
--- trunk/t/t14-purging-system.sh	2006-12-06 15:20:29 UTC (rev 65)
+++ trunk/t/t14-purging-system.sh	2007-05-30 12:53:39 UTC (rev 66)
@@ -6,8 +6,8 @@
 source testlib.sh
 # When the test is ready, set this to false for nice outputs.
 # if you want to see what happens, use those flags
-# verbose="true"
-# warnings="true"
+ verbose="true"
+ warnings="true"
 
 # The conffile part of the test, see confs/* for details.
 source confs/base.conf
@@ -19,6 +19,7 @@
 export BM_ARCHIVE_TTL="3"
 # Test the purge with BM_REPOSITORY_RECURSIVEPURGE set to false
 export BM_REPOSITORY_RECURSIVEPURGE="false"
+export BM_ARCHIVE_STRICTPURGE="true"
 source $locallib/sanitize.sh
 
 # The test actions




More information about the Pkg-backup-mngr-commits mailing list