[Build-common-hackers] Bug#433862: cdbs: please allow the possibility to filter out packages
Sune Vuorela
reportbug at pusling.com
Thu Jul 19 22:26:38 UTC 2007
Package: cdbs
Version: 0.4.49
Severity: wishlist
Tags: patch
Hi!
I have recently had the need for having a list of packages that
shouldn't be build under some conditions.
I tried different things, like -Npackage in DH_OPTIONS, but failed.
I ended up adapting buildvars.mk to my need - to support a DONT_BUILD
var to contain packages that shouldn't be build.
I think I have done it right - and I am currently using it in
kdenetwork.
It is there used as a workaround not being able to set
Architecture: any !s390
in control file, as a negative list is easier to maintain than a
positive list.
so I wrap it in
#if something
DONT_BUILD =pkgname
#endif
in my rules file.
I don't expect the final variable to be called DONT_BUILD, but it should
be easy to change.
Any comments welcome.
/Sune
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (200, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.20-1-vserver-k7 (SMP w/1 CPU core)
Locale: LANG=en_GB, LC_CTYPE=en_GB (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash
cdbs depends on no packages.
Versions of packages cdbs recommends:
ii autotools-dev 20070306.1 Update infrastructure for config.{
ii debhelper 5.0.53 helper programs for debian/rules
-- no debconf information
-------------- next part --------------
--- /usr/share/cdbs/1/rules/buildvars.mk 2007-05-20 18:13:10.000000000 +0200
+++ buildvars.mk 2007-07-10 21:35:51.000000000 +0200
@@ -35,25 +35,25 @@
# Split into arch/indep packages
ifneq ($(DEB_INDEP_PACKAGES),cdbs)
-DEB_INDEP_PACKAGES := $(strip $(shell $(_cdbs_scripts_path)/list-packages indep))
-DEB_ARCH_PACKAGES := $(filter-out $(DEB_INDEP_PACKAGES),$(strip $(shell $(_cdbs_scripts_path)/list-packages same)))
+DEB_INDEP_PACKAGES := $(filter-out $(DONT_BUILD), $(strip $(shell $(_cdbs_scripts_path)/list-packages indep)))
+DEB_ARCH_PACKAGES := $(filter-out $(DONT_BUILD), $(filter-out $(DEB_INDEP_PACKAGES),$(strip $(shell $(_cdbs_scripts_path)/list-packages same))))
endif
# Split into normal and udeb packages
ifeq ($(DEB_UDEB_PACKAGES),)
-DEB_PACKAGES = $(filter-out %-udeb, $(DEB_ARCH_PACKAGES) $(DEB_INDEP_PACKAGES))
-DEB_UDEB_PACKAGES = $(filter %-udeb, $(DEB_ARCH_PACKAGES) $(DEB_INDEP_PACKAGES))
+DEB_PACKAGES = $(filter-out $(DONT_BUILD), $(filter-out %-udeb, $(DEB_ARCH_PACKAGES) $(DEB_INDEP_PACKAGES)))
+DEB_UDEB_PACKAGES = $(filter-out $(DONT_BUILD),$(filter %-udeb, $(DEB_ARCH_PACKAGES) $(DEB_INDEP_PACKAGES)))
else
-DEB_PACKAGES = $(filter-out $(DEB_UDEB_PACKAGES), $(DEB_ARCH_PACKAGES) $(DEB_INDEP_PACKAGES))
+DEB_PACKAGES = $(filter-out $(DONT_BUILD), $(filter-out $(DEB_UDEB_PACKAGES), $(DEB_ARCH_PACKAGES) $(DEB_INDEP_PACKAGES)))
endif
# Too much bother for now. If someone complains we'll fix it.
#DEB_ARCH_UDEB_PACKAGES = $(filter %-udeb, $(DEB_ARCH_PACKAGES))
#DEB_INDEP_UDEB_PACKAGES = $(filter %-udeb, $(DEB_INDEP_PACKAGES))
# A handy list of every package, udeb or not
-DEB_ALL_PACKAGES = $(DEB_PACKAGES) $(DEB_UDEB_PACKAGES)
-DEB_INDEP_REGULAR_PACKAGES = $(filter-out $(DEB_UDEB_PACKAGES),$(DEB_INDEP_PACKAGES))
-DEB_ARCH_REGULAR_PACKAGES = $(filter-out $(DEB_UDEB_PACKAGES),$(DEB_ARCH_PACKAGES))
+DEB_ALL_PACKAGES = $(filter-out $(DONT_BUILD),$(DEB_PACKAGES) $(DEB_UDEB_PACKAGES))
+DEB_INDEP_REGULAR_PACKAGES = $(filter-out $(DONT_BUILD), $(filter-out $(DEB_UDEB_PACKAGES),$(DEB_INDEP_PACKAGES)))
+DEB_ARCH_REGULAR_PACKAGES = $(filter-out $(DONT_BUILD), $(filter-out $(DEB_UDEB_PACKAGES),$(DEB_ARCH_PACKAGES)))
-DEB_DBG_PACKAGES = $(filter %-dbg, $(DEB_ARCH_PACKAGES) $(DEB_INDEP_PACKAGES))
+DEB_DBG_PACKAGES = $(filter-out $(DONT_BUILD), $(filter %-dbg, $(DEB_ARCH_PACKAGES) $(DEB_INDEP_PACKAGES)))
# Some support for srcdir != builddir builds.
# These are relative to the root of the package
More information about the Build-common-hackers
mailing list