[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#619186: Fix multiarch FHS exception for i386 in light of recent discussions

Package: debian-policy
Severity: normal
Tags: patch
User: debian-policy@packages.debian.org
Usertags: normative

Hi guys,

Attached is a patch to update policy's FHS exception to reflect the current
consensus among the gcc, eglibc, and dpkg maintainers around the paths to
use for implementation and the interface packages should use to query these

Cc:ing the respective maintainer mailing lists for sign-off.

Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org
From 1f0f1281c53701e2fe549ed9f80a265ebcd9282a Mon Sep 17 00:00:00 2001
From: Steve Langasek <steve.langasek@canonical.com>
Date: Mon, 21 Mar 2011 02:17:14 -0700
Subject: [PATCH] Fix multiarch FHS exception for i386 in light of recent discussions

The current value of DEB_HOST_GNU_TYPE on i386 is unsuitable for
cross-distro standardization, because it varies according to the default CPU
target of the toolchain.  Discussion with the toolchain and dpkg maintainers
yielded an alternative solution, a new dpkg-architecture variable
DEB_HOST_MULTIARCH which is committed to dpkg upstream in commit
af3153d09aa3ed5597d6d415e5ab7cc3ba972e7c and will be included in the upload
of dpkg 1.16.0.  Update Policy to document this new requirement for
 policy.sgml              |    4 ++--
 upgrading-checklist.sgml |    7 +++++++
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/policy.sgml b/policy.sgml
index 6e04c81..c708a18 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -6027,13 +6027,13 @@ install -m644 debian/shlibs.<var>package</var> debian/<var>package</var>/DEBIAN/
                   <file>/lib/<var>triplet</var></file> and
                   <file>/usr/lib/<var>triplet</var></file>, where
                   <tt><var>triplet</var></tt> is the value returned by
-                  <tt>dpkg-architecture -qDEB_HOST_GNU_TYPE</tt> for the
+                  <tt>dpkg-architecture -qDEB_HOST_MULTIARCH</tt> for the
                   architecture of the package.  Packages may <em>not</em>
                   install files to any <var>triplet</var> path other
                   than the one matching the architecture of that package;
                   for instance, an <tt>Architecture: amd64</tt> package
                   containing 32-bit x86 libraries may not install these
-                  libraries to <file>/usr/lib/i486-linux-gnu</file>.
+                  libraries to <file>/usr/lib/i386-linux-gnu</file>.
                     This is necessary in order to reserve the directories for
                     use in cross-installation of library packages from other
diff --git a/upgrading-checklist.sgml b/upgrading-checklist.sgml
index e696077..2138b5c 100644
--- a/upgrading-checklist.sgml
+++ b/upgrading-checklist.sgml
@@ -58,6 +58,13 @@ Unreleased.
   that install <prgn>/usr/bin/mailx</prgn> and implement at least the
   POSIX-required interface.
+  <item>Packages installing to architecture-specific subdirectories of
+  <file>/url/lib</file> must use the value returned by
+  <prgn>dpkg-architecture -qDEB_HOST_MULTIARCH</prgn>, not by
+  <prgn>dpkg-architecture -qDEB_HOST_GNU_TYPE</prgn>; this is a path change
+  on i386 architectures and a no-op for other architectures.
+  </item>
 <sect> Version

Attachment: signature.asc
Description: Digital signature

Reply to: