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

MBF: Getting rid of unneeded *.la / emptying dependency_libs

On Mon, 04 Apr 2011 10:49:04 -0700
Russ Allbery <rra@debian.org> wrote:

> Neil Williams <codehelp@debian.org> writes:
> > The line in the original data is:
> > shibboleth-sp2: dependency_libs links-not-existing-la 
> > The original criteria were:
> > 1. "no flag" to remove the la-file on next occasion
> > 2. only "dependency_libs" to remove their la-file RSN, because they
> >    block removal of the la-files on another package (this flag can be
> >    wrongly hit if a package depends only on itself - but well,
> >    dropping the la-file is recommended as well here as with 1.)
> > 3. only "depended-on" to do nothing at this time
> > 4. with both "dependency_libs depended-on" to use
> >    sed -i "s,^dependency_libs=.*,dependency_libs='',"
> >    on all their la-files (I took care that self-dependencies don't
> >    appear in this category, but rather in 1 or 2).
> > So where is the error? In the original data?
> No, indeed, dependency_libs should be stripped from those files.  It
> doesn't need to be, really, since it's obviously never used by anything
> (referencing non-existent files as it does), but for cleanliness it should
> go anyway.
> I believe the *.la files need to stay since I think upstream is loading
> modules that way, but I will double-check.  But they're harmless for
> Debian as a whole.

OK, so this is one of those situations where the .la file, with or
without dependency_libs IS useful - Sune pointed out another. It does
sound, though, that these are exceptions rather than routine.

> >> Lintian already checks that *.la files don't contain the problematic
> >> dependency_libs setting.
> This apparently just isn't true.  I could have sworn that we had a check,
> but we apparently do not.  We definitely should.  That's probably why
> there are so many problems; I suspect a lot of them would go away if there
> were a Lintian check.

As outlined previously, this does need to be done in a fairly strict
sequence which is external to the package. It might be hard for lintian
to make this into an error for all packages. 

Many packages (all those in the list with depended-on) must not touch
their .la files at this stage - including the dependency_libs listing.

I think we need to get this Release Goal completed and *then* set up a
lintian warning for *any* .la file which must be explicitly overruled
for those exceptions which actually use the .la file. There could also
be an error if any package then includes an .la file with
dependency_libs - only once the entire process is complete first time
around. That could be a while...

With the caveats already covered in this thread (excepting kdelibs), are
there objections to a MBF for this outdated Release Goal? We've already
missed this Release Goal once, probably because no bugs were filed
first time around.

I'd phrase it something like:

"In most cases, the .la file can simply be removed as the process
behind this MBF has already identified that there are no further
dependencies using the .la file. In the unusual case that your package
uses libltdl directly, it is still necessary to empty the
dependency_libs part of all .la files remaining in the package. Once
this package is fixed, the process will repeat and other packages may
need to be fixed in turn. If you believe that your package needs both
the .la file and the dependency_libs settings, please raise this on
debian-devel for clarification."

Right. Time for me to make some uploads to fix my own packages for this
run and then look for the next set.


Neil Williams

Attachment: pgpodyd5VvZZq.pgp
Description: PGP signature

Reply to: