Hello Helmut, Please find attached anew version for the patch.
Here is what I fixed: * Remove debconf calls from ola-rdm-tests postinst. (Closes: #767676) * Fix other seriouys issues: - Provides missing /etc/default/ola from ola postinst script to allow olad service control in the same way rdm_test_server is - Update init scripts to change advice to enable olad & drm_test_server services (dpkg-reconfigure won't work without debconf) - add postrm scripts for packages ola & ola-rdm-tests to fully remove configuration files & dirs so that piuparts tests can pass As you asked: - I didn't changed configuration file names. I thought this was a bit "out of scope", you confirmed :) - packages pass piuparts tests (I tested .changes file with --no-upgrade-test since jessie package fails to install) I also documented verbosely changes in changelog as requested by [1] Please let me know wheter the work is satisfying or I need to iterate more. Regards, Jean Baptiste [1] https://release.debian.org/jessie/freeze_policy.html On 18/11/2014 08:15, Helmut Grohne wrote: > On Mon, Nov 17, 2014 at 11:42:54PM +0100, Jean Baptiste Favre wrote: >> Thanks for your advice. I'm working on a new version of the patch. >> In the meantime, what should I do with my already uploaded NMU (on >> mentors.debian.net). Maybe I should delete it just to be sure nobody >> will upload it ? > > You can do that. > >> I also noticed that init scripts ask for "dpkg-reconfigure package" to >> enable service start, which is disabled by default. I guess this was OK >> when debconf handles /etc/default/package content, but obviously it >> won't work anymore. >> I can change the init script to display another message. > > This sounds like a documentation fix. Currently, this should be covered > by the freeze policy. So fixing it should be ok for now. > >> Finally, I'm considering shipping /etc/default/ola which is not shipped >> currently, in the same way as /etc/default/ola-rdm-tests. It controls >> whether olad service is enabled or not. > > This sounds like a functional change. While it looks like an > improvement, I do not yet see why this should be release critical. So > better skip this for the upload targeting jessie, but you can prepare a > separate .debdiff for Wouter to apply later if you like. (Better create > a new bug report at lower severity then.) > >> And, last question, speaking about /etc/default files, I wonder which >> are the best practices: >> - name /etc/default/xxx file according to the init script which will use >> them >> - name /etc/default/xxx file according to the package which provide them >> >> In my case, /etc/default/ola is provided by ola package but controls >> olad service. Same with /etc/default/ola-rdm-tests which is provided by >> eponym package to control rdm_test_server service. >> >> All these would indeed increase the overall package quality, but I >> wonder if this is not a bit "out of scope" work considering Jessie freeze. > > You are rightly wondering. These changes are likely not acceptable for > jessie. > > It looks to me that you are looking a bit too far at the moment. This > bug was found using piuparts. After applying your initial .debdiff, > piuparts still rightfully complains (about other things). This is why I > asked you to reiterate. Nothing more. > > Helmut
diff -Nru ola-0.9.1/debian/changelog ola-0.9.1/debian/changelog --- ola-0.9.1/debian/changelog 2014-08-17 10:07:29.000000000 +0200 +++ ola-0.9.1/debian/changelog 2014-11-18 09:47:02.000000000 +0100 @@ -1,3 +1,17 @@ +ola (0.9.1-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Remove debconf calls from ola-rdm-tests postinst. (Closes: #767676) + * Fix other seriouys issues: + - Provides missing /etc/default/ola from ola postinst script to allow + olad service control in the same way rdm_test_server is + - Update init scripts to change advice to enable olad & drm_test_server + services (dpkg-reconfigure won't work without debconf) + - add postrm scripts for packages ola & ola-rdm-tests to fully remove + configuration files & dirs so that piuparts tests can pass + + -- Jean Baptiste Favre <deb...@jbfavre.org> Sun, 16 Nov 2014 17:44:18 +0100 + ola (0.9.1-1) unstable; urgency=low * New upstream release diff -Nru ola-0.9.1/debian/ola.olad.init ola-0.9.1/debian/ola.olad.init --- ola-0.9.1/debian/ola.olad.init 2014-08-17 09:17:40.000000000 +0200 +++ ola-0.9.1/debian/ola.olad.init 2014-11-18 09:46:06.000000000 +0100 @@ -23,7 +23,7 @@ if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] ; then DAEMON_ARGS="--syslog --log-level 3 --config-dir /etc/ola" elif [ "$1" = "start" ] || [ "$1" = "stop" ] ; then - echo "The init script is currently inactive;\nuse \"dpkg-reconfigure ola\" to change this." >&2 + echo "The init script is currently inactive;\nPlease update \"/etc/default/ola\" to change this." >&2 fi [ -x "$DAEMON" ] || exit 0 diff -Nru ola-0.9.1/debian/ola.postinst ola-0.9.1/debian/ola.postinst --- ola-0.9.1/debian/ola.postinst 2014-08-17 09:17:40.000000000 +0200 +++ ola-0.9.1/debian/ola.postinst 2014-11-18 09:44:04.000000000 +0100 @@ -15,6 +15,21 @@ chmod g+s ${CONF_DIR}; fi; +conffile="/etc/default/ola" + +if [ -f $conffile ] ; then + sed -i -e 's/^[ ]*DAEMON/RUN_DAEMON/g' $conffile +else + cat << EOF > $conffile +# Defaults for ola-rdm-tests initscript (/etc/init.d/ola-rdm-tests) +# This is a POSIX shell fragment + +# [automatically edited by postinst, do not change line format ] + +# ola-rdm-tests daemon switch. If set to true, rdm_test_server.py will run. +RUN_DAEMON="true" +EOF +fi # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. diff -Nru ola-0.9.1/debian/ola.postrm ola-0.9.1/debian/ola.postrm --- ola-0.9.1/debian/ola.postrm 1970-01-01 01:00:00.000000000 +0100 +++ ola-0.9.1/debian/ola.postrm 2014-11-18 09:44:04.000000000 +0100 @@ -0,0 +1,45 @@ +#!/bin/sh +# postrm script for ola +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +case "$1" in + purge) + if [ -f /etc/default/ola ]; then + rm -f /etc/default/ola + fi + if [ -d /etc/ola ]; then + rm -rf /etc/ola + fi + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff -Nru ola-0.9.1/debian/ola-rdm-tests.postinst ola-0.9.1/debian/ola-rdm-tests.postinst --- ola-0.9.1/debian/ola-rdm-tests.postinst 2014-04-21 08:19:26.000000000 +0200 +++ ola-0.9.1/debian/ola-rdm-tests.postinst 2014-11-18 09:44:04.000000000 +0100 @@ -3,34 +3,12 @@ conffile="/etc/default/ola-rdm-tests" -update_config_file() { - db_field=$1 - config_field=$2 - - RET=false - db_get $db_field - if [ -n "$RET" ] ; then - if grep -q "^$config_field" $conffile ; then - # keep any admin changes, while replacing the variable content - sed "s/^[ ]*$config_field=\".*\"/$config_field=\"$RET\"/" < $conffile > $conffile.new && - mv $conffile.new $conffile - else - echo "$config_field=\"$RET\"" >> $conffile - fi - fi -} - -# Source debconf library -- we have a Depends line -# to make sure it is there... -. /usr/share/debconf/confmodule -db_version 2.0 - case "$1" in configure) - if [ -f $conffile ] ; then - sed -i -e 's/^[ ]*DAEMON/RUN_DAEMON/g' $conffile - else - cat << EOF > $conffile + if [ -f $conffile ] ; then + sed -i -e 's/^[ ]*DAEMON/RUN_DAEMON/g' $conffile + else + cat << EOF > $conffile # Defaults for ola-rdm-tests initscript (/etc/init.d/ola-rdm-tests) # This is a POSIX shell fragment @@ -39,11 +17,7 @@ # ola-rdm-tests daemon switch. If set to true, rdm_test_server.py will run. RUN_DAEMON="true" EOF - fi - - update_config_file ola-rdm-tests/daemon RUN_DAEMON - - db_stop + fi ;; abort-upgrade|abort-remove|abort-deconfigure) diff -Nru ola-0.9.1/debian/ola-rdm-tests.postrm ola-0.9.1/debian/ola-rdm-tests.postrm --- ola-0.9.1/debian/ola-rdm-tests.postrm 1970-01-01 01:00:00.000000000 +0100 +++ ola-0.9.1/debian/ola-rdm-tests.postrm 2014-11-18 09:44:04.000000000 +0100 @@ -0,0 +1,42 @@ +#!/bin/sh +# postrm script for ola-rdm-tests +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * <postrm> `remove' +# * <postrm> `purge' +# * <old-postrm> `upgrade' <new-version> +# * <new-postrm> `failed-upgrade' <old-version> +# * <new-postrm> `abort-install' +# * <new-postrm> `abort-install' <old-version> +# * <new-postrm> `abort-upgrade' <old-version> +# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +case "$1" in + purge) + if [ -f /etc/default/ola-rdm-tests ]; then + rm -f /etc/default/ola-rdm-tests + fi + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; + +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff -Nru ola-0.9.1/debian/ola-rdm-tests.rdm_test_server.init ola-0.9.1/debian/ola-rdm-tests.rdm_test_server.init --- ola-0.9.1/debian/ola-rdm-tests.rdm_test_server.init 2014-08-17 09:17:40.000000000 +0200 +++ ola-0.9.1/debian/ola-rdm-tests.rdm_test_server.init 2014-11-18 09:44:04.000000000 +0100 @@ -24,7 +24,7 @@ if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] ; then DAEMON_ARGS="--world-writeable" elif [ "$1" = "start" ] || [ "$1" = "stop" ] ; then - echo "The init script is currently inactive;\nuse \"dpkg-reconfigure ola-rdm-tests\" to change this." >&2 + echo "The init script is currently inactive;\nPlease update \"/etc/default/ola-rdm-tests\" to change this." >&2 fi [ -x "$DAEMON" ] || exit 0
signature.asc
Description: OpenPGP digital signature