# breaking a 'should' req from §8.6 tags 712666 serious thanks On Fri, Jun 21, 2013 at 11:42 AM, Vincent Cheng <vincentc1...@gmail.com> wrote: > On Wed, Jun 19, 2013 at 2:28 AM, Mathieu Malaterre <ma...@debian.org> wrote: >> On Wed, Jun 19, 2013 at 11:21 AM, Vincent Cheng <vincentc1...@gmail.com> >> wrote: >>> On Tue, Jun 18, 2013 at 5:50 AM, Mathieu Malaterre <ma...@debian.org> wrote: >>>> I would say that d/control is incomplete, it should read: >>>> >>>> Package: primus-libs >>>> Architecture: i386 amd64 >>>> Depends: ${shlibs:Depends}, ${misc:Depends}, libglapi-mesa >>>> >>>> Here is what i see: >>>> >>>> $ strings /usr/lib/primus/libGL.so.1 | grep glapi >>>> libglapi.so.0 >>>> >>>> >>>> Comments ? >>> >>> Why does dpkg-shlibdeps not add libglapi-mesa as a dependency / how >>> can I get dpkg-shlibdeps to do that? I'd much rather avoid hardcoding >>> dependencies if at all possible. >> >> Simply because the lib is never linked in. It is dlopen'ed: >> >> $ grep -r PRIMUS_LOAD_GLOBAL * >> libglfork.cpp: needed_global(dlopen(getconf(PRIMUS_LOAD_GLOBAL), >> RTLD_LAZY | RTLD_GLOBAL)), >> >> dpkg-shlibdeps simply read the output of readelf -d /usr/lib/bla.so. >> So in this case yes you have to explicitly add the Depends yourself >> -IMHO-. Maybe there are other way to do it, but I do not know. >> >> HTH > > After a short conversation with upstream [1], I believe that this is > more likely than not some sort of packaging issue with mesa. Mesa in > all currently supported versions of Debian is built with > --enable-shared-glapi, so theoretically libgl1-mesa-glx (which > contains mesa's libGL.so.1) should pull in libglapi-mesa > automatically. That's definitely the case on my current jessie/sid > system: > > $ apt-cache depends libgl1-mesa-glx | grep glapi > Depends: libglapi-mesa > > i.e. we shouldn't have to declare an explicit dependency on libglapi-mesa.
libglapi-mesa only appears in wheezy, ref: http://packages.debian.org/unstable/libglapi-mesa Your package thus: 1. does not work on oldstable (squeeze), and any derivatives at that point 2. does not list a required dependency (what if the ABI changes ?) 3. any new arch added to debian (or derivatives), where mesa is built with --disable-shared-glapi will not work As described in the bug report upstream, this is a clear dependency and is a requirerment. I do not understand why you would not want to clarify that at debian/control level... I understand (1) & (3) should be very rare event. However (2) is pretty clear, see §8.6 Dependencies between the library and other packages http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-depends [Other packages which use a shared library (for example using dlopen()) should compute appropriate dependencies using these files at build time as well.] -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org