Bug#1011057: lintian: Add warning if a *.postinst file does not have #DEBHELPER#
hi,
On Jun/10/2022, Axel Beckert wrote:
> Control: tag -1 +moreinfo
>
> Hi Carles,
>
> Carles Pina i Estany wrote:
> > Package: lintian
> > Version: 2.104.0
> […]
> > It might be useful that lintian checked that each *.postinst contains
> > the #DEBHELPER# string.
> >
> > For example, I noticed a missing #DEBHELPER# when creating a package
> > that installed a systemd service but it did not start as expected.
>
> Lintian already has a tag named
> maintainer-script-lacks-debhelper-token for exactly that. See also
> https://lintian.debian.org/tags/maintainer-script-lacks-debhelper-token
Oops...
> The tag is though only emitted if debhelper is actually used.
>
> If in your case the tag should have been emitted but hadn't been
> emitted, please tell us which package at which version (or commit ID)
> this happened.
I had a look at lintian's source code and realised of what happened.
(I'm testing and reading lintian v2.104.0)
I was running:
$ lintian package.deb # on the binary package
If I run:
$ lintian package.dsc
it does show the warning.
I had expected that if a service is installed (in
/lib/systemd/system/*.service) the postinst should have:
"^# Automatically added by dh_installsystemd"
But I see how is easier and more reliable to maintain lintian doing the
check in the source package (I did not realise of the difference, I
don't usually do packaging so all the tools are new for me :-) )
After opening the bug I started using salsa-ci/pipeline which does it in
the source package and I see the warning if I "break" the package.
To me the bug can be closed and sorry for the noise!
Cheers,
--
Carles Pina i Estany
https://carles.pina.cat
Reply to: