I went on this bug report where Andreas adds a debconf template as
part of his patch to fix the RC issue.

I'd like to recommend following the writing style in the Developer's
Reference and remove the dot at the end of the new template short
description and turn the new template into an "error" template.

See attached patch.

I can sponsor an upload if needed.

-- 


diff -ur acidbase-1.2.6/debian/changelog acidbase-1.2.6.fixed/debian/changelog
--- acidbase-1.2.6/debian/changelog     2006-11-22 14:15:21.000000000 +0100
+++ acidbase-1.2.6.fixed/debian/changelog       2006-11-22 14:07:31.000000000 
+0100
@@ -1,3 +1,12 @@
+acidbase (1.2.6-1.1) unstable; urgency=medium
+
+  * NMU
+  * Recommend mysql-client and postgresql-client.
+  * Check for available db client in during package config. (Closes: #398619)
+  * Show a helpful note when no db client is available and safely abort.
+
+ -- Andreas Henriksson <[EMAIL PROTECTED]>  Wed, 22 Nov 2006 14:05:42 +0100
+
 acidbase (1.2.6-1) unstable; urgency=low
 
   * New upstream release.
diff -ur acidbase-1.2.6/debian/config acidbase-1.2.6.fixed/debian/config
--- acidbase-1.2.6/debian/config        2006-11-22 14:15:21.000000000 +0100
+++ acidbase-1.2.6.fixed/debian/config  2006-11-22 14:10:44.000000000 +0100
@@ -3,8 +3,30 @@
 # Source debconf library.
 . /usr/share/debconf/confmodule
 
+# check for available db clients
+MYSQLCLIENT=0
+PSQLCLIENT=0
+
+if which mysql >/dev/null 2>&1 ; then
+       MYSQLCLIENT=1
+fi
+if which psql >/dev/null 2>&1 ; then
+       PSQLCLIENT=1
+fi
+
+if [ "$MYSQLCLIENT" = "1" ] && [ "$PSQLCLIENT" = "1" ]; then
+       dbc_dbtypes="mysql, pgsql"
+elif [ "$MYSQLCLIENT" = "1" ]; then
+       dbc_dbtypes="mysql"
+elif [ "$PSQLCLIENT" = "1" ]; then
+       dbc_dbtypes="pgsql"
+else
+       db_input high acidbase/manualdb
+       db_go
+       exit 0
+fi
+
 # source dbconfig-common stuff
-dbc_dbtypes="mysql, pgsql"
 dbc_dbuser="snort"
 dbc_dbname="snort"
 
diff -ur acidbase-1.2.6/debian/control acidbase-1.2.6.fixed/debian/control
--- acidbase-1.2.6/debian/control       2006-11-22 14:15:21.000000000 +0100
+++ acidbase-1.2.6.fixed/debian/control 2006-11-22 14:05:37.000000000 +0100
@@ -9,6 +9,7 @@
 Package: acidbase
 Architecture: all
 Depends: ${misc:Depends}, dbconfig-common, php5 | php4 | php5-cli | php4-cli, 
php5-gd | php4-gd, libphp-adodb (>= 4.62), php-image-graph, libwww-perl
+Recommends: mysql-client, postgresql-client
 Suggests: snort-mysql | snort-pgsql
 Description: Basic Analysis and Security Engine
  BASE is based on the code from the Analysis Console for Intrusion Databases
diff -ur acidbase-1.2.6/debian/postinst acidbase-1.2.6.fixed/debian/postinst
--- acidbase-1.2.6/debian/postinst      2006-11-22 14:15:21.000000000 +0100
+++ acidbase-1.2.6.fixed/debian/postinst        2006-11-22 14:11:15.000000000 
+0100
@@ -3,8 +3,29 @@
 # debconf
 . /usr/share/debconf/confmodule
 
+# check for available db clients
+MYSQLCLIENT=0
+PSQLCLIENT=0
+
+if which mysql >/dev/null 2>&1 ; then
+       MYSQLCLIENT=1
+fi
+if which psql >/dev/null 2>&1 ; then
+       PSQLCLIENT=1
+fi
+
+if [ "$MYSQLCLIENT" = "1" ] && [ "$PSQLCLIENT" = "1" ]; then
+       dbc_dbtypes="mysql, pgsql"
+elif [ "$MYSQLCLIENT" = "1" ]; then
+       dbc_dbtypes="mysql"
+elif [ "$PSQLCLIENT" = "1" ]; then
+       dbc_dbtypes="pgsql"
+else
+       exit 0
+fi
+
+#
 # source dbconfig-common stuff
-dbc_dbtypes="mysql, pgsql"
 . /usr/share/dbconfig-common/dpkg/postinst
 dbc_generate_include="php:/etc/acidbase/database.php"
 dbc_generate_include_owner="root:www-data"
diff -ur acidbase-1.2.6/debian/templates acidbase-1.2.6.fixed/debian/templates
--- acidbase-1.2.6/debian/templates     2006-11-22 14:15:21.000000000 +0100
+++ acidbase-1.2.6.fixed/debian/templates       2006-11-22 14:14:28.000000000 
+0100
@@ -17,3 +17,13 @@
 _Description: NOTE: Manual configuration required
  You will need to go to http://localhost/acidbase first to force the
  database modifications for BASE.
+
+Template: acidbase/manualdb
+Type: error
+_Description: No database client found
+ Configuration of database settings can't be completed since there's no
+ database client available. Please install atleast one of "mysql-client"
+ and/or "postgresql-client". You can then rerun the configuration by
+ running the command "dpkg-reconfigure acidbase".
+ Acidbase configuration will now abort...
+

Attachment: signature.asc
Description: Digital signature

Reply via email to