change of *_GNU_{SYSTEM,TYPE} (silently) breaks package builds

Bug #17339 reported by Matthias Klose
14
Affects Status Importance Assigned to Milestone
dpkg (Ubuntu)
Invalid
Critical
Scott James Remnant (Canonical)

Bug Description

dpkg-1.13 did change the system from 'linux' to 'linux-gnu'. Many packages
visibly fail, others are silently misconfigured/patched and built. Please revert
this change until Debian switches to the new dpkg version as well. It's no
benefit in the current situation. Affected packages are glibc, gcc, ruby1.8 to
name the already known ones.

Revision history for this message
Matthias Klose (doko) wrote :

*** Bug 17376 has been marked as a duplicate of this bug. ***

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

This isn't a dpkg bug. It was a deliberate decision to make these variables
contain the right values; the packages depending on these values not changing
are wrong.

In summary:

DPKG_*_ARCH and DPKG_*_ARCH_* are invariant, decided by Debian.

DPKG_*_GNU_* are variant, decided by GNU and occasionally changed.

debian/rules should use the values of the invariant ARCH variables, DEB_*_ARCH
is "i386" or "freebsd-i386", etc. DEB_*_ARCH_OS is "linux" or "freebsd",
DEB_*_ARCH_CPU is "i386" in both circumstances.

For backward-compatibility, the right change would be to test the value of
DEB_*_ARCH_OS and if that doesn't exist, fall back to using DEB_*_GNU_SYSTEM_TYPE.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.