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

Bug#994793: lintian: patch-system-but-direct-changes-in-diff false positive: Checks ../<pkg>_<ver>.diff.gz even if not listed in ../<pkg>_<ver>_<arch>.changes



Package: lintian
Version: 2.106.1
Severity: normal

I converted a package (trickle) from source format 1.0 to source format
3.0 (quilt).

>From a former test build there was a leftover trickle_1.07-11.diff.gz
file in the parent directory while the source package build now only
generates the trickle_1.07-11.debian.tar.xz file instead and also only
lists that in the changes (or .dsc) file.

Lintian nevertheless emitted the following tag despite the package was
fully and cleanly converted to source format 3.0 (quilt):

W: trickle source: patch-system-but-direct-changes-in-diff trickled.conf and 10 more

Here's the current content of ../trickle_1.07-11.debian.tar.xz:

drwxr-xr-x 0/0               0 2021-09-20 00:31 debian/
-rw-r--r-- 0/0            4617 2021-09-20 00:31 debian/changelog
-rw-r--r-- 0/0              51 2021-09-20 00:31 debian/clean
-rw-r--r-- 0/0             781 2021-09-20 00:31 debian/control
-rw-r--r-- 0/0            1667 2021-09-20 00:31 debian/copyright
-rw-r--r-- 0/0              85 2021-09-19 12:48 debian/dirs
-rw-r--r-- 0/0              18 2021-09-20 00:31 debian/install
-rw-r--r-- 0/0              84 2021-09-19 12:48 debian/lintian-override
-rw-r--r-- 0/0              20 2021-09-20 00:31 debian/manpages
drwxr-xr-x 0/0               0 2021-09-20 00:31 debian/patches/
-rw-r--r-- 0/0            1411 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_Makefile.am.patch
-rw-r--r-- 0/0             441 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_configure.in.patch
-rw-r--r-- 0/0            1455 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_getopt.c.patch
-rw-r--r-- 0/0             468 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_test.c.patch
-rw-r--r-- 0/0            3143 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_trickle-overload.c.patch
-rw-r--r-- 0/0            1089 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_trickle.1.patch
-rw-r--r-- 0/0            1674 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_trickle.c.patch
-rw-r--r-- 0/0             229 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_tricklectl.c.patch
-rw-r--r-- 0/0             940 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_trickled.8.patch
-rw-r--r-- 0/0             209 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_trickled.conf.5.patch
-rw-r--r-- 0/0             433 2021-09-20 00:31 debian/patches/diff_as_of_1.07-10.1_trickled.conf.patch
-rw-r--r-- 0/0             319 2021-09-20 00:31 debian/patches/fix-test-for-dh-compat-13.patch
-rw-r--r-- 0/0             483 2021-09-20 00:31 debian/patches/series
-rw-r--r-- 0/0            1142 2021-09-20 00:31 debian/patches/trickle.tirpc.patch
-rwxr-xr-x 0/0             123 2021-09-20 00:31 debian/rules
drwxr-xr-x 0/0               0 2021-09-20 00:31 debian/source/
-rw-r--r-- 0/0              12 2021-09-20 00:31 debian/source/format
-rw-r--r-- 0/0             418 2021-09-19 12:48 debian/tricklectl.8
-rw-r--r-- 0/0              82 2021-09-20 00:31 debian/watch

There is clearly no direct upstream source change included. (AFAIK this
is not even allowed anymore with source format 3.0 (quilt).)

And the ../trickle_1.07-11_amd64.changes only lists checksums for these
files:

Files:
 24a071d487ded8d86d7e04f16c6ccf50 993 net optional trickle_1.07-11.dsc
 f98e7e362874d8e7e029336b12c2bf0f 8176 net optional trickle_1.07-11.debian.tar.xz
 3f064757d1983be07605bc367524462f 80356 debug optional trickle-dbgsym_1.07-11_amd64.deb
 949e2cd9ba51bf63d7a3527dce978dc7 6164 net optional trickle_1.07-11_amd64.buildinfo
 912aa916a2414e35f0e2bdf8e21a4691 36056 net optional trickle_1.07-11_amd64.deb

Same for the ../trickle_1.07-11.dsc file:

Files:
 860ebc4abbbd82957c20a28bd9390d7d 308863 trickle_1.07.orig.tar.gz
 f98e7e362874d8e7e029336b12c2bf0f 8176 trickle_1.07-11.debian.tar.xz

And indeed, if I delete the stray ../trickle_1.07-11.diff.gz, the
lintian warning vanishes.

>From my point of view, when given a .changes or .dsc file, lintian MUST
not guess file names but only look at files listed in the .changes or
.dsc file.

The whole issue should be reproducible as follows:

$ apt-get source -d trickle

(Should be version 1.07-10.1 as in e.g. bullseye and also currently in
testing and sid. If in doubt, fetch the version from bullseye or "dget
https://deb.debian.org/debian/pool/main/t/trickle/trickle_1.07-10.1.dsc";.)

Rename the file trickle_1.07-10.1.diff.gz to trickle_1.07-11.diff.gz.

Then git clone https://salsa.debian.org/debian/trickle.git and checkout
commit 4d8165ba5d309709149d0aba0c519f663ff875f0, build at least the
source package and run lintian against the resulting .changes file.

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (990, 'unstable'), (980, 'unstable-debug'), (600, 'testing'), (111, 'buildd-unstable'), (111, 'buildd-experimental'), (110, 'experimental'), (105, 'experimental-debug')
Architecture: amd64 (x86_64)

Kernel: Linux 5.13.0-trunk-amd64 (SMP w/2 CPU threads)
Kernel taint flags: TAINT_CPU_OUT_OF_SPEC
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages lintian depends on:
ii  binutils                        2.37-7
ii  bzip2                           1.0.8-4
ii  diffstat                        1.64-1
ii  dpkg                            1.20.9
ii  dpkg-dev                        1.20.9
ii  file                            1:5.39-3
ii  gettext                         0.21-4
ii  gpg                             2.2.27-2
ii  intltool-debian                 0.35.0+20060710.5
ii  libapt-pkg-perl                 0.1.40
ii  libarchive-zip-perl             1.68-1
ii  libcapture-tiny-perl            0.48-1
ii  libclass-xsaccessor-perl        1.19-3+b7
ii  libclone-perl                   0.45-1+b1
ii  libconfig-tiny-perl             2.26-1
ii  libconst-fast-perl              0.014-1.1
ii  libcpanel-json-xs-perl          4.26-1
ii  libdata-dpath-perl              0.58-1
ii  libdata-validate-domain-perl    0.10-1.1
ii  libdevel-size-perl              0.83-1+b2
ii  libdigest-sha-perl              6.02-1+b3
ii  libdpkg-perl                    1.20.9
ii  libemail-address-xs-perl        1.04-1+b3
ii  libencode-perl                  3.12-1
ii  libfile-basedir-perl            0.09-1
ii  libfile-find-rule-perl          0.34-1
ii  libfont-ttf-perl                1.06-1.1
ii  libhtml-html5-entities-perl     0.004-1.1
ii  libio-interactive-perl          1.023-1
ii  libio-prompt-tiny-perl          0.003-1
ii  libipc-run3-perl                0.048-2
ii  libjson-maybexs-perl            1.004003-1
ii  liblist-compare-perl            0.55-1
ii  liblist-someutils-perl          0.58-1
ii  liblist-utilsby-perl            0.11-1
ii  libmoo-perl                     2.005004-2
ii  libmoox-aliases-perl            0.001006-1.1
ii  libnamespace-clean-perl         0.27-1
ii  libpath-tiny-perl               0.118-1
ii  libperlio-gzip-perl             0.19-1+b7
ii  libperlio-utf8-strict-perl      0.008-1+b1
ii  libproc-processtable-perl       0.611-1
ii  libsereal-decoder-perl          4.018+ds-1+b1
ii  libsereal-encoder-perl          4.018+ds-1+b1
ii  libsort-versions-perl           1.62-1
ii  libterm-readkey-perl            2.38-1+b2
ii  libtext-glob-perl               0.11-1
ii  libtext-levenshteinxs-perl      0.03-4+b8
ii  libtext-markdown-discount-perl  0.13-1
ii  libtext-xslate-perl             3.5.8-1+b1
ii  libtime-duration-perl           1.21-1
ii  libtime-moment-perl             0.44-1+b3
ii  libtimedate-perl                2.3300-2
ii  libtry-tiny-perl                0.30-1
ii  libtype-tiny-perl               1.012004-1
ii  libunicode-utf8-perl            0.62-1+b2
ii  liburi-perl                     5.08-1
ii  libxml-libxml-perl              2.0134+dfsg-2+b1
ii  libyaml-libyaml-perl            0.83+ds-1
ii  lzip                            1.22-3
ii  lzop                            1.04-2
ii  man-db                          2.9.4-2
ii  patchutils                      0.4.2-1
ii  perl [libencode-perl]           5.32.1-5
ii  t1utils                         1.41-4
ii  unzip                           6.0-26
ii  xz-utils                        5.2.5-2

lintian recommends no packages.

Versions of packages lintian suggests:
ii  binutils-multiarch     2.37-7
ii  libtext-template-perl  1.60-1

-- no debconf information


Reply to: