Package: module-assistant Version: 0.11.6 Severity: normal module-assistant cannot install headers for a foreign-architecture kernel:
# dpkg --print-architecture i386 # uname -r 3.12-1-amd64 # dpkg -l linux-image-$(uname -r) Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================= ii linux-image-3. 3.12.8-1 amd64 Linux 3.12 for 64-bit PCs # m-a --text a-i leds-alix . Updated infos about 1 packages Getting source for kernel version: 3.12-1-amd64 apt-get install linux-headers-3.12-1-amd64 Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libgroupsock0 libkdc2-heimdal liblivemedia7 libserf1 libusageenvironment0 python-logilab-astng Use 'apt-get autoremove' to remove them. The following extra packages will be installed: linux-compiler-gcc-4.8-x86 linux-headers-3.12-1-common linux-kbuild-3.12 The following NEW packages will be installed: linux-compiler-gcc-4.8-x86 linux-headers-3.12-1-amd64 linux-headers-3.12-1-common linux-kbuild-3.12 0 upgraded, 4 newly installed, 0 to remove and 5 not upgraded. Need to get 4,945 kB of archives. After this operation, 31.9 MB of additional disk space will be used. Do you want to continue? [Y/n] This sometimes works at present, because the amd64 flavour is functionally identical and ABI-compatible on i386 and amd64, but I actually want to get rid of the amd64 flavour on i386 as it is now a waste of space and build time. (Similarly for the s390x flavour on s390.) But even now, the resulting module packages are built for the primary architecture, and some of them (depending on the 'source' package's template - dahdi-source is one example) have dependencies on linux-image-$kversion. That makes them uninstallable when the kernel is foreign. So I think that module-assistant should select a target architecture as follows: 1. Provide an option to set the target architecture explicitly. 2. If the option is not set, look for an installed linux-image or linux-headers package for the target kernel version. (a) If either or both are present then the target architecture is the architecture of the installed package(s). If both are installed but with different architectures, you could report an error or pick one as the winner. (b) If neither is present then the target architecture is the primary architecture. It should then explicitly specify that target architecture when installing linux-headers packages and when building packages. Ben. -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: i386 (x86_64) Foreign Architectures: amd64 Kernel: Linux 3.12-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages module-assistant depends on: ii bzip2 1.0.6-5 ii libtext-wrapi18n-perl 0.06-7 ii perl 5.18.1-5 ii xz-utils 5.1.1alpha+20120614-2 Versions of packages module-assistant recommends: ii liblocale-gettext-perl 1.05-7+b2 Versions of packages module-assistant suggests: ii build-essential 11.6 ii whiptail 0.52.15-3 -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org