[debhelper-devel] Bug#759812: Bug#759812: Make the multiarch tuple available in helpers

Peter Pentchev roam at ringlet.net
Sat Aug 30 17:21:31 UTC 2014


On Sat, Aug 30, 2014 at 09:54:03AM -0700, Christian Kastner wrote:
> Package: debhelper
> Version: 9.20140817
> Severity: wishlist
> Tags: patch
> 
> With multiarch, some use cases which would traditionally be solved
> through the static *.dirs, *.install, and *.link files now require
> hackery in debian/rules instead, as some of the operations need the
> build-time multiarch tuple.
> 
> It would be great if these files would support a substitution or
> placeholder for the multiarch tuple so that we can go back to the
> traditional approach even for multiarch packages.
> 
> 
> Example #1
> ==========
> 
> A library package with a custom Makefile that installs everything to
> $(DESTDIR), and in particular the shared library to a hard-coded
> $(DESTDIR)/usr/lib/.
> 
> Before multi-arch, this was not an issue. I would just have created
> simple one-line debian/libfooX.install files, and be done with it. Now,
> I have to query DEB_HOST_MULTIARCH in debian/rules, override dh_install,
> and move stuff around manually. Given the long path names involved, this
> is really clutters up things.
> 
> Example #2
> ==========
> 
> An essential library package using autoconf.
> 
> The FHS specifies that the essential library should go into /lib/, but
> development files (eg: .so symlink, pkgconfig files) must go into
> /usr/lib/. This, too, requires a lot of manual moving and symlinking
> where otherwise one-line *.{dirs,install,link} files would have sufficed.

Hmm, you do realize that for both these examples in most cases something
like /usr/lib/*/... would work?  For example, libfreetype6-dev has this
in debian/libfreetype6.install:

  usr/lib/*/*.so.*

And dh_install(1) scans all subdirectories of debian/tmp/usr/lib/ for
files matching the rest of the glob pattern and copies them over.

Also, a not-uploaded-yet version of dante has this in
dante-client.install:

  usr/lib/*/dante-client/libdsocksd.so

I'm not saying that your patch is a bad thing; on the contrary, some
kind of replacement mechanism would make things a bit more explicit.
All I'm saying is that in most cases it is possible even now to install
multiarch libraries without autogenerating debian/*.install files.

G'luck,
Peter

-- 
Peter Pentchev  roam at ringlet.net roam at FreeBSD.org p.penchev at storpool.com
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/debhelper-devel/attachments/20140830/69370b75/attachment-0003.sig>


More information about the debhelper-devel mailing list