diff -Nru glibc-2.19/debian/rules glibc-2.19/debian/rules --- glibc-2.19/debian/rules 2014-10-17 07:43:19.000000000 +0000 +++ glibc-2.19/debian/rules 2014-12-10 23:16:28.000000000 +0000 @@ -143,8 +143,12 @@ endif endif +ifeq ($(DEB_STAGE),stage2) + DEB_BUILD_PROFILES+=stage2 +endif + ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),) - DEB_ARCH_REGULAR_PACKAGES = $(libc)-dev + DEB_ARCH_REGULAR_PACKAGES = $(libc)-dev $(libc) DEB_INDEP_REGULAR_PACKAGES = DEB_UDEB_PACKAGES = else diff -Nru glibc-2.19/debian/rules.d/build.mk glibc-2.19/debian/rules.d/build.mk --- glibc-2.19/debian/rules.d/build.mk 2014-10-17 07:43:19.000000000 +0000 +++ glibc-2.19/debian/rules.d/build.mk 2014-12-10 21:51:12.000000000 +0000 @@ -162,10 +162,19 @@ cross-compiling=yes install_root=$(CURDIR)/debian/tmp-$(curpass) \ install-bootstrap-headers=yes install-headers ) - install -d $(CURDIR)/debian/tmp-$(curpass)/lib - install -m 644 $(DEB_BUILDDIR)/csu/crt[1in].o $(CURDIR)/debian/tmp-$(curpass)/lib - ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ - -o $(CURDIR)/debian/tmp-$(curpass)/lib/libc.so + install -d $(CURDIR)/debian/tmp-$(curpass)/$(call xx,libdir) + install -m 644 $(DEB_BUILDDIR)/csu/crt[1in].o $(CURDIR)/debian/tmp-$(curpass)/$(call xx,libdir) + $(call xx,CC) -nostdlib -nostartfiles -shared -x c /dev/null \ + -o $(CURDIR)/debian/tmp-$(curpass)/$(call xx,libdir)/libc.so + if [ $(curpass) = libc ]; then \ + mkdir -p debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \ + mv debian/tmp-$(curpass)/usr/include/bits debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \ + mv debian/tmp-$(curpass)/usr/include/gnu debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \ + mv debian/tmp-$(curpass)/usr/include/sys debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \ + mv debian/tmp-$(curpass)/usr/include/fpu_control.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \ + mv debian/tmp-$(curpass)/usr/include/a.out.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \ + mv debian/tmp-$(curpass)/usr/include/ieee754.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \ + fi else : # FIXME: why just needed for ARM multilib? case "$(curpass)" in \ diff -Nru glibc-2.19/debian/rules.d/debhelper.mk glibc-2.19/debian/rules.d/debhelper.mk --- glibc-2.19/debian/rules.d/debhelper.mk 2014-10-17 07:43:19.000000000 +0000 +++ glibc-2.19/debian/rules.d/debhelper.mk 2014-12-16 15:15:48.000000000 +0000 @@ -109,7 +109,8 @@ ./debian/shlibs-add-udebs $(curpass) dh_installdeb -p$(curpass) - dh_shlibdeps -p$(curpass) + [ -n "$$(echo $(curpass) | grep 'mips32')" ] && o32_libs="-l$(CURDIR)/debian/$(curpass)/libo32/"; \ + dh_shlibdeps $$o32_libs -p$(curpass) dh_gencontrol -p$(curpass) if [ $(curpass) = nscd ] ; then \ sed -i -e "s/\(Depends:.*libc[0-9.]\+\)-[a-z0-9]\+/\1/" debian/nscd/DEBIAN/control ; \ @@ -180,7 +181,7 @@ # Generate common substvars files. echo "locale:Depends=$(shell perl debian/debver2localesdep.pl $(LOCALES_DEP_VER))" > tmp.substvars echo "locale-compat:Depends=$(shell perl debian/debver2localesdep.pl $(LOCALES_COMPAT_VER))" >> tmp.substvars -ifeq ($(filter stage2,$(DEB_BUILD_PROFILES)),) +ifeq ($(filter stage1 stage2,$(DEB_BUILD_PROFILES)),) echo 'libgcc:Depends=libgcc1 [!hppa !m68k], libgcc2 [m68k], libgcc4 [hppa]' >> tmp.substvars endif @@ -198,9 +199,20 @@ slibdir=$(call xx,slibdir) ; \ rtlddir=$(call xx,rtlddir) ; \ curpass=$(curpass) ; \ - templates="libc-dev" ;\ - pass="" ; \ - suffix="" ;\ + templates="libc-dev" ; \ + case "$$curpass:$$slibdir" in \ + libc:*) \ + suffix="" \ + pass="" \ + ;; \ + *:/lib32 | *:/lib64 | *:/libo32 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \ + suffix="-$(curpass)" \ + pass="-alt" \ + ;; \ + *:*) \ + templates="" ; \ + ;; \ + esac ; \ for t in $$templates ; do \ for s in debian/$$t$$pass.* ; do \ t=`echo $$s | sed -e "s#libc\(.*\)$$pass#$(libc)\1$$suffix#"` ; \ @@ -210,10 +222,11 @@ sed -e "s#TMPDIR#debian/tmp-$$curpass#g" -i $$t; \ sed -e "s#RTLDDIR#$$rtlddir#g" -i $$t; \ sed -e "s#SLIBDIR#$$slibdir#g" -i $$t; \ + sed -e "s#MULTIARCHDIR#$$DEB_HOST_MULTIARCH#g" -i $$t ; \ done ; \ - done + done; \ + sed -e "/LIBDIR.*.a /d" -e "s#LIBDIR#$$libdir#g" -i debian/$(libc)-dev$$suffix.install; - sed -e "/LIBDIR.*.a /d" -e "s#LIBDIR#lib#g" -i debian/$(libc)-dev.install else $(patsubst %,debhelper_%,$(GLIBC_PASSES)) :: debhelper_% : $(stamp)debhelper_% $(stamp)debhelper_%: $(stamp)debhelper-common $(stamp)install_% diff -Nru glibc-2.19/debian/sysdeps/linux.mk glibc-2.19/debian/sysdeps/linux.mk --- glibc-2.19/debian/sysdeps/linux.mk 2014-07-16 18:43:31.000000000 +0000 +++ glibc-2.19/debian/sysdeps/linux.mk 2014-12-16 16:28:32.000000000 +0000 @@ -15,12 +15,14 @@ libc_extra_config_options = --with-selinux $(extra_config_options) endif + ifndef LINUX_SOURCE - ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) + ifeq ($(shell dpkg-query --status linux-libc-dev-$(DEB_HOST_ARCH)-cross 2>/dev/null),) LINUX_HEADERS := /usr/include else LINUX_HEADERS := /usr/$(DEB_HOST_GNU_TYPE)/include endif + LINUX_HEADERS := /usr/include LINUX_ARCH_HEADERS := /usr/include/$(DEB_HOST_MULTIARCH) else LINUX_HEADERS := $(LINUX_SOURCE)/include