r495 - in vdr/vdr-xxv/trunk/debian: . debconf patches
Tobias Grimm
pkg-vdr-dvb-changes@lists.alioth.debian.org
Wed, 27 Apr 2005 22:53:11 +0000
Author: tiber-guest
Date: 2005-04-27 22:53:10 +0000 (Wed, 27 Apr 2005)
New Revision: 495
Added:
vdr/vdr-xxv/trunk/debian/debconf/update-config.pl
vdr/vdr-xxv/trunk/debian/preinst
vdr/vdr-xxv/trunk/debian/prerm
Removed:
vdr/vdr-xxv/trunk/debian/debconf/db_tools.sh
vdr/vdr-xxv/trunk/debian/debconf/get_db_password.pl
vdr/vdr-xxv/trunk/debian/debconf/set_config.pl
Modified:
vdr/vdr-xxv/trunk/debian/TODO.Debian
vdr/vdr-xxv/trunk/debian/changelog
vdr/vdr-xxv/trunk/debian/config
vdr/vdr-xxv/trunk/debian/control
vdr/vdr-xxv/trunk/debian/init
vdr/vdr-xxv/trunk/debian/install
vdr/vdr-xxv/trunk/debian/patches/04_mplayer-log.dpatch
vdr/vdr-xxv/trunk/debian/postinst
vdr/vdr-xxv/trunk/debian/postrm
vdr/vdr-xxv/trunk/debian/templates
Log:
use dbconfig-common now
Modified: vdr/vdr-xxv/trunk/debian/TODO.Debian
===================================================================
--- vdr/vdr-xxv/trunk/debian/TODO.Debian 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/TODO.Debian 2005-04-27 22:53:10 UTC (rev 495)
@@ -2,12 +2,8 @@
TODO:
-* Is it ok to use scripts from /usr/share/xxv/debconf in postinst?
-* Is there a clean way to share the common code in postinst and postrm?
-* Use dbconfig-common by Sean Finney, as soon as it is available in Debian
* Is /usr/share/perl5/xxv ok for modules installed by xxv? Maybe
/usr/share/xxv/lib would be a better choice?
-* where should the wml/ -dir be located? (see xxvd.cfg)
* Install modules optionally and making them selectable by debconf?
* Is there anything, that should go to the README.Debian?
* lintian complains about the docu.tmpl-link in /var/cache...
@@ -17,7 +13,6 @@
* Make note in debconf and/or README.Debian about default user xxv:xxv after
initial installation
* Test installation with no mysql installed / fresh mysql installation
-* Are the debconf-password-questions descriptive enough?
* Ask for auto-start during debconf (/etc/default/vdr-xxv:ENABLED=0|1)
DONE:
@@ -46,3 +41,8 @@
* Make debconf translatable (po-debconf)
* Make german debconf translation
* Check that logrotate works!
+* Use dbconfig-common by Sean Finney, as soon as it is available in Debian
+* Is it ok to use scripts from /usr/share/xxv/debconf in postinst?
+* Is there a clean way to share the common code in postinst and postrm?
+* where should the wml/ -dir be located? (see xxvd.cfg)
+* Are the debconf-password-questions descriptive enough?
Modified: vdr/vdr-xxv/trunk/debian/changelog
===================================================================
--- vdr/vdr-xxv/trunk/debian/changelog 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/changelog 2005-04-27 22:53:10 UTC (rev 495)
@@ -1,3 +1,11 @@
+vdr-xxv (0.32+svn20050427-1) UNRELEASED; urgency=low
+
+ * New upstream release
+ * Use debconf_common now
+ * TODO: Added database upgrade capability
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Sun, 24 Apr 2005 13:05:32 +0200
+
vdr-xxv (0.20-5) unstable; urgency=low
* Tobias Grimm <tg@e-tobi.net>
@@ -3,5 +11,5 @@
- Set owner for whole /var/cache/vdr-xxv instead of only the sub dirs
- -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org>> Sat, 2 Apr 2005 01:24:23 +0200
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Sat, 2 Apr 2005 01:24:23 +0200
vdr-xxv (0.20-4) unstable; urgency=low
Modified: vdr/vdr-xxv/trunk/debian/config
===================================================================
--- vdr/vdr-xxv/trunk/debian/config 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/config 2005-04-27 22:53:10 UTC (rev 495)
@@ -1,51 +1,33 @@
#!/bin/sh
+set -e
+# set -x
+
. /usr/share/debconf/confmodule
db_version 2.0
db_capb backup
-set -e
+# set defaults for dbconfig-common
+dbc_dbuser="xxv"
+dbc_dbname="xxv"
+#FIXME: Read defaults from xxvd.cfg!!!
+
+# source dbconfig-common tools
+. /usr/share/debconf/confmodule
+. /usr/share/dbconfig-common/dpkg/config.mysql
+
+# run dbconfig-common
+dbc_go vdr-xxv $@
+
+# run non-db-related debconf dialogs
STATE=1
-while [ "$STATE" != 0 -a "$STATE" != 7 ] ; do
+while [ "$STATE" != 0 -a "$STATE" != 3 ] ; do
case "$STATE" in
1)
- db_input medium vdr-xxv/db_manage || true
- ;;
- 2)
- db_get vdr-xxv/db_manage || true ; dbmanaged=$RET
- db_get vdr-xxv/db_configured || true ; dbconfigured=$RET
- if [ "$dbmanaged" = "false" -o "$dbconfigured" = "true" ] ; then
- STATE=4
- fi
- ;;
- 3)
- db_input critical vdr-xxv/db_server || true
- db_input low vdr-xxv/db_port || true
- ;;
- 4)
- db_get vdr-xxv/db_server || true
- tmpval="$RET"
- db_subst vdr-xxv/db_admin host "$tmpval"
- db_subst vdr-xxv/db_adminpass host "$tmpval"
-
- db_get vdr-xxv/db_port || true
- tmpval="$RET"
- db_subst vdr-xxv/db_admin port "$tmpval"
- db_subst vdr-xxv/db_adminpass port "$tmpval"
-
- db_beginblock
- db_input medium vdr-xxv/db_database || true
- db_input critical vdr-xxv/db_admin || true
- db_input critical vdr-xxv/db_adminpass || true
- db_input low vdr-xxv/db_user || true
- db_input low vdr-xxv/db_userpass || true
- db_endblock
- ;;
- 5)
db_input medium vdr-xxv/port_configure || true
;;
- 6)
+ 2)
db_get vdr-xxv/port_configure || true ; portconfigure=$RET
if [ "$portconfigure" = "true" ] ; then
db_beginblock
Modified: vdr/vdr-xxv/trunk/debian/control
===================================================================
--- vdr/vdr-xxv/trunk/debian/control 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/control 2005-04-27 22:53:10 UTC (rev 495)
@@ -8,7 +8,7 @@
Package: vdr-xxv
Architecture: all
-Depends: ${perl:Depends}, debconf (>= 0.5.00), makepasswd, mysql-client, vdr (>= 1.2.6-6), libevent-perl, libdbi-perl, libtimedate-perl, libtime-hires-perl, libmime-base64-perl, libconfig-tiny-perl, libtemplate-perl, libdate-manip-perl, liburi-perl
+Depends: ${perl:Depends}, debconf (>= 0.5.00), dbconfig-common (>= 1.7.1), makepasswd, mysql-client, vdr (>= 1.2.6-6), libevent-perl, libdbi-perl, libtimedate-perl, libtime-hires-perl, libmime-base64-perl, libconfig-tiny-perl, libtemplate-perl, libdate-manip-perl, liburi-perl, ttf-bitstream-vera, libproc-process-perl, libwww-mechanize-perl, libgd-gd2-noxpm-perl | libgd-gd2-perl, libgd-graph-perl
Recommends: mysql-server
Suggests: mplayer, vdr-plugin-osdteletext | vdr-plugin-teletext
Description: Provides a central service to administer VDR
Deleted: vdr/vdr-xxv/trunk/debian/debconf/db_tools.sh
===================================================================
--- vdr/vdr-xxv/trunk/debian/debconf/db_tools.sh 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/debconf/db_tools.sh 2005-04-27 22:53:10 UTC (rev 495)
@@ -1,138 +0,0 @@
-#
-# Tobias Grimm <tg@e-tobi.net>
-#
-# Some functions for database management, sourced by postinst.
-#
-
-check_params()
-{
- if [ -z "$dbserver" ] ; then
- error="No database server specified."
- elif [ -z "$dbadmin" ] ; then
- error="No database administrator specified."
- elif [ -z "$dbdatabase" ] ; then
- error="No database name specified."
- else
- return 0
- fi
- return 1
-}
-
-build_mysqlcmd()
-{
- MYSQLCMD="mysql --host=$dbserver --user=$dbadmin"
-
- if [ -n "$dbadminpass" ] ; then
- MYSQLCMD="$MYSQLCMD \"--password=$dbadminpass\""
- fi
- if [ -n "$dbport" ] ; then
- MYSQLCMD="$MYSQLCMD \"--port=$dbport\""
- fi
-}
-
-check_server()
-{
- if ! check_params ; then
- return 1
- fi
-
- build_mysqlcmd
-
- if ! eval $MYSQLCMD </dev/null >/dev/null 2>&1 ; then
- error="Error when trying to connect to the mysql database."
- return 1
- fi
- return 0
-}
-
-check_database()
-{
- if ! eval $MYSQLCMD -f -B -e "\"show databases;\"" | \
- grep -e "^$dbdatabase$" > /dev/null 2>&1 ; then
- return 1
- fi
- return 0
-}
-
-check_user()
-{
- if ! eval $MYSQLCMD -f mysql -e \
- "\"SELECT User from user where User='$dbuser';\"" | \
- grep -e "^$dbuser$" > /dev/null 2>&1 ; then
- return 1
- fi
- return 0
-}
-
-create_database()
-{
- if ! check_database ; then
- if eval $MYSQLCMD -f -e "\"CREATE DATABASE $dbdatabase;\"" ; then
- if ! eval $MYSQLCMD -f -B -e "\"show databases;\"" | \
- grep -e "^$dbdatabase$" > /dev/null 2>&1 ; then
- error="Database $dbdatabase NOT successfully created. "\
- "You have to do it manually."
- return 1
- fi
- else
- error="Unable to create database."
- return 1
- fi
- fi
- return 0
-}
-
-create_user()
-{
- local script
-
- script="
- GRANT ALL PRIVILEGES ON \`$dbdatabase\`.* TO \`$dbuser\`@'%'
- IDENTIFIED BY '$dbuserpass';
- GRANT ALL PRIVILEGES ON \`$dbdatabase\`.* TO \`$dbuser\`@localhost
- IDENTIFIED BY '$dbuserpass';
- flush privileges;"
-
- if eval $MYSQLCMD -f mysql -e '"$script"' ; then
- if ! eval $MYSQLCMD -f mysql -e '"select User from user;"' | \
- grep $dbuser >/dev/null 2>&1 ; then
- error="Database user $dbuser NOT successfully added."
- return 1
- fi
- else
- error="Unable to create user."
- return 1
- fi
- return 0
-}
-
-purge_database()
-{
- if eval $MYSQLCMD -f -e "\"DROP DATABASE IF EXISTS $dbdatabase;\"" ; then
- if check_database ; then
- error="Database $dbdatabase NOT successfully droped."
- return 1
- fi
- else
- error="Unable to drop database."
- return 1
- fi
- return 0
-}
-
-purge_user()
-{
- if check_user ; then
- if eval $MYSQLCMD -f mysql -e \
- "\"DELETE FROM user where User='$dbuser';\"" ; then
- if check_user ; then
- error="User $dbuser NOT successfully deleted."
- return 1
- fi
- else
- error="Unable to delete user."
- return 1
- fi
- fi
- return 0
-}
Deleted: vdr/vdr-xxv/trunk/debian/debconf/get_db_password.pl
===================================================================
--- vdr/vdr-xxv/trunk/debian/debconf/get_db_password.pl 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/debconf/get_db_password.pl 2005-04-27 22:53:10 UTC (rev 495)
@@ -1,13 +0,0 @@
-#
-# Tobias Grimm <tg@e-tobi.net>
-#
-# Extract db password from xxv config file (used by postinst)
-#
-
-use Config::Tiny;
-
-my $Config = Config::Tiny->read($ARGV[0]);
-
-my $pwd = $Config->{General}->{PWD};
-
-print $pwd;
Deleted: vdr/vdr-xxv/trunk/debian/debconf/set_config.pl
===================================================================
--- vdr/vdr-xxv/trunk/debian/debconf/set_config.pl 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/debconf/set_config.pl 2005-04-27 22:53:10 UTC (rev 495)
@@ -1,39 +0,0 @@
-#
-# Tobias Grimm <tg@e-tobi.net>
-#
-# Set all database parameters in the xxv's config file (used by postinst)
-#
-
-use Config::Tiny;
-
-my $Config = Config::Tiny->read($ARGV[1]) or die Config::Tiny::errstr;
-
-if ($ARGV[0] eq "--db")
-{
- my $dbserver = $ARGV[2];
- my $dbport = $ARGV[3];
- my $dbdatabase = $ARGV[4];
- my $dbuser = $ARGV[5];
- my $dbuserpass = $ARGV[6];
-
- $Config->{General}->{USR} = $dbuser;
- $Config->{General}->{PWD} = $dbuserpass;
- $Config->{General}->{DSN} = "DBI:mysql:database=${dbdatabase};" .
- "host=${dbserver};port=${dbport}";
-}
-elsif ($ARGV[0] eq "--ports")
-{
- my $porthttp = $ARGV[2];
- my $porttelnet = $ARGV[3];
- my $portinterface = $ARGV[4];
- my $porticecast = $ARGV[5];
- my $portwap = $ARGV[6];
-
- $Config->{HTTPD}->{Port} = $porthttp;
- $Config->{TELNET}->{Port} = $porttelnet;
- $Config->{INTERFACE}->{Port} = $portinterface;
- $Config->{MUSIC}->{port} = $porticecast;
- $Config->{WAPD}->{Port} = $portwap;
-}
-
-$Config->write($ARGV[1]) or die Config::Tiny::errstr;
Added: vdr/vdr-xxv/trunk/debian/debconf/update-config.pl
===================================================================
--- vdr/vdr-xxv/trunk/debian/debconf/update-config.pl 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/debconf/update-config.pl 2005-04-27 22:53:10 UTC (rev 495)
@@ -0,0 +1,44 @@
+#
+# Tobias Grimm <tg@e-tobi.net>
+#
+# Set all database parameters in the xxv's config file (used by postinst)
+#
+
+use Config::Tiny;
+
+my $Config = Config::Tiny->read($ARGV[1]) or die Config::Tiny::errstr;
+
+if ($ARGV[0] eq "--db")
+{
+ require $ARGV[2];
+ $Config->{General}->{USR} = $dbuser;
+ $Config->{General}->{PWD} = $dbpass;
+
+ my $dsn = "DBI:${dbtype}:database=${dbname}";
+ if ($dbserver)
+ {
+ $dsn = "${dsn};host=${dbserver}";
+ }
+ if ($dbport)
+ {
+ $dsn = "${dsn};port=${dbport}";
+ }
+
+ $Config->{General}->{DSN} = $dsn;
+}
+elsif ($ARGV[0] eq "--ports")
+{
+ my $porthttp = $ARGV[2];
+ my $porttelnet = $ARGV[3];
+ my $portinterface = $ARGV[4];
+ my $porticecast = $ARGV[5];
+ my $portwap = $ARGV[6];
+
+ $Config->{HTTPD}->{Port} = $porthttp;
+ $Config->{TELNET}->{Port} = $porttelnet;
+ $Config->{INTERFACE}->{Port} = $portinterface;
+ $Config->{MUSIC}->{port} = $porticecast;
+ $Config->{WAPD}->{Port} = $portwap;
+}
+
+$Config->write($ARGV[1]) or die Config::Tiny::errstr;
Modified: vdr/vdr-xxv/trunk/debian/init
===================================================================
--- vdr/vdr-xxv/trunk/debian/init 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/init 2005-04-27 22:53:10 UTC (rev 495)
@@ -44,10 +44,11 @@
MODULEDIR="/usr/share/perl5/vdr-xxv/XXV/MODULES/*.pm"
DOCUDIR="/var/cache/vdr-xxv/doc/"
HTMLDIR="/usr/share/vdr-xxv/html/"
+FONTDIR="/usr/share/fonts/truetype/ttf-bitstream-vera/"
COMMANDLINE="-configfile=$CONFIGFILE -logfile=$LOGFILE -pidfile=$PIDFILE \
-localedir=$LOCALEDIR -moduledir=$MODULEDIR -docudir=$DOCUDIR \
- -htmldir=$HTMLDIR"
+ -htmldir=$HTMLDIR -fontdir=$FONTDIR"
#
Modified: vdr/vdr-xxv/trunk/debian/install
===================================================================
--- vdr/vdr-xxv/trunk/debian/install 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/install 2005-04-27 22:53:10 UTC (rev 495)
@@ -2,6 +2,7 @@
bin/xxvd usr/bin/
html/* usr/share/vdr-xxv/html/default
+wml/ usr/share/vdr-xxv/html/
lib/Tools.pm usr/share/perl5/vdr-xxv/
lib/Tie/ usr/share/perl5/vdr-xxv/
@@ -13,3 +14,5 @@
doc/docu.tmpl usr/share/vdr-xxv/doc/
locale/de usr/share/locale/
+
+contrib usr/share/vdr-xxv/
Modified: vdr/vdr-xxv/trunk/debian/patches/04_mplayer-log.dpatch
===================================================================
--- vdr/vdr-xxv/trunk/debian/patches/04_mplayer-log.dpatch 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/patches/04_mplayer-log.dpatch 2005-04-27 22:53:10 UTC (rev 495)
@@ -5,29 +5,29 @@
## DP: hard-code mplayer log file path
@DPATCH@
-diff -urNad vdr-xxv-0.20/lib/XXV/MODULES/RECORDS.pm /tmp/dpep.NVczmH/vdr-xxv-0.20/lib/XXV/MODULES/RECORDS.pm
---- vdr-xxv-0.20/lib/XXV/MODULES/RECORDS.pm 2005-03-28 16:06:57.000000000 +0200
-+++ /tmp/dpep.NVczmH/vdr-xxv-0.20/lib/XXV/MODULES/RECORDS.pm 2005-03-28 16:07:21.000000000 +0200
-@@ -61,12 +61,12 @@
- default => 'old',
+diff -urNad vdr-xxv-0.31/lib/XXV/MODULES/RECORDS.pm /tmp/dpep.2esGSB/vdr-xxv-0.31/lib/XXV/MODULES/RECORDS.pm
+--- vdr-xxv-0.31/lib/XXV/MODULES/RECORDS.pm 2005-04-16 18:00:08.000000000 +0200
++++ /tmp/dpep.2esGSB/vdr-xxv-0.31/lib/XXV/MODULES/RECORDS.pm 2005-04-16 18:03:04.000000000 +0200
+@@ -62,12 +62,12 @@
+ default => 'Nothing',
required => gettext("This is required!"),
},
-- mplayerlog => {
+- previewlog => {
- description => gettext('Logfile for mplayer'),
- default => '/var/log/xxvd_mplayer.log',
- type => 'string',
- required => gettext("This is required!"),
- },
-+# mplayerlog => {
++# previewlog => {
+# description => gettext('Logfile for mplayer'),
+# default => '/var/log/xxvd_mplayer.log',
+# type => 'string',
+# required => gettext("This is required!"),
+# },
- vfat => {
- description => gettext('Set this if your filename encoded for vfat filesystems'),
- default => 'y',
-@@ -153,6 +153,7 @@
+ previewcount => {
+ description => gettext('How many preview images produce?'),
+ default => 3,
+@@ -183,6 +183,7 @@
},
);
Modified: vdr/vdr-xxv/trunk/debian/postinst
===================================================================
--- vdr/vdr-xxv/trunk/debian/postinst 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/postinst 2005-04-27 22:53:10 UTC (rev 495)
@@ -4,48 +4,9 @@
# see: dh_installdeb(1)
set -e
+# set -x
-configfile="/var/lib/vdr-xxv/xxvd.cfg"
-
#
-# get database config parameters from debconf
-#
-get_db_debconf()
-{
- db_get vdr-xxv/db_server ; dbserver="$RET"
- db_get vdr-xxv/db_port ; dbport="$RET"
- db_get vdr-xxv/db_admin ; dbadmin="$RET"
- db_get vdr-xxv/db_adminpass ; dbadminpass="$RET"
- db_get vdr-xxv/db_database ; dbdatabase="$RET"
- db_get vdr-xxv/db_user ; dbuser="$RET"
- db_get vdr-xxv/db_userpass ; dbuserpass="$RET"
-
- # remove admin username and password from debconf db
- db_reset vdr-xxv/db_admin
- db_reset vdr-xxv/db_adminpass
-
- # remove user password from debconf db
- db_reset vdr-xxv/db_userpass
-
- # if there is no user password provided by debconf, try to load it from
- # xxv's config:
- if [ -z "$dbuserpass" ]; then
- dbuserpass="`perl /usr/share/vdr-xxv/debconf/get_db_password.pl $configfile`"
- fi
-}
-
-#
-# Inform user about db setup error and mark db as unconfigured
-#
-database_setup_failure()
-{
- db_input medium vdr-xxv/db_configure_failed || true
- db_go
- db_reset vdr-xxv/db_configure_failed
- db_set vdr-xxv/db_configured false
-}
-
-#
# get port config parameters from debconf
#
get_port_config()
@@ -56,113 +17,76 @@
db_get vdr-xxv/port_telnet ; porttelnet="$RET"
db_get vdr-xxv/port_interface ; portinterface="$RET"
db_get vdr-xxv/port_icecast ; porticecast="$RET"
- db_get vdr-xxv/port_wap ; portwap="$RET"
+ db_get vdr-xxv/port_wap ; portwap="$RET"
fi
}
#
-# setup database and user
+# update application config file
#
-configure_database()
+update_config()
{
- db_get vdr-xxv/db_manage ; dbmanage="$RET"
- if [ "$dbmanage" = "true" ]; then
- db_get vdr-xxv/db_configured ; dbconfigured="$RET"
- if [ "$dbconfigured" = "false" ]; then
- db_set vdr-xxv/db_configured "true"
- get_db_debconf
- if check_server ; then
- # Create database if it does not exist
- if check_database ; then
- echo "Info: No need to create database.">&2
- else
- echo "Info: Creating database '$dbdatabase'">&2
- if create_database ; then
- echo "Info: Database created">&2
- else
- echo "Error: Could not create database: $error">&2
- database_setup_failure
- fi
- fi
- # Create user
- # if there is no user password, generate one
- if [ -z "$dbuserpass" ]; then
- dbuserpass=`makepasswd --chars 12 --randomseed 0`
- fi
-
- echo "Info: Creating user '$dbuser' and set permissions ">&2
- if create_user ; then
- echo "Info: User created, permissions set">&2
- else
- echo "Error: Could not create user: $error">&2
- database_setup_failure
- fi
- else
- echo "Error: Could not connect server: $error">&2
- database_setup_failure
- fi
-
- # Save db settings in config file:
- perl /usr/share/vdr-xxv/debconf/set_config.pl --db $configfile \
- $dbserver $dbport $dbdatabase $dbuser $dbuserpass
- if [ $? -gt 0 ]; then
- echo "Error: Could not write config_file: $error">&2
- # couldn't store password, so we may have to ask for
- # it when trying again:
- db_fset vdr-xxv/db_userpass seen false
- fi
- else
- echo "Info: Database already configured">&2
+ if [ "$portconfigure" = "true" ] ; then
+ perl /usr/share/vdr-xxv/debconf/update-config.pl --ports $configfile \
+ $porthttp $porttelnet $portinterface $porticecast $portwap
+ if [ $? -gt 0 ]; then
+ echo "Error: Could not write port settings to config file">&2
+ exit 1
fi
fi
+ if [ "$dbc_install" = "true" ] ; then
+ perl /usr/share/vdr-xxv/debconf/update-config.pl --db $configfile \
+ $perl_db_config
+ if [ $? -gt 0 ]; then
+ echo "Error: Could not write database settings to config-file">&2
+ exit 1
+ fi
+ fi
}
#
-# setup server ports
+# set file and directory permissions
#
-configure_ports()
+set_permissions()
{
- get_port_config
- if [ "$portconfigure" = "true" ] ; then
- perl /usr/share/vdr-xxv/debconf/set_config.pl --ports $configfile \
- $porthttp $porttelnet $portinterface $porticecast $portwap
- if [ $? -gt 0 ]; then
- echo "Error: Could not write config_file: $error">&2
- fi
- # configure ports only once
- db_set vdr-xxv/port_configure false
- fi
+ USER="vdr"
+ GROUP="vdr"
+
+ chown -R $USER:$GROUP /var/lib/vdr-xxv
+ chown -R $USER:$GROUP /var/cache/vdr-xxv
+ chown -R $USER:$GROUP /var/log/vdr-xxv
+ chown -R $USER:$GROUP /var/run/vdr-xxv
}
+
#
# main()
#
-case "$1" in
- configure)
- # Source database management tools
- . /usr/share/vdr-xxv/debconf/db_tools.sh
- # Source debconf library
- . /usr/share/debconf/confmodule
- db_version 2.0
+configfile="/var/lib/vdr-xxv/xxvd.cfg"
+# Source debconf library
+. /usr/share/debconf/confmodule
+db_version 2.0
+
+# dbconfig-common
+. /usr/share/dbconfig-common/dpkg/postinst.mysql
+perl_db_config=/tmp/vdr-xxv-$$.pm
+dbc_generate_include=perl:$perl_db_config
+dbc_go vdr-xxv $@
+
+case "$1" in
+ configure)
# install example config file:
if [ ! -f $configfile ] ; then
cp /usr/share/doc/vdr-xxv/examples/xxvd.cfg $configfile || true
fi
-
- configure_database
- configure_ports
- db_stop
-
- USER="vdr"
- GROUP="vdr"
-
- chown -R $USER:$GROUP /var/lib/vdr-xxv
- chown -R $USER:$GROUP /var/cache/vdr-xxv
- chown -R $USER:$GROUP /var/log/vdr-xxv
- chown -R $USER:$GROUP /var/run/vdr-xxv
+ get_port_config
+
+ update_config
+
+ set_permissions
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
@@ -171,6 +95,8 @@
exit 1
esac
+rm -f $perl_db_config
+
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
Modified: vdr/vdr-xxv/trunk/debian/postrm
===================================================================
--- vdr/vdr-xxv/trunk/debian/postrm 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/postrm 2005-04-27 22:53:10 UTC (rev 495)
@@ -4,202 +4,24 @@
# see: dh_installdeb(1)
set -e
+# set -x
-configfile="/var/lib/vdr-xxv/xxvd.cfg"
+. /usr/share/debconf/confmodule
+. /usr/share/dbconfig-common/dpkg/postrm.mysql
+dbc_go vdr-xxv $@
+# if [ "$1" = "purge" ]; then
+# rm -f /etc/db-test-mysql/debian-db.php
+# fi
#
-# Some debconf helper functions:
-#
-ask_for_purge()
-{
- db_input critical vdr-xxv/db_purge || true
- db_go
- db_get vdr-xxv/db_purge || true ; dbpurge="$RET"
- db_reset vdr-xxv/db_purge
-}
-
-ask_for_admin()
-{
- db_get vdr-xxv/db_server || true ; dbserver="$RET"
- db_get vdr-xxv/db_port || true ; dbport="$RET"
-
- # admin user and password are not stored in debconf db, so we
- # have to ask for these again:
- db_capb backup
- db_subst vdr-xxv/db_admin host "$dbserver"
- db_subst vdr-xxv/db_adminpass host "$dbserver"
- db_subst vdr-xxv/db_admin port "$dbport"
- db_subst vdr-xxv/db_adminpass port "$dbport"
- db_beginblock
- db_input critical vdr-xxv/db_admin || true
- db_input critical vdr-xxv/db_adminpass || true
- db_endblock
- db_go
-
- db_get vdr-xxv/db_admin ; dbadmin="$RET"
- db_get vdr-xxv/db_adminpass ; dbadminpass="$RET"
- db_get vdr-xxv/db_database ; dbdatabase="$RET"
- db_get vdr-xxv/db_user || true ; dbuser="$RET"
-
- # remove admin usernames and passwords from debconf db
- db_reset vdr-xxv/db_admin
- db_reset vdr-xxv/db_adminpass
-}
-
-inform_error()
-{
- db_input medium vdr-xxv/db_purge_failed || true
- db_go
- db_reset vdr-xxv/db_purge_failed
-}
-
-
-#
-# Some database administration helper functions:
-#
-check_params()
-{
- if [ -z "$dbserver" ] ; then
- error="No database server specified."
- elif [ -z "$dbadmin" ] ; then
- error="No database administrator specified."
- elif [ -z "$dbdatabase" ] ; then
- error="No database name specified."
- else
- return 0
- fi
- return 1
-}
-
-build_mysqlcmd()
-{
- MYSQLCMD="mysql --host=$dbserver --user=$dbadmin"
-
- if [ -n "$dbadminpass" ] ; then
- MYSQLCMD="$MYSQLCMD \"--password=$dbadminpass\""
- fi
- if [ -n "$dbport" ] ; then
- MYSQLCMD="$MYSQLCMD \"--port=$dbport\""
- fi
-}
-
-check_server()
-{
- if ! check_params ; then
- return 1
- fi
-
- build_mysqlcmd
-
- if ! eval $MYSQLCMD </dev/null >/dev/null 2>&1 ; then
- error="Error when trying to connect to the mysql database."
- return 1
- fi
- return 0
-}
-
-check_database()
-{
- if ! eval $MYSQLCMD -f -B -e "\"show databases;\"" | \
- grep -e "^$dbdatabase$" > /dev/null 2>&1 ; then
- return 1
- fi
- return 0
-}
-
-check_user()
-{
- if ! eval $MYSQLCMD -f mysql -e \
- "\"SELECT User from user where User='$dbuser';\"" | \
- grep -e "^$dbuser$" > /dev/null 2>&1 ; then
- return 1
- fi
- return 0
-}
-
-purge_database()
-{
- if check_database ; then
- if eval $MYSQLCMD -f -e "\"DROP DATABASE $dbdatabase;\"" ; then
- if check_database ; then
- error="Database $dbdatabase NOT successfully droped."
- return 1
- fi
- else
- error="Unable to run the drop database."
- return 1
- fi
- fi
- return 0
-}
-
-purge_user()
-{
- if check_user ; then
- if eval $MYSQLCMD -f mysql -e \
- "\"DELETE FROM user where User='$dbuser';\"" ; then
- if check_user ; then
- error="User $dbuser NOT successfully deleted."
- return 1
- fi
- else
- error="Unable to run delete user."
- return 1
- fi
- fi
- return 0
-}
-
-#
# main()
#
case "$1" in
- purge)
- # Source debconf library
- . /usr/share/debconf/confmodule
- db_version 2.0
-
-
- db_get vdr-xxv/db_manage ; dbmanage="$RET"
- db_get vdr-xxv/db_configured ; dbconfigured="$RET"
-
- if [ "$dbmanage" = "true" -a "$dbconfigured" = "true" ] ; then
- do_delete="true"
- while [ $do_delete = "true" ] ; do
- ask_for_purge
- if [ "$dbpurge" = "true" ] ; then
- ask_for_admin
- if check_server ; then
- echo "Info: Deleting database">&2
- if purge_database ; then
- echo "Info: Database deleted">&2
- echo "Info: Deleting user">&2
- if purge_user ; then
- echo "Info: User deleted">&2
- do_delete="false"
- db_set vdr-xxv/db_configured false
- else
- echo "Error: Could not delete user: $error">&2
- inform_error
- fi
- else
- echo "Error: Could not delete database: $error">&2
- inform_error
- fi
- else
- echo "Error: Could not connect server: $error">&2
- inform_error
- fi
- else
- do_delete="false"
- fi
- done
- fi
-
+ purge)
rm -f /var/lib/vdr-xxv/xxvd.cfg || true
rm -rf /var/cache/vdr-xxv/doc/* || true
- rm -f /var/log/vdr-xxv/xxvd*.log || true
+ rm -f /var/log/vdr-xxv/* || true
rm -rf /var/cache/vdr-xxv/preview || true
;;
remove)
Added: vdr/vdr-xxv/trunk/debian/preinst
===================================================================
--- vdr/vdr-xxv/trunk/debian/preinst 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/preinst 2005-04-27 22:53:10 UTC (rev 495)
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+# set -x
+
+. /usr/share/debconf/confmodule
+. /usr/share/dbconfig-common/dpkg/preinst.mysql
+dbc_go vdr-xxv $@
+
+#DEBHELPER#
Added: vdr/vdr-xxv/trunk/debian/prerm
===================================================================
--- vdr/vdr-xxv/trunk/debian/prerm 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/prerm 2005-04-27 22:53:10 UTC (rev 495)
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+# set -x
+
+. /usr/share/debconf/confmodule
+. /usr/share/dbconfig-common/dpkg/prerm.mysql
+dbc_go vdr-xxv $@
+
+#DEBHELPER#
Modified: vdr/vdr-xxv/trunk/debian/templates
===================================================================
--- vdr/vdr-xxv/trunk/debian/templates 2005-04-24 16:02:54 UTC (rev 494)
+++ vdr/vdr-xxv/trunk/debian/templates 2005-04-27 22:53:10 UTC (rev 495)
@@ -1,81 +1,3 @@
-Template: vdr-xxv/db_manage
-Type: boolean
-Default: true
-_Description: Automatically manage db settings and create XXV database?
- With this option enabled, Debian will manage the MySQL database and user
- required by XXV. You will need a MySQL-Server installed on the local or a
- remote machine and you need the database administrator login name and
- password.
- .
- Unselect this option, if you prefer to create the database yourself.
-
-Template: vdr-xxv/db_server
-Type: string
-Default: localhost
-_Description: Database server for XXV's database
-
-Template: vdr-xxv/db_port
-Type: string
-Default: 3306
-_Description: On what port does the database server listen?
-
-Template: vdr-xxv/db_database
-Type: string
-Default: xxv
-_Description: XXV database name
-
-Template: vdr-xxv/db_admin
-Type: string
-Default: root
-_Description: Database server administrator on ${host}:${port}
- The administrator username will not be stored anywhere permanently.
-
-Template: vdr-xxv/db_adminpass
-Type: password
-_Description: Password for database server administrator on ${host}:${port}
- The administrator password will not be stored anywhere permanently.
-
-Template: vdr-xxv/db_user
-Type: string
-Default: xxv
-_Description: XXV database owner username
- This username will be used by XXV to connect to the database server.
-
-Template: vdr-xxv/db_userpass
-Type: password
-_Description: XXV database owner password
- If no password is specified here, a random password will be generated.
- .
- The password will not be stored anywhere permanently.
-
-Template: vdr-xxv/db_purge
-Type: boolean
-Default: true
-_Description: Purge XXV database and remove database user?
- Confirm this, if you want the database to be removed automatically.
- Otherwise you have to do this manually.
-
-Template: vdr-xxv/db_purge_failed
-Type: note
-_Description: Purging the database or user failed!
- You may try again or do the purging manually.
-
-Template: vdr-xxv/db_configure_failed
-Type: note
-_Description: Setting up the database failed!
- The database could not be set up successfully. Check that you have
- installed a MySQL server on your local or a remote machine. In order to
- setup the database, you must provide a valid administrator account and
- password.
- .
- You can try again with "dpkg-reconfigure vdr-xxv". Otherwise you will have to
- configure the database for xxv manually.
-
-Template: vdr-xxv/db_configured
-Type: boolean
-Default: false
-Description: Is database already configured?
-
Template: vdr-xxv/port_configure
Type: boolean
Default: false