[pkg-bacula-commits] [bacula] 01/06: Handle make_catalog_backup script in postinst of package bacula-director, inserting the correct database user (Closes: #838080)

Carsten Leonhardt leo at moszumanska.debian.org
Mon Sep 19 15:57:13 UTC 2016


This is an automated email from the git hooks/post-receive script.

leo pushed a commit to branch master
in repository bacula.

commit 832187da0e3783b2f2b1fbdaca75f360ad051938
Author: Carsten Leonhardt <leo at debian.org>
Date:   Sun Sep 18 23:53:15 2016 +0200

    Handle make_catalog_backup script in postinst of package
    bacula-director, inserting the correct database user (Closes: #838080)
---
 debian/bacula-director-mysql.install   |  1 -
 debian/bacula-director-pgsql.install   |  1 -
 debian/bacula-director-sqlite3.install |  1 -
 debian/bacula-director.autopostrm      |  2 +-
 debian/bacula-director.install         |  1 +
 debian/bacula-director.postinst        | 34 ++++++++++++++++++++++++++++------
 debian/changelog                       |  7 +++++++
 debian/control                         |  1 +
 debian/rules                           |  1 -
 9 files changed, 38 insertions(+), 11 deletions(-)

diff --git a/debian/bacula-director-mysql.install b/debian/bacula-director-mysql.install
index 3ae030d..ee9337a 100644
--- a/debian/bacula-director-mysql.install
+++ b/debian/bacula-director-mysql.install
@@ -1,5 +1,4 @@
 debian/additions/mysql/make_catalog_backup_awk      etc/bacula/scripts
-etc/bacula/scripts/make_catalog_backup
 etc/bacula/scripts/make_catalog_backup.pl
 etc/bacula/scripts/make_mysql_tables usr/share/bacula-director
 etc/bacula/scripts/update_mysql* usr/share/bacula-director
diff --git a/debian/bacula-director-pgsql.install b/debian/bacula-director-pgsql.install
index edf701b..b32249e 100644
--- a/debian/bacula-director-pgsql.install
+++ b/debian/bacula-director-pgsql.install
@@ -2,7 +2,6 @@ debian/additions/pgsql/database/7.4.1	usr/share/dbconfig-common/scripts/bacula-d
 debian/additions/pgsql/database/pgsql	usr/share/dbconfig-common/data/bacula-director-pgsql/install-dbadmin
 debian/additions/pgsql/make_catalog_backup_awk      etc/bacula/scripts
 etc/bacula/scripts/grant_postgresql_privileges usr/share/bacula-director
-etc/bacula/scripts/make_catalog_backup
 etc/bacula/scripts/make_catalog_backup.pl
 etc/bacula/scripts/make_postgresql_tables	usr/share/bacula-director
 etc/bacula/scripts/update_postgres* usr/share/bacula-director
diff --git a/debian/bacula-director-sqlite3.install b/debian/bacula-director-sqlite3.install
index 72d4ce0..08f0d6f 100644
--- a/debian/bacula-director-sqlite3.install
+++ b/debian/bacula-director-sqlite3.install
@@ -1,5 +1,4 @@
 debian/additions/sqlite3/make_catalog_backup_awk      etc/bacula/scripts
-etc/bacula/scripts/make_catalog_backup
 etc/bacula/scripts/make_catalog_backup.pl
 etc/bacula/scripts/make_sqlite*tables usr/share/bacula-director
 etc/bacula/scripts/update_sqlite* usr/share/bacula-director
diff --git a/debian/bacula-director.autopostrm b/debian/bacula-director.autopostrm
index 96861de..3a27000 100644
--- a/debian/bacula-director.autopostrm
+++ b/debian/bacula-director.autopostrm
@@ -1,3 +1,3 @@
 # this file is handled by debian/scripts/autopostrm
 CONFFILES=/etc/bacula/bacula-dir.conf
-UCF_CONFFILES="/etc/bacula/scripts/delete_catalog_backup /etc/default/bacula-dir"
+UCF_CONFFILES="/etc/bacula/scripts/delete_catalog_backup /etc/bacula/scripts/make_catalog_backup /etc/default/bacula-dir"
diff --git a/debian/bacula-director.install b/debian/bacula-director.install
index b3f143a..3cbfc6a 100644
--- a/debian/bacula-director.install
+++ b/debian/bacula-director.install
@@ -1,4 +1,5 @@
 etc/bacula/scripts/delete_catalog_backup usr/share/bacula-common/defconfig/scripts
+etc/bacula/scripts/make_catalog_backup usr/share/bacula-common/defconfig/scripts
 etc/bacula/scripts/query.sql
 usr/sbin/bacula-dir
 usr/sbin/bregex
diff --git a/debian/bacula-director.postinst b/debian/bacula-director.postinst
index 1c56639..99e808c 100644
--- a/debian/bacula-director.postinst
+++ b/debian/bacula-director.postinst
@@ -2,7 +2,7 @@
 
 set -e
 
-SRCDIR="/usr/share/bacula-common/defconfig"
+TEMPLATES="/usr/share/bacula-common/defconfig"
 DSTDIR="/etc/bacula"
 CONFIG="bacula-dir.conf"
 TARGET=$DSTDIR/$CONFIG
@@ -25,7 +25,7 @@ case "$1" in
 	readOrCreatePasswords
 	if [ ! -f $TARGET ]; then
 	    echo -n "No $CONFIG found, creating a new one..."
-	    install -m 640 -o root -g bacula $SRCDIR/$CONFIG $TARGET
+	    install -m 640 -o root -g bacula $TEMPLATES/$CONFIG $TARGET
 
 	    sed -e s~XXX_DIRPASSWORD_XXX~$DIRPASSWD~ \
 		-e s~XXX_MONDIRPASSWORD_XXX~$DIRMPASSWD~ \
@@ -64,7 +64,7 @@ case "$1" in
 	# take over ownership of delete_catalog_backup
 	# (also if previous version is empty)
 	if dpkg --compare-versions "$3" lt "7.4.3+dfsg-4"; then
-	    ucfr -f bacula-director /etc/bacula/scripts/delete_catalog_backup
+	    ucfr -f bacula-director $DSTDIR/scripts/delete_catalog_backup
         fi
 
 	# execute only if dbconfig is in use
@@ -85,10 +85,32 @@ case "$1" in
 	    SUBST_VARIABLES=DBNAME
 	    install_config \
 		bacula-director \
-		/usr/share/bacula-common/defconfig/scripts/delete_catalog_backup \
-		/etc/bacula/scripts/delete_catalog_backup
-	    chmod 755 /etc/bacula/scripts/delete_catalog_backup
+		$TEMPLATES/scripts/delete_catalog_backup \
+		$DSTDIR/scripts/delete_catalog_backup
+	    chmod 755 $DSTDIR/scripts/delete_catalog_backup
 	fi
+
+	## handle /etc/bacula/scripts/make_catalog_backup
+
+	# take over ownership of make_catalog_backup
+	# (also if previous version is empty)
+	if dpkg --compare-versions "$3" lt "7.4.3+dfsg-7"; then
+	    ucfr -f bacula-director $DSTDIR/scripts/make_catalog_backup
+        fi
+
+	tempfile=`tempfile`
+	install -m 0755 -o root -g root $TEMPLATES/scripts/make_catalog_backup $tempfile
+
+	DBLONGNAME=$(cat /usr/share/bacula-common/dbtype | sed 's/pgsql/postgresql/')
+	sed "s/XX_DBLONGNAME_XX/$DBLONGNAME/" -i $tempfile
+
+        if [ "$dbc_install" = "true" -a -n $dbc_user] ; then
+	    sed "s/XXX_DBUSER_XXX/$dbc_dbuser/" -i $tempfile
+	fi
+
+	ucf --debconf-ok --three-way $tempfile $DSTDIR/scripts/make_catalog_backup
+	ucfr bacula-director $DSTDIR/scripts/make_catalog_backup
+	rm -vf $tempfile
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/changelog b/debian/changelog
index 87f3734..ca12b66 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+bacula (7.4.3+dfsg-7) unstable; urgency=high
+
+  * Handle make_catalog_backup script in postinst of package
+    bacula-director, inserting the correct database user (Closes: #838080)
+
+ --
+
 bacula (7.4.3+dfsg-6) unstable; urgency=low
 
   [Sven Hartge]
diff --git a/debian/control b/debian/control
index 62717d7..0b92581 100644
--- a/debian/control
+++ b/debian/control
@@ -121,6 +121,7 @@ Depends:
  bacula-director-sqlite3 (= ${binary:Version}) | bacula-director-pgsql (= ${binary:Version}) | bacula-director-mysql (= ${binary:Version}),
  bsd-mailx | mailx,
  lsb-base,
+ ucf,
  ${misc:Depends},
  ${shlibs:Depends}
 Replaces:
diff --git a/debian/rules b/debian/rules
index b822ceb..8669e7e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -115,7 +115,6 @@ override_dh_install-arch:
 	$(foreach db,$(VARIANTS),sed -i \
 	  -e "s/XX_DB_XX/$(db)/" \
 		-e "s/XX_DBLONGNAME_XX/$(LONGNAME_$(db))/" \
-		debian/bacula-director-$(db)/etc/bacula/scripts/make_catalog_backup \
 		debian/bacula-director-$(db)/etc/bacula/scripts/make_catalog_backup.pl;)
 # create a reference of which database type is installed on the system
 # and a link to the dbconfig information that is dbtype independent

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-bacula/bacula.git



More information about the pkg-bacula-commits mailing list