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

Bug#1034652: marked as done (unblock: reportbug/12.0.0)



Your message dated Sun, 30 Apr 2023 08:02:02 +0200
with message-id <715bbf2a-9bfe-c11c-26bd-922bb10a248f@debian.org>
and subject line Re: Bug#1034652: unblock: reportbug/12.0.0
has caused the Debian Bug report #1034652,
regarding unblock: reportbug/12.0.0
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1034652: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034652
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: reportbug@packages.debian.org, nis.martensen@web.de
Control: affects -1 + src:reportbug

Please pre-approve package reportbug (pre-upload)

[ Reason ]
Paul Gevers asked if we can have a version of reportbug that prevents
bug 992332 from happening again in bookworm. I'd like to use the
opportunity to include a few other small fixes as well if possible.

[ Impact ]
- Developers will be able to file bookworm-pu requests (#1034260)
- Developers will be able to file unblock requests for udeb-only
packages (#1034143)
- Reportbug won't get package names wrong in unblock requests if the
requested package name contains regex characters (#1031924)
- A developer preparing a reportbug release will be prevented from
uploading a package version that is not PEP440 compliant.
- Kernel info compiled by reportbug will consider an updated linux
kernel taint list.

[ Tests ]
There are no automated tests for the changes. All except the taint list
change have been tested manually.

[ Risks ]
Risks should be low. I'm filing this unblock request using the new
reportbug version that I'm planning to upload.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

Are the proposed changes okay to be uploaded?
diff -Nru reportbug-11.6.0/debian/changelog reportbug-12.0.0/debian/changelog
--- reportbug-11.6.0/debian/changelog	2022-12-04 19:28:36.000000000 +0100
+++ reportbug-12.0.0/debian/changelog	2023-04-17 13:20:18.000000000 +0200
@@ -1,3 +1,27 @@
+reportbug (12.0.0) unstable; urgency=medium
+
+  [ Benjamin Drung ]
+  * Make Python version PEP440 compliant
+
+  [ Paul Wise ]
+  * Update Linux kernel taint list and location
+
+  [ Nis Martensen ]
+  * debian/control: update standards-version (no changes needed)
+  * reportbug.utils.get_package_status: force literal package name match when
+    calling apt-cache show. Thanks to David Kalnischkies for comprehensive
+    explanations on apt's command line argument features.
+    (Closes: #1031924)
+
+  [ Roland Clobus ]
+  * reportbug.debbugs.check_package_info: fix crash with udeb-only pkg
+    (Closes: #1034143)
+
+  [ Nis Martensen ]
+  * reportbug/utils.py: update CODENAME2SUITE for bookworm (Closes: #1034260)
+
+ -- Nis Martensen <nis.martensen@web.de>  Mon, 17 Apr 2023 13:20:18 +0200
+
 reportbug (11.6.0) unstable; urgency=medium
 
   [ Paul Wise ]
diff -Nru reportbug-11.6.0/debian/control reportbug-12.0.0/debian/control
--- reportbug-11.6.0/debian/control	2022-08-17 20:48:30.000000000 +0200
+++ reportbug-12.0.0/debian/control	2023-04-17 13:00:18.000000000 +0200
@@ -4,7 +4,7 @@
 Maintainer: Reportbug Maintainers <debian-reportbug@lists.debian.org>
 Uploaders: Sandro Tosi <morph@debian.org>,
            Nis Martensen <nis.martensen@web.de>,
-Standards-Version: 4.6.1
+Standards-Version: 4.6.2
 Build-Depends: debhelper-compat (= 12),
                dh-python,
                python3,
diff -Nru reportbug-11.6.0/debian/make_pep440_compliant reportbug-12.0.0/debian/make_pep440_compliant
--- reportbug-11.6.0/debian/make_pep440_compliant	1970-01-01 01:00:00.000000000 +0100
+++ reportbug-12.0.0/debian/make_pep440_compliant	2023-04-17 13:00:18.000000000 +0200
@@ -0,0 +1,24 @@
+#!/usr/bin/python3
+
+import re
+import sys
+
+
+def make_pep440_compliant(version: str) -> str:
+    """Convert the version into a PEP440 compliant version."""
+    public_version_re = re.compile(
+        r"^([0-9][0-9.]*(?:(?:a|b|rc|.post|.dev)[0-9]+)*)\+?"
+    )
+    _, public, local = public_version_re.split(version, maxsplit=1)
+    if not local:
+        return version
+    sanitized_local = re.sub("[+~]+", ".", local).strip(".")
+    pep440_version = f"{public}+{sanitized_local}"
+    assert re.match(
+        "^[a-zA-Z0-9.]+$", sanitized_local
+    ), f"'{pep440_version}' not PEP440 compliant"
+    return pep440_version
+
+
+if __name__ == "__main__":
+    print(make_pep440_compliant(sys.argv[1]))
diff -Nru reportbug-11.6.0/debian/rules reportbug-12.0.0/debian/rules
--- reportbug-11.6.0/debian/rules	2022-04-18 18:33:14.000000000 +0200
+++ reportbug-12.0.0/debian/rules	2023-04-17 13:00:18.000000000 +0200
@@ -3,15 +3,16 @@
 include /usr/share/dpkg/pkg-info.mk
 
 REPORTBUG_VERSION := $(shell python3 -c "import reportbug; print(reportbug.VERSION_NUMBER)")
+PEP440_DEB_VERSION := $(shell debian/make_pep440_compliant "$(DEB_VERSION)")
 
 %:
 	dh $@ --with=python3
 
 override_dh_auto_build:
 	# Test if versions are synchronized (only if releasing); this will bomb if not synced
-	if [ "$(DEB_DISTRIBUTION)" != "UNRELEASED" -a "$(REPORTBUG_VERSION)" != "$(DEB_VERSION)" ] ; \
+	if [ "$(DEB_DISTRIBUTION)" != "UNRELEASED" -a "$(REPORTBUG_VERSION)" != "$(PEP440_DEB_VERSION)" ] ; \
 	then \
-		echo 'Please update VERSION_NUMBER variable in reportbug/__init__.py'; exit 1 ; \
+		echo 'Please update VERSION_NUMBER variable in reportbug/__init__.py to $(PEP440_DEB_VERSION)'; exit 1 ; \
 	fi
 
 	python3 setup.py build
diff -Nru reportbug-11.6.0/reportbug/debbugs.py reportbug-12.0.0/reportbug/debbugs.py
--- reportbug-11.6.0/reportbug/debbugs.py	2022-11-27 10:34:41.000000000 +0100
+++ reportbug-12.0.0/reportbug/debbugs.py	2023-04-17 13:18:40.000000000 +0200
@@ -249,7 +249,7 @@
     pkgs = utils.get_source_package(package, only_source=True)
     if pkgs:
         info = check_package_info(pkgs[0][0])
-        if info[1]:
+        if info and info[1]:
             return info
 
     return None
diff -Nru reportbug-11.6.0/reportbug/__init__.py reportbug-12.0.0/reportbug/__init__.py
--- reportbug-11.6.0/reportbug/__init__.py	2022-12-04 19:28:36.000000000 +0100
+++ reportbug-12.0.0/reportbug/__init__.py	2023-04-17 13:20:18.000000000 +0200
@@ -25,7 +25,7 @@
 __all__ = ['bugreport', 'utils', 'urlutils', 'checkbuildd', 'checkversions',
            'debbugs', 'exceptions', 'submit', 'tempfile', 'mailer']
 
-VERSION_NUMBER = "11.6.0"
+VERSION_NUMBER = "12.0.0"
 
 VERSION = "reportbug " + VERSION_NUMBER
 COPYRIGHT = VERSION + '\nCopyright (C) 1999-2008 Chris Lawrence <lawrencc@debian.org>' + \
diff -Nru reportbug-11.6.0/reportbug/utils.py reportbug-12.0.0/reportbug/utils.py
--- reportbug-11.6.0/reportbug/utils.py	2022-11-27 09:37:15.000000000 +0100
+++ reportbug-12.0.0/reportbug/utils.py	2023-04-17 13:18:40.000000000 +0200
@@ -86,13 +86,13 @@
                    '/usr/man', '/usr/doc', '/usr/bin']
 
 # A map between codenames and suites
-CODENAME2SUITE = {'wheezy': 'oldoldoldoldstable',
-                  'jessie': 'oldoldoldstable',
-                  'stretch': 'oldoldstable',
-                  'buster': 'oldstable',
-                  'bullseye': 'stable',
-                  'bookworm': 'testing',
-                  'trixie': 'next-testing',
+CODENAME2SUITE = {'jessie': 'oldoldoldoldstable',
+                  'stretch': 'oldoldoldstable',
+                  'buster': 'oldoldstable',
+                  'bullseye': 'oldstable',
+                  'bookworm': 'stable',
+                  'trixie': 'testing',
+                  'forky': 'next-testing',
                   'sid': 'unstable',
                   'experimental': 'experimental'}
 SUITE2CODENAME = dict([(suite, codename) for codename, suite in list(CODENAME2SUITE.items())])
@@ -651,8 +651,16 @@
 
     packarg = shlex.quote(package)
     if avail:
-        output = get_command_output(
-            "LC_ALL=C.UTF-8 apt-cache show %s 2>/dev/null" % packarg)
+        # Get the information on the package from apt instead of dpkg.
+        # XXX: Only call `apt-cache show $pkg` if we already know that apt
+        # knows about the package. See #716763 for why.  A better
+        # solution would be to collect all information through
+        # python-apt directly.
+        if package in _apt_cache:
+            output = get_command_output(
+                "LC_ALL=C.UTF-8 apt-cache show %s 2>/dev/null" % packarg)
+        else:
+            output = ""
     else:
         # filter through dpkg-query to automatically append arch
         # qualifier in the cases where this is needed
@@ -1954,7 +1962,8 @@
     -------
     list of strings
     """
-    # https://github.com/torvalds/linux/blob/cedc5b6aab493f6b1b1d381dccc0cc082da7d3d8/include/linux/kernel.h#L582
+    # https://github.com/torvalds/linux/blob/2852ca7fba9f77b204f0fe953b31fadd0057c936/include/linux/panic.h#L52
+
     # this is going to need updating (but maybe not that often)
     TAINT_FLAGS = [
         'TAINT_PROPRIETARY_MODULE',
@@ -1975,6 +1984,7 @@
         'TAINT_LIVEPATCH',
         'TAINT_AUX',
         'TAINT_RANDSTRUCT',
+        'TAINT_TEST',
     ]
 
     flags = []

--- End Message ---
--- Begin Message ---
Hi

On 29-04-2023 12:47, Nis Martensen wrote:
control: tags -1 - moreinfo

Please go ahead and remove the moreinfo tag once the upload happened.

Thank you Paul. Uploaded, removing moreinfo tag.

unblocked.

Paul

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


--- End Message ---

Reply to: