[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#779912: unblock: cdbs/0.4.128



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Please unblock package cdbs

Package currently in unstable fixes these two serious bugs:

#770767: perl-build-vars.mk overrides $Config{ccflags}
#772429: Does not support case-insensitve field names

Additionally, the fix for #770767 is believed to also fix applying all
default security-strengthening compiler flags for arch-any packages that
uses a CDBS perl snippet.  Since that is a release goal, and since
missing default flags may also lead to other breakage on i386 due to how
that platform links perl code (see bug#770767), unblocking of cdbs
should probably be followed by BinNMUs + unblock of e.g. all arch-any
packages matching regext '^include\s+.*perl.*\.mk' for its rules file.
I don't know (and am not skilled so now is probably the wrong time to
start if others can help) how to reliably locate such package list, but
can do it among the packages I maintain myself which might be adequate
(I am not alone in using CDBS but might be for perl libs specifically).

unblock cdbs/0.4.128

 - Jonas

- -- System Information:
Debian Release: 8.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.14-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=da_DK.UTF-8, LC_CTYPE=da_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJU+YhcAAoJECx8MUbBoAEhFr4P/Rc4ABLp1thNG2gIam0VyuXg
xSWRfUn9/KZaMCbiID1iw2NKCiKABegqjlrEWRv2Bx3cfxTU+FHSgDtKiey+nUJR
FquZAyeHbv/dvENgvJZTRgsgcHU/UdG6P/cCJeD0uiPPNEtYl5IKMqZlOdA5Dtye
+elsZbNW1WhDDK1P9dERBAbcW04jiWxa/hBXuDEuMs1BwMWnZA/N4PGQJqaKV2FG
/Ua89SYbn2+tyW0w4SUz5xpe2FMRPu3D2ifU8BSwAxxFQtKSMKc40R7R3b5EyWGD
/7XXpOWvLUjc1k1nokqdE+pGqCIuWLAE2zdyrnmN/NphIS5mdrFbDqv8bgddkl96
M8TkCMzJ/BYaRucdBJ2cva7YU6yPT4BI/jcAbHcoRPiw4LJgK1oThmio5/ejCR4m
sYI4YrQGRrakWAZTzlhpx4gQetapDvJ/c7j4Fhi8kwHtmQxl397eeVzyjQXIZOsz
pqIfjPbcaaJXYD88TB+6ehmvwSFxB7iMlP6av500ugQKHifs+/J7sBC6gq/UmIAN
Q/cJojMOfCYO0+TqSJzNYmjcp5Pc4Ftox8JOceEjnHA8KIacOoifRzoEq7lScG5a
DGuLGmAgaolXZ2nQa9Lb2uXXhRVtoHSHLVk373EczovxB3lgFEhh24QR6OTkG8Zd
+ioQTGcjMdA7Ta0AJ9fA
=1VJf
-----END PGP SIGNATURE-----
diff -Nru cdbs-0.4.127/1/class/perl-build-vars.mk.in cdbs-0.4.128/1/class/perl-build-vars.mk.in
--- cdbs-0.4.127/1/class/perl-build-vars.mk.in	2014-10-12 14:07:35.000000000 +0200
+++ cdbs-0.4.128/1/class/perl-build-vars.mk.in	2015-03-06 03:52:37.000000000 +0100
@@ -21,10 +21,22 @@
 ifndef _cdbs_class_perl_build_vars
 _cdbs_class_perl_build_vars = 1
 
+include $(_cdbs_class_path)/langcore.mk$(_cdbs_makefile_suffix)
 include $(_cdbs_class_path)/perl-vars.mk$(_cdbs_makefile_suffix)
 
 #DEB_PERL_CONFIGURE_TARGET =
-DEB_PERL_CONFIGURE_ARGS ?= --installdirs vendor --config ccflags="$(or $(CFLAGS_$(cdbs_curpkg)),$(CFLAGS))" --config cxxflags="$(or $(CXXFLAGS_$(cdbs_curpkg)),$(CXXFLAGS))" --config cppflags="$(or $(CPPFLAGS_$(cdbs_curpkg)),$(CPPFLAGS))" --config ldflags="$(or $(LDFLAGS_$(cdbs_curpkg)),$(LDFLAGS))"
+DEB_PERL_CONFIGURE_ARGS ?= --installdirs vendor \
+	--config ccflags="$(strip \
+		$(or $(CFLAGS_$(cdbs_curpkg)),$(CFLAGS)) \
+		$(cdbs_perl_ccflags))" \
+	--config cxxflags="$(strip \
+		$(or $(CXXFLAGS_$(cdbs_curpkg)),$(CXXFLAGS)))" \
+	--config cppflags="$(strip \
+		$(or $(CPPFLAGS_$(cdbs_curpkg)),$(CPPFLAGS)) \
+		$(cdbs_perl_cppflags))" \
+	--config lddlflags="$(strip \
+		$(or $(LDFLAGS_$(cdbs_curpkg)),$(LDFLAGS)) \
+		$(cdbs_perl_lddlflags))"
 
 DEB_PERL_CONFIGURE_FLAGS ?= --destdir $(cdbs_perl_curdestdir)
 
diff -Nru cdbs-0.4.127/1/class/perl-makemaker-vars.mk.in cdbs-0.4.128/1/class/perl-makemaker-vars.mk.in
--- cdbs-0.4.127/1/class/perl-makemaker-vars.mk.in	2014-10-12 14:07:43.000000000 +0200
+++ cdbs-0.4.128/1/class/perl-makemaker-vars.mk.in	2015-03-06 03:52:06.000000000 +0100
@@ -30,19 +30,18 @@
 DEB_MAKEMAKER_NORMAL_ARGS ?= \
 	NOECHO=
 
-cdbs_perl_makemaker_lddlflags := \
-	$(shell perl -MConfig -e 'print $$Config{lddlflags}')
-
 # Override optimizations to follow Perl Policy 3.9.4 § 4.3
 # and extend to also pass CPPFLAGS and LDFLAGS
 # FIXME: Restructure to allow early override
 DEB_MAKE_EXTRA_ARGS = \
 	OPTIMIZE="$(strip \
 		$(or $(CFLAGS_$(cdbs_curpkg)),$(CFLAGS)) \
-		$(or $(CPPFLAGS_$(cdbs_curpkg)),$(CPPFLAGS)))" \
+		$(cdbs_perl_ccflags) \
+		$(or $(CPPFLAGS_$(cdbs_curpkg)),$(CPPFLAGS)) \
+		$(cdbs_perl_cppflags))" \
 	LDDLFLAGS="$(strip \
-		$(cdbs_perl_makemaker_lddlflags) \
 		$(or $(LDFLAGS_$(cdbs_curpkg)),$(LDFLAGS)))" \
+		$(cdbs_perl_lddlflags) \
 	$(DEB_MAKE_PARALLEL)
 
 DEB_MAKEMAKER_INVOKE ?= /usr/bin/perl Makefile.PL \
@@ -56,4 +55,9 @@
 DEB_MAKE_CHECK_TARGET ?= test TEST_VERBOSE=1
 DEB_MAKE_INSTALL_TARGET ?= install DESTDIR="$(DEB_PERL_DESTDIR)"
 
+# deprecated variables
+cdbs_perl_makemaker_lddlflags = $(strip $(call cdbs_warn_deprecated,\
+	cdbs_perl_lddlflags,0.4.128)\
+	$(shell perl -MConfig -e 'print $$Config{lddlflags}')
+
 endif
diff -Nru cdbs-0.4.127/1/class/perlmodule-vars.mk.in cdbs-0.4.128/1/class/perlmodule-vars.mk.in
--- cdbs-0.4.127/1/class/perlmodule-vars.mk.in	2014-05-22 14:57:54.000000000 +0200
+++ cdbs-0.4.128/1/class/perlmodule-vars.mk.in	2015-03-06 03:52:06.000000000 +0100
@@ -28,9 +28,22 @@
 $(call cdbs_warn_deprecated,\
 	perlmodule-vars.mk,0.4.72,perl-makemaker-vars.mk)
 
+cdbs_perl_ccflags := $(shell perl -MConfig -e 'print $$Config{ccflags}')
+cdbs_perl_cppflags := $(shell perl -MConfig -e 'print $$Config{cppflags}')
+cdbs_perl_lddlflags := $(shell perl -MConfig -e 'print $$Config{lddlflags}')
+
 # Override optimizations to follow Perl Policy 3.9.4 § 4.3
 # FIXME: Restructure to allow early override
-DEB_MAKE_EXTRA_ARGS = OPTIMIZE="$(CFLAGS)" $(DEB_MAKE_PARALLEL)
+DEB_MAKE_EXTRA_ARGS = \
+	OPTIMIZE="$(strip \
+		$(or $(CFLAGS_$(cdbs_curpkg)),$(CFLAGS)) \
+		$(cdbs_perl_ccflags) \
+		$(or $(CPPFLAGS_$(cdbs_curpkg)),$(CPPFLAGS)) \
+		$(cdbs_perl_cppflags))" \
+	LDDLFLAGS="$(strip \
+		$(or $(LDFLAGS_$(cdbs_curpkg)),$(LDFLAGS)))" \
+		$(cdbs_perl_lddlflags) \
+	$(DEB_MAKE_PARALLEL)
 
 # Install into first listed package by default.
 # Unset for standard debhelper rules (use debian/tmp if multiple packages).
diff -Nru cdbs-0.4.127/1/class/perl-vars.mk.in cdbs-0.4.128/1/class/perl-vars.mk.in
--- cdbs-0.4.127/1/class/perl-vars.mk.in	2014-10-12 14:07:35.000000000 +0200
+++ cdbs-0.4.128/1/class/perl-vars.mk.in	2015-03-06 03:52:06.000000000 +0100
@@ -23,6 +23,10 @@
 
 include $(_cdbs_rules_path)/buildvars.mk$(_cdbs_makefile_suffix)
 
+cdbs_perl_ccflags := $(shell perl -MConfig -e 'print $$Config{ccflags}')
+cdbs_perl_cppflags := $(shell perl -MConfig -e 'print $$Config{cppflags}')
+cdbs_perl_lddlflags := $(shell perl -MConfig -e 'print $$Config{lddlflags}')
+
 DEB_PERL_PACKAGES ?= $(filter lib%-perl, $(DEB_PACKAGES))
 
 DEB_PERL_ARCH_PACKAGES ?= $(filter $(DEB_PERL_PACKAGES), $(DEB_ARCH_PACKAGES))
diff -Nru cdbs-0.4.127/1/rules/buildcore.mk.in cdbs-0.4.128/1/rules/buildcore.mk.in
--- cdbs-0.4.127/1/rules/buildcore.mk.in	2014-10-12 20:28:45.000000000 +0200
+++ cdbs-0.4.128/1/rules/buildcore.mk.in	2015-03-06 03:53:30.000000000 +0100
@@ -78,7 +78,7 @@
 endif
 
 # Avoid recursive braindamage if we're building autotools-dev
-ifeq (, $(shell grep -x 'Package: autotools-dev' debian/control))
+ifeq (, $(shell grep -xi 'Package: autotools-dev' debian/control))
 config_guess		:= $(shell find $(DEB_SRCDIR) \( -type f -or -type l \) -name config.guess)
 config_sub		:= $(shell find $(DEB_SRCDIR) \( -type f -or -type l \) -name config.sub)
 ifneq (, $(config_all_tar))
@@ -87,7 +87,7 @@
 endif
 endif
 # Ditto for gnulib
-ifeq (, $(shell grep -x 'Package: gnulib' debian/control))
+ifeq (, $(shell grep -xi 'Package: gnulib' debian/control))
 config_rpath		:= $(shell find $(DEB_SRCDIR) \( -type f -or -type l \) -name config.rpath)
 ifneq (, $(config_all_tar))
 config_rpath_tar	:= $(filter %/config.rpath, $(config_all_tar))
@@ -237,7 +237,7 @@
 		-e '$$bd =~ $(cdbs_re_squash_trailing_commas_and_spaces);' \
 		-e '$$bd =~ $(cdbs_re_wrap_after_commas);' \
 		-e 's/\@cdbs\@/$$bd/g;' \
-		-e 's/^Build-Depends(|-Indep): ,/Build-Depends$$1:/g;' \
+		-e 's/^Build-Depends(|-Indep): ,/Build-Depends$$1:/gi;' \
 		\
 		-e 'print;' \
 	< debian/control.in > debian/control
diff -Nru cdbs-0.4.127/1/rules/buildvars.mk.in cdbs-0.4.128/1/rules/buildvars.mk.in
--- cdbs-0.4.127/1/rules/buildvars.mk.in	2014-10-13 15:23:31.000000000 +0200
+++ cdbs-0.4.128/1/rules/buildvars.mk.in	2015-03-06 03:53:30.000000000 +0100
@@ -24,7 +24,7 @@
 CDBS_VERSION = @PACKAGE_VERSION@
 
 # Common useful variables
-DEB_SOURCE_PACKAGE := $(strip $(shell egrep '^Source: ' debian/control | cut -f 2 -d ':'))
+DEB_SOURCE_PACKAGE := $(strip $(shell grep -i '^Source: ' debian/control | cut -f 2 -d ':'))
 DEB_VERSION := $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ')
 DEB_NOEPOCH_VERSION := $(shell echo $(DEB_VERSION) | cut -d: -f2-)
 DEB_UPSTREAM_VERSION := $(shell echo $(DEB_NOEPOCH_VERSION) | sed 's/-[^-]*$$//')
diff -Nru cdbs-0.4.127/debian/changelog cdbs-0.4.128/debian/changelog
--- cdbs-0.4.127/debian/changelog	2014-10-13 15:27:34.000000000 +0200
+++ cdbs-0.4.128/debian/changelog	2015-03-06 03:53:48.000000000 +0100
@@ -1,3 +1,23 @@
+cdbs (0.4.128) unstable; urgency=medium
+
+  * Fix resolve compiler flags in perl snippets:
+    + Resolve perl-specific ccflags and cppflags (not only lddlflags),
+      as variables cdbs_perl_ccflags cdbs_perl_cppflags
+      cdbs_perl_lddlflags.
+      Deprecate now unused variable cdbs_perl_makemaker_lddlflags.
+    + Have perl-build-vars.mk snippet apply as lddlflags (not ldflags).
+    + Have perl-build-vars.mk snippet include langcore.mk to properly
+      resolve default compiler flags.
+    + Apply perl-specific compiler flags in all perl snippets (not only
+      perl-makemaker.mk).
+    + Append (not prepend) perl-specific compiler flags to default (or
+      locally overridden) compiler flags.
+    Closes: bug#770767. Thanks to Niko Tyni.
+  * Fix support control fields case-insensitively.
+    Closes: bug#772429. Thanks to Guillem Jover.
+
+ -- Jonas Smedegaard <dr@jones.dk>  Fri, 06 Mar 2015 03:53:47 +0100
+
 cdbs (0.4.127) unstable; urgency=medium
 
   * Fix use unversioned Python runtime for default flavor in
diff -Nru cdbs-0.4.127/scripts/list-packages cdbs-0.4.128/scripts/list-packages
--- cdbs-0.4.127/scripts/list-packages	2013-12-28 02:55:55.000000000 +0100
+++ cdbs-0.4.128/scripts/list-packages	2015-03-06 03:53:30.000000000 +0100
@@ -54,7 +54,7 @@
 	while (<CONTROL>) {
 		chomp;
 		s/\s+$//;
-		if (/^Package:\s*(.*)/) {
+		if (/^Package:\s*(.*)/i) {
 			$package=$1;
 			# Detect duplicate package names in the same control file.
 			if (! $seen{$package}) {
@@ -64,7 +64,7 @@
 				error("debian/control has a duplicate entry for $package");
 			}
 		}
-		if (/^Architecture:\s*(.*)/) {
+		if (/^Architecture:\s*(.*)/i) {
 			$arch=$1;
 		}
 	

Reply to: