Hi Andreas (Cc'in Gregor and Luk who did the last two upload NMU, maybe they have an idea how to solve this)
It seems that this is due the packaging shipping conffile
/etc/phpgacl/gacl.ini.php:
----cut---------cut---------cut---------cut---------cut---------cut-----
# configuration
install -d $(CURDIR)/debian/phpgacl/etc/phpgacl/
install -m 640 -o root -g www-data $(CURDIR)/gacl.ini.php \
$(CURDIR)/debian/phpgacl/etc/phpgacl/
ln -sf /etc/phpgacl/gacl.ini.php \
$(CURDIR)/debian/phpgacl/usr/share/phpgacl/
----cut---------cut---------cut---------cut---------cut---------cut-----
... in debian/rules.
But it modifies with maintainer scripts (postinst):
----cut---------cut---------cut---------cut---------cut---------cut-----
case "$1" in
configure)
. /etc/dbconfig-common/phpgacl.conf
if [ "$dbc_install" = "true" ]; then
TMPFILE=`tempfile -p gacl.`
trap " [ -f \"$TMPFILE\" ] && rm -f -- \"$TMPFILE\"" 1 2 3 13 15
cp $CONF $TMPFILE
# default to 'localhost' if a server isn't specified
if [ -z $dbc_dbserver ] ; then
dbc_dbserver="localhost"
fi
# adodb uses 'postgres' name instead of 'pgsql'
if [ "$dbc_dbtype" = "pgsql" ]; then
dbc_dbtype="postgres"
fi
cat $CONF | \
sed -e "s/^db_type.*/db_type = \"$dbc_dbtype\"/" |\
sed -e "s/^db_name.*/db_name = \"$dbc_dbname\"/" |\
sed -e "s/^db_host.*/db_host = \"$dbc_dbserver\"/" |\
sed -e "s/^db_user.*/db_user = \"$dbc_dbuser\"/" |\
sed -e "s/^db_password.*/db_password = \"$dbc_dbpass\"/" \
> $TMPFILE
mv $TMPFILE $CONF
fi
[...]
----cut---------cut---------cut---------cut---------cut---------cut-----
(however only if "$dbc_install" = "true").
Now phpgacl install a new version of the conffile, but it was
previously modified by the postinst script of the previous package and
dpkg promts.
In case I'm correct the problem is that the package shipped initially
the conffile but modifies it in postinst. Debian policy warns
explicitly about this approach in "E.1 Automatic handling of
configuration files by dpkg":
Note that a package should not modify a dpkg-handled conffile in its
maintainer scripts. Doing this will lead to dpkg giving the user
confusing and possibly dangerous options for conffile update when the
package is upgraded.
[1]: http://www.debian.org/doc/debian-policy/ap-pkg-conffiles.html#sE.1
Regards,
Salvatore
signature.asc
Description: Digital signature

