Package: lintian-brush Version: 0.16 Severity: wishlist First patch implements new upgrade path, second is just minor code cleanup.
From d03695297777c1c972ca2422da145165e4e4250f Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov <kact...@debian.org> Date: Tue, 16 Jul 2019 18:08:53 +0000 Subject: [PATCH 1/2] Add upgrade path for standards 4.3.0 -> 4.4.0 Policy 4.4.0 now recommends debhelper. If package uses debhelper, it can safely upgrade from 4.3.0. --- fixers/out-of-date-standards-version.py | 19 ++++++++++++++++++- .../4.4.0-nodh/in/debian/control | 2 ++ .../4.4.0-nodh/message | 3 +++ .../4.4.0-nodh/out/debian/control | 2 ++ .../4.4.0/in/debian/control | 3 +++ .../4.4.0/message | 3 +++ .../4.4.0/out/debian/control | 3 +++ 7 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 tests/out-of-date-standards-version/4.4.0-nodh/in/debian/control create mode 100644 tests/out-of-date-standards-version/4.4.0-nodh/message create mode 100644 tests/out-of-date-standards-version/4.4.0-nodh/out/debian/control create mode 100644 tests/out-of-date-standards-version/4.4.0/in/debian/control create mode 100644 tests/out-of-date-standards-version/4.4.0/message create mode 100644 tests/out-of-date-standards-version/4.4.0/out/debian/control diff --git a/fixers/out-of-date-standards-version.py b/fixers/out-of-date-standards-version.py index 5e8201d..7a0c822 100755 --- a/fixers/out-of-date-standards-version.py +++ b/fixers/out-of-date-standards-version.py @@ -1,13 +1,15 @@ #!/usr/bin/python3 import os -from lintian_brush.control import update_control +from lintian_brush.control import update_control, get_relation +from debian.deb822 import Deb822 # Dictionary mapping source and target versions upgrade_path = { "4.1.0": "4.1.1", "4.2.0": "4.2.1", + "4.3.0": "4.4.0", } @@ -15,8 +17,23 @@ def check_4_1_1(): return os.path.exists("debian/changelog") +def check_4_4_0(): + "Check that package uses debhelper." + if os.path.exists("debian/compat"): + return True + with open('debian/control') as f: + source = next(Deb822.iter_paragraphs(f)) + build_deps = source.get('Build-Depends', '') + try: + get_relation(build_deps, 'debhelper-compat') + return True + except KeyError: + return False + + check_requirements = { "4.1.1": check_4_1_1, + "4.4.0": check_4_4_0, } diff --git a/tests/out-of-date-standards-version/4.4.0-nodh/in/debian/control b/tests/out-of-date-standards-version/4.4.0-nodh/in/debian/control new file mode 100644 index 0000000..5f54dd7 --- /dev/null +++ b/tests/out-of-date-standards-version/4.4.0-nodh/in/debian/control @@ -0,0 +1,2 @@ +Source: lintrian-brush +Standards-version: 4.3.0 diff --git a/tests/out-of-date-standards-version/4.4.0-nodh/message b/tests/out-of-date-standards-version/4.4.0-nodh/message new file mode 100644 index 0000000..05ec0b1 --- /dev/null +++ b/tests/out-of-date-standards-version/4.4.0-nodh/message @@ -0,0 +1,3 @@ +Update standards version, no changes needed. +Certainty: certain +Fixed-Lintian-Tags: out-of-date-standards-version diff --git a/tests/out-of-date-standards-version/4.4.0-nodh/out/debian/control b/tests/out-of-date-standards-version/4.4.0-nodh/out/debian/control new file mode 100644 index 0000000..5f54dd7 --- /dev/null +++ b/tests/out-of-date-standards-version/4.4.0-nodh/out/debian/control @@ -0,0 +1,2 @@ +Source: lintrian-brush +Standards-version: 4.3.0 diff --git a/tests/out-of-date-standards-version/4.4.0/in/debian/control b/tests/out-of-date-standards-version/4.4.0/in/debian/control new file mode 100644 index 0000000..06deee4 --- /dev/null +++ b/tests/out-of-date-standards-version/4.4.0/in/debian/control @@ -0,0 +1,3 @@ +Source: lintrian-brush +Standards-version: 4.3.0 +Build-Depends: debhelper-compat (= 11) diff --git a/tests/out-of-date-standards-version/4.4.0/message b/tests/out-of-date-standards-version/4.4.0/message new file mode 100644 index 0000000..05ec0b1 --- /dev/null +++ b/tests/out-of-date-standards-version/4.4.0/message @@ -0,0 +1,3 @@ +Update standards version, no changes needed. +Certainty: certain +Fixed-Lintian-Tags: out-of-date-standards-version diff --git a/tests/out-of-date-standards-version/4.4.0/out/debian/control b/tests/out-of-date-standards-version/4.4.0/out/debian/control new file mode 100644 index 0000000..50960a0 --- /dev/null +++ b/tests/out-of-date-standards-version/4.4.0/out/debian/control @@ -0,0 +1,3 @@ +Source: lintrian-brush +Standards-version: 4.4.0 +Build-Depends: debhelper-compat (= 11) From 03e069810b50919521b05afdd58910fe5d961b71 Mon Sep 17 00:00:00 2001 From: Dmitry Bogatov <kact...@debian.org> Date: Tue, 16 Jul 2019 18:14:43 +0000 Subject: [PATCH 2/2] Simplify bump_standards_version() function --- fixers/out-of-date-standards-version.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/fixers/out-of-date-standards-version.py b/fixers/out-of-date-standards-version.py index 7a0c822..4740412 100755 --- a/fixers/out-of-date-standards-version.py +++ b/fixers/out-of-date-standards-version.py @@ -41,13 +41,9 @@ def bump_standards_version(control): current_version = control["Standards-Version"] while current_version in upgrade_path: target_version = upgrade_path[current_version] - try: - check_fn = check_requirements[target_version] - except KeyError: - pass - else: - if not check_fn(): - break + check_fn = check_requirements.get(target_version, lambda: True) + if not check_fn(): + break current_version = target_version control["Standards-Version"] = current_version
pgpdH_l809GBH.pgp
Description: PGP signature