Package: kernel-package Version: 13.011 Severity: serious On i386, "make-kpkg linux-image" creates packages without an "Architecture:" field which dpkg will then fail to process (unless --force-architecture is specified). This is due to a broken logic in /usr/share/kernel-package/ruleset/targets/image.mk:
BUILD_SUBARCH := $(shell $(DPKG_ARCH) -a$(KPKG_SUBARCH) -qDEB_HOST_ARCH) Here KPKG_SUBARCH refers to a kernel subarch which will often be 686 on typical i386 Debian systems, and "686" is not a valid Debian architecture, so BUILD_SUBARCH ends up empty. Later this value is passed on to dpkg-gencontrol: dpkg-gencontrol -DArchitecture=$(BUILD_SUBARCH) -isp Attached is the output of "LC_ALL=C linux32 make-kpkg linux-image" after "linux32 make allnoconfig" where you can see dpkg-architecture complaining.
exec make kpkg_version=13.011 -f /usr/share/kernel-package/ruleset/minimal.mk debian ====== making target debian/stamp/conf/minimal_debian [new prereqs: ]====== This is kernel package version 13.011. test -d debian || mkdir debian test ! -e stamp-building || rm -f stamp-building install -p -m 755 /usr/share/kernel-package/rules debian/rules for file in ChangeLog Control Control.bin86 config templates.in rules; do \ cp -f /usr/share/kernel-package/$file ./debian/; \ done cp: cannot stat '/usr/share/kernel-package/ChangeLog': No such file or directory for dir in Config docs examples ruleset scripts pkg po; do \ cp -af /usr/share/kernel-package/$dir ./debian/; \ done test -f debian/control || sed -e 's/=V/3.15.0-rc5/g' \ -e 's/=D/3.15.0-rc5-1/g' -e 's/=A/i386/g' \ -e 's/=SA//g' \ -e 's/=I//g' \ -e 's/=CV/3.15/g' \ -e 's/=M/Sven Joachim <svenj...@gmx.de>/g' \ -e 's/=ST/linux/g' -e 's/=B/i386/g' \ -e 's/=R//g' /usr/share/kernel-package/Control > debian/control test -f debian/changelog || sed -e 's/=V/3.15.0-rc5/g' \ -e 's/=D/3.15.0-rc5-1/g' -e 's/=A/i386/g' \ -e 's/=ST/linux/g' -e 's/=B/i386/g' \ -e 's/=M/Sven Joachim <svenj...@gmx.de>/g' \ /usr/share/kernel-package/changelog > debian/changelog chmod 0644 debian/control debian/changelog test -d ./debian/stamp || mkdir debian/stamp make -f debian/rules debian/stamp/conf/kernel-conf make[1]: Entering directory '/usr/local/src/linux' dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too ====== making target debian/stamp/conf/kernel-conf [new prereqs: ]====== make ARCH=i386 \ oldconfig; make[2]: Entering directory '/usr/local/src/linux' scripts/kconfig/conf --oldconfig Kconfig # # configuration written to .config # make[2]: Leaving directory '/usr/local/src/linux' make ARCH=i386 prepare make[2]: Entering directory '/usr/local/src/linux' scripts/kconfig/conf --silentoldconfig Kconfig CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh make[2]: Leaving directory '/usr/local/src/linux' echo done > debian/stamp/conf/kernel-conf make[1]: Leaving directory '/usr/local/src/linux' make -f debian/rules debian/stamp/conf/full-changelog make[1]: Entering directory '/usr/local/src/linux' dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too ====== making target debian/stamp/conf/full-changelog [new prereqs: ]====== for file in ChangeLog Control Control.bin86 config templates.in rules; do \ cp -f /usr/share/kernel-package/$file ./debian/; \ done cp: cannot stat '/usr/share/kernel-package/ChangeLog': No such file or directory for dir in Config docs examples ruleset scripts pkg po; do \ cp -af /usr/share/kernel-package/$dir ./debian/; \ done install -p -m 755 /usr/share/kernel-package/rules debian/rules sed -e 's/=V/3.15.0-rc5/g' \ -e 's/=D/3.15.0-rc5-1/g' -e 's/=A/i386/g' \ -e 's/=SA//g' \ -e 's/=I//g' \ -e 's/=CV/3.15/g' \ -e 's/=M/Sven Joachim <svenj...@gmx.de>/g' \ -e 's/=ST/linux/g' -e 's/=B/i386/g' \ -e 's/=R//g' /usr/share/kernel-package/Control > debian/control sed -e 's/=V/3.15.0-rc5/g' -e 's/=D/3.15.0-rc5-1/g' \ -e 's/=A/i386/g' -e 's/=M/Sven Joachim <svenj...@gmx.de>/g' \ -e 's/=ST/linux/g' -e 's/=B/i386/g' \ /usr/share/kernel-package/changelog > debian/changelog chmod 0644 debian/control debian/changelog make -f debian/rules debian/stamp/conf/kernel-conf make[2]: Entering directory '/usr/local/src/linux' dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too make[2]: 'debian/stamp/conf/kernel-conf' is up to date. make[2]: Leaving directory '/usr/local/src/linux' make[1]: Leaving directory '/usr/local/src/linux' echo done > debian/stamp/conf/minimal_debian exec debian/rules linux-image dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too ====== making target debian/stamp/conf/vars [new prereqs: ]====== ====== making target debian/stamp/build/kernel [new prereqs: vars]====== This is kernel package version 13.011. restore_upstream_debianization test ! -f scripts/package/builddeb.kpkg-dist || mv -f scripts/package/builddeb.kpkg-dist scripts/package/builddeb test ! -f scripts/package/Makefile.kpkg-dist || mv -f scripts/package/Makefile.kpkg-dist scripts/package/Makefile /usr/bin/make ARCH=i386 \ bzImage make[1]: Entering directory '/usr/local/src/linux' CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h PASYMS arch/x86/realmode/rm/pasyms.h LDS arch/x86/realmode/rm/realmode.lds LD arch/x86/realmode/rm/realmode.elf RELOCS arch/x86/realmode/rm/realmode.relocs OBJCOPY arch/x86/realmode/rm/realmode.bin AS arch/x86/realmode/rmpiggy.o LD arch/x86/realmode/built-in.o VDSOSYM arch/x86/vdso/vdso32-int80-syms.lds VDSOSYM arch/x86/vdso/vdso32-sysenter-syms.lds VDSOSYM arch/x86/vdso/vdso32-syms.lds LD arch/x86/vdso/built-in.o LD arch/x86/built-in.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o LD vmlinux SORTEX vmlinux SYSMAP System.map VOFFSET arch/x86/boot/voffset.h OBJCOPY arch/x86/boot/compressed/vmlinux.bin GZIP arch/x86/boot/compressed/vmlinux.bin.gz MKPIGGY arch/x86/boot/compressed/piggy.S AS arch/x86/boot/compressed/piggy.o LD arch/x86/boot/compressed/vmlinux ZOFFSET arch/x86/boot/zoffset.h AS arch/x86/boot/header.o CC arch/x86/boot/version.o LD arch/x86/boot/setup.elf OBJCOPY arch/x86/boot/setup.bin OBJCOPY arch/x86/boot/vmlinux.bin BUILD arch/x86/boot/bzImage Setup is 15216 bytes (padded to 15360 bytes). System is 456 kB CRC d28c9d98 Kernel: arch/x86/boot/bzImage is ready (#2) make[1]: Leaving directory '/usr/local/src/linux' COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils make dpkg-dev |\ awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }'> debian/stamp/build/info uname -a >> debian/stamp/build/info echo using the compiler: >> debian/stamp/build/info if [ -f include/generated/compile.h ]; then \ grep LINUX_COMPILER include/generated/compile.h | \ sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> \ debian/stamp/build/info; \ elif [ -f include/linux/compile.h ]; then \ grep LINUX_COMPILER include/linux/compile.h | \ sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> \ debian/stamp/build/info; \ fi echo done > debian/stamp/build/kernel fakeroot /usr/bin/make -f ./debian/rules debian/stamp/binary/pre-linux-image-3.15.0-rc5 make[1]: Entering directory '/usr/local/src/linux' dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too ====== making target debian/stamp/install/linux-image-3.15.0-rc5 [new prereqs: ]====== This is kernel package version 13.011. rm -f -r .//usr/local/src/linux/debian/linux-image-3.15.0-rc5 .//usr/local/src/linux/debian/linux-image-3.15.0-rc5.deb install -p -d -o root -g root -m 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/etc/kernel/postinst.d /usr/local/src/linux/debian/linux-image-3.15.0-rc5/etc/kernel/preinst.d \ /usr/local/src/linux/debian/linux-image-3.15.0-rc5/etc/kernel/postrm.d /usr/local/src/linux/debian/linux-image-3.15.0-rc5/etc/kernel/prerm.d install -p -d -o root -g root -m 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot install -p -d -o root -g root -m 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/examples install -p -o root -g root -m 644 debian/changelog /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/changelog.Debian install -p -o root -g root -m 644 Documentation/Changes /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/ test ! -d ./debian/examples/ || \ (cd ./debian; tar cf - examples | (cd /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5; umask 000; tar xsf -)); install -p -o root -g root -m 644 ./debian/pkg/image/README /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/debian.README install -p -o root -g root -m 644 .config /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/config-3.15.0-rc5 test ! -f debian/stamp/conf/vars || \ install -p -o root -g root -m 644 debian/stamp/conf/vars /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/conf.vars echo "This was produced by kernel-package version 13.011." > \ /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/Buildinfo chmod 0644 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/Buildinfo test ! -f debian/stamp/build/info || \ install -p -o root -g root -m 644 debian/stamp/build/info /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/buildinfo if test -f README.Debian ; then \ install -p -o root -g root -m 644 README.Debian /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/README.Debian.1st;\ fi if test -f Debian.src.changelog; then \ install -p -o root -g root -m 644 Debian.src.changelog /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/; \ fi gzip -9qfr /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5 install -p -o root -g root -m 644 ./debian/pkg/image/copyright /usr/local/src/linux/debian/linux-image-3.15.0-rc5/usr/share/doc/linux-image-3.15.0-rc5/copyright test ! -f System.map || cp System.map \ /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/System.map-3.15.0-rc5; test ! -f System.map || chmod 600 \ /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/System.map-3.15.0-rc5; cp arch/x86/boot/bzImage /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/vmlinuz-3.15.0-rc5 restore_upstream_debianization test ! -f scripts/package/builddeb.kpkg-dist || mv -f scripts/package/builddeb.kpkg-dist scripts/package/builddeb test ! -f scripts/package/Makefile.kpkg-dist || mv -f scripts/package/Makefile.kpkg-dist scripts/package/Makefile chmod 600 /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/vmlinuz-3.15.0-rc5; if test -d /usr/local/src/linux/debian/image.d ; then \ TMPTOP=/usr/local/src/linux/debian/linux-image-3.15.0-rc5 version=3.15.0-rc5 IMAGE_TOP=/usr/local/src/linux/debian/linux-image-3.15.0-rc5 \ run-parts --verbose /usr/local/src/linux/debian/image.d ; \ fi if [ -x debian/post-install ]; then \ TMPTOP=/usr/local/src/linux/debian/linux-image-3.15.0-rc5 STEM=linux version=3.15.0-rc5 \ IMAGE_TOP=/usr/local/src/linux/debian/linux-image-3.15.0-rc5 debian/post-install; \ fi test ! -f Kerntypes || cp Kerntypes \ /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/Kerntypes-3.15.0-rc5 test ! -f Kerntypes || chmod 600 \ /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/Kerntypes-3.15.0-rc5 ====== making target debian/stamp/binary/pre-linux-image-3.15.0-rc5 [new prereqs: linux-image-3.15.0-rc5]====== This is kernel package version 13.011. /usr/bin/make -f ./debian/rules debian/stamp/binary/linux-image-3.15.0-rc5 make[2]: Entering directory '/usr/local/src/linux' dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too dpkg-architecture: error: unknown Debian architecture 686, you must specify GNU system type, too ====== making target debian/stamp/binary/linux-image-3.15.0-rc5 [new prereqs: ]====== This is kernel package version 13.011. install -p -d -o root -g root -m 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN sed -e 's/=V/3.15.0-rc5/g' -e 's/=IB/True/g' \ -e 's/=ST/linux/g' -e 's/=R//g' \ -e 's/=KPV/13.011/g' \ -e 's/=K/vmlinuz/g' \ -e 's/=I/YES/g' -e 's,=D,/boot,g' \ -e 's@=A@i386@g' \ -e 's@=B@i386@g' \ ./debian/pkg/image/postinst > /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/postinst chmod 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/postinst sed -e 's/=V/3.15.0-rc5/g' -e 's/=IB/True/g' \ -e 's/=ST/linux/g' -e 's/=R//g' \ -e 's/=KPV/13.011/g' \ -e 's/=K/vmlinuz/g' \ -e 's/=I/YES/g' -e 's,=D,/boot,g' \ -e 's@=A@i386@g' \ -e 's@=B@i386@g' \ ./debian/pkg/image/config > /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/config chmod 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/config sed -e 's/=V/3.15.0-rc5/g' -e 's/=IB/True/g' \ -e 's/=ST/linux/g' -e 's/=R//g' \ -e 's/=KPV/13.011/g' \ -e 's/=K/vmlinuz/g' \ -e 's/=I/YES/g' -e 's,=D,/boot,g' \ -e 's/=MD//g' \ -e 's@=MK@@g' -e 's@=A@i386@g' \ -e 's@=M@@g' -e 's/=OF//g' \ -e 's/=S//g' -e 's@=B@i386@g' \ ./debian/pkg/image/postrm > /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/postrm chmod 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/postrm sed -e 's/=V/3.15.0-rc5/g' -e 's/=IB/True/g' \ -e 's/=ST/linux/g' -e 's/=R//g' \ -e 's/=KPV/13.011/g' \ -e 's/=K/vmlinuz/g' \ -e 's/=I/YES/g' -e 's,=D,/boot,g' \ -e 's/=MD//g' \ -e 's@=MK@@g' -e 's@=A@i386@g' \ -e 's@=M@@g' -e 's/=OF//g' \ -e 's/=S//g' -e 's@=B@i386@g' \ ./debian/pkg/image/preinst > /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/preinst chmod 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/preinst sed -e 's/=V/3.15.0-rc5/g' -e 's/=IB/True/g' \ -e 's/=ST/linux/g' -e 's/=R//g' \ -e 's/=KPV/13.011/g' \ -e 's/=K/vmlinuz/g' \ -e 's/=I/YES/g' -e 's,=D,/boot,g' \ -e 's/=MD//g' \ -e 's@=MK@@g' -e 's@=A@i386@g' \ -e 's@=M@@g' -e 's/=OF//g' \ -e 's/=S//g' -e 's@=B@i386@g' \ ./debian/pkg/image/prerm > /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/prerm chmod 755 /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/prerm po2debconf debian/templates.in > debian/templates.l10n sed -e 's/=V/3.15.0-rc5/g' -e 's/=IB/True/g' \ -e 's/=ST/linux/g' -e 's/=R//g' \ -e 's/=KPV/13.011/g' \ -e 's/=K/vmlinuz/g' \ -e 's@=MK@@g' -e 's@=A@i386@g' \ -e 's/=I/YES/g' -e 's,=D,/boot,g' \ -e 's/=MD//g' \ -e 's@=M@@g' -e 's/=OF//g' \ -e 's/=S//g' -e 's@=B@i386@g' \ ./debian/templates.l10n > ./debian/templates.master install -p -o root -g root -m 644 ./debian/templates.master /usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/templates dpkg-gencontrol -DArchitecture= -isp \ -plinux-image-3.15.0-rc5 -P/usr/local/src/linux/debian/linux-image-3.15.0-rc5/ create_md5sums_fn () { cd $1 ; find . -type f ! -regex './DEBIAN/.*' ! -regex './var/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums ; if [ -z "DEBIAN/md5sums" ] ; then rm -f "DEBIAN/md5sums" ; fi ; } ; create_md5sums_fn /usr/local/src/linux/debian/linux-image-3.15.0-rc5 chmod -R og=rX /usr/local/src/linux/debian/linux-image-3.15.0-rc5 test ! -e /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/vmlinuz-3.15.0-rc5 || chmod og-rx /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/vmlinuz-3.15.0-rc5 test ! -e /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/System.map-3.15.0-rc5 || \ chmod og-rx /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/System.map-3.15.0-rc5 /usr/local/src/linux/debian/linux-image-3.15.0-rc5//boot/vmlinuz-3.15.0-rc5 chown -R root:root /usr/local/src/linux/debian/linux-image-3.15.0-rc5 dpkg --build /usr/local/src/linux/debian/linux-image-3.15.0-rc5 .. dpkg-deb: warning: parsing file '/usr/local/src/linux/debian/linux-image-3.15.0-rc5/DEBIAN/control' near line 26 package 'linux-image-3.15.0-rc5': missing architecture dpkg-deb: warning: ignoring 1 warning about the control file(s) dpkg-deb: building package `linux-image-3.15.0-rc5' in `../linux-image-3.15.0-rc5_3.15.0-rc5-1_.deb'. make[2]: Leaving directory '/usr/local/src/linux' make[1]: Leaving directory '/usr/local/src/linux'
-- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable'), (101, 'experimental') Architecture: i386 (x86_64) Kernel: Linux 3.14.4-nouveau+ (SMP w/2 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages kernel-package depends on: ii bc 1.06.95-8 ii binutils 2.24.51.20140425-1 ii build-essential 11.6 ii bzip2 1.0.6-5 ii file 1:5.18-1 ii gettext 0.18.3.2-1 ii kmod 17-2 ii po-debconf 1.0.16+nmu2 ii xmlto 0.0.25-2 ii xz-utils [lzma] 5.1.1alpha+20120614-2 Versions of packages kernel-package recommends: ii cpio 2.11+dfsg-2 pn docbook-utils <none> ii kernel-common 13.011 pn uboot-mkimage <none> Versions of packages kernel-package suggests: ii libncurses5-dev [libncurses-dev] 5.9+20140118-1 pn linux-source <none> -- no debconf information