1 # -*- mode: makefile; coding: utf-8 -*-
2 # Copyright © 2007-2008 Anders Kaseorg <andersk@mit.edu> and
3 # Tim Abbott <tabbott@mit.edu>
5 # This program is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU General Public License as
7 # published by the Free Software Foundation; either version 2, or (at
8 # your option) any later version.
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
20 ifndef _cdbs_rules_debconf_divert
21 _cdbs_rules_debconf_divert
= 1
23 CDBS_BUILD_DEPENDS
:= $(CDBS_BUILD_DEPENDS
), config-package-dev
(>= 3.2~
)
25 DEB_DEBCONF_HACK_SCRIPT
= /usr
/share
/config-package-dev
/debconf-hack.sh
27 DEB_DEBCONF_HACK_PACKAGES
+= $(foreach package
,$(DEB_ALL_PACKAGES
), \
28 $(if
$(wildcard debian
/$(package
).debconf-hack
),$(package
)))
30 dh_compat_6
:= $(shell if
[ '$(DH_COMPAT)' -ge
6 ]; then echo y
; fi
)
32 $(patsubst %,debian-debconf-hack
/%,$(DEB_DEBCONF_HACK_PACKAGES
)) :: debian-debconf-hack
/%:
35 cat
$(DEB_DEBCONF_HACK_SCRIPT
); \
36 echo
'if [ ! -f /var/cache/$(cdbs_curpkg).debconf-save ]; then'; \
37 echo
' debconf_get $(shell cut -d' ' -f2 debian/$(cdbs_curpkg).debconf-hack) >/var/cache/$(cdbs_curpkg).debconf-save'; \
38 echo
' debconf_set <<EOF'; \
39 sed
's/$$/ true/' debian
/$(cdbs_curpkg
).debconf-hack
; \
42 } >> $(CURDIR
)/debian
/$(cdbs_curpkg
).preinst.debhelper
45 cat
$(DEB_DEBCONF_HACK_SCRIPT
); \
46 echo
'if [ -f /var/cache/$(cdbs_curpkg).debconf-save ]; then'; \
47 echo
' debconf_set </var/cache/$(cdbs_curpkg).debconf-save'; \
48 echo
' rm -f /var/cache/$(cdbs_curpkg).debconf-save'; \
50 } >> $(CURDIR
)/debian
/$(cdbs_curpkg
).postinst.debhelper
53 $(if
$(dh_compat_6
),, \
54 if
[ -e
$(CURDIR
)/debian
/$(cdbs_curpkg
).postrm.debhelper
]; then \
55 cat
$(CURDIR
)/debian
/$(cdbs_curpkg
).postrm.debhelper
; \
57 cat
$(DEB_DEBCONF_HACK_SCRIPT
); \
58 echo
'if [ -f /var/cache/$(cdbs_curpkg).debconf-save ]; then'; \
59 echo
' debconf_set </var/cache/$(cdbs_curpkg).debconf-save'; \
60 echo
' rm -f /var/cache/$(cdbs_curpkg).debconf-save'; \
62 $(if
$(dh_compat_6
), \
63 if
[ -e
$(CURDIR
)/debian
/$(cdbs_curpkg
).postrm.debhelper
]; then \
64 cat
$(CURDIR
)/debian
/$(cdbs_curpkg
).postrm.debhelper
; \
66 } >> $(CURDIR
)/debian
/$(cdbs_curpkg
).postrm.debhelper.new
67 mv
$(CURDIR
)/debian
/$(cdbs_curpkg
).postrm.debhelper.new \
68 $(CURDIR
)/debian
/$(cdbs_curpkg
).postrm.debhelper
70 $(patsubst %,binary-fixup
/%,$(DEB_DEBCONF_HACK_PACKAGES
)) :: binary-fixup
/%: debian-debconf-hack
/%