Bug#806912: Don't build optimized variants in stage1 or stage2 builds

2015-12-03 Thread Helmut Grohne
On Wed, Dec 02, 2015 at 09:20:58PM +0100, Matthias Klose wrote:
> Package: src:glibc
> Version: 2.21-1
> Tags: patch
> 
> Don't build optimized variants in stage1 or stage2 builds; saves a pass on
> alpha and i386.

I think that the functionality requested here is useful, but I have a
few remarks on the implementation.

1) stage1 shouldn't be doing any non *-dev passes at all, so limiting
   these here is less than ideal.
2) The ability to build without optimized packages is useful beyond
   bootstrapping and it also is not required for bootstrapping, so I'd
   rather see an orthogonal profile be used here.  We already have a
   number of "no*" profile names (e.g. noudeb, nodoc, nobiarch, ...)
   and we could certainly expand that.
3) When limiting packages to certain profiles, debian/control should be
   updated to reflect that.

Helmut



Bug#806912: Don't build optimized variants in stage1 or stage2 builds

2015-12-02 Thread Matthias Klose

Package: src:glibc
Version: 2.21-1
Tags: patch

Don't build optimized variants in stage1 or stage2 builds; saves a pass on alpha 
and i386.


diff -Nru glibc-2.21/debian/changelog glibc-2.21/debian/changelog
--- glibc-2.21/debian/changelog	2015-11-30 23:17:58.0 +
+++ glibc-2.21/debian/changelog	2015-12-02 20:06:12.0 +
@@ -1,3 +1,9 @@
+glibc (2.21-1.1) UNRELEASED; urgency=medium
+
+  * Don't build optimized variants in stage1 or stage2 builds.
+
+ -- Matthias Klose   Wed, 02 Dec 2015 21:05:26 +0100
+
 glibc (2.21-1) unstable; urgency=medium
 
   [ Aurelien Jarno ]
diff -Nru glibc-2.21/debian/sysdeps/alpha.mk glibc-2.21/debian/sysdeps/alpha.mk
--- glibc-2.21/debian/sysdeps/alpha.mk	2015-03-16 16:03:45.0 +
+++ glibc-2.21/debian/sysdeps/alpha.mk	2015-12-02 20:05:02.0 +
@@ -3,6 +3,7 @@
 libc = libc6.1
 
 # build an ev67 optimized library
+ifeq ($(filter stage1 stage2,$(DEB_BUILD_PROFILES)),)
 GLIBC_PASSES += alphaev67
 DEB_ARCH_REGULAR_PACKAGES += libc6.1-alphaev67
 alphaev67_add-ons = $(add-ons)
@@ -10,3 +11,4 @@
 alphaev67_extra_cflags = -mcpu=ev67 -mtune=ev67 -O2
 alphaev67_extra_config_options = $(extra_config_options)
 alphaev67_slibdir = /lib/$(DEB_HOST_MULTIARCH)/ev67
+endif
diff -Nru glibc-2.21/debian/sysdeps/i386.mk glibc-2.21/debian/sysdeps/i386.mk
--- glibc-2.21/debian/sysdeps/i386.mk	2015-03-16 16:03:45.0 +
+++ glibc-2.21/debian/sysdeps/i386.mk	2015-12-02 20:04:41.0 +
@@ -3,6 +3,7 @@
 # We use -march=i686 and glibc's i686 routines use cmov, so require it.
 # A Debian-local glibc patch adds cmov to the search path.
 # The optimized libraries also use NPTL!
+ifeq ($(filter stage1 stage2,$(DEB_BUILD_PROFILES)),)
 GLIBC_PASSES += i686
 DEB_ARCH_REGULAR_PACKAGES += libc6-i686
 i686_add-ons = $(add-ons)
@@ -10,6 +11,7 @@
 i686_extra_cflags = -march=i686 -mtune=generic
 i686_slibdir = /lib/$(DEB_HOST_MULTIARCH)/i686/cmov
 i686_extra_config_options = $(extra_config_options)
+endif
 
 # We use -mno-tls-direct-seg-refs to not wrap-around segments, as it
 # greatly increase the speed when running under the 32bit Xen hypervisor.