Source: piuparts
Source-Version: 1.1.3
Severity: important
User: debian-d...@lists.debian.org
Usertags: dpkg-db-access-blocker dpkg-db-access-ctrl

Hi!

The piuparts package contains various scripts directly accessing the
internal dpkg database, instead of using publicly supported
interfaces. I think the pathnames used as part of its ignore list are
fine and can be ignored here.

 * custom-scripts/scripts/pre_remove_40_find_missing_md5sums

   Checks whether packages have an md5sums file present. This should
   be switched to use «dpkg-query --control-list $pkg».

 * custom-scripts/scripts/post_remove_exceptions

   Modifies a postrm script for a package. This should be switched to
   use «dpkg-query --control-path asclassic postrm».

   Although this is not ideal. But then the package got removed from
   the archive in 2009, perhaps this could be removed instead?

 * custom-scripts/scripts-debug-purge/post_remove_postrm_set-x

   Modifies postrm scripts for packages. This should be switched to
   use «dpkg-query --control-path $pkg:$arch postrm», which always
   works (by unconditionally arch-qualifiying).

   This is not ideal either, but I've added a TODO item to make it
   possible to execute maintscripts via a wrapper or similar so that
   one could enable debugging by passing say
   «--maintscript-map-interp /bin/bash "/bin/bash -x"» or something
   similar.

  * custom-scripts/scripts-debug-remove/pre_remove_prerm_postrm_set-x

   Same as above, but for prerm and postrm.


This is a problem for several reasons, because even though the layout and
format of the dpkg database is administrator friendly, and it is expected
that those might need to mess with it, in case of emergency, this
“interface” does not extend to other programs besides the dpkg suite of
tools. The admindir can also be configured differently at dpkg build or
run-time. And finally, the contents and its format, will be changing in
the near future.

Thanks,
Guillem

Reply via email to