Bug#1033894: lintian: bad-distribution-in-changes-file bookworm

2024-02-05 Thread Arnaud Rebillout
On Tue, 28 Nov 2023 13:00:00 -0700 =?UTF-8?B?T3R0byBLZWvDpGzDpGluZW4=?= 
 wrote:


> The fix for this issue is still only in git at
> 
https://salsa.debian.org/lintian/lintian/-/commit/ebb739d102d55797516c0f10452e4e4c2502644d

> and there has not been any new Lintian uploads since Lintian 2.116.3
> in February 2023.
>
> Anybody maintaining packages in Bookworm and using Salsa-CI is bound
> to hit on hard failure as Lintian will error on this one. Example
> https://salsa.debian.org/otto/mariadb-server/-/jobs/4976386:
>
> E: mariadb changes: bad-distribution-in-changes-file bookworm


The fix was released in lintian 2.117.0. But unless it's backported to 
bookworm, the problem you highlighted remains.


--
Arnaud Rebillout / OffSec / Kali Linux Developer



Bug#930472: lintian: systemd-service-file-missing-install-key shouldn't fire for dbus activated services

2019-06-13 Thread Arnaud Rebillout
  Hi Chris,

On 6/13/19 11:05 PM, Chris Lamb wrote:
> tags 930472 + moreinfo
> thanks
>
> Hi Arnaud,
>
>> Upstream ships a systemd service file, and a d-bus service file. The
>> rauc daemon is d-bus activated (meaning, it's automatically started by
>> the client when needed).
> […]
>> So, well, I don't know if Lintian is aware of dbus service files that
>> get installed at `/usr/share/dbus-1/` (I'm not familiar with lintian at
>> all). If so, then Lintian could look for a key `SystemdService=` in the
>> d-bus service file, along with `BusName=` in the systemd service file.
> Perhaps I'm missing something but it looks sufficient to not emit this
> tag if the .service file contains a `BusName=` key, no need to look at
> any other files.


I did a bit of reading, but I'm not the d-bus expert, so this is just my
understanding.

1. A d-bus service that wants to "bus-activatable" ships a d-bus service
file in /usr/share/dbus-1 [1]
2. A d-bus service that wants to be started with systemd ships a systemd
service file in /lib/systemd/system, and provides `BusName=`
3. A d-bus service that wants both ships both files, and uses
`SystemdService=` in the d-bus service file, so that d-bus can let
systemd start the service.

Based on that, it seems to me that there's room for d-bus service that
just do number 2: ship a systemd service file, but don't want to be
dbus-activatable, and don't ship a d-bus service file.

Well, that's my understanding, and that's just theory.

Practice now, let me check what's up on my system

  $ ack -l BusName= /lib/systemd/system | wc -l
  27
  $ ack -l BusName= /lib/systemd/system | xargs grep '\[Install\]' | wc -l
  11
  # -> a bit less than 50% of the BusName= services here have an
[Install] section


Now let's see how many of these services have a d-bus service file that
contains `SystemdService=`


  $ c=0
  $ services=$(ack -l BusName= /lib/systemd/system | rev | cut -d/ -f1 |
rev | sort)
  $ for svc in $services; do grep -q -rn "SystemdService=$svc"
/usr/share/dbus-1/ || { echo "$svc ko"; c=$(expr $c + 1); }; done
  $ echo "$c BusName= systemd services don't have a dbus service file
with SystemdService="
  avahi-daemon.service ko
  bluetooth.service ko
  gdm.service ko
  iio-sensor-proxy.service ko
  ModemManager.service ko
  NetworkManager-dispatcher.service ko
  NetworkManager.service ko
  switcheroo-control.service ko
  systemd-hostnamed.service ko
  systemd-importd.service ko
  systemd-localed.service ko
  systemd-logind.service ko
  systemd-machined.service ko
  systemd-timedated.service ko
  14 BusName= systemd services don't have a dbus service file with
SystemdService=

I didn't look into all of them. But avahi proved to be a good example of
a the case number 2. If you look at
usr/share/dbus-1/system-services/org.freedesktop.Avahi.service, you will
see:

  # This service should not be bus activated if systemd isn't running,
  # so that activation won't conflict with the init script startup.
  Exec=/bin/false

So this is a good example of a service that provides `BusName=` and also
requires a Install section in the systemd service file.

What do you think of all of that ?

Cheers,

  Arnaud



[1]: https://dbus.freedesktop.org/doc/system-activation.txt



Bug#930472: lintian: systemd-service-file-missing-install-key shouldn't fire for dbus activated services

2019-06-13 Thread Arnaud Rebillout
Package: lintian
Version: 2.15.0
Severity: normal

Dear Maintainer,

   * What led up to the situation?

I'm working on the rauc package at https://salsa.debian.org/debian/rauc/

   * What exactly did you do (or not do) that was effective (or
 ineffective)?

I build the package, then lintian runs.

   * What was the outcome of this action?

Lintian complains about systemd-service-file-missing-install-key, and
it's true, there's no install key in the rauc.service file provided by
upstream.

   * What outcome did you expect instead?

The warning should not fire in this case.

Upstream ships a systemd service file, and a d-bus service file. The
rauc daemon is d-bus activated (meaning, it's automatically started by
the client when needed).

This use-case is described in the systemd service documentation,
https://www.freedesktop.org/software/systemd/man/systemd.service.html#id-1.10.6,
(see Example 5. DBus services).

May I quote:

For bus-activatable services, do not include a "[Install]" section
in the systemd service file ...

So, well, I don't know if Lintian is aware of dbus service files that
get installed at `/usr/share/dbus-1/` (I'm not familiar with lintian at
all). If so, then Lintian could look for a key `SystemdService=` in the
d-bus service file, along with `BusName=` in the systemd service file.

If both are found, Lintian shouldn't complain then about a missing
[Install] key. We could even go as far as asking Lintian to complain
about the *existence* of [Install] in this case, but maybe I'm getting
carried away...

Thanks,

  Arnaud

-- System Information:
Debian Release: 10.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-5-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages lintian depends on:
ii  binutils   2.31.1-16
ii  bzip2  1.0.6-9
ii  diffstat   1.62-1
ii  dpkg   1.19.6
ii  dpkg-dev   1.19.6
ii  file   1:5.35-4
ii  gettext0.19.8.1-9
ii  gpg2.2.12-1
ii  intltool-debian0.35.0+20060710.5
ii  libapt-pkg-perl0.1.34+b1
ii  libarchive-zip-perl1.64-1
ii  libcapture-tiny-perl   0.48-1
ii  libcgi-pm-perl 4.40-1
ii  libclass-accessor-perl 0.51-1
ii  libclone-perl  0.41-1+b1
pn  libdigest-sha-perl 
ii  libdpkg-perl   1.19.6
ii  libemail-valid-perl1.202-1
ii  libfile-basedir-perl   0.08-1
ii  libio-async-perl   0.72-1
ii  libipc-run-perl20180523.0-1
ii  liblist-moreutils-perl 0.416-1+b4
ii  libparse-debianchangelog-perl  1.2.0-13
ii  libpath-tiny-perl  0.108-1
ii  libtext-levenshtein-perl   0.13-1
ii  libtimedate-perl   2.3000-2
ii  libtry-tiny-perl   0.30-1
ii  liburi-perl1.76-1
ii  libxml-simple-perl 2.25-1
ii  libyaml-libyaml-perl   0.76+repack-1
ii  man-db 2.8.5-2
ii  patchutils 0.3.4-2
ii  perl   5.28.1-6
ii  t1utils1.41-3
ii  xz-utils   5.2.4-1

Versions of packages lintian recommends:
ii  libperlio-gzip-perl  0.19-1+b5

Versions of packages lintian suggests:
pn  binutils-multiarch 
ii  libhtml-parser-perl3.72-3+b3
ii  libtext-template-perl  1.55-1

-- no debconf information



Bug#891892: lintian: False positive: statically-linked-binary despite the Build-Depends on golang-go

2018-03-01 Thread Arnaud Rebillout
Package: lintian
Version: 2.5.67~bpo9+1
Severity: normal

Dear Maintainer,

Package concerned (should be pushed in Debian experimental soon)

https://salsa.debian.org/elboulangero-guest/golang-gogottrpc

Build the package with

gbp clone https://salsa.debian.org/elboulangero-guest/golang-gogottrpc.git
cd golang-gogottrpc
gbp buildpackage --git-pbuilder --git-dist=sid

Then run lintian

lintian ../golang-gogottrpc*changes
E: gogottrpc: statically-linked-binary usr/bin/protoc-gen-gogottrpc
W: gogottrpc: binary-without-manpage usr/bin/protoc-gen-gogottrpc

The statically-linked-binary warninf shouldn't be there, as the field
Build-Depends contains:

golang-go (>= 2:1.9~) | golang-1.9-go

Best regards,

  Arnaud

-- System Information:
Debian Release: 9.3
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-6-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages lintian depends on:
ii  binutils  2.28-5
ii  bzip2 1.0.6-8.1
ii  diffstat  1.61-1+b1
ii  dpkg  1.18.24
ii  file  1:5.30-1+deb9u1
ii  gettext   0.19.8.1-2
ii  intltool-debian   0.35.0+20060710.4
ii  libapt-pkg-perl   0.1.32
ii  libarchive-zip-perl   1.59-1
ii  libclass-accessor-perl0.34-1
ii  libclone-perl 0.38-2+b1
ii  libdpkg-perl  1.18.24
ii  libemail-valid-perl   1.202-1
ii  libfile-basedir-perl  0.07-1
ii  libipc-run-perl   0.94-1
ii  liblist-moreutils-perl0.416-1+b1
ii  libparse-debianchangelog-perl 1.2.0-12
ii  libperl5.24 [libdigest-sha-perl]  5.24.1-3+deb9u2
ii  libtext-levenshtein-perl  0.13-1
ii  libtimedate-perl  2.3000-2
ii  liburi-perl   1.71-1
ii  libxml-simple-perl2.22-1
ii  libyaml-libyaml-perl  0.63-2
ii  man-db2.7.6.1-2
ii  patchutils0.3.4-2
ii  perl  5.24.1-3+deb9u2
ii  t1utils   1.39-2
ii  xz-utils  5.2.2-1.2+b1

Versions of packages lintian recommends:
ii  libperlio-gzip-perl  0.19-1+b2

Versions of packages lintian suggests:
ii  binutils-multiarch 2.28-5
ii  dpkg-dev   1.18.24
ii  libhtml-parser-perl3.72-3
pn  libtext-template-perl  

-- no debconf information