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

Re: Bug#668505: dwarf fortress debian package



Thanks for the explanations ! Things are clearer now.

There is indeed one shared library in the package, located in
usr/lib/gemrb/. The library is only meant to be used by the game
executable, and that's why it is located here. The executable does not
need any help from ldconfig as it has its rpath pointing directly to
usr/lib/gemrb. I think that this unusual location is why lintian
complains about useless ldconfig. When I move the library to usr/lib,
the lintian warnings go away (although some other appear)

I can either:
- exclude usr/lib/gemrb from dh_makeshlibs
- compile the library and plugins as static libs and link them inside
the executable directly (although this is not what upstream does by
default)
- package the shared library in usr/lib, with multiarch, eventually,
and creating a dev package for it - this way library could be used by
other packages, although I don't think there are any at the moment.

Not sure what is the best course of action.
--
Beren Minor


On Wed, Sep 4, 2013 at 8:05 PM, Russ Allbery <rra@debian.org> wrote:
> Beren Minor <beren.minor+debian@gmail.com> writes:
>> On Wed, Sep 4, 2013 at 12:49 AM, Russ Allbery <rra@debian.org> wrote:
>
>>> Alternately (and in my opinion preferrably) just exclude the plugins
>>> directory from dh_makeshlibs:
>
>>>     override_dh_makeshlibs:
>>>             dh_makeshlibs -Xusr/lib/gemrb/plugins
>
>>> (This is really a (minor) upstream bug, since, as plugins, these objects
>>> should not have SONAMEs.)
>
>> Well, not setting SONAME in the plugins, and even overriding
>> dh_makeshlibs doesn't help with these lintian warnings.
>
> Hm, that makes me really wonder what's going on here.  That makes me think
> there's something deeper that isn't quite right.
>
> The Lintian warnings about invoking ldconfig indicate that dh_makeshlibs
> thought your package contained shared libraries, and therefore added that
> postinst fragment, but Lintian doesn't agree.  Lintian uses fairly complex
> logic to determine what are shared libraries and what aren't (which is
> suitable for a package checking tool where getting it wrong isn't a huge
> problem).  dh_makeshlibs takes a much more conservative approach to ensure
> that it doesn't *miss* any shared libraries, since that could cause
> user-visible issues, at the cost of possibly including things it
> shouldn't.
>
> My understanding is that it excludes any files that don't have SONAMEs and
> won't consider them shared libraries.  It certainly will exclude things
> that are explicitly excluded with -X.
>
> The short version is that dh_makeshlibs still thinks your package has
> non-excluded shared libraries in it.  Maybe in a different directory?  Or
> maybe the override didn't take?
>
> I don't think just ignoring the Lintian warnings is really the right
> solution, although it's not a bad expedient solution in the name of
> getting the package in front of users.  The invocations of ldconfig are
> harmless in terms of correct functionality, but they do take a bit of
> unnecessary time.  It's the kind of thing that I'd obsess over getting
> right if I were you, but I respect other people's lack of desire to care
> as much about little nits as I do.  :)
>
> Regardless, though, I wouldn't override the Lintian warnings unless you've
> confirmed that your postinst actually doesn't call ldconfig, or that it
> *needs* to call ldconfig because your package does contain shared
> libraries.  If neither of those are true, Lintian is actually correct; I
> think it's better to leave the warnings visible so that people (including
> yourself later on) know it's an unfixed problem, rather than suppressing
> them.  You don't have to fix every Lintian warning immediately; some of my
> packages have had them for a time until I found the right solution.  (Of
> course, I'm not a sponsor, and some sponsors may have different policies.)
>
> --
> Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>
>
>
> --
> To UNSUBSCRIBE, email to debian-mentors-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: [🔎] 87ioygihss.fsf@windlord.stanford.edu">http://lists.debian.org/[🔎] 87ioygihss.fsf@windlord.stanford.edu
>


Reply to: