Re: maintainer script factorization
On Fri, Feb 22, 2008 at 07:07:54PM +0100, Martin Fuzzey wrote:
> Hi all,
> frequently maintainer scripts modify the same files and to avoid duplication
> of path names etc in all scripts I was wondering if they could be factorized
> The obvious solution of installing something like
> /usr/share/package/common.sh and sourcing it in the maintainer scripts
> doesn't work as the package files may already have been removed.
> Any ideas or is this impossible?
You can include some kind of common script and use .in files parsed as
with #DEBHELPER# or such. Perhaps use cpp instead of sed for this, or
someone will suggest a better way yet.
# Begin debian/maintscript-common shell fragment
# End maintscript-common
# Postinstallation script for foo
dh_clean debian/postinst debian/preinst debian/postrm debian/prerm
set -e; cd debian; for m in postinst preinst postrm prerm; \
[ ! -e "$$m.in" ] && continue; \
exec <"$$m.in" >"$$m"; \
sed -e "s/^#MAINTSCRIPT-COMMON#$$//; T; r $$f"; \
Colin watson wrote about a scenario where he apparently needed to do