launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #15382
[Merge] lp:~vorlon/maas/maintscript-style into lp:~maas-maintainers/maas/packaging
Steve Langasek has proposed merging lp:~vorlon/maas/maintscript-style into lp:~maas-maintainers/maas/packaging.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~vorlon/maas/maintscript-style/+merge/154234
--
https://code.launchpad.net/~vorlon/maas/maintscript-style/+merge/154234
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~vorlon/maas/maintscript-style into lp:~maas-maintainers/maas/packaging.
=== modified file 'debian/changelog'
--- debian/changelog 2013-03-19 19:43:49 +0000
+++ debian/changelog 2013-03-20 01:26:21 +0000
@@ -2,6 +2,33 @@
* UNRELEASED
+ [ Steve Langasek ]
+ * postinst scripts are never called with 'reconfigure' as the script
+ argument. Remove references to this (mythical) invocation.
+ * always call 'set -e' from maintainer scripts instead of passing 'sh -e'
+ as the interpreter, so that scripts will behave correctly when run via
+ 'sh -x'.
+ * invoke-rc.d is never allowed to not exist - simplify scripts (and make
+ them better policy-compliant) by invoking unconditionally. (The only
+ possible exception is in the postrm, where it's *theoretically* possible
+ for invoke-rc.d to be missing if the user has completely stripped
+ down their system; that's a fairly unreasonable corner case, but we
+ might as well be correct if it ever happens.)
+ * db_get+db_set is a no-op; don't call db_set to push back a value we just
+ got from db_get.
+ * Omit superfluous calls to 'exit 0' at the end of each script.
+ * Remove maas-cluster-controller prerm script, which called debconf for no
+ reason.
+ * Don't invoke debconf in the postrm script either, debhelper already does
+ this for us.
+ * Other miscellaneous maintainer script fixes
+ * debian/maas-common.postinst: call adduser and addgroup unconditionally;
+ the tools are already designed to DTRT, we don't need to check for the
+ user/group existence before calling them nor should we worry about
+ calling them only once on first install.
+ * debian/maas-common.postrm: delete the maas group, not just the user,
+ as the comment in the code implies we should do.
+
-- Andres Rodriguez <andreserl@xxxxxxxxxx> Tue, 19 Mar 2013 15:38:22 -0400
maas (1.3+bzr1452+dfsg-0ubuntu1) raring; urgency=low
=== modified file 'debian/maas-cluster-controller.config'
--- debian/maas-cluster-controller.config 2012-11-13 20:40:07 +0000
+++ debian/maas-cluster-controller.config 2013-03-20 01:26:21 +0000
@@ -1,4 +1,6 @@
-#!/bin/sh -e
+#!/bin/sh
+
+set -e
. /usr/share/debconf/confmodule
db_version 2.0
@@ -8,9 +10,7 @@
if ([ "$1" = "configure" ] && [ -z "$2" ]); then
db_get maas-cluster-controller/maas-url || true
- if [ -n "$RET" ]; then
- db_set maas-cluster-controller/maas-url "$RET"
- else
+ if [ -z "$RET" ]; then
# Attempt to pre-populate if installing on the region controller.
if [ -e /etc/maas/maas_local_settings.py ]; then
url=$(awk '$1 == "DEFAULT_MAAS_URL" { split($0,array,"\"")} END{print array[2] }' /etc/maas/maas_local_settings.py)
=== modified file 'debian/maas-cluster-controller.postinst'
--- debian/maas-cluster-controller.postinst 2012-12-13 10:05:52 +0000
+++ debian/maas-cluster-controller.postinst 2013-03-20 01:26:21 +0000
@@ -1,4 +1,6 @@
-#!/bin/sh -e
+#!/bin/sh
+
+set -e
. /usr/share/debconf/confmodule
db_version 2.0
@@ -72,7 +74,7 @@
configure_maas_tgt
fi
-if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
+if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ -n "$DEBCONF_RECONFIGURE" ]; then
if dpkg --compare-versions "$2" lt 0.1+bzr1239+dfsg-0ubuntu1; then
create_log_dir
@@ -104,4 +106,3 @@
fi
#DEBHELPER#
-exit 0
=== modified file 'debian/maas-cluster-controller.postrm'
--- debian/maas-cluster-controller.postrm 2012-11-06 16:41:05 +0000
+++ debian/maas-cluster-controller.postrm 2013-03-20 01:26:21 +0000
@@ -2,15 +2,12 @@
set -e
-. /usr/share/debconf/confmodule
-db_version 2.0
+#DEBHELPER#
case "$1" in
purge)
# remove log directory
- if [ -d /var/log/maas ]; then
- rm -rf /var/log/maas
- fi
+ rm -rf /var/log/maas
# remove var directory
rm -rf /var/lib/maas/celerybeat-cluster-schedule
DIR=/var/lib/maas
@@ -24,7 +21,3 @@
fi
esac
-
-#DEBHELPER#
-
-exit 0
=== removed file 'debian/maas-cluster-controller.prerm'
--- debian/maas-cluster-controller.prerm 2012-10-08 17:16:30 +0000
+++ debian/maas-cluster-controller.prerm 1970-01-01 00:00:00 +0000
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-set -e
-
-. /usr/share/debconf/confmodule
-db_version 2.0
-
-#DEBHELPER#
-
-exit 0
=== modified file 'debian/maas-common.postinst'
--- debian/maas-common.postinst 2012-10-11 18:16:28 +0000
+++ debian/maas-common.postinst 2013-03-20 01:26:21 +0000
@@ -1,22 +1,14 @@
-#!/bin/sh -e
+#!/bin/sh
+
+set -e
add_user_group(){
local user="maas"
local group="maas"
- if ! getent group "$group" >/dev/null; then
- addgroup --quiet --system "$group" || true
- fi
- if ! getent passwd "$user" > /dev/null 2>&1; then
- adduser --quiet \
- --system \
- --group \
- --no-create-home \
- "$user" || true
- fi
+ addgroup --quiet --system "$group" || true
+ adduser --quiet --system --group --no-create-home "$user" || true
}
-if [ "$1" = "configure" ]; then
- add_user_group
-fi
+add_user_group
#DEBHELPER#
=== modified file 'debian/maas-common.postrm'
--- debian/maas-common.postrm 2012-10-11 18:16:28 +0000
+++ debian/maas-common.postrm 2013-03-20 01:26:21 +0000
@@ -7,6 +7,7 @@
# Deleting user/group
if getent passwd maas >/dev/null; then
deluser maas || true
+ delgroup maas || true
fi
esac
=== modified file 'debian/maas-dhcp.postinst'
--- debian/maas-dhcp.postinst 2012-10-02 18:42:28 +0000
+++ debian/maas-dhcp.postinst 2013-03-20 01:26:21 +0000
@@ -1,22 +1,15 @@
-#!/bin/sh -e
-
-. /usr/share/debconf/confmodule
-db_version 2.0
-
-stop_isc_dhcp_server(){
- invoke-rc.d isc-dhcp-server stop
-}
-
+#!/bin/sh
+
+set -e
if [ "$1" = "configure" ]; then
- stop_isc_dhcp_server
+ invoke-rc.d isc-dhcp-server stop
dhcpd_prof="/etc/apparmor.d/usr.sbin.dhcpd"
- if [ -f "${dhcpd_prof}" ] &&
- command -v apparmor_parser >/dev/null 2>&1; then
+ if [ -f "${dhcpd_prof}" ] && command -v apparmor_parser >/dev/null 2>&1
+ then
apparmor_parser --replace --write-cache --skip-read-cache "${dhcpd_prof}"
fi
fi
#DEBHELPER#
-exit 0
=== modified file 'debian/maas-dhcp.postrm'
--- debian/maas-dhcp.postrm 2012-09-14 18:06:57 +0000
+++ debian/maas-dhcp.postrm 2013-03-20 01:26:21 +0000
@@ -1,6 +1,8 @@
-#!/bin/sh -e
-
-if [ "$1" = "remove" -o "$1" = "purge" ]; then
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then
dhcpd_prof="/etc/apparmor.d/usr.sbin.dhcpd"
if [ -f "${dhcpd_prof}" ] &&
command -v apparmor_parser >/dev/null 2>&1; then
=== modified file 'debian/maas-dns.postinst'
--- debian/maas-dns.postinst 2012-12-03 13:13:07 +0000
+++ debian/maas-dns.postinst 2013-03-20 01:26:21 +0000
@@ -1,6 +1,8 @@
-#!/bin/sh -e
-
-if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
+#!/bin/sh
+
+set -e
+
+if ([ "$1" = "configure" ] && [ -z "$2" ]) || [ -n "$DEBCONF_RECONFIGURE" ]; then
# If /etc/bind/maas is empty, set_up_dns.
if [ ! "$(ls -A /etc/bind/maas)" ]; then
maas set_up_dns
@@ -28,10 +30,7 @@
maas write_dns_config
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d bind9 restart || true
- fi
+ invoke-rc.d bind9 restart || true
fi
#DEBHELPER#
-exit 0
=== modified file 'debian/maas-dns.postrm'
--- debian/maas-dns.postrm 2012-08-10 23:50:38 +0000
+++ debian/maas-dns.postrm 2013-03-20 01:26:21 +0000
@@ -1,4 +1,6 @@
-#!/bin/sh -e
+#!/bin/sh
+
+set -e
if [ "$1" = "remove" ]; then
if [ -f /etc/bind/named.conf.local ]; then
@@ -19,6 +21,3 @@
fi
#DEBHELPER#
-
-exit 0
-
=== modified file 'debian/maas-region-controller.config'
--- debian/maas-region-controller.config 2012-10-11 18:50:41 +0000
+++ debian/maas-region-controller.config 2013-03-20 01:26:21 +0000
@@ -1,4 +1,6 @@
-#!/bin/sh -e
+#!/bin/sh
+
+set -e
. /usr/share/debconf/confmodule
db_version 2.0
@@ -21,7 +23,7 @@
. /usr/share/dbconfig-common/dpkg/config.pgsql
fi
-if ([ "$1" = "configure" ] && [ -z "$2" ]); then
+if [ "$1" = "configure" ] && [ -z "$2" ]; then
# Hide maas/dbconfig-install question by setting default.
set_question maas-region-controller/dbconfig-install true
set_question maas-region-controller/pgsql/app-pass ""
@@ -34,9 +36,7 @@
elif [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
db_get maas/default-maas-url || true
- if [ -n "$RET" ]; then
- db_set maas/default-maas-url "$RET"
- else
+ if [ -z "$RET" ]; then
ipaddr=$(awk '$1 == "DEFAULT_MAAS_URL" { split($0,array,"/")} END{print array[3] }' /etc/maas/maas_local_settings.py)
db_set maas/default-maas-url "$ipaddr"
fi
=== modified file 'debian/maas-region-controller.postinst'
--- debian/maas-region-controller.postinst 2012-11-06 16:41:05 +0000
+++ debian/maas-region-controller.postinst 2013-03-20 01:26:21 +0000
@@ -1,4 +1,6 @@
-#!/bin/sh -e
+#!/bin/sh
+
+set -e
. /usr/share/debconf/confmodule
db_version 2.0
@@ -13,36 +15,16 @@
maas migrate metadataserver --noinput
}
-restart_apache2(){
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d apache2 restart || true
- else
- /etc/init.d/apache2 restart || true
- fi
-}
-
restart_rabbitmq(){
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d rabbitmq-server restart || true
- else
- /etc/init.d/rabbitmq-server restart || true
- fi
+ invoke-rc.d rabbitmq-server restart || true
}
restart_postgresql(){
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d --force postgresql restart || true
- else
- /etc/init.d/postgresql restart || true
- fi
+ invoke-rc.d --force postgresql restart || true
}
restart_squid_deb_proxy() {
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d squid-deb-proxy restart || true
- else
- /etc/init.d/squid-deb-proxy restart || true
- fi
+ invoke-rc.d squid-deb-proxy restart || true
}
configure_maas_txlongpoll_rabbitmq_user() {
@@ -191,17 +173,13 @@
mkdir -p /var/log/maas/rsyslog
chown -R syslog:syslog /var/log/maas/rsyslog
# Make sure rsyslog reads our config
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d rsyslog restart
- fi
+ invoke-rc.d rsyslog restart
#########################################################
################### Squid-deb-proxy ####################
#########################################################
# Make sure squid-deb-proxy reads our config (99-maas)
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d squid-deb-proxy restart
- fi
+ invoke-rc.d squid-deb-proxy restart
#########################################################
########## Configure longpoll rabbitmq config ###########
@@ -239,11 +217,10 @@
db_input high maas/installation-note || true
db_go
-elif [ "$1" = "reconfigure" ] || [ -n "$DEBCONF_RECONFIGURE" ]; then
+elif [ -n "$DEBCONF_RECONFIGURE" ]; then
# Set the IP address of the interface with default route
db_get maas/default-maas-url
ipaddr="$RET"
- db_set maas/default-maas-url "$ipaddr"
if [ -n "$ipaddr" ]; then
configure_maas_default_url "$ipaddr"
configure_maas_squid_deb_proxy "$ipaddr"
@@ -252,9 +229,7 @@
elif [ "$1" = "configure" ] && dpkg --compare-versions "$2" gt 0.1+bzr266+dfsg-0ubuntu1; then
# If upgrading to any later package version, then upgrade db.
- if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d apache2 stop || true
- fi
+ invoke-rc.d apache2 stop || true
# make sure postgresql is running
restart_postgresql
@@ -284,12 +259,10 @@
fi
-restart_apache2
+invoke-rc.d apache2 restart || true
restart_squid_deb_proxy
db_stop
#DEBHELPER#
-
-exit 0
=== modified file 'debian/maas-region-controller.postrm'
--- debian/maas-region-controller.postrm 2012-11-06 16:41:05 +0000
+++ debian/maas-region-controller.postrm 2013-03-20 01:26:21 +0000
@@ -22,8 +22,6 @@
# Restarting apache2
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d apache2 restart || true
- else
- /etc/init.d/apache2 restart || true
fi
# Delete symlink
@@ -48,5 +46,3 @@
#DEBHELPER#
db_stop
-
-exit 0
=== modified file 'debian/maas-region-controller.prerm'
--- debian/maas-region-controller.prerm 2012-09-28 02:40:23 +0000
+++ debian/maas-region-controller.prerm 2013-03-20 01:26:21 +0000
@@ -6,13 +6,7 @@
#DEBHELPER#
-if [ -x /usr/sbin/invoke-rc.d ]; then
- invoke-rc.d apache2 stop || true
-else
- /etc/init.d/apache2 stop || true
-fi
+invoke-rc.d apache2 stop || true
. /usr/share/dbconfig-common/dpkg/prerm.pgsql
dbc_go maas-region-controller $@
-
-exit 0
Follow ups