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

Re: Elegant Debhelper way to specify files between runtime and debug library packages



Ben Finney <ben+debian@benfinney.id.au> writes:

> What is the recommended way to specify packaging for a library package
> and its corresponding debug symbols package?

I use the following line at the top of my debian/rules:
 export DH_OPTIONS += --dbg-package=foo-dbg

This appears to do the right thing with dh compat level >= 8, havent
tested with earlier, but should work there too.

Though, the few places I use this, are pure C libraries, which are, I
assume, a bit different from what you're doing.

> With a previous Debhelper (7.x), I could specify it with ‘debian/rules’
> in the ‘install’ and ‘override_dh_auto_install’ target:
>
>     install: build
>             dh $@
>
>     override_dh_strip:
>             dh_strip --dbg-package=foo-dbg
>
> With the current Debhelper (in version 8 mode), that fails to put the
> files in the right place AFAICT. I am now resorting to this less-elegant
> solution:
>
>     install: build
>             dh $@ --package=foo --exclude "*_d.so"
>             dh $@ --package=foo-dbg
>
>     override_dh_strip:
>             dh_strip --dbg-package=foo-dbg

Are you sure dh7 excluded _d.so? I failed to find anything in
debhelper's git history that did that.

> That's a step backward, because if I need more packages, the ‘install’
> rule starts to grow more special cases, defeating some of the
> auto-detect features of Debhelper.

You could do something like:

install: build
	dh $@ --package=foo-dbg
	dh $@ --exclude "*_d.so"

debhelper should know that it did install foo-dbg already, so in the
second case, it won't install that again. (AFAIK, haven't tested, so I
might be wrong here).

-- 
|8]


Reply to: