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

Reply via email to