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

Christian Kastner debian at kvr.at
Sat Aug 30 19:07:06 UTC 2014


On 2014-08-30 10:21, Peter Pentchev wrote:
> On Sat, Aug 30, 2014 at 09:54:03AM -0700, Christian Kastner wrote:
>>
>> 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.

That works only for the source argument and iff the source argument is
already multiarch-ified (so that the glob pattern matches), which is not
the case in Example #1.

But if you need the multiarch *destination* for any reason, as in
Example #2, that won't work.

Christian




More information about the debhelper-devel mailing list