retitle 676168 debhelper: dh_shlibdeps uses DEBIAN/shlibs (from dh_makeshlibs)
instead of $package.shlibs (from maintainer)
thanks
On 2012-06-05 18:03, Joey Hess wrote:
> dh_makeshlibs is intended to generate a shlibs file for you. If you
> already have your own handcrafted shlibs file, that will take
> precidence, as seen in the above transcript.
It does not take precedence during the dh_shlibdeps call within this
package build:
>> $ cat debian/amd-libopencl1.shlibs
>> libOpenCL 1 libopencl1
>> debian/rules override_dh_makeshlibs
>> dh_makeshlibs
>> ...
>> echo 'libOpenCL 1 amd-libopencl1'
>> >>debian/amd-libopencl1/DEBIAN/shlibs
>> ...
>> dh_shlibdeps
>> ...
>> dpkg-shlibdeps -Tdebian/amd-clinfo.substvars
>> debian/amd-clinfo/usr/bin/clinfo
>> ...
That uses debian/amd-libopencl1/DEBIAN/shlibs instead of
debian/amd-libopencl1.shlibs, creating an unwanted
Depends: amd-libopencl1
>> dh_installdeb
>> ...
>> install -o 0 -g 0 -m 644 -p debian/amd-libopencl1.shlibs
>> debian/amd-libopencl1/DEBIAN/shlibs
now we got the right one into the package and it will be used for all
packages Build-Depending on amd-libopencl1, but not the packages built
from the same source as amd-libopencl1
> I don't see a bug here.
I hope I described the problem clearer this time.
Either dh_makeshlibs or dh_shlibdeps should be fixed,
and dh_makeshlibs looks to me as the better place.
>> The intention is to replace the "amd-libopencl1" package name with the
>> virtual package "libopencl1" that is provided by all implementations of
>> libOpenCL.so.1, unfortunately the amd-clinfo package picks up the strict
>> dependency on amd-libopencl1. This is not what I intended.
Andreas
PS: my current workaround is:
override_dh_shlibdeps:
cat debian/*.shlibs > debian/shlibs.local
dh_shlibdeps
rm debian/shlibs.local
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]