On Sat, Jul 02, 2011 at 10:25:51PM +0300, Niko Tyni wrote:
> On Fri, Jul 01, 2011 at 02:28:12PM -0500, Jonathan Nieder wrote:
> > Niko Tyni wrote:
> 
> > > Maybe go back to specifying plibpth manually to Configure for a while
> > > (overriding the upstream change of parsing 'gcc -print-search-dirs'),
> > > and Build-Depend on 
> > >  gcc-4.6 (>= 4.6.0-13) | gcc-4.4 (>= 4.4.6-4)
> > > which guarantees that /usr/lib/<triplet> exists regardless of which gcc
> > > is actually used.
> 
> Unfortunately it's even worse: the default gcc on hppa is 4.5.
> That makes
> 
>  gcc-4.6 (>= 4.6.0-13) | gcc-4.5 (>= 4.5.3-3) | gcc-4.4 (>= 4.4.6-4)

Nah, I see I've been making this needlessly difficult from the start.
There's already a mechanism for post-Configure tweaks, debian/config.over.

The attached patch should be good enough. Jonathan, thanks for your help
and for enduring all my useless iterations :)
-- 
Niko Tyni   nt...@debian.org
>From 48ffcccda8971ed9128902a500533486bad23999 Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Mon, 4 Jul 2011 10:52:46 +0300
Subject: [PATCH] Force /usr/lib/<triplet> into $Config{libpth} even if
 doesn't exist yet.

* debian/config.over: Force the multiarch directory /usr/lib/<triplet>
  into $Config{libpth} even if doesn't exist yet. This should guarantee
  that ExtUtils::Embed works on multiarch enabled system even when
  the package isn't built on one. Thanks to Jonathan Nieder.
  (Closes: #630399)
  + needs a build dependency on dpkg-dev (>= 1.16.0) for
    "dpkg-architecture -qDEB_HOST_MULTIARCH".
---
 debian/changelog   |    8 +++++++-
 debian/config.over |    8 ++++++++
 debian/control     |    3 ++-
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 21c2a3f..0f9885b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,12 @@
 perl (5.12.4-2) UNRELEASED; urgency=low
 
-  * 
+  * debian/config.over: Force the multiarch directory /usr/lib/<triplet>
+    into $Config{libpth} even if doesn't exist yet. This should guarantee
+    that ExtUtils::Embed works on multiarch enabled system even when
+    the package isn't built on one. Thanks to Jonathan Nieder.
+    (Closes: #630399)
+    + needs a build dependency on dpkg-dev (>= 1.16.0) for
+      "dpkg-architecture -qDEB_HOST_MULTIARCH".
 
  -- Niko Tyni <nt...@debian.org>  Mon, 04 Jul 2011 10:42:42 +0300
 
diff --git a/debian/config.over b/debian/config.over
index fa0dd30..31b3c88 100644
--- a/debian/config.over
+++ b/debian/config.over
@@ -58,6 +58,14 @@ if [ "$i_db" != "$define" ]; then
     exit 1
 fi
 
+# force /usr/lib/<triplet> into $Config{libpth} if it's not there yet
+# see #630399
+multiarch_dir=/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`
+if ! echo $libpth | grep -q "$multiarch_dir"
+then
+    libpth="$libpth $multiarch_dir"
+fi
+
 # set generic email addresses, host/domain names
 cf_by='Debian Project'
 cf_email=p...@packages.debian.org
diff --git a/debian/control b/debian/control
index 218e293..bc1858b 100644
--- a/debian/control
+++ b/debian/control
@@ -5,7 +5,8 @@ Maintainer: Niko Tyni <nt...@debian.org>
 Uploaders: Dominic Hargreaves <d...@earth.li>
 Standards-Version: 3.9.2
 Build-Depends: file, cpio (>= 2.6-5), libdb-dev, libgdbm-dev, netbase [!hurd-i386],
- gcc (>= 4:4.2), procps | hurd, zlib1g-dev | libz-dev, libbz2-dev
+ gcc (>= 4:4.2), procps | hurd, zlib1g-dev | libz-dev, libbz2-dev,
+ dpkg-dev (>= 1.16.0)
 Build-Conflicts: libterm-readline-gnu-perl (<< 1.17), libfile-sharedir-perl
 Vcs-Git: git://anonscm.debian.org/perl/perl.git
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=perl/perl.git

Reply via email to