Chris Lamb pushed to branch stretch-backports at lintian / lintian

Commits:
203a92c0 by Chris Lamb at 2018-12-03T13:56:13Z
Open new changelog entry for 2.5.116.

- - - - -
ccfb7772 by Felix Lechner at 2018-12-03T21:56:48Z
Do not use a global build stamp for tests in debian/rules. (MR: !80)

Using its Makefile semantics, debian/rules implements a build stamp
when tests are run without the option 'onlyrun'. It prevents needless
re-runs, but also blocks runs that should be allowed, for example when
only the test runner has changed. (The target 'runtests' depends on
many files, but not on the t/runtest executable or any of its
imports.) The mechanism is a complete obstacle to runner development.

This commit disables the mechanism.  The build stamp is no longer
written, and the 'runtest' target is declared PHONY.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
d466d71a by Felix Lechner at 2018-12-03T21:56:52Z
Unlist build stamp 'runtests' from .gitignore.

The build stamp ./runtests is no longer used. This commit removes the
file name from .gitignore.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
9917d45a by Felix Lechner at 2018-12-03T22:50:00Z
In tests, allow /debian/rules to be generated from templates. (!MR: 81)

The whitelist for Debian packaging templates used in tests does not
include debian/rules.  In the test suite, these files occasionally
hardcode the name of the test.  This commit makes it possible to
provide instead debian/rules.in that is filled with the correct value
via a declaration like "pkg={$source}".

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
c54eebbf by Felix Lechner at 2018-12-04T09:12:35Z
Remove wrong line number for 
fields-bugs-field-does-not-refer-to-debian-infrastructure.

The tag fields-bugs-field-does-not-refer-to-debian-infrastructure
includes a line number as a hint, but that number is incorrect.  In
the test fields-bugs-field-does-not-refer-to-debian-infrastructure,
the offending field was located in line 9 of the generated control
file and not in line 11, as the tag said. The line number appeared
unrelated. It was removed.

At the time of writing, the tag did not appear in the wild. The error
could not be corroborated outside the Lintian test suite.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
420323d8 by Felix Lechner at 2018-12-04T09:12:37Z
Adjust test tags to new emitted format.

The expected tags for the test
fields-bugs-field-does-not-refer-to-debian-infrastructure changed as a
result of a previous commit. This is the adjustment.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
2b4ac946 by Chris Lamb at 2018-12-04T09:13:35Z
Apply a patch from Felix Lechner to remove an incorrect line number in the 
output of the fields-bugs-field-does-not-refer-to-debian-infrastructure tag. 
(MR: !83)

- - - - -
4a2880af by Felix Lechner at 2018-12-04T09:17:39Z
Remove pre-existing metadata in the upstream-metadata-is-not-a-file test. (MR: 
!84)

The test does not remove debian/upstream/metadata before generating it
as a FIFO. That causes an error if the file exists, for example when
it is supplied by a template like 'pedantic'. Here the file is removed
before the FIFO is created.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
c7d30038 by Felix Lechner at 2018-12-04T13:48:03Z
Transfer file permissions from templates to generated files.

The templating system does not preserve file permissions, but scripts
must be executable to run. This commit applies the file permissions of
the template to any generated file. Going forward, scripts generated
from templates can also run.

This change is important for a new mechanism to generate debian/watch
and is also used to supply compat files to the tests
generic-dh-make-*, which were created without it. Modern Debian tools
require compat. The script was a way to add it without modifying the
debian files originally created by dh-make.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
c9d4838c by Felix Lechner at 2018-12-04T13:48:08Z
Add post-template script to the template set 'make-builder' for tests.

This script causes any watch file (or its template) that was shipped
as part of other template sets to be deleted, if a package is native.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
d60498b1 by Felix Lechner at 2018-12-04T13:48:13Z
Add a default post-template command; it is post_template.

Some templates require adjustment after they were copied to a test's
work directory. For native packages, a post-template script will
remove any watch files that may have been shipped as part of a
template. This commit only sets the name of the script. The script is
provided by a template set.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
5717411e by Felix Lechner at 2018-12-04T13:48:20Z
Add empty watch files to the template sets for tests.

Watch files were previously created in builder Makefiles. For some
tests, that was too late in the process. Now they are supplied as part
of template sets. For native packages, the watch files supplied herein
will be removed by post-template scripts. That script is supplied
elsewhere.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
b499aaf9 by Felix Lechner at 2018-12-04T13:48:25Z
Remove dynamic generation of watch file from builder Makefile.

For a long time, the Lintian test suite automatically created watch
files for non-native packages. That worked well, except in some corner
cases. Some tests compensated by removing the file in the pre_build
script.

This commit is part of a series that changes that mechanism. The watch
file is now supplied by a template set and removed right after the
templates are copied into a test's work directory.  The processing
takes place earlier. It allows tests deal with watch files like they
do with any other file that is (or is not) supplied by template sets.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
eaa9032e by Felix Lechner at 2018-12-04T13:48:31Z
Execute post-template adjustment script in t/runtests.

This commit will execute a post-template script, if present. It is
part of a new mechanism to ensure that native packages are not
supplied with watch files.

With this commit, we can restore the two tests generic-dh-make-2005
and generic-dh-make-2008 to their original functionality: when they
were conceived, dh-make did not create watch files. Until now, neither
test showed the associated warnings because a template set supplied
the missing file. Very soon the two tests will no longer draw on
external Debian template sets. Instead they will trigger all the
warnings their original authors intended.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
aad4a2db by Felix Lechner at 2018-12-04T13:48:42Z
Add a builder-only skeleton; does not supply any Debian templates.

This skeleton only installs (and fills) build files, but it does not
supply any Debian templates (although it will fill them).  Tests like
generic-dh-make-* were meant to be snapshots in time. In the past,
they were seeded with standard template sets like other tests. That
may conflict with the intentions of their original authors. This
commit creates a more suitable skeleton for their use.

This skeleton also allows the script pre_build to be generated from a
template. That functionality is needed to supply debian/compat to both
tests mentioned above without modifying any of their static Debian
files.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
bf735013 by Felix Lechner at 2018-12-04T13:48:45Z
Fix test generic-dh-make-2008 to work without external templates.

Judging from the file orig/README the original author intended this
test to remain undisturbed "as a test of Lintian's handling of old ...
template packages". This commit stops the use of standard templates,
which in the past provided missing files.

During the build process, dh_clean is called. It errors out when no
compat file is present. To get the test to run, a compat file is now
generated through the pre_build script. This is done dynamically so
that the set of static files is not modified, as requested by the
original author.

Some tags appeared when the use of default templates was discontinued.
Those tags were added.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
ac89c5fc by Felix Lechner at 2018-12-04T13:48:52Z
Fix test generic-dh-make-2005 to work without external templates.

test to remain undisturbed "as a test of Lintian's handling of old ...
template packages". This commit stops the use of standard templates,
which in the past provided missing files.

During the build process, dh_clean is called. It errors out when no
compat file is present. To get the test to run, a compat file is now
generated through the pre_build script. This is done dynamically so
that the set of static files is not modified, as requested by the
original author.

Some tags appeared when the use of default templates was discontinued.
Those tags were added.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
c92295b0 by Felix Lechner at 2018-12-04T13:48:58Z
Simplify test cruft-empty-diff; use only templates; no copies in ./orig.

The test 'cruft-empty-diff' replicated all standard templates in
./orig. Here we instead use the script ./pre_upstream to copy all
filled Debian files into the package directory before the orig.tar.gz
is created. It also renders the diff empty, but is probably more fool-
and future-proof.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
143e08ea by Chris Lamb at 2018-12-04T13:49:06Z
Apply a patch series from Felix Lechner to provide a generalised facility to 
make any test template set independent of the package format. (MR: !82)

- - - - -
cc6e3e24 by Felix Lechner at 2018-12-04T21:09:42Z
Use safe_qx() instead of qx{} in test runner. (MR: !85)

In this instance, it may not be any safer but it is probably good
practice.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
51832812 by Chris Lamb at 2018-12-04T21:50:25Z
Replace FIXME with MR reference.

- - - - -
a18093bf by Felix Lechner at 2018-12-04T21:50:25Z
Fix maximum existing version of Java class file format. (MR: !86)

The fix to #912292 (in commit f48c923) makes several updates to the
known Java class file versions but appears to require, in addition, an
upward adjustment of 'max-bytecode-existing-version'. Otherwise, the
test 'java-class-format' produces the following regression:

@@ -1,2 +1,2 @@
-W: libtest-java: incompatible-java-bytecode-format Java12 version (Class 
format: 56)
 W: libtest-java: unknown-java-class-version usr/share/java/testa-1.0.jar 
(org/debian/lintian/TestA.class -> 42)
+W: libtest-java: unknown-java-class-version usr/share/java/testb-1.0.jar 
(org/debian/lintian/TestB.class -> 56)
fail tests::java-class-format: output differs!

An inspection of 'TestB.class' shows that the major version is being
read correctly. It is just not interpreted right. This commit causes
the test to pass without errors.

  Last modified Dec 4, 2018; size 278 bytes
  MD5 checksum d41318995b87081fd003c4da42f3562d
  Compiled from "TestB.java"
public class org.debian.lintian.TestB
  minor version: 0
  major version: 56
  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: #2                          // org/debian/lintian/TestB
  super_class: #3                         // java/lang/Object
  interfaces: 0, fields: 0, methods: 1, attributes: 1

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
034254a9 by Felix Lechner at 2018-12-05T17:42:02Z
Remove file/directory conflicts before copying templates.

The test cruft-obsolete-upstream-metadata attempts to create a plain
file in a place where modern Debian policy requires a directory
(debian/upstream/metadata). The operation fails when a template set,
such as the 'pedantic' Debian packaging files, have already installed
a directory. This commit checks for such file/directory conflicts and
removes offending paths before copying anything.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
d91fcfc9 by Felix Lechner at 2018-12-05T17:42:06Z
Parameterise the distribution in the 'pedantic' changelog template.

The 'pedantic' template set had a hardcoded distribution.  The
changelog file from the 'default' set was instead imported for further
use.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
d04ae3db by Felix Lechner at 2018-12-05T17:42:14Z
Add ${shlibs:Depends} to the "pedantic" control file template.

The control file template in the 'pedantic' template set was missing
automatic dependencies for shared libraries. In order to use the
template more widely in the future, missing placeholders were copied
from the 'default' template set.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
4818c9a4 by Felix Lechner at 2018-12-05T17:42:23Z
Update copyright information for the "pedantic" template set.

After combining files from both template sets, the copyright for
'pedantic' was amended to also include the information for 
'default'
as well. The latter may be dropped in the near future.

With the most recent entry going back more than nine years, an
additional entry was made for derivative work.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
2bf3f6ef by Felix Lechner at 2018-12-05T17:42:30Z
Add a missing newline character.

The copyright file in the 'pedantic' template set had no newline at
the end of the file. This commit adds one.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
1e7d488d by Felix Lechner at 2018-12-05T17:42:43Z
Use the "pedantic" Debian files in the default skeleton.

With the planned retirement of the 'default' template set, the default
skeleton was switched to use the files from 'pedantic' instead.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
135a5bb7 by Felix Lechner at 2018-12-05T17:42:56Z
Provide non-empty diff/Changes files for four tests.

Four tests check if the Changes file supplied by a skeleton was
overridden in the package, but that did not generate the desired tag
when the file was removed from the skeleton, because the overriding
file was empty. A non-empty file is a better choice. This commit
provides one each for four tests.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
91887bff by Felix Lechner at 2018-12-05T17:43:01Z
Remove the line "Skeleton: pedantic" from all test descriptions.

The default skeleton provides all the features of the pedantic
skeleton, except it provides no upstream files. This commit switches
all tests that used the pedantic skeleton over to "default."

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
55a64154 by Felix Lechner at 2018-12-05T17:43:06Z
Delete the "pedantic" skeleton (no longer needed).

There are no tests that use the 'default' skeleton. This commit
removes it.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
552737b8 by Felix Lechner at 2018-12-05T17:43:13Z
Delete "pedantic" template set for upstream files; no longer used.

There are no tests that use the 'pedantic' template set for upstream
files. This commit removes the set.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
e39c6077 by Felix Lechner at 2018-12-05T17:43:22Z
Delete "default" template set for Debian files (no longer needed).

There are no tests that use the 'default' template set for Debian
files. This commit removes the set.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
f3852738 by Felix Lechner at 2018-12-05T17:43:29Z
Delete two outdated changelogs that describe historical template sets.

The changelogs were outdated, unmaintained, over nine years old and
quite short.  With modern version control systems, there may not be a
need for such changelogs. These two will probably not be needed
anymore. This commit removes both.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
869ea0b4 by Chris Lamb at 2018-12-05T17:44:16Z
Apply a patch series from Felix Lechner to make "pedantic" templates 
the default for all tests. (MR: !87)

- - - - -
ea42cd90 by Felix Lechner at 2018-12-05T21:18:33Z
Move template sets; remove suite from path and make part of name.

Some template sets are very similar between suites. In an effort to make them
easier to maintain, suites will share templates going forward. This commit
removes the template sets out of their suite-specific paths and makes the suite
part of their name.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
30c65730 by Felix Lechner at 2018-12-05T21:18:44Z
Change names of template sets in test skeletons to incorporate the suite.

Adjust the name of the template sets in each skeleton to point to the correct
name.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
a81c1570 by Felix Lechner at 2018-12-05T21:18:55Z
In the test runner, remove suite as a component of the template search path.

This change completes the transformation to suite-independent templates.  The
next step is to consolidate duplicated sets.

Signed-off-by: Chris Lamb <la...@debian.org>

- - - - -
18cb79e6 by Chris Lamb at 2018-12-05T21:19:49Z
Apply a patch series from Felix Lechner to support suite-independent test 
templates. (MR: !88)

- - - - -
87358003 by Chris Lamb at 2018-12-07T09:19:00Z
Update data/fields/perl-provides for Perl 5.028001.

- - - - -
7fff018d by Chris Lamb at 2018-12-07T09:19:00Z
Release lintian/2.5.116 into unstable.

- - - - -
b3b184e1 by Chris Lamb at 2018-12-09T16:40:25Z
Merge tag '2.5.116' into stretch-backports

Release lintian/2.5.116 into unstable.

Format: 1.8
Date: Fri, 07 Dec 2018 08:59:39 +0000
Source: lintian
Binary: lintian
Architecture: source all
Version: 2.5.116
Distribution: unstable
Urgency: medium
Maintainer: Debian Lintian Maintainers <lintian-ma...@debian.org>
Changed-By: Chris Lamb <la...@debian.org>
Description:
 lintian    - Debian package checker
Changes:
 lintian (2.5.116) unstable; urgency=medium
 .
   * checks/fields.pm:
     + [CL] Apply a patch from Felix Lechner to remove the incorrect line in
       the fields-bugs-field-does-not-refer-to-debian-infrastructure tag's
       output.  (MR: !83)
 .
   * data/fields/perl-provides:
     + [CL] Update for Perl 5.028001.
   * data/java/constants:
     + [CL] Apply a patch from Felix Lechner to fix the "maximum existing
 .
   * debian/rules:
     + [CL] Apply a patch from Felix Lechner to remove the "runtests" 
build
       stamp mechanism as it blocks runs that should be allowed such as
       when only the test runner itself has changed.  (MR: !80)
 .
   * t/*:
     + [CL] Apply a patch series from Felix Lechner to make "pedantic"
       templates the default for all tests.  (MR: !87)
     + [CL] Apply a patch from Felix Lechner to allow debian/rules to be
       generated from templates in tests.  (MR: !81)
     + [CL] Apply a patch from Felix Lechner to remove pre-existing metadata
       in the upstream-metadata-is-not-a-file test.  (MR: !84)
     + [CL] Apply a patch series from Felix Lechner to provide a generalised
       facility to make any test template set independent of the package
       format.  (MR: !82)
     + [CL] Apply a patch series from Felix Lechner to support
       suite-independent test templates.  (MR: !88)
Checksums-Sha1:
 88ad672969d118a09ff6b8a8d5137c78f9ac3b85 2704 lintian_2.5.116.dsc
 95bc6636aeacf012ff3a195aadf7c0dbc4d738ed 1613032 lintian_2.5.116.tar.xz
 9e495ace9c09cdb1824cf26014e82b7319d86a62 1157076 lintian_2.5.116_all.deb
 4b84a29a4ccda6563b8cea2a452dc34893b798ae 16749 lintian_2.5.116_amd64.buildinfo
Checksums-Sha256:
 9296101ef4acd8aff371526595c14906f21b4d03cfc0179953cd60703a12ebb1 2704 
lintian_2.5.116.dsc
 2e1e901d927d338cbe4ffefe8be5329b328079c314f2dc9707e3060a50b4d372 1613032 
lintian_2.5.116.tar.xz
 37178c1365081627763033432875b61b429b53923752dbfe9d2be697e17be4d6 1157076 
lintian_2.5.116_all.deb
 a5ab12e286bfacd14ad52bf300a59da305073717980567d32995e4afe9aa434a 16749 
lintian_2.5.116_amd64.buildinfo
Files:
 a931249f12da5e70ed330fca7a6db08d 2704 devel optional lintian_2.5.116.dsc
 0e549437cf4c2dd6bd54ce974428b94a 1613032 devel optional lintian_2.5.116.tar.xz
 ea00227d4f3a32ab598ddbf5c5a87218 1157076 devel optional lintian_2.5.116_all.deb
 8289c7e7a8d7b6083338e37aa10db5dd 16749 devel optional 
lintian_2.5.116_amd64.buildinfo

* tag '2.5.116': (41 commits)
  Release lintian/2.5.116 into unstable.
  Update data/fields/perl-provides for Perl 5.028001.
  Apply a patch series from Felix Lechner to support suite-independent test 
templates. (MR: !88)
  In the test runner, remove suite as a component of the template search path.
  Change names of template sets in test skeletons to incorporate the suite.
  Move template sets; remove suite from path and make part of name.
  Apply a patch series from Felix Lechner to make "pedantic" 
templates the default for all tests. (MR: !87)
  Delete two outdated changelogs that describe historical template sets.
  Delete "default" template set for Debian files (no longer needed).
  Delete "pedantic" template set for upstream files; no longer used.
  Delete the "pedantic" skeleton (no longer needed).
  Remove the line "Skeleton: pedantic" from all test descriptions.
  Provide non-empty diff/Changes files for four tests.
  Use the "pedantic" Debian files in the default skeleton.
  Add a missing newline character.
  Update copyright information for the "pedantic" template set.
  Add ${shlibs:Depends} to the "pedantic" control file template.
  Parameterise the distribution in the 'pedantic' changelog template.
  Remove file/directory conflicts before copying templates.
  Fix maximum existing version of Java class file format. (MR: !86)
  ...

- - - - -
0184fc19 by Chris Lamb at 2018-12-09T16:40:46Z
Rebuild for stretch-backports.

- - - - -


30 changed files:

- .gitignore
- checks/fields.pm
- data/fields/perl-provides
- data/java/constants
- debian/changelog
- debian/rules
- lib/Test/Lintian/Helper.pm
- lib/Test/Lintian/Templates.pm
- t/defaults/desc
- t/runtests
- t/skeletons/changes/default
- t/skeletons/debs/default
- t/skeletons/source/default
- t/skeletons/tests/pedantic → t/skeletons/tests/builder-only
- t/skeletons/tests/default
- t/templates/changes/builder/builder.in → 
t/templates/changes-builder/builder.in
- t/templates/debs/arch-independent/changelog.in → 
t/templates/debs-arch-independent/changelog.in
- t/templates/debs/arch-independent/control.in → 
t/templates/debs-arch-independent/control.in
- t/templates/debs/arch-independent/copyright → 
t/templates/debs-arch-independent/copyright
- t/templates/debs/make-builder/Makefile.in → 
t/templates/debs-make-builder/Makefile.in
- t/templates/debs/make-builder/builder.in → 
t/templates/debs-make-builder/builder.in
- t/templates/source/arch-independent/changelog.in → 
t/templates/source-arch-independent/changelog.in
- t/templates/source/arch-independent/compat.in → 
t/templates/source-arch-independent/compat.in
- t/templates/source/arch-independent/control.in → 
t/templates/source-arch-independent/control.in
- t/templates/source/arch-independent/copyright → 
t/templates/source-arch-independent/copyright
- t/templates/source/arch-independent/rules → 
t/templates/source-arch-independent/rules
- t/templates/source/arch-independent/source/format.in → 
t/templates/source-arch-independent/source/format.in
- t/templates/source/arch-independent/tests/control → 
t/templates/source-arch-independent/tests/control
- t/templates/source/arch-independent/tests/test → 
t/templates/source-arch-independent/tests/test
- t/templates/source/make-builder/Makefile.in → 
t/templates/source-make-builder/Makefile.in


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/lintian/lintian/compare/c2b9c4f80767c5891e7f4f842379d944046ff4b2...0184fc19aebf5e251eeb00cc93dbdbadf66f4eb9

-- 
View it on GitLab: 
https://salsa.debian.org/lintian/lintian/compare/c2b9c4f80767c5891e7f4f842379d944046ff4b2...0184fc19aebf5e251eeb00cc93dbdbadf66f4eb9
You're receiving this email because of your account on salsa.debian.org.

Reply via email to