#1102136 lintian: Lintian emits ancient-libtool even when using dh_autoreconf

Package:
lintian
Source:
lintian
Submitter:
Nicolas Schodet
Date:
2026-03-18 19:03:01 UTC
Severity:
normal
Tags:
#1102136#5
Date:
2025-04-05 14:33:19 UTC
From:
To:
Hello,

Lintian checks whether the package build depends on libtool or
dh-autoreconf, but this is no longer needed as dh depends on
dh-autoreconf now.

I remove the obsolete files in the clean rules and use dh_autoreconf,
but lintian can not see it as the obsolete files are still present in
sources.

Thanks,

Nicolas.

#1102136#10
Date:
2025-05-22 13:43:01 UTC
From:
To:
tags 1102136 + moreinfo
thanks

Hello,

Thanks for reporting this bug. I'll need more info to make a change, as
I'm not familiar enough with this issue.

Could you point me to a package or give me concrete examples of when the
tag should not be emitted?

Cheers,

#1102136#17
Date:
2025-05-23 06:36:30 UTC
From:
To:
Hi,

* Louis-Philippe Véronneau <pollo@debian.org> [2025-05-22 09:43]:

https://udd.debian.org/lintian/?packages=gcc-h8300-hms<_overridden=on

Here is the rules files, it removes the obsolete libtool files and run
dh_autoreconf:

https://salsa.debian.org/debian-lego-team/gcc-h8300-hms/-/blob/master/debian/rules?ref_type=heads#L29

In lintian, it checks the dependency on libtool | dh-autoreconf:

https://salsa.debian.org/lintian/lintian/-/blob/master/lib/Lintian/Check/BuildSystems/Autotools/Libtool.pm#L66

But as debhelper depends on dh-autoreconf, this would be a redondant
dependency.

I however have no idea on how the check could be changed.

Nicolas.

#1102136#22
Date:
2026-03-18 18:34:43 UTC
From:
To:
Someone could also add ltconfig etc to debian/clean or even do a "mv ltconfig ltconfig.old"
somewhere and try doing something else to actually not use libtool.

Given that lintian is a static checking tool, it is really hard for it to
actually detect N number of patterns when someone is not actually using
libtool to do things despite when files triggering those checks are clearly present.
This is probably one of those cases wherein we would need to as the maintainer
to actually add an override.

Maybe the severity of this could be lowered in the best case.

For this package in particular, it is probably best to have the override be
there as it is. Or otherwise, for better package quality, you might want
to re-pack obsolete files altogether.

@pollo: what do you think?

Thanks
Nilesh

#1102136#27
Date:
2026-03-18 19:01:46 UTC
From:
To:
And with respect to this part of the bug report, it appears to me that something
in the check ought to be changed.

Debhelper depends on dh-autoreconf and dh-autoreconf depends on libtool.
So as such both the checks are redundant.

The check in question that we talk about it is:

|    $self->pointed_hint('ancient-libtool', $item->pointer)
|      if $item->basename eq 'ltconfig'
|      && $item->name !~ m{^ debian/ }sx
|      && !$self->libtool_in_build_depends;

`libtool_in_build_depends` checks for "dh-autoreconf | libtool".

It seems that when the check was added, it was added with the assumption that
build depending on either of the two would mean that the maintainer is going
to run them in d/rules and hence this tag was not
triggered if a B-D on dh-autoreconf or libtool was found.

However, with debhelper depending on these now, we can think of modifying checks
in 2 ways:

1. Assume that if a package build depends on debhelper it will always run autoreconf
and we will not have the ancient libtool issue ever. This does not work when packages
start to override dh_autoreconf and do not run dh_autoreconf again. I can see some
packages doing that [1] but not many in number. This would fix the problem for the
package in question (gcc-h8300-hms) as well.

2. Drop the check on `libtool_in_build_depends` altogether and just assume that whenever
we see these files it is going to be a problem. But this would mean that FPs will be
triggered.

Both of them appear not optimal to me. @pollo again, any opinions?

[1] https://codesearch.debian.net/search?q=override_dh_autoreconf+path%3Adebian%2Frules&literal=1&page=13

Thanks
Nilesh