Bug#1067665: cvise 2.10.0-1 still build-depends on python-pytest-flake8 (broken with recent flake8)

2024-03-25 Thread Olivier Gayot
Package: cvise
Version: 2.10.0-1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

In version 2.10.0, upstream dropped the dependency on pytest-flake8
because it is no longer maintained [1] and broken with modern flake8.

However, in 2.10.0-1 in Debian, the build dependency on
python3-pytest-flake8 is still present, albeit unused during the build
process.

This is preventing removal of python-pytest-flake8. 

In Ubuntu, the attached patch was applied to achieve the following:

  * Drop dependency on python-pytest-flake8 (broken with modern flake8) which
was already dropped upstream in cvise 2.10 and is now unused (LP: #2058917)


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers noble
  APT policy: (500, 'noble')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.8.0-11-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru cvise-2.10.0/debian/control cvise-2.10.0/debian/control
--- cvise-2.10.0/debian/control 2024-03-12 16:49:12.0 +0100
+++ cvise-2.10.0/debian/control 2024-03-25 10:45:07.0 +0100
@@ -13,7 +13,6 @@
   python3-pebble,
   python3-psutil,
   python3-pytest ,
-  python3-pytest-flake8 ,
   llvm-18-dev, libclang-18-dev, clang-18, clang-format-18,
 #  clang-tools-18, clang-tidy-18, clangd-18,
   unifdef,


Bug#1067466: black autopkgtest fails because python3-typed-ast no longer in archive

2024-03-21 Thread Olivier Gayot
Package: black
Version: 24.2.0-1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

Since the removal of python3-typed-ast from the archive [1], black
cannot install its test dependencies anymore and therefore fails autopkg tests.

https://tracker.debian.org/news/1469662/python3-typed-ast-removed-from-testing/

The AST library is provided by the Python standard library since Python
3.8 so the dependency has been unused for some time and can be safely
dropped.

In src:black 22.10.0-2, the dependency on python3-typed-ast was dropped
from d/control but not from d/test/control:

https://metadata.ftp-master.debian.org/changelogs//main/b/black/black_24.2.0-1_changelog

In Ubuntu, the attached patch was applied to achieve the following:

  * d/test/control: drop unused dependency on python3-typed-ast, which was
dropped from the archive. (LP: #2058692)


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers noble
  APT policy: (500, 'noble')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.8.0-11-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru black-24.2.0/debian/tests/control black-24.2.0/debian/tests/control
--- black-24.2.0/debian/tests/control   2024-02-15 10:47:43.0 +0100
+++ black-24.2.0/debian/tests/control   2024-03-21 23:04:40.0 +0100
@@ -9,7 +9,6 @@
  python3-pytest,
  python3-pathspec,
  python3-regex,
- python3-typed-ast,
  python3-aiohttp,
  python3-tomli,
  python3-mypy-extensions,


Bug#1067168: urwid raises when rendering an empty Pile or Columns as a flow widget

2024-03-19 Thread Olivier Gayot
Package: urwid
Version: 2.6.4-1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

With the version of urwid 2.6.4-1 currently in trixie, the following
code fails with an exception:

```python
 from urwid import Pile
 
 Pile([
 ("pack", Pile([])),
 ]).render((10,))
 ```

  File "/usr/lib/python3/dist-packages/urwid/widget/widget.py", line 112, in 
cached_render
canv = fn(self, size, focus=focus)
   ^^^
  File "/usr/lib/python3/dist-packages/urwid/widget/pile.py", line 822, in 
render
_widths, heights, size_args = self.get_rows_sizes(size, focus)
  
  File "/usr/lib/python3/dist-packages/urwid/widget/pile.py", line 730, in 
get_rows_sizes
heights.append(w.pack(w_h_arg, item_focus)[1])
   ^^^
  File "/usr/lib/python3/dist-packages/urwid/widget/pile.py", line 744, in pack
return super().pack(size, focus)
   ^
  File "/usr/lib/python3/dist-packages/urwid/widget/widget.py", line 401, in 
pack
raise WidgetError(f"Cannot pack (maxcol,) size, this is not a flow widget: 
{self!r}")
urwid.widget.widget.WidgetError: Cannot pack (maxcol,) size, this is not a flow 
widget: 

The same code used to work with urwid 2.1.2-4 in bookworm.

I applied a fix from upstream [1] that was included in urwid 2.6.5. I
think the proper way forward would be to take a more recent upstream
version of urwid. That said, we are in feature freeze downstream in
Ubuntu so I skipped the refactoring bits.

In Ubuntu, the attached patch was applied to achieve the following:

  * Apply upstream patch to fix a crash when rendering an empty Pile or an
empty Columns as a flow widget. (LP: #2058388)
+ d/patches/fix-crash-empty-pile.patch


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers noble
  APT policy: (500, 'noble'), (100, 'noble-proposed')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.8.0-11-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

[1] 
https://github.com/urwid/urwid/commit/83c278b53de431a9b41d7ddadf5f318914246593
diff -Nru urwid-2.6.4/debian/patches/fix-crash-empty-pile.patch 
urwid-2.6.4/debian/patches/fix-crash-empty-pile.patch
--- urwid-2.6.4/debian/patches/fix-crash-empty-pile.patch   1970-01-01 
01:00:00.0 +0100
+++ urwid-2.6.4/debian/patches/fix-crash-empty-pile.patch   2024-03-19 
14:23:31.0 +0100
@@ -0,0 +1,158 @@
+Description: Fix crash when rendering empty Pile or Columns as a flow widget
+ Special case: in case of `Columns`/`Pile` empty - use fallback sizing (#843)
+ .
+ * Extend `repr` to provide brief info about contents
+ .
+Author: Aleksei Stepanov 
+Origin: upstream, 
https://github.com/urwid/urwid/commit/83c278b53de431a9b41d7ddadf5f318914246593
+Bug-Ubuntu: https://launchpad.net/bugs/2058388
+Last-Update: 2024-03-19
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/urwid/widget/columns.py b/urwid/widget/columns.py
+index e3fa134..5a3421f 100644
+--- a/urwid/widget/columns.py
 b/urwid/widget/columns.py
+@@ -66,40 +66,47 @@ class Columns(Widget, WidgetContainerMixin, 
WidgetContainerListContentsMixin):
+ 
+ # BOX-only widget
+ >>> Columns((SolidFill("#"),))
+-
++
+ 
+ # BOX-only widget with "get height from max"
+ >>> Columns((SolidFill("#"),), box_columns=(0,))
+-
++
+ 
+ # FLOW-only
+ >>> Columns((Edit(),))
+-
++
+ 
+ # FLOW allowed by "box_columns"
+ >>> Columns((Edit(), SolidFill("#")), box_columns=(1,))
+-
++
+ 
+ # FLOW/FIXED
+ >>> Columns((Text("T"),))
+-
++
+ 
+ # GIVEN BOX only -> BOX only
+ >>> Columns(((5, SolidFill("#")),), box_columns=(0,))
+-
++
+ 
+ # No FLOW - BOX only
+ >>> Columns(((5, SolidFill("#")), SolidFill("*")), box_columns=(0, 1))
+-
++
+ 
+ # FIXED only -> FIXED
+ >>> Columns(((WHSettings.PACK, BigText("1", font)),))
+-
++
+ 
+ # Invalid sizing combination -> use fallback settings (and produce 
warning)
+ >>> Columns(((WHSettings.PACK, SolidFill("#")),))
+-
++
++
++# Special case: empty columns widget sizing is impossible to calculate
++>>> Columns(())
++
+ """
++if not self.contents:
++return frozenset((urwid.BOX, urwid.FLOW))
++
+ strict_box = False
+ has_flow = False
+ 
+@@ -280,6 +287,13 @@ class 

Bug#1058392: python-oauth2client: FTBFS: failed tests

2024-02-16 Thread Olivier Gayot
Package: python-oauth2client
Followup-For: Bug #1058392
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

Python 3.12 dropped support in unittest.TestCase for assertRaisesRegexp and
assertEquals. These two functions were provided as a compability layer
since their deprecation in Python 3.2.

In Ubuntu, the attached patch was applied to achieve the following:

  * Replace obsolete assert* calls (dropped from Python 3.12) with their
correct alternative to fix FTBFS.
 - debian/patches/python312-support.patch

Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 
'mantic'), (100, 'mantic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru python-oauth2client-4.1.3/debian/patches/python312-support.patch 
python-oauth2client-4.1.3/debian/patches/python312-support.patch
--- python-oauth2client-4.1.3/debian/patches/python312-support.patch
1970-01-01 01:00:00.0 +0100
+++ python-oauth2client-4.1.3/debian/patches/python312-support.patch
2024-02-16 10:51:37.0 +0100
@@ -0,0 +1,252 @@
+Description: Fix use of obsolete assert statements dropped in Python 3.12
+ Since Python 3.2, assertEquals and assertRaisesRegexp (+ others) have been
+ deprecated in favor of assertEqual and assertRaisesRegex.
+ In Python 3.12, the deprecated names got dropped, causing oauth2client to
+ FTBFS.
+ .
+ The patch is not meant for upstream inclusion since the project upstream is
+ deprecated (in favor of python-google-auth) and the repository is read only.
+Author: Olivier Gayot 
+Bug-Debian: https://bugs.debian.org/1058392
+Forwarded: not-needed
+Last-Update: 2024-02-16
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/tests/contrib/appengine/test_appengine.py
 b/tests/contrib/appengine/test_appengine.py
+@@ -906,7 +906,7 @@
+ self.decorator = decorator
+ self.test_required()
+ http = self.decorator.http()
+-self.assertEquals('foo_access_token',
++self.assertEqual('foo_access_token',
+   http.request.credentials.access_token)
+ 
+ # revoke_uri is not required
+--- a/tests/contrib/test_devshell.py
 b/tests/contrib/test_devshell.py
+@@ -205,7 +205,7 @@
+ def test_no_refresh_token(self):
+ with _AuthReferenceServer():
+ creds = devshell.DevshellCredentials()
+-self.assertEquals(None, creds.refresh_token)
++self.assertIsNone(creds.refresh_token)
+ 
+ @mock.patch('oauth2client.client._UTCNOW')
+ def test_reads_credentials(self, utcnow):
+--- a/tests/contrib/test_keyring_storage.py
 b/tests/contrib/test_keyring_storage.py
+@@ -104,7 +104,7 @@
+autospec=True) as get_password:
+ store = keyring_storage.Storage('my_unit_test', 'me')
+ credentials = store.get()
+-self.assertEquals(None, credentials)
++self.assertIsNone(credentials)
+ get_password.assert_called_once_with('my_unit_test', 'me')
+ 
+ def test_get_with_malformed_json_credentials_stored(self):
+@@ -113,7 +113,7 @@
+autospec=True) as get_password:
+ store = keyring_storage.Storage('my_unit_test', 'me')
+ credentials = store.get()
+-self.assertEquals(None, credentials)
++self.assertIsNone(credentials)
+ get_password.assert_called_once_with('my_unit_test', 'me')
+ 
+ def test_get_and_set_with_json_credentials_stored(self):
+@@ -139,7 +139,7 @@
+return_value=None,
+autospec=True) as set_password:
+ store = keyring_storage.Storage('my_unit_test', 'me')
+-self.assertEquals(None, store.get())
++self.assertIsNone(store.get())
+ 
+ store.put(credentials)
+ 
+--- a/tests/test_client.py
 b/tests/test_client.py
+@@ -436,7 +436,7 @@
+ 'File {0} \(pointed by {1} environment variable\) does not '
+ 'exist!'.format(
+ nonexistent_file, client.GOOGLE_APPLICATION_CREDENTIALS))
+-with 
self.assertRaisesRegexp(client.ApplicationDefaultCredentialsError,
++with self.assertRaisesRegex(client.ApplicationDefaultCredentialsError,
+  expected_err_msg):
+ client._get_environment_variable_file()
+ 
+@@ -541,7 +541,7 @@
+ "'{1}' values\)&qu

Bug#1063782: python-oauth2client: FTBFS with flask 3

2024-02-16 Thread Olivier Gayot
Package: python-oauth2client
Followup-For: Bug #1063782
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

Flask 3.0 dropped support for _app_ctx_stack and _request_ctx_stack.
Those attributes were deprecated since Flask 2.2.

In Ubuntu, the attached patch was applied to achieve the following:

  * Replace use of flask._app_ctx_stack (dropped from flask 3) by flask.g to
fix FTBFS. (LP: #2052771)
 - debian/patches/flask3-use-g-instead-of-app_ctx_stack.patch


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 
'mantic'), (100, 'mantic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
python-oauth2client-4.1.3/debian/patches/flask3-use-g-instead-of-app_ctx_stack.patch
 
python-oauth2client-4.1.3/debian/patches/flask3-use-g-instead-of-app_ctx_stack.patch
--- 
python-oauth2client-4.1.3/debian/patches/flask3-use-g-instead-of-app_ctx_stack.patch
1970-01-01 01:00:00.0 +0100
+++ 
python-oauth2client-4.1.3/debian/patches/flask3-use-g-instead-of-app_ctx_stack.patch
2024-02-16 10:51:37.0 +0100
@@ -0,0 +1,43 @@
+Description: Use flask.g instead of flask._app_ctx_stack
+ In flask 2.2, _app_ctx_stack and _request_ctx_stack got deprecated in favor of
+ using flask.g. The compatibility layer was dropped from flask 3, which now 
raises:
+   E ImportError: cannot import name '_app_ctx_stack' from 'flask'
+ Replaced by the use of flask.g as mentioned in the documentation.
+ .
+ The patch is not meant for upstream inclusion since the project upstream is
+ deprecated (in favor of python-google-auth) and the repository is read only.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://launchpad.net/bugs/2052771
+Bug-Debian: https://bugs.debian.org/1063782
+Forwarded: not-needed
+Last-Update: 2024-02-16
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/oauth2client/contrib/flask_util.py
 b/oauth2client/contrib/flask_util.py
+@@ -170,8 +170,8 @@
+ 
+ try:
+ from flask import Blueprint
+-from flask import _app_ctx_stack
+ from flask import current_app
++from flask import g as flask_g
+ from flask import redirect
+ from flask import request
+ from flask import session
+@@ -434,12 +434,10 @@
+ @property
+ def credentials(self):
+ """The credentials for the current user or None if unavailable."""
+-ctx = _app_ctx_stack.top
++if not hasattr(flask_g, _CREDENTIALS_KEY):
++flask_g.google_oauth2_credentials = self.storage.get()
+ 
+-if not hasattr(ctx, _CREDENTIALS_KEY):
+-ctx.google_oauth2_credentials = self.storage.get()
+-
+-return ctx.google_oauth2_credentials
++return flask_g.google_oauth2_credentials
+ 
+ def has_credentials(self):
+ """Returns True if there are valid credentials for the current 
user."""
diff -Nru python-oauth2client-4.1.3/debian/patches/series 
python-oauth2client-4.1.3/debian/patches/series
--- python-oauth2client-4.1.3/debian/patches/series 2023-08-17 
18:22:35.0 +0200
+++ python-oauth2client-4.1.3/debian/patches/series 2024-02-16 
10:51:37.0 +0100
@@ -1,3 +1,5 @@
+flask3-use-g-instead-of-app_ctx_stack.patch
 skip-network-doing-unit-test.patch
 remove-broken-tests.patch
 fix-hmac.new-call-in-py3.8.patch


Bug#1064017: python-requests-unixsocket: Please run python-requests-unixsocket test-suite as part of autopkgtest

2024-02-15 Thread Olivier Gayot
Package: python-requests-unixsocket
Severity: wishlist
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

The recent migration of urllib3 and src:requests broke
python-requests-unixsocket (see bug 1063892 [1]). This could have been
easily noticed if request_unisocket's test-suite had run as an autopkg
test.

python-requests-unixsocket does not use pybuild so I came up with a
small d/t/control + d/t/python3-requests-unixsocket to make the
test-suite run during autopkgtest execution.

In Ubuntu, the attached patch was applied to achieve the following:

  * Execute test-suite as part of autopkgtest (LP: #2053267)

Thanks for considering the patch.

[1] https://bugs.debian.org/1063892

-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 
'mantic'), (100, 'mantic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru python-requests-unixsocket-0.3.0/debian/tests/control 
python-requests-unixsocket-0.3.0/debian/tests/control
--- python-requests-unixsocket-0.3.0/debian/tests/control   1970-01-01 
01:00:00.0 +0100
+++ python-requests-unixsocket-0.3.0/debian/tests/control   2024-02-15 
19:59:04.0 +0100
@@ -0,0 +1,2 @@
+Tests: python3-requests-unixsocket
+Depends: @, @builddeps@
diff -Nru 
python-requests-unixsocket-0.3.0/debian/tests/python3-requests-unixsocket 
python-requests-unixsocket-0.3.0/debian/tests/python3-requests-unixsocket
--- python-requests-unixsocket-0.3.0/debian/tests/python3-requests-unixsocket   
1970-01-01 01:00:00.0 +0100
+++ python-requests-unixsocket-0.3.0/debian/tests/python3-requests-unixsocket   
2024-02-15 19:59:02.0 +0100
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+set -efu
+
+python3_all="$(py3versions -s 2>/dev/null)"
+
+cp -r requests_unixsocket/tests "$AUTOPKGTEST_TMP/"
+cd "$AUTOPKGTEST_TMP"
+
+for py in $python3_all; do
+echo "=== $py ==="
+$py -m pytest --verbose 2>&1
+done


Bug#1063892: python-requests-unixsocket: HTTPConnection.request() got an unexpected keyword argument 'chunked' with requests 2.29+

2024-02-14 Thread Olivier Gayot
Package: python-requests-unixsocket
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

When using python-requests-unixsocket 0.3.0-3 against requests 2.29+
(currently 2.31.0+dfsg-1 is in testing), the following code produces an
exception:

```python3
import requests_unixsocket

with requests_unixsocket.Session() as session:
session.get('http+unix://%2Ftmp/')
```

  TypeError: HTTPConnection.request() got an unexpected keyword argument 
'chunked'

There is a bug upstream [1] for it. And I think the regression was
introduced by PR 6226 [2] in the underlying library (requests).

I applied a patch that was proposed upstream but not yet merged.

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix incompatibility with requests 2.29 (LP: #2053016).
- d/p/0001-Inherit-HTTPConnection-through-urllib3.connection-no.patch

Thanks for considering the patch.

[1] https://github.com/msabramo/requests-unixsocket/issues/70
[2] https://github.com/psf/requests/pull/6226

-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 
'mantic'), (100, 'mantic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
python-requests-unixsocket-0.3.0/debian/patches/0001-Inherit-HTTPConnection-through-urllib3.connection-no.patch
 
python-requests-unixsocket-0.3.0/debian/patches/0001-Inherit-HTTPConnection-through-urllib3.connection-no.patch
--- 
python-requests-unixsocket-0.3.0/debian/patches/0001-Inherit-HTTPConnection-through-urllib3.connection-no.patch
 1970-01-01 01:00:00.0 +0100
+++ 
python-requests-unixsocket-0.3.0/debian/patches/0001-Inherit-HTTPConnection-through-urllib3.connection-no.patch
 2024-02-14 11:16:52.0 +0100
@@ -0,0 +1,47 @@
+Description: Inherit HTTPConnection through urllib3.connection, not httplib
+ By inheriting from `urllib3.connection.HTTPConnection` (that inherits
+ from `httplib.HTTPConnection` itself), we can adapt to the internal
+ changes in urllib3 2.0 that added a `request()` method that is
+ incompatible with httplib.HTTPConnection.request.
+ .
+ This fixes the incompatibility between urllib3 2.0 and requests 1.26+,
+ which was the first version that stopped vendoring urllib3.
+ .
+ Reference: 
https://github.com/docker/docker-py/issues/3113#issuecomment-1531570788
+ Fixes: #70
+Author: Martin Roukala 
+Origin: upstream, https://github.com/msabramo/requests-unixsocket/pull/69
+Bug: https://github.com/msabramo/requests-unixsocket/issues/70
+Bug-Ubuntu: https://launchpad.net/bugs/2053016
+Applied-Upstream: no
+Last-Update: 2024-02-14
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/requests_unixsocket/adapters.py b/requests_unixsocket/adapters.py
+index 83e1400..513c243 100644
+--- a/requests_unixsocket/adapters.py
 b/requests_unixsocket/adapters.py
+@@ -3,11 +3,6 @@ import socket
+ from requests.adapters import HTTPAdapter
+ from requests.compat import urlparse, unquote
+ 
+-try:
+-import http.client as httplib
+-except ImportError:
+-import httplib
+-
+ try:
+ from requests.packages import urllib3
+ except ImportError:
+@@ -16,7 +11,7 @@ except ImportError:
+ 
+ # The following was adapted from some code from docker-py
+ # https://github.com/docker/docker-py/blob/master/docker/transport/unixconn.py
+-class UnixHTTPConnection(httplib.HTTPConnection, object):
++class UnixHTTPConnection(urllib3.connection.HTTPConnection, object):
+ 
+ def __init__(self, unix_socket_url, timeout=60):
+ """Create an HTTP connection to a unix domain socket
+-- 
+2.40.1
+
diff -Nru python-requests-unixsocket-0.3.0/debian/patches/series 
python-requests-unixsocket-0.3.0/debian/patches/series
--- python-requests-unixsocket-0.3.0/debian/patches/series  1970-01-01 
01:00:00.0 +0100
+++ python-requests-unixsocket-0.3.0/debian/patches/series  2024-02-14 
11:12:51.0 +0100
@@ -0,0 +1 @@
+0001-Inherit-HTTPConnection-through-urllib3.connection-no.patch


Bug#1063782: python-oauth2client: FTBFS with flask 3

2024-02-12 Thread Olivier Gayot
Source: python-oauth2client
Severity: important

Dear Maintainer,

Building (or running autopkgtest) for python-oauth2client against flask
3.0 leads to an error when running the test-suite:

  Traceback:
  oauth2client/contrib/flask_util.py:173: in 
  from flask import _app_ctx_stack
  E   ImportError: cannot import name '_app_ctx_stack' from 'flask' 
(/usr/lib/python3/dist-packages/flask/__init__.py)

With previous versions of flask, the same code would produce a warning
instead:

  oauth2client/contrib/flask_util.py:173: DeprecationWarning: '_app_ctx_stack' 
is deprecated and will be removed in Flask 2.3.

Flask decided to remove the deprecated _app_ctx_stack [1] in 3.0.0. The
recommended approach is to "use 'g' to store data instead."

Quote from Version 2.2.0 changelog [2]:

> The app and request contexts are managed using Python context vars directly 
> rather than Werkzeug’s LocalStack. This should result in better performance 
> and memory use. #4682
> 
> Extension maintainers, be aware that _app_ctx_stack.top and 
> _request_ctx_stack.top are deprecated. Store data on g instead using a unique 
> prefix, like g._extension_name_attr.
> 

Nowadays oauth2client is marked deprecated [3] and the upstream repository [4]
has been read only for four years.

NOTE: When building with python3.12, there are other errors but they have
already been reported as part of bug 1058392 [5]

Thank you

[1] https://github.com/pallets/flask/pull/5223
[2] https://flask.palletsprojects.com/en/2.3.x/changes/#version-2-2-0
[3] https://google-auth.readthedocs.io/en/latest/oauth2client-deprecation.html
[4] https://github.com/googleapis/oauth2client
[5] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058392

-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 
'mantic'), (100, 'mantic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled


Bug#1057530: nvme-stas: autopkgtest fail when runners have esoteric network interfaces

2023-12-05 Thread Olivier Gayot
Package: nvme-stas
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

When an autopkgtest runner has esoteric network interfaces configured,
the test-suite (i.e., test-udev.py and/or test-iputil.py) is likely to
fail.

The following types of interfaces are known to cause failures on
autopkgtest runners in Ubuntu:

 * vlan
 * gre
 * dummy
 * veth

I am not sure if Debian autopkgtest runners would be affected but the
test suite is a bit fragile at the moment, so I think the patches would
make sense.

NOTE: Ubuntu is ahead of Debian by two patches, so the autopkgtest
failures might not unravel until the following are addressed:

 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1054533
 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1057031

In Ubuntu, the attached patch was applied to achieve the following:

  * Skip mac2iface test for esoteric network interfaces (LP: #2045690)
  * Add upstream patch to fix udev test for esoteric network interfaces


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
nvme-stas-2.3/debian/patches/fix-test-udev-with-dummy-interfaces.patch 
nvme-stas-2.3/debian/patches/fix-test-udev-with-dummy-interfaces.patch
--- nvme-stas-2.3/debian/patches/fix-test-udev-with-dummy-interfaces.patch  
1970-01-01 01:00:00.0 +0100
+++ nvme-stas-2.3/debian/patches/fix-test-udev-with-dummy-interfaces.patch  
2023-12-05 21:04:32.0 +0100
@@ -0,0 +1,26 @@
+Description: Fix test-udev with dummy interfaces
+Author: Martin Belanger 
+Origin: upstream, 
https://github.com/linux-nvme/nvme-stas/commit/371c1e875a9a660adca241265e4cd460ee7e5e5c
+Bug: https://github.com/linux-nvme/nvme-stas/issues/407
+Last-Update: 2023-12-05
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/test/test-udev.py b/test/test-udev.py
+index ba484e0..9621edc 100755
+--- a/test/test-udev.py
 b/test/test-udev.py
+@@ -295,6 +295,11 @@ class Test(unittest.TestCase):
+ def test__cid_matches_tid(self):
+ ifaces = iputil.net_if_addrs()
+ for ifname, addrs in self.ifaces.items():
++#  contains a subset of the interfaces found in 
.
++# So, let's make sure that we only test with the interfaces found 
in both.
++if ifname not in ifaces:
++continue
++
+ ##
+ # IPV4
+ 
+-- 
+2.40.1
+
diff -Nru nvme-stas-2.3/debian/patches/series 
nvme-stas-2.3/debian/patches/series
--- nvme-stas-2.3/debian/patches/series 2023-11-28 11:01:46.0 +0100
+++ nvme-stas-2.3/debian/patches/series 2023-12-05 21:04:32.0 +0100
@@ -1,3 +1,5 @@
 fix-test-libnvme-version.patch
 fix-test-udev-failing-multiple-IPv6.patch
 fix-iputil-endianness-issue.patch
+skip-mac2iface-test-for-esoteric-interfaces.patch
+fix-test-udev-with-dummy-interfaces.patch
diff -Nru 
nvme-stas-2.3/debian/patches/skip-mac2iface-test-for-esoteric-interfaces.patch 
nvme-stas-2.3/debian/patches/skip-mac2iface-test-for-esoteric-interfaces.patch
--- 
nvme-stas-2.3/debian/patches/skip-mac2iface-test-for-esoteric-interfaces.patch  
1970-01-01 01:00:00.0 +0100
+++ 
nvme-stas-2.3/debian/patches/skip-mac2iface-test-for-esoteric-interfaces.patch  
2023-12-05 21:04:32.0 +0100
@@ -0,0 +1,70 @@
+Description: Skip mac2iface test for esoteric interfaces
+ mac2iface takes a MAC address as argument and returns the corresponding
+ interface (if any).
+ The mac2iface tests will however invoke mac2iface with invalid MAC addresses
+ when esoteric network interfaces are present on the system. As an example,
+ armhf autopkgtest runners in Ubuntu have gre interfaces configured so the
+ test-suite fails.
+ .
+ We now ensure that the test-suite calls mac2iface with only valid MAC
+ addresses.
+ .
+ Furthermore, sometimes the same MAC address is assigned to more than one
+ interface on the system (this is true for VLAN interfaces for instance). This
+ confuses mac2iface, which returns only the first match. This scenario is
+ possibly more of a nvme-stas bug than a test-suite bug, but for now we will
+ just skip the interfaces that have a duplicate MAC address.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://launchpad.net/bugs/2045690
+Forwarded: https://github.com/linux-nvme/nvme-stas/pull/411
+Last-Update: 2023-12-05
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/test

Bug#1057467: lomiri-download-manager: Use of GetConnectionAppArmorSecurityContext dropped from DBus years ago

2023-12-05 Thread Olivier Gayot
Package: lomiri-download-manager
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

During runtime, lomiri-download-manager still tries to consume the
GetConnectionAppArmorSecurityContext DBus method, which was added in
Ubuntu around 10 years ago and never made it upstream. Instead, upstream
DBus added another way to access the AppArmor security context through
GetConnectionCredentials [1].

The GetConnectionAppArmorSecurityContext method does not exist anymore
in Debian ; so there is no point trying to use it.

I also submitted the patch upstream [2].

In Ubuntu, the attached patch was applied to achieve the following:

  * Replace deprecated calls to GetConnectionAppArmorSecurityContext by calls
to GetConnectionCredentials (LP: #1489489).


Thanks for considering the patch.

[1] 
https://dbus.freedesktop.org/doc/dbus-specification.html#bus-messages-get-connection-credentials
[2] 
https://gitlab.com/ubports/development/core/lomiri-download-manager/-/merge_requests/24

-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
lomiri-download-manager-0.1.2/debian/patches/1001-drop-deprecated-GetConnectionAppArmorSecurityContext.patch
 
lomiri-download-manager-0.1.2/debian/patches/1001-drop-deprecated-GetConnectionAppArmorSecurityContext.patch
--- 
lomiri-download-manager-0.1.2/debian/patches/1001-drop-deprecated-GetConnectionAppArmorSecurityContext.patch
1970-01-01 01:00:00.0 +0100
+++ 
lomiri-download-manager-0.1.2/debian/patches/1001-drop-deprecated-GetConnectionAppArmorSecurityContext.patch
2023-12-05 10:20:56.0 +0100
@@ -0,0 +1,386 @@
+Description: Drop deprecated calls to GetConnectionAppArmorSecurityContext
+ Around 10 years ago, we introduced GetConnectionAppArmorSecurityContext() in
+ DBus in Ubuntu. Upstream pushed back and instead exposed the AppArmor's
+ context in org.freedesktop.DBus.GetConnectionCredentials().
+ So far, we have maintained GetconnectionAppArmorSecurityContext() as a delta
+ in Ubuntu so that existing software do not break.
+ However, the recommended way (and the only portable way) is to use
+ GetConnectionCredentials() instead. Furthermore, it is about time we drop
+ support for the former in Ubuntu.
+ .
+ The patch is inspired from 4c4d7961261b41ac41f24c8ce75563ab12f6b74c from the
+ https://gitlab.com/ubports/development/core/lomiri-thumbnailer/ repository.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://launchpad.net/bugs/1489489
+Forwarded: 
https://gitlab.com/ubports/development/core/lomiri-download-manager/-/merge_requests/24
+Last-Update: 2023-12-05
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/common/priv/lomiri/transfers/system/apparmor.cpp
 b/src/common/priv/lomiri/transfers/system/apparmor.cpp
+@@ -19,6 +19,7 @@
+ #include 
+ #include 
+ #include 
++#include 
+ #include 
+ #include 
+ #include 
+@@ -37,6 +38,8 @@
+ namespace System {
+ 
+ QString AppArmor::UNCONFINED_ID = "unconfined";
++QString AppArmor::LINUX_SECURITY_LABEL = "LinuxSecurityLabel";
++
+ 
+ AppArmor::AppArmor(DBusConnection* connection,
+ QObject* parent)
+@@ -68,15 +71,38 @@
+ }
+ 
+ QString
++AppArmor::labelFromCredentials(const QVariantMap )
++{
++// The contents of this map are described in the specification here:
++// 
http://dbus.freedesktop.org/doc/dbus-specification.html#bus-messages-get-connection-credentials
++QByteArray label = map.value(LINUX_SECURITY_LABEL).value();
++
++if (label.size() == 0) {
++return "";
++}
++
++// The label is null terminated.
++assert(label[label.size()-1] == '\0');
++label.truncate(label.size() - 1);
++// Trim the mode off the end of the label.
++int pos = label.lastIndexOf(' ');
++if (pos > 0 && label.endsWith(')') && label[pos+1] == '(')
++{
++label.truncate(pos);  // LCOV_EXCL_LINE
++}
++return QString::fromUtf8(label.constData(), label.size());
++}
++
++QString
+ AppArmor::appId(QString caller) {
+-QScopedPointer > reply(
+-_dbus->GetConnectionAppArmorSecurityContext(caller));
++QScopedPointer > reply(
++_dbus->GetConnectionCredentials(caller));
+ // blocking but should be ok for now
+ reply->waitForFinished();
+ if (reply->isError()) {
+ return "";
+ }
+-return reply->value();
++return labelFro

Bug#1056533: testresources autopkg tests fail with Python 3.12

2023-11-30 Thread Olivier Gayot
Package: testresources
Followup-For: Bug #1056533
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

The testresources autopkgtest test-suite currently fails with Python
3.12 because it still uses unittest.TestCase.failIf.

failIf was a deprecated alias for assertFalse and was dropped from
Python 3.12.

Applying a patch from upstream allows the test-suite to pass with Python
3.12.

In Ubuntu, the attached patch was applied to achieve the following:


  * Fix test-suite so it can run with Python 3.12. (LP: #2045302)


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru testresources-2.0.1/debian/patches/python3.12.patch 
testresources-2.0.1/debian/patches/python3.12.patch
--- testresources-2.0.1/debian/patches/python3.12.patch 1970-01-01 
01:00:00.0 +0100
+++ testresources-2.0.1/debian/patches/python3.12.patch 2023-11-30 
18:59:39.0 +0100
@@ -0,0 +1,35 @@
+Description: Refactor failIf to assertFalse for Python 3.12 Compatibility
+ This commit replaces deprecated failIf calls with assertFalse in the
+ test_resourced_test_case.py file. The failIf method was removed in
+ Python 3.12 [1-3].
+ .
+ [1] https://docs.python.org/3.12/whatsnew/3.12.html#removed
+ [2] https://github.com/python/cpython/issues/89325
+ [3] https://github.com/python/cpython/pull/28268
+Author: Petr Vaněk 
+Origin: upstream, https://github.com/testing-cabal/testresources/pull/15
+Bug: https://launchpad.net/bugs/2045302
+Bug-Ubuntu: https://launchpad.net/bugs/2045302
+Bug-Debian: https://bugs.debian.org/1056533
+Applied-Upstream: 
https://github.com/testing-cabal/testresources/commit/7bb62a13fa1d28717c10f3152b5e8ea479c8e9d2
+Last-Update: 2023-11-30
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/testresources/tests/test_resourced_test_case.py
 b/testresources/tests/test_resourced_test_case.py
+@@ -129,7 +129,7 @@
+ self.resourced_case.resources = [("foo", self.resource_manager)]
+ self.resourced_case.setUpResources()
+ self.resourced_case.tearDownResources()
+-self.failIf(hasattr(self.resourced_case, "foo"))
++self.assertFalse(hasattr(self.resourced_case, "foo"))
+ 
+ def testTearDownResourcesStopsUsingResource(self):
+ # tearDownResources records that there is one less use of each
+@@ -158,5 +158,5 @@
+ self.assertEqual(self.resourced_case.foo, self.resource)
+ self.assertEqual(self.resource_manager._uses, 1)
+ self.resourced_case.tearDown()
+-self.failIf(hasattr(self.resourced_case, "foo"))
++self.assertFalse(hasattr(self.resourced_case, "foo"))
+ self.assertEqual(self.resource_manager._uses, 0)
diff -Nru testresources-2.0.1/debian/patches/series 
testresources-2.0.1/debian/patches/series
--- testresources-2.0.1/debian/patches/series   2022-10-17 12:22:49.0 
+0200
+++ testresources-2.0.1/debian/patches/series   2023-11-30 18:59:07.0 
+0100
@@ -1,2 +1,3 @@
 remove-non-deterministic-ftbfs-testBasicSortTests.patch
 python3.10.patch
+python3.12.patch


Bug#1055571: cracklib2 tests fail with Python 3.12

2023-11-30 Thread Olivier Gayot
Package: cracklib2
Followup-For: Bug #1055571
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

When attempting to build src:cracklib2 against Python 3.12, the
build-time test-suite fails, making the package FTBFS.

The test-suite still uses unittest.TestCase.assertEquals() which was
a deprecated alias for unittest.TestCase.assertEqual() (without the s).
The alias was dropped from Python 3.12.

In Ubuntu, the attached patch was applied to achieve the following:


  * Fix build against Python 3.12. (LP: #2045290)


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru cracklib2-2.9.6/debian/patches/python3.12-support.patch 
cracklib2-2.9.6/debian/patches/python3.12-support.patch
--- cracklib2-2.9.6/debian/patches/python3.12-support.patch 1970-01-01 
01:00:00.0 +0100
+++ cracklib2-2.9.6/debian/patches/python3.12-support.patch 2023-11-30 
17:46:13.0 +0100
@@ -0,0 +1,77 @@
+Description: Fix build against Python 3.12
+ The build-time test suite still used the obsolete assertEquals function -
+ which was obsolete and got dropped from Python 3.12. Use the replacement
+ instead so we can build with Python 3.12.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://launchpad.net/bugs/2045290
+Bug-Debian: https://bugs.debian.org/1055571
+Forwarded: https://github.com/cracklib/cracklib/pull/75
+Last-Update: 2023-11-30
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/python/test_cracklib.py
 b/python/test_cracklib.py
+@@ -76,41 +76,41 @@
+ def test_simple_lower(self):
+ for passwd in ['t' * i for i in range(
+ cracklib.MIN_LENGTH - cracklib.LOW_CREDIT)]:
+-self.assertEquals(
++self.assertEqual(
+ 1, cracklib.simple(passwd),
+ 'password {0} should be detected as too simple'.format(
+ passwd))
+-self.assertEquals(0, cracklib.simple(
++self.assertEqual(0, cracklib.simple(
+ 't' * (cracklib.MIN_LENGTH - cracklib.LOW_CREDIT)))
+ 
+ def test_simple_upper(self):
+ for passwd in ['T' * i for i in range(
+ cracklib.MIN_LENGTH - cracklib.UP_CREDIT)]:
+-self.assertEquals(
++self.assertEqual(
+ 1, cracklib.simple(passwd),
+ 'password {0} should be detected as too simple'.format(
+ passwd))
+-self.assertEquals(0, cracklib.simple(
++self.assertEqual(0, cracklib.simple(
+ 'T' * (cracklib.MIN_LENGTH - cracklib.UP_CREDIT)))
+ 
+ def test_simple_digit(self):
+ for passwd in ['1' * i for i in range(
+ cracklib.MIN_LENGTH - cracklib.DIG_CREDIT)]:
+-self.assertEquals(
++self.assertEqual(
+ 1, cracklib.simple(passwd),
+ 'password {0} should be detected as too simple'.format(
+ passwd))
+-self.assertEquals(0, cracklib.simple(
++self.assertEqual(0, cracklib.simple(
+ '1' * (cracklib.MIN_LENGTH - cracklib.DIG_CREDIT)))
+ 
+ def test_simple_other(self):
+ for passwd in ['#' * i for i in range(
+ cracklib.MIN_LENGTH - cracklib.OTH_CREDIT)]:
+-self.assertEquals(
++self.assertEqual(
+ 1, cracklib.simple(passwd),
+ 'password {0} should be detected as too simple'.format(
+ passwd))
+-self.assertEquals(0, cracklib.simple(
++self.assertEqual(0, cracklib.simple(
+ '#' * (cracklib.MIN_LENGTH - cracklib.OTH_CREDIT)))
+ 
+ def test_simple_combinations(self):
+@@ -119,11 +119,11 @@
+ cracklib.MIN_LENGTH -
+ cracklib.LOW_CREDIT -
+ cracklib.OTH_CREDIT)]:
+-self.assertEquals(
++self.assertEqual(
+ 1, cracklib.simple(passwd),
+ 'password {0} should be detected as too simple'.format(
+ passwd))
+-self.assertEquals(0, cracklib.simple(
++self.assertEqual(0, cracklib.simple(
+ testset[:(cracklib.MIN_LENGTH - cracklib.LOW_CREDIT -
+   cracklib.OTH_CREDIT)]))
+ 
diff -Nru cracklib2-2.9.6/debian/patches/series 
cracklib2-2.9.6/debian/patches/series
--- cracklib2-2.9.6/debian/patches/series   2022-11-29 08:26:33.0 
+0100
+++ cracklib2

Bug#1055687: khmer ftbfs with Python 3.12

2023-11-29 Thread Olivier Gayot
Hi,

Thank you for uploading 3.0.0~a3+dfsg-6!

I was about to request a sync in Ubuntu. Sadly, I noticed that I forgot
to forward one change that was done as an intermediate upload in Ubuntu.
The change is required for Python 3.12 support. Sorry about that!

I've just opened https://salsa.debian.org/med-team/khmer/-/merge_requests/1
with the missing bits to correct the mistake.

Best regards,
Olivier



Bug#1055687: khmer ftbfs with Python 3.12

2023-11-29 Thread Olivier Gayot
Hi Andreas,

On Wed, 29 Nov 2023 14:26:01 +0100 Andreas Tille  wrote:
When looking at the first patch
> it applies to a series file containing the patches
> 
>  refresh_cython
>  find_object_files_at_right_loc.patch
> 
> at the end.  I'd love to profit from all those patches.  Where
> can I find these?
> 
You can find all the patches that are currently used for khmer 3.0.0~a3+dfsg-5 
in the khmer tree from Debian Med:

https://salsa.debian.org/med-team/khmer/-/tree/master/debian/patches

Thanks,
Olivier



Bug#1057031: nvme-stas: autopkgtest hanging on s390x

2023-11-28 Thread Olivier Gayot
Hello,

nvme-stas v2.3.1 is out now :)

https://github.com/linux-nvme/nvme-stas/releases/tag/v2.3.1

Best regards,
Olivier



Bug#1057031: nvme-stas: autopkgtest hanging on s390x

2023-11-28 Thread Olivier Gayot
Thanks Daniel!

FYI Martin Bélanger (from nvme-stas upstream) will be preparing a 2.3.1
release of nvme-stas. It should contain some of the patches needed so if
we are not in a hurry, we might as well wait for 2.3.1 to be out.

Thanks,
Olivier

On 11/28/23 11:38, Daniel Baumann wrote:
> Hi Olivier,
> 
> thanks you, that is much apperciated. I've been mostly away/VAC the last
> two weeks, but I'll take care about this and the other patch later today.
> 
> Regards,
> Daniel



Bug#1057031: nvme-stas: autopkgtest hanging on s390x

2023-11-28 Thread Olivier Gayot
Package: nvme-stas
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

After applying fixes from bug 1054533 [1], autopkgtest
for nvme-stas hangs on s390x and ends up failing on timeout.

Excerpt from an autopkgtest run on Ubuntu [2].

> 96s test__data_matches_ip (test-iputil.Test.test__data_matches_ip) ... ok
> 596s test_get_interface (test-iputil.Test.test_get_interface)
> 10600s Check that get_interface() returns the right info ... autopkgtest 
> [02:09:30]: ERROR: timed out on command "su -s /bin/bash ubuntu -c set -e; 
> [...]

This is caused by an endianness issue in staslib.iputil when
packing/unpacking netlink data structures. It can be fixed by using host
byte ordering instead of "hard-coding" little endian.

I forwarded the fix upstream [3].

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix endianness issues in staslib.iputil causing hangs on s390x.
(LP: #2045000)

Thanks for considering the patch.

[1] https://bugs.debian.org/1054533
[2] 
https://autopkgtest.ubuntu.com/results/autopkgtest-noble/noble/s390x/n/nvme-stas/20231128_021002_94626@/log.gz
[3] https://github.com/linux-nvme/nvme-stas/pull/406

-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru nvme-stas-2.3/debian/control nvme-stas-2.3/debian/control
--- nvme-stas-2.3/debian/control2023-11-27 17:45:04.0 +0100
+++ nvme-stas-2.3/debian/control2023-11-28 11:01:46.0 +0100
@@ -1,8 +1,7 @@
 Source: nvme-stas
 Section: net
 Priority: optional
-Maintainer: Ubuntu Developers 
-XSBC-Original-Maintainer: Daniel Baumann 
+Maintainer: Daniel Baumann 
 Uploaders:
  Benjamin Drung ,
 Build-Depends:
diff -Nru nvme-stas-2.3/debian/patches/fix-iputil-endianness-issue.patch 
nvme-stas-2.3/debian/patches/fix-iputil-endianness-issue.patch
--- nvme-stas-2.3/debian/patches/fix-iputil-endianness-issue.patch  
1970-01-01 01:00:00.0 +0100
+++ nvme-stas-2.3/debian/patches/fix-iputil-endianness-issue.patch  
2023-11-28 11:01:46.0 +0100
@@ -0,0 +1,103 @@
+Description: iputil: pack and unpack using native byte ordering
+ On big-endian architectures (such as s390x), tests defined in
+ test-iputil.py would hang:
+ .
+  > 596s test_get_interface (test-iputil.Test.test_get_interface)
+  >   10600s Check that get_interface() returns the right info ...
+ .
+ Indeed, running the following hangs as well:
+ .
+  > from staslib import iputil
+  >
+  > iputil.net_if_addrs()
+ .
+ This is an endianness issue that can be fixed by using native
+ byte-ordering when packing and unpacking netlink data structures such as
+ ifaddrmsg.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://launchpad.net/bugs/2045000
+Forwarded: https://github.com/linux-nvme/nvme-stas/pull/406
+Last-Update: 2023-11-28
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/staslib/iputil.py
 b/staslib/iputil.py
+@@ -42,7 +42,7 @@
+ __u32 nlmsg_pid;   /* Sending process port ID */
+ };
+ '''
+-return struct.pack('

Bug#1054533: nvme-stas: autopkgtest fails on all architectures

2023-11-27 Thread Olivier Gayot
Package: nvme-stas
Followup-For: Bug #1054533
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

Several test cases in nvme-stas 2.3-1 were making the autopkgtest fail.

In Ubuntu, the attached patch was applied to achieve the following:

  * Add Test-Depends on nvme-cli to fix the absence of /etc/nvme/host{nqn,id}
when running the test suite. (LP: #2043792)
  - This is only a workaround for autopkgtests. stafd can still fail with
the same error at runtime outside of autopkgtests when configured with
an appropriate "controller =" directive.
  * Fix failing test from mocked libnvme version. (LP: #2043792)
  * Fix legacy Udev test failing when multiples IPv6 addresses are set.
(LP: #2043792)

Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru nvme-stas-2.3/debian/patches/fix-test-libnvme-version.patch 
nvme-stas-2.3/debian/patches/fix-test-libnvme-version.patch
--- nvme-stas-2.3/debian/patches/fix-test-libnvme-version.patch 1970-01-01 
01:00:00.0 +0100
+++ nvme-stas-2.3/debian/patches/fix-test-libnvme-version.patch 2023-11-21 
09:29:41.0 +0100
@@ -0,0 +1,52 @@
+Description: Fix mock libnvme test so it works in GitHub actions & autopkgtest 
+ Different Python test frameworks manage Python processes differently
+ when running tests. When running `python3 -m unittest` for instance, it
+ looks like the same process executes all the tests.  Therefore when one
+ test module T1 imports a module, the module is not re-imported if needed
+ by T2.
+ .
+ This causes issues with test-defs.py which tries to mock the libnvme
+ module. Indeed, when it is previously imported by staslib, the mocked
+ libnvme module does not get re-imported.
+ .
+ Fixed by removing staslib and staslib.defs from the imported modules
+ before executing the test.
+Author: Olivier Gayot 
+Origin: upstream, 
https://github.com/linux-nvme/nvme-stas/commit/2efebdb4dec6d5a6341a577273a1ce7b57fe488c
+Bug-Ubuntu: https://launchpad.net/bugs/2043792
+Bug-Debian: https://bugs.debian.org/1054533
+Last-Update: 2023-11-27
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/test/test-defs.py
 b/test/test-defs.py
+@@ -1,4 +1,5 @@
+ #!/usr/bin/python3
++import contextlib
+ import os
+ import sys
+ import unittest
+@@ -9,13 +10,17 @@
+ '''Testing defs.py by mocking the libnvme package'''
+ 
+ def test_libnvme_version(self):
+-# For unknown reasons, this test does
+-# not work when run from GitHub Actions.
+-if not os.getenv('GITHUB_ACTIONS'):
+-from staslib import defs
++# Ensure that we re-import staslib & staslib.defs if the current 
Python
++# process has them already imported.
++with contextlib.suppress(KeyError):
++sys.modules.pop('staslib.defs')
++with contextlib.suppress(KeyError):
++sys.modules.pop('staslib')
+ 
+-libnvme_ver = defs.LIBNVME_VERSION
+-self.assertEqual(libnvme_ver, '?.?')
++from staslib import defs
++
++libnvme_ver = defs.LIBNVME_VERSION
++self.assertEqual(libnvme_ver, '?.?')
+ 
+ @classmethod
+ def setUpClass(cls):  # called once before all the tests
diff -Nru 
nvme-stas-2.3/debian/patches/fix-test-udev-failing-multiple-IPv6.patch 
nvme-stas-2.3/debian/patches/fix-test-udev-failing-multiple-IPv6.patch
--- nvme-stas-2.3/debian/patches/fix-test-udev-failing-multiple-IPv6.patch  
1970-01-01 01:00:00.0 +0100
+++ nvme-stas-2.3/debian/patches/fix-test-udev-failing-multiple-IPv6.patch  
2023-11-21 09:29:41.0 +0100
@@ -0,0 +1,29 @@
+Description: Fix test-udev failing when multiple IPv6 addresses are used
+ test-udev was failing when an interface had more than one IPv6
+ addresses assigned. This was due to the test checking that the
+ number of assigned IPv6 addresses was exactly 1 (== 1) instead of
+ checking greater-equal to 1 (>= 1).
+Author: Martin Belanger 
+Origin: upstream, 
https://github.com/linux-nvme/nvme-stas/commit/66b42bdd83bb6a83b30da3aed5fea9ed4da882f6
+Bug: https://github.com/linux-nvme/nvme-stas/issues/403
+Bug-Ubuntu: https://launchpad.net/bugs/2043792
+Bug-Debian: https://bugs.debian.org/1054533
+Last-Update: 2023-11-27
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/test/test-udev.py b/test/test-udev.py
+index be257d9..ba484e0 100755
+--

Bug#1055687: khmer ftbfs with Python 3.12

2023-11-26 Thread Olivier Gayot
Package: khmer
Followup-For: Bug #1055687
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

My previous patch was unfortunately very incomplete. I am submitting
another patch that fixes the remaining issues when building with Python
3.12. Both debdiffs should be applied for the build to succeed.

Additional fixes that were needed for the build to succeed:

 * Python 3.12 dropped the "imp" module. Updated to use importlib
instead.
 * Python 3.12 is much less forgiving when a script opens a file for
writing and forgets to close it. Most Python scripts in scripts/ failed
to do so or did so inconsistently. This resulted in the test suite
either hanging or failing. I went through all invocations of open() /
get_file_writer() and ensured that the resources are cleaned up. The
resulting patch is sadly difficult to read though.

I submitted all changes upstream, although I doubt somebody will pick
them up:

https://github.com/dib-lab/khmer/pull/1922

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix build against Python 3.12 (LP: #2044383).

Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru khmer-3.0.0~a3+dfsg/debian/control khmer-3.0.0~a3+dfsg/debian/control
--- khmer-3.0.0~a3+dfsg/debian/control  2023-11-25 17:44:28.0 +0100
+++ khmer-3.0.0~a3+dfsg/debian/control  2023-11-26 02:28:32.0 +0100
@@ -1,6 +1,5 @@
 Source: khmer
-Maintainer: Ubuntu Developers 
-XSBC-Original-Maintainer: Debian Med Packaging Team 

+Maintainer: Debian Med Packaging Team 

 Uploaders: Michael R. Crusoe ,
Kevin Murray 
 Section: science
diff -Nru khmer-3.0.0~a3+dfsg/debian/patches/close-opened-files.patch 
khmer-3.0.0~a3+dfsg/debian/patches/close-opened-files.patch
--- khmer-3.0.0~a3+dfsg/debian/patches/close-opened-files.patch 1970-01-01 
01:00:00.0 +0100
+++ khmer-3.0.0~a3+dfsg/debian/patches/close-opened-files.patch 2023-11-26 
02:28:32.0 +0100
@@ -0,0 +1,1124 @@
+Description: ensure that Python scripts close files that they open for writing 
+ Python scripts under scripts/ in the source tree do not consistently close
+ files that they open for writing. While some of the scripts use context
+ managers, most of them do not (or do so inconsistently).
+ In previous releases of Ubuntu, this apparently was not much of a concern.
+ However, Python 3.12 seems to be much less forgiving when files are not
+ properly closed. When running the test suite, many of the files that are not
+ explicitly closed appear truncated. This leads to various tests failing or
+ hanging and causing FTBFS when the test suite runs at build time.
+ .
+ Furthermore, khmer defines the get_file_writer() function, but it cannot be
+ consistently used as a context manager because it sometimes closes the
+ underlying file descriptor ; and sometimes does not depending on the
+ arguments.
+ .
+ Fixed by defining a new FileWriter context manager and ensuring that
+ each call to open() / get_file_writer() frees up resources properly.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://launchpad.net/bugs/2044383
+Bug-Debian: https://bugs.debian.org/1055687
+Forwarded: https://github.com/dib-lab/khmer/pull/1922
+Last-Update: 2023-11-26
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: khmer-3.0.0~a3+dfsg/scripts/abundance-dist.py
+===
+--- khmer-3.0.0~a3+dfsg.orig/scripts/abundance-dist.py 2023-11-26 
20:23:39.915485717 +0100
 khmer-3.0.0~a3+dfsg/scripts/abundance-dist.py  2023-11-26 
20:23:39.911485747 +0100
+@@ -42,6 +42,7 @@
+ Use '-h' for parameter help.
+ """
+ 
++import contextlib
+ import sys
+ import csv
+ import khmer
+@@ -143,26 +144,28 @@
+ sys.exit(1)
+ 
+ if args.output_histogram_filename in ('-', '/dev/stdout'):
+-countgraph_fp = sys.stdout
++countgraph_ctx = contextlib.nullcontext(enter_result=sys.stdout)
+ else:
+-countgraph_fp = open(args.output_histogram_filename, 'w')
+-countgraph_fp_csv = csv.writer(countgraph_fp)
+-# write headers:
+-countgraph_fp_csv.writerow(['abundance', 'count', 'cumulative',
+-'cumulative_fraction'])
+-
+-sofar = 0
+-for _, i in enumerate(abundances):
+-if i == 0 and not args.output_zero:
+-continue
++countgraph_ctx = open(args.outp

Bug#1056591: acedb FTBFS against glibc 2.38

2023-11-23 Thread Olivier Gayot
Package: acedb
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear Maintainer,

Trying to build with glibc 2.38 fails with the following error:

 ../wh/utils.h:34:7: error: conflicting types for ‘strcasestr’; have ‘char 
*(char *, char *)’
34 | char *strcasestr (char *str1, char *str2);
   | ^~
 In file included from ../wh/mystdlib.h:227,
  from ../wh/regular.h:51,
  from utils.c:37:
 /usr/include/string.h:380:14: note: previous declaration of ‘strcasestr’ with 
type ‘char *(const char *, const char *)’

Before glibc 2.38, the strcasestr function was only made available when
building with _GNU_SOURCE. Starting with glibc 2.38, the function is
available by default.

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix build against glibc 2.38 (LP: #2044385)


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru acedb-4.9.39+dfsg.02/debian/patches/glibc-2.38.patch 
acedb-4.9.39+dfsg.02/debian/patches/glibc-2.38.patch
--- acedb-4.9.39+dfsg.02/debian/patches/glibc-2.38.patch1970-01-01 
01:00:00.0 +0100
+++ acedb-4.9.39+dfsg.02/debian/patches/glibc-2.38.patch2023-11-23 
16:07:13.0 +0100
@@ -0,0 +1,47 @@
+Description: Fix build against glibc 2.38
+ In previous glibc versions, strcasestr would only be available if building
+ with _GNU_SOURCE.
+ Starting with glibc 2.38, strcasestr is now available by default.
+ Ensure that acedb does not redefine the function if we're building with a 
modern glibc.
+Author: Olivier Gayot 
+Bug: 
+Bug-Ubuntu: https://launchpad.net/bugs/2044385
+Forwarded: no
+Last-Update: 2023-11-23
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: acedb-4.9.39+dfsg.02/w1/utils.c
+===
+--- acedb-4.9.39+dfsg.02.orig/w1/utils.c   2005-10-04 15:15:00.0 
+0200
 acedb-4.9.39+dfsg.02/w1/utils.c2023-11-23 16:48:20.118800952 +0100
+@@ -774,7 +774,7 @@
+ //
+ /* case-insensitive version of strstr */
+ 
+-#ifndef DARWIN
++#ifndef HAS_STRCASESTR
+ char *strcasestr(char *str1, char *str2)
+ {
+   g_strup(str1);
+Index: acedb-4.9.39+dfsg.02/wh/utils.h
+===
+--- acedb-4.9.39+dfsg.02.orig/wh/utils.h   2023-11-23 16:19:02.454527757 
+0100
 acedb-4.9.39+dfsg.02/wh/utils.h2023-11-23 16:47:40.099066905 +0100
+@@ -29,7 +29,16 @@
+  *---
+  */
+ 
+-#ifndef DARWIN
++/* Ensure that features.h or an equivalent is included. */ 
++#include 
++
++#if defined(DARWIN) || defined(_GNU_SOURCE)
++# define HAS_STRCASESTR
++#elif __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 38
++# define HAS_STRCASESTR
++#endif
++
++#ifndef HAS_STRCASESTR
+ /* case-insensitive version of strstr */
+ char *strcasestr  (char *str1, char *str2);
+ #endif
diff -Nru acedb-4.9.39+dfsg.02/debian/patches/series 
acedb-4.9.39+dfsg.02/debian/patches/series
--- acedb-4.9.39+dfsg.02/debian/patches/series  2023-08-15 16:23:13.0 
+0200
+++ acedb-4.9.39+dfsg.02/debian/patches/series  2023-11-23 16:07:13.0 
+0100
@@ -13,3 +13,4 @@
 glibc2.32.patch
 # drop_gtk2.patch
 just_build_efetch.patch
+glibc-2.38.patch


Bug#1055687: khmer ftbfs with Python 3.12

2023-11-23 Thread Olivier Gayot
Package: khmer
Followup-For: Bug #1055687
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix build against Python 3.12 (LP: #2044383).


Thanks for considering the patch.


-- System Information:
Debian Release: trixie/sid
  APT prefers mantic-updates
  APT policy: (500, 'mantic-updates'), (500, 'mantic-security'), (500, 'mantic')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru khmer-3.0.0~a3+dfsg/debian/patches/python3.12-support.patch 
khmer-3.0.0~a3+dfsg/debian/patches/python3.12-support.patch
--- khmer-3.0.0~a3+dfsg/debian/patches/python3.12-support.patch 1970-01-01 
01:00:00.0 +0100
+++ khmer-3.0.0~a3+dfsg/debian/patches/python3.12-support.patch 2023-11-23 
15:24:51.0 +0100
@@ -0,0 +1,24 @@
+Description: Add support for Python 3.12
+ Ever since Python 3.2, configparser.SafeConfigParser has been deprecated in
+ favor of configparser.ConfigParser. An alias existed for backward compability
+ but the alias was dropped from Python 3.12.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://launchpad.net/bugs/2044383
+Bug-Debian: https://bugs.debian.org/1055687
+Forwarded: https://github.com/dib-lab/khmer/pull/1922
+Last-Update: 2023-11-23
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: khmer-3.0.0~a3+dfsg/versioneer.py
+===
+--- khmer-3.0.0~a3+dfsg.orig/versioneer.py 2019-03-13 14:42:12.0 
+0100
 khmer-3.0.0~a3+dfsg/versioneer.py  2023-11-23 15:19:50.025827413 +0100
+@@ -339,7 +339,7 @@
+ # configparser.NoOptionError (if it lacks "VCS="). See the docstring at
+ # the top of versioneer.py for instructions on writing your setup.cfg .
+ setup_cfg = os.path.join(root, "setup.cfg")
+-parser = configparser.SafeConfigParser()
++parser = configparser.ConfigParser()
+ with open(setup_cfg, "r") as f:
+ parser.readfp(f)
+ VCS = parser.get("versioneer", "VCS")  # mandatory
diff -Nru khmer-3.0.0~a3+dfsg/debian/patches/series 
khmer-3.0.0~a3+dfsg/debian/patches/series
--- khmer-3.0.0~a3+dfsg/debian/patches/series   2023-09-09 08:30:33.0 
+0200
+++ khmer-3.0.0~a3+dfsg/debian/patches/series   2023-11-23 15:19:31.0 
+0100
@@ -17,3 +17,4 @@
 stringio-buffer.patch
 refresh_cython
 find_object_files_at_right_loc.patch
+python3.12-support.patch


Bug#1054533: nvme-stas: autopkgtest fails on all architectures

2023-11-17 Thread Olivier Gayot
Although this issue appears as a regression in nvme-stas 2.3-1, it looks like 
it was already
affecting the usability of the nvme-stas version in testing (i.e., 2.2.2-2) - 
outside of autopkgtests.

Here with nvme-stas 2.2.2-2 (after configuring a controller in 
/etc/stas/stafd.conf):

Nov 17 11:14:05 usable-whippet systemd[1]: Reloaded stafd.service - STorage 
Appliance Finder (STAF).
Nov 17 11:14:07 usable-whippet stafd[1268]: Error reading mandatory Host NQN 
(see stasadm --help): [Errno 2] No such file or directory: '/etc/nvme/hostnqn'
Nov 17 11:14:07 usable-whippet systemd[1]: stafd.service: Main process exited, 
code=exited, status=1/FAILURE
Nov 17 11:14:07 usable-whippet systemd[1]: stafd.service: Failed with result 
'exit-code'.

To make the autopkgtest pass, I believe we can either:

* add a Test-Depends on nvme-cli; or
* running those commands as part of the autopkgtest:
* mkdir --parents /etc/nvme
* systemctl start stas-config@hostnqn
* systemctl start stas-config@hostid

That said, I suggest we look for a solution that also resolves the issue 
outside of autopkgtests.
Would introducing a Depends on nvme-cli be a bad thing?

Kind regards,
Olivier



Bug#1042449: libprotocol-http2-perl: Test-suite fails if OpenSSL configured with seclevel 2

2023-07-28 Thread Olivier Gayot
On 7/28/23 13:48, gregor herrmann wrote:
> On Fri, 28 Jul 2023 12:30:38 +0200, Olivier Gayot wrote:
> 
>> Debian is currently unaffected (I assume the security level is set to 1
>> at build-time) but in the future OpenSSL 3.1 will reject TLSv1 at
>> security level 1.
> 
> Thanks for forwarding before this hits Debian!
Anytime, thanks for applying the fix so quickly!

Olivier



Bug#1042449: libprotocol-http2-perl: Test-suite fails if OpenSSL configured with seclevel 2

2023-07-28 Thread Olivier Gayot
Package: libprotocol-http2-perl
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch

Dear Maintainer,

The package uses the hardcoded tlsv1 value in its test-suite.

When OpenSSL has been built with security level 2 (or is set to level 2
at runtime), the TLSv1 protocol is rejected. This makes the
libprotocol-http2-perl build / autopkgtest fail.

There is an upstream bug report:
https://github.com/vlet/p5-Protocol-HTTP2/issues/15

And a PR was opened usptream:
https://github.com/vlet/p5-Protocol-HTTP2/pull/16

Debian is currently unaffected (I assume the security level is set to 1
at build-time) but in the future OpenSSL 3.1 will reject TLSv1 at
security level 1.

In Ubuntu, the attached patch was applied to achieve the following:

  * Do not hardcode the test-suite TLS version to tlsv1 - which is disabled by
OpenSSL seclevel 2 on Ubuntu (LP: #2023586).


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar-updates
  APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar'), 
(100, 'lunar-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru libprotocol-http2-perl-1.10/debian/patches/no-tlsv1.patch 
libprotocol-http2-perl-1.10/debian/patches/no-tlsv1.patch
--- libprotocol-http2-perl-1.10/debian/patches/no-tlsv1.patch   1970-01-01 
01:00:00.0 +0100
+++ libprotocol-http2-perl-1.10/debian/patches/no-tlsv1.patch   2023-07-28 
11:43:40.0 +0200
@@ -0,0 +1,32 @@
+Description: Remove hardcoded tlsv1 protocol version
+ The test-suite of libprotocol-http2-perl uses a hardcoded value of tlsv1 -
+ which is disabled in Ubuntu by means of OpenSSL seclevel. Specifying another
+ version like tlsv1_2 would work but it seems sensible to leave that up to the
+ system decide.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://launchpad.net/bugs/2023586
+Forwarded: https://github.com/vlet/p5-Protocol-HTTP2/pull/16
+Last-Update: 2023-07-28
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: b/t/lib/PH2ClientServerTest.pm
+===
+--- a/t/lib/PH2ClientServerTest.pm 2023-07-28 11:35:33.957861624 +0200
 b/t/lib/PH2ClientServerTest.pm 2023-07-28 11:43:04.843734902 +0200
+@@ -43,7 +43,6 @@
+ if ( !$h{upgrade} && ( $h{npn} || $h{alpn} ) ) {
+ eval {
+ $tls = AnyEvent::TLS->new(
+-method=> 'tlsv1',
+ cert_file => $tls_crt,
+ key_file  => $tls_key,
+ );
+@@ -122,7 +121,7 @@
+ }
+ elsif ( $h{npn} || $h{alpn} ) {
+ eval {
+-$tls = AnyEvent::TLS->new( method => 'tlsv1', );
++$tls = AnyEvent::TLS->new();
+ 
+ if ( delete $h{npn} ) {
+ 
diff -Nru libprotocol-http2-perl-1.10/debian/patches/series 
libprotocol-http2-perl-1.10/debian/patches/series
--- libprotocol-http2-perl-1.10/debian/patches/series   1970-01-01 
01:00:00.0 +0100
+++ libprotocol-http2-perl-1.10/debian/patches/series   2023-07-28 
11:43:11.0 +0200
@@ -0,0 +1 @@
+no-tlsv1.patch


Bug#1042079: onednn 2.7.4-1 FTBFS on arm64

2023-07-26 Thread Olivier Gayot
Package: onednn
Version: 2.7.4-1
Followup-For: Bug #1042079
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

In Ubuntu, the attached patch was applied to achieve the following:

  * Apply upstream patches to fix build on arm64 (LP: #2028759)
+ 
d/patches/lp2028759/cpu-aarch64-update-xbyak_aarch64-into-the-lastes-ver(1).patch
+ d/patches/lp2028759/cpu-aarch64-fix-getting-cache-sizes-on-macOS.patch
+ 
d/patches/lp2028759/cpu-aarch64-update-xbyak_aarch64-into-the-lastes-ver(2).patch
The second patch (macOS specific) is not essential but allows the third
patch to apply with fewer modifications.

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar-updates
  APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar'), 
(100, 'lunar-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
onednn-2.7.4/debian/patches/lp2028759/cpu-aarch64-fix-getting-cache-sizes-on-macOS.patch
 
onednn-2.7.4/debian/patches/lp2028759/cpu-aarch64-fix-getting-cache-sizes-on-macOS.patch
--- 
onednn-2.7.4/debian/patches/lp2028759/cpu-aarch64-fix-getting-cache-sizes-on-macOS.patch
1970-01-01 01:00:00.0 +0100
+++ 
onednn-2.7.4/debian/patches/lp2028759/cpu-aarch64-fix-getting-cache-sizes-on-macOS.patch
2023-07-26 12:14:38.0 +0200
@@ -0,0 +1,49 @@
+Description: cpu: aarch64: fix getting cache sizes on macOS
+ Notes from ogayot: This is not strictly needed for Ubuntu but allows the
+ subsequent patch (i.e.,
+ cpu-aarch64-update-xbyak_aarch64-into-the-latest-ver(2).patch) to apply 
without
+ too many modifications.
+Author: Denis Samoilov 
+Bug-Ubuntu: https://launchpad.net/bugs/2028759
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1042079
+Forwarded: not-needed
+Applied-Upstream: 
https://github.com/oneapi-src/oneDNN/commit/ba91a536cb59558b3f3880951def160fe24b2820
+Last-Update: 2023-07-26
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/src/cpu/aarch64/xbyak_aarch64/src/util_impl.cpp 
b/src/cpu/aarch64/xbyak_aarch64/src/util_impl.cpp
+index 59f712c7b..cb800b250 100644
+--- a/src/cpu/aarch64/xbyak_aarch64/src/util_impl.cpp
 b/src/cpu/aarch64/xbyak_aarch64/src/util_impl.cpp
+@@ -52,17 +52,25 @@ void Cpu::setCacheHierarchy() {
+ }
+   } else {
+ /**
+- * @ToDo Get chache information by `sysconf`
++ * @ToDo Get cache information by `sysconf`
+  * for the case thd dictionary is unavailable.
+  */
++
++// _SC_LEVEL_DCACHE_SIZE macros are not defined on macOS.
++#if defined(__APPLE__)
++#define GET_CACHE_SIZE(ID) 0
++#else
++#define GET_CACHE_SIZE(ID) sysconf(ID)
++#endif
++
+ #define XBYAK_AARCH64_CACHE_SIZE(LEVEL, SIZE, ID, CORES, VAL) 


 \
+-  cache_size = sysconf(ID);   


 \
++  cache_size = GET_CACHE_SIZE(ID);


 \
+   VAL[LEVEL] = cache_size ? (cache_size / (CORES)) : ((SIZE) / (CORES));
+ 
+ uint32_t cache_size;
+ 
+ /* If `sysconf` returns zero as cache sizes, 32KiB, 1MiB, 0 and 0 is set 
as
+-   1st, 2nd, 3rd and 4th level cache sizes. 2nd cahce is assumed as 
sharing cache. */
++   1st, 2nd, 3rd and 4th level cache sizes. 2nd cache is assumed as 
sharing cache. */
+ XBYAK_AARCH64_CACHE_SIZE(0, 1024 * 32, _SC_LEVEL1_DCACHE_SIZE, 1, 
coresSharingDataCache_);
+ XBYAK_AARCH64_CACHE_SIZE(1, 1024 * 1024, _SC_LEVEL2_CACHE_SIZE, 1, 
coresSharingDataCache_);
+ XBYAK_AARCH64_CACHE_SIZE(2, 0, _SC_LEVEL3_CACHE_SIZE, 1, 
coresSharingDataCache_);
+-- 
+2.39.2
+
diff -Nru 
onednn-2.7.4/debian/patches/lp2028759/cpu-aarch64-update-xbyak_aarch64-into-the-latest-ver(1).patch
 
onednn-2.7.4/debian/patches/lp2028759/cpu-aarch64-update-xbyak_aarch64-into-the-latest-ver(1).patch
--- 
onednn-2.7.4/debian/patches/lp2028759/cpu-aarch64-update-xbyak_aarch64-into-the-latest-ver(1).patch
 

Bug#1042079: onednn 2.7.4-1 FTBFS on arm64

2023-07-26 Thread Olivier Gayot
Source: onednn
Version: 2.7.4-1
Severity: normal

Dear Maintainer,

Building onednn 2.7.4-1 on arm64 fails with many of the following errors:

In file included from 
/<>/src/cpu/aarch64/xbyak_aarch64/src/xbyak_aarch64_impl.cpp:17:
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h:70:7:
 error: ‘uint64_t’ does not name a type
   70 | const uint64_t SP_IDX = 31;
  |   ^~~~
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h:56:1:
 note: ‘uint64_t’ is defined in header ‘’; did you forget to ‘#include 
’?
   55 | #include 
  +++ |+#include 
   56 |
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h:71:7:
 error: ‘uint64_t’ does not name a type
   71 | const uint64_t NUM_VREG_BYTES = 16;
  |   ^~~~
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h:71:7:
 note: ‘uint64_t’ is defined in header ‘’; did you forget to ‘#include 
’?
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h:72:7:
 error: ‘uint64_t’ does not name a type
   72 | const uint64_t NUM_ZREG_BYTES = 64;
  |   ^~~~
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h:72:7:
 note: ‘uint64_t’ is defined in header ‘’; did you forget to ‘#include 
’?
In file included from 
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64_adr.h:19,
 from 
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64_gen.h:21,
 from 
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64.h:73:
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64_reg.h:96:3:
 error: ‘uint32_t’ does not name a type
   96 |   uint32_t bit_;
  |   ^~~~
/<>/src/cpu/aarch64/xbyak_aarch64/xbyak_aarch64/xbyak_aarch64_reg.h:19:1:
 note: ‘uint32_t’ is defined in header ‘’; did you forget to ‘#include 
’?

Build log:

https://buildd.debian.org/status/fetch.php?pkg=onednn=arm64=2.7.4-1=1689851490=0

There is an existing bug report upstream and the issue seems to have
been fixed in onednn 3.1:

https://github.com/oneapi-src/oneDNN/issues/1600

Thanks,
Oilvier


-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar-updates
  APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar'), 
(100, 'lunar-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled


Bug#1037454: zulucrypt autopkgtests fail

2023-07-25 Thread Olivier Gayot
Package: zulucrypt
Followup-For: Bug #1037454
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

The test-suite seems to fail on virt-servers that use sudo to run as
root. For some reason, zuluCrypt reads the SUDO_UID variable and calls
seteuid(SUDO_UID) if it exists - before attemping to open the test luks
file (that was created as root earlier).

I opened an upstream bug report:

https://github.com/mhogomchungu/zuluCrypt/issues/209

Unsetting the SUDO_UID variable helps making the autopkgtest succeeds -
although it does not prevent somebody from manually invoking
$ sudo /usr/bin/zuluCrypt-cli --test on the target system

In Ubuntu, the attached patch was applied to achieve the following:

  * Unset SUDO_UID when running the test suite - to make autopkgtest succeed
on all virt-servers (LP: #2023614).


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar-updates
  APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar'), 
(100, 'lunar-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru zulucrypt-6.2.0/debian/tests/control 
zulucrypt-6.2.0/debian/tests/control
--- zulucrypt-6.2.0/debian/tests/control2022-09-19 04:02:31.0 
+0200
+++ zulucrypt-6.2.0/debian/tests/control2023-07-25 09:44:49.0 
+0200
@@ -1,2 +1,2 @@
-Test-Command: zuluCrypt-cli --test
+Test-Command: env -u SUDO_UID zuluCrypt-cli --test
 Restrictions: allow-stderr,isolation-machine,needs-root


Bug#1040243: php-doctrine-cache: test-suite fails when using php-cache-integration-tests 0.17.0-4 (experimental)

2023-07-03 Thread Olivier Gayot
Package: php-doctrine-cache
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch

Dear Maintainer,

php-doctrine-cache requires php-cache-tag-interop which used to be
provided by php-cache-integration-tests.

Starting with php-cache-integration-tests 0.17.0-4, the dependency on
php-cache-tag-interop was dropped so the dependencies of
php-doctrine-cache are no longer satisfied.

In Ubuntu, the attached patch was applied to achieve the following:

  * Merge with Debian unstable (LP: #2025673). Remaining changes:
- d/control: Add b-d for php-cache-tag-interop removed from
  php-cache-integration-tests.
- d/t/control: Add test dependency on php-cache-tag-interop removed
  from php-cache-integration-tests.

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar-updates
  APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar'), 
(100, 'lunar-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru php-doctrine-cache-2.2.0/debian/control 
php-doctrine-cache-2.2.0/debian/control
--- php-doctrine-cache-2.2.0/debian/control 2023-06-25 10:20:40.0 
+0200
+++ php-doctrine-cache-2.2.0/debian/control 2023-07-03 19:47:31.0 
+0200
@@ -7,6 +7,7 @@
memcached,
php-apcu,
php-cache-integration-tests,
+   php-cache-tag-interop,
php-memcache,
php-memcached,
php-psr-cache,
diff -Nru php-doctrine-cache-2.2.0/debian/tests/control 
php-doctrine-cache-2.2.0/debian/tests/control
--- php-doctrine-cache-2.2.0/debian/tests/control   2022-10-17 
08:08:20.0 +0200
+++ php-doctrine-cache-2.2.0/debian/tests/control   2023-07-03 
19:47:31.0 +0200
@@ -3,6 +3,7 @@
 Depends: memcached,
  php-apcu,
  php-cache-integration-tests,
+ php-cache-tag-interop,
  php-memcache,
  php-memcached,
  php-psr-cache,


Bug#1038890: pyparted: Testsuite fails against parted 3.6

2023-06-22 Thread Olivier Gayot
Package: pyparted
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch

Dear Maintainer,

Running the pyparted test-suite against parted 3.6 leads to the
following exception:

  399s ==
  399s FAIL: runTest (tests.test__ped_disktype.DiskTypeStrTestCase.runTest)
  399s --
  399s Traceback (most recent call last):
  399s File 
"/tmp/autopkgtest.kQxzZO/build.bFs/src/tests/test__ped_disktype.py", line 78, 
in runTest
  399s self.assertEqual(str(self.disktype['msdos']), '_ped.DiskType instance 
--\n name: msdos features: 1')
  399s AssertionError: '_ped.DiskType instance --\n name: msdos features: 5' != 
'_ped.DiskType instance --\n name: msdos features: 1'
  399s _ped.DiskType instance --
  399s - name: msdos features: 5? ^
  399s + name: msdos features: 1? ^

The failure is visible in the following autopkgtest report.

https://ci.debian.net/data/autopkgtest/unstable/amd64/p/pyparted/34699773/log.gz

A patch exists upstream: https://github.com/dcantrell/pyparted/pull/100

In Ubuntu, the attached patch was applied to achieve the following:

  * Apply upstream patch to fix test-suite against parted 3.6 (LP: #2024678)

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar-updates
  APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar'), 
(100, 'lunar-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
pyparted-3.12.0/debian/patches/0001-tests-Remove-feature-values-from-DiskTypeStrTestCase.patch
 
pyparted-3.12.0/debian/patches/0001-tests-Remove-feature-values-from-DiskTypeStrTestCase.patch
--- 
pyparted-3.12.0/debian/patches/0001-tests-Remove-feature-values-from-DiskTypeStrTestCase.patch
  1970-01-01 01:00:00.0 +0100
+++ 
pyparted-3.12.0/debian/patches/0001-tests-Remove-feature-values-from-DiskTypeStrTestCase.patch
  2023-06-22 18:08:47.0 +0200
@@ -0,0 +1,43 @@
+Description: tests: Remove feature values from DiskTypeStrTestCase
+ These inevitably cause pyparted to fail when built against a new version
+ of parted. They don't provide any additional validation, other tests
+ already check for the expected features.
+Author: "Brian C. Lane" 
+Origin: upstream, https://github.com/dcantrell/pyparted/pull/100
+Bug-Ubuntu: https://launchpad.net/bugs/2024678
+Last-Update: 2023-06-22
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: pyparted-3.12.0/tests/test__ped_disktype.py
+===
+--- pyparted-3.12.0.orig/tests/test__ped_disktype.py   2023-06-22 
18:02:36.965289725 +0200
 pyparted-3.12.0/tests/test__ped_disktype.py2023-06-22 
18:05:14.716398913 +0200
+@@ -75,13 +75,18 @@
+ 
+ class DiskTypeStrTestCase(RequiresDiskTypes):
+ def runTest(self):
+-self.assertEqual(str(self.disktype['msdos']), '_ped.DiskType instance 
--\n  name: msdos  features: 1')
+-self.assertEqual(str(self.disktype['aix']), '_ped.DiskType instance 
--\n  name: aix  features: 0')
+-self.assertEqual(str(self.disktype['sun']), '_ped.DiskType instance 
--\n  name: sun  features: 0')
+-self.assertEqual(str(self.disktype['amiga']), '_ped.DiskType instance 
--\n  name: amiga  features: 2')
+-self.assertEqual(str(self.disktype['gpt']), '_ped.DiskType instance 
--\n  name: gpt  features: 2')
+-self.assertEqual(str(self.disktype['mac']), '_ped.DiskType instance 
--\n  name: mac  features: 2')
+-self.assertEqual(str(self.disktype['bsd']), '_ped.DiskType instance 
--\n  name: bsd  features: 0')
+-self.assertEqual(str(self.disktype['pc98']), '_ped.DiskType instance 
--\n  name: pc98  features: 2')
+-self.assertEqual(str(self.disktype['loop']), '_ped.DiskType instance 
--\n  name: loop  features: 0')
+-self.assertEqual(str(self.disktype['dvh']), '_ped.DiskType instance 
--\n  name: dvh  features: 3')
++types = {
++"msdos": '_ped.DiskType instance --\n  name: msdos  features:',
++'aix':   '_ped.DiskType instance --\n  name: aix  features: ',
++'sun':   '_ped.DiskType instance --\n  name: sun  features: ',
++'amiga': '_ped.DiskType instance --\n  name: amiga  features: ',
++'gpt':   '_ped.DiskType instance --\n  name: gpt  features: ',
++'mac':   '_ped.DiskType instance --\n  name: mac  features: ',
++'bsd':   '_ped.DiskType instance --\n  name: bsd  features: ',
++

Bug#1035965: python-ansible-pygments: Autopkgtest fails against pygments 2.15

2023-05-11 Thread Olivier Gayot
Package: python-ansible-pygments
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch

Dear Maintainer,

Since the move to pygments 2.15, the autopkgtest testsuite fails with
the following error:

Traceback (most recent call last):
  File "/home/olivier/dev/canonical/ansible-pygments/tests/lexer_test.py", line 
131, in 
test_ansible_output_lexer()
  File "/home/olivier/dev/canonical/ansible-pygments/tests/lexer_test.py", line 
78, in test_ansible_output_lexer
assert result == R"""ok: [windows] = 
{
   
^^
AssertionError

The bug was fixed upstream by
https://github.com/ansible-community/ansible-pygments/pull/34.

In Ubuntu, the attached patch was applied to achieve the following:

  * Add patch from upstream to fix test suite against pygments 2.15
Added patch:
debian/patches/Make-lexer-test-compare-tokens.patch
(LP: #2019237)

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar-updates
  APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
python-ansible-pygments-0.1.1/debian/patches/Make-lexer-test-compare-tokens.patch
 
python-ansible-pygments-0.1.1/debian/patches/Make-lexer-test-compare-tokens.patch
--- 
python-ansible-pygments-0.1.1/debian/patches/Make-lexer-test-compare-tokens.patch
   1970-01-01 01:00:00.0 +0100
+++ 
python-ansible-pygments-0.1.1/debian/patches/Make-lexer-test-compare-tokens.patch
   2023-05-11 21:30:42.0 +0200
@@ -0,0 +1,342 @@
+Description: Make lexer test compare tokens
+ With new releases of `pygments`, this test was getting broken again
+ and again because it originally relied on HTML the formatted text
+ output. Hence, it was prone to external influence for no good reason.
+ .
+ This patch rewrites it to solely rely on the underlying tokens that
+ our lexer produces, therefore reducing the dependence on unrelated
+ changes in the `pygments` library.
+Author: Sviatoslav Sydorenko 
+Origin: upstream, https://github.com/ansible-community/ansible-pygments/pull/34
+Bug: https://github.com/ansible-community/ansible-pygments/issues/33
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/2019237
+Applied-Upstream: 
https://github.com/ansible-community/ansible-pygments/commit/179c74e9f1a5dc870dec6d4db6cab60d2dca1ed2
+Last-Update: 2023-05-11
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/tests/lexer_test.py b/tests/lexer_test.py
+index 5b700a9..a842a7c 100644
+--- a/tests/lexer_test.py
 b/tests/lexer_test.py
+@@ -1,26 +1,24 @@
+ # Author: Felix Fontein 
+ # License: BSD-2-Clause
+ # Copyright: Felix Fontein , 2021
+-"""Tests for Pygments lexers."""
++"""Tests for Pygments lexers.
+ 
+-from pygments import highlight
+-# pylint: disable=no-name-in-module
+-# Ref: https://github.com/PyCQA/pylint/issues/491
+-from pygments.formatters import HtmlFormatter
+-
+-from ansible_pygments.lexers import AnsibleOutputLexer
++They rely on token comparison for stability reasons. Relying on
++additional style formatting is known to break with updates to
++the pygments library itself.
++"""
+ 
++from pygments import __version__ as _pygments_version
++from pygments.lexers import get_lexer_by_name as _get_lexer_by_name
++from pygments.token import Token
+ 
+-def run_test(data, lexer):
+-"""Format the data snippet as HTML using a given lexer."""
+-formatter = HtmlFormatter()
+-result = highlight(data, lexer, formatter)
+-return formatter.get_style_defs('.highlight'), result
++PYGMENTS_VERSION_INFO = tuple(map(int, _pygments_version.split('.')))
++IS_OLD_PYGMENTS_PRE_2_14 = PYGMENTS_VERSION_INFO <= (2, 14, 0)
+ 
+ 
+ def test_ansible_output_lexer():
+-"""Test that AnsibleOutputLexer produces expected HTML output."""
+-data = R"""
++"""Test that ``AnsibleOutputLexer`` produces expected tokens."""
++ansible_play_output_example = R"""
+ ok: [windows] => {
+ "account": {
+ "account_name": "vagrant-domain",
+@@ -71,58 +69,226 @@ Sunday 11 November 2018  20:19:25 +0100 (0:00:00.607) 
  0:10:36.974 ***
+ 
+ changed: [localhost]
+ """
+-_, result = run_test(data, AnsibleOutputLexer())
+-print(result)
+-
+-# pylint: disable=line-too-long
+-assert result == R"""ok: [windows] = 
{
+-account: {
+-account_name: vagrant-domain,
+-

Bug#1034485: os-prober expects to run in a new private mount namespace, but new namespace is not private

2023-04-16 Thread Olivier Gayot
Dear maintainer,

I opened the following PR:

https://salsa.debian.org/installer-team/os-prober/-/merge_requests/20

Best regards,
Olivier



Bug#1034485: os-prober expects to run in a new private mount namespace, but new namespace is not private

2023-04-16 Thread Olivier Gayot
Package: os-prober
Version: 1.81
Severity: normal

Dear Maintainer,

During execution of os-prober, other processes on the system can see the
temporary mounts to /var/lib/os-prober/mount even though os-prober runs
in a separate mount namespace.

In order to run os-prober in a more isolated mode, we introduced the
newns.c source file a while ago. We build it to a binary and ship it in
os-prober and os-prober-udeb.

The original idea was to run os-prober in a private mount namespace.
Sadly, calling the unshare(CLONE_NEWNS) system call is only enough to
create a new mount namespace. But it is not enough to make the new
namespace private.

While we can patch newns.c to make the new mount namespace private,
relying on unshare(1) from util-linux (which is an essential package)
seems like a more viable option.

I will open a PR with a potential fix.

Thanks,
Olivier

See also:

https://github.com/util-linux/util-linux/commit/f0f22e9c6f109f8c1234caa3173368ef43b023eb

-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar
  APT policy: (500, 'lunar')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.1.0-16-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages os-prober depends on:
ii  grub-common  2.06-2ubuntu16
ii  libc62.37-0ubuntu2
ii  mount2.38.1-4ubuntu1

os-prober recommends no packages.

os-prober suggests no packages.

-- no debconf information



Bug#1030305: django-rich: FTBFS when building with TERM=unknown

2023-02-06 Thread Olivier Gayot
Package: django-rich
Followup-For: Bug #1030305
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lunar ubuntu-patch
Control: tags -1 patch

Hi, 

The patch was merged upstream after receiving some modifications.

I'm attaching an updated debdiff which backports the patch applied
upstream.

Best regards,
diff -Nru 
django-rich-1.4.0/debian/patches/0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch
 
django-rich-1.4.0/debian/patches/0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch
--- 
django-rich-1.4.0/debian/patches/0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch
1970-01-01 01:00:00.0 +0100
+++ 
django-rich-1.4.0/debian/patches/0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch
2023-02-02 12:05:10.0 +0100
@@ -0,0 +1,57 @@
+Description: Fix failing tests if the TERM variable is set to unknown
+Origin: upstream, 
https://github.com/adamchainz/django-rich/commit/d437e9248322540b976d25f8a78a413e581c5dac
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030305
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/django-rich/+bug/2004553
+Applied-Upstream: django-rich >> 1.4.0
+Last-Update: 2023-02-03
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: django-rich-1.4.0/tests/test_management.py
+===
+--- django-rich-1.4.0.orig/tests/test_management.py2023-02-03 
09:25:32.460627256 +0100
 django-rich-1.4.0/tests/test_management.py 2023-02-03 09:28:26.431930919 
+0100
+@@ -1,12 +1,16 @@
+ from __future__ import annotations
+ 
++import os
+ from functools import partial
+ from inspect import Parameter, Signature, signature
+ from io import StringIO
++from typing import Any
+ from unittest import mock
+ 
+ import pytest
+-from django.core.management import BaseCommand, CommandError, call_command
++from django.core.management import BaseCommand
++from django.core.management import call_command as base_call_command
++from django.core.management import CommandError
+ from django.test import SimpleTestCase
+ from rich.console import Console
+ 
+@@ -28,6 +32,12 @@
+ return True
+ 
+ 
++def call_command(*args: str, **kwargs: Any) -> None:
++# Ensure rich uses colouring and consistent width
++with mock.patch.dict(os.environ, TERM="", COLUMNS="80"):
++base_call_command(*args, **kwargs)
++
++
+ class RichCommandTests(SimpleTestCase):
+ def test_init_signature(self):
+ rc_signature = strip_annotations(signature(RichCommand.__init__))
+Index: django-rich-1.4.0/tests/test_test.py
+===
+--- django-rich-1.4.0.orig/tests/test_test.py  2023-02-03 09:25:32.460627256 
+0100
 django-rich-1.4.0/tests/test_test.py   2023-02-03 09:25:32.460627256 
+0100
+@@ -88,6 +88,9 @@
+ **os.environ,
+ "DJANGO_SETTINGS_MODULE": "tests.settings",
+ "COVERAGE_PROCESS_START": str(SETUP_CFG_PATH),
++# Ensure rich uses colouring and consistent width
++"TERM": "",
++"COLUMNS": "80",
+ },
+ **kwargs,
+ )
diff -Nru django-rich-1.4.0/debian/patches/series 
django-rich-1.4.0/debian/patches/series
--- django-rich-1.4.0/debian/patches/series 2023-01-15 08:16:57.0 
+0100
+++ django-rich-1.4.0/debian/patches/series 2023-02-02 12:05:10.0 
+0100
@@ -1,3 +1,4 @@
 Use-python3-within-test-call.patch
 tests-Drop-various-python-version-handling.patch
 tests-Another-bunch-of-adoptions-for-Python-3.11.patch
+0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch


Bug#1013395: mpdecimal: FTBFS with Sphinx 5.0, docutils 0.18: make[1]: *** [debian/rules:60: override_dh_sphinxdoc] Error 255

2023-02-03 Thread Olivier Gayot

Hi,

> This happens because mpdecimal does not rebuild documentation from
> source, but installs pre-built files provided by upstream.

> I recommend to rebuild the documentation from source.

I had a look but could not find the sources of the documentation. The 
upstream tarball only contains the pre-built version.


Have we ever asked upstream if they would be okay to provide the sources 
of the doc? I would check but I can't find a link to archives of the 
libmpdec mailing lists [1].


Also, the website suggests that the mailing lists are not operational 
since Jan 2021 so I don't know how likely we will find out.


[1] https://www.bytereef.org/mpdecimal/mailinglists.html

Olivier



Bug#1030305: django-rich: FTBFS when building with TERM=unknown

2023-02-02 Thread Olivier Gayot
Package: django-rich
Followup-For: Bug #1030305
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lunar ubuntu-patch
Control: tags -1 patch

Adding a revised debdiff.
This version applies the patch that I submitted upstream:

https://github.com/adamchainz/django-rich/pull/103

The patch modifies the upstream test-suite rather than overriding the
TERM variable at dh_auto_test time.

Thanks!


-- System Information:
Debian Release: bookworm/sid
  APT prefers kinetic-updates
  APT policy: (500, 'kinetic-updates'), (500, 'kinetic-security'), (500, 
'kinetic'), (100, 'kinetic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.19.0-29-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
django-rich-1.4.0/debian/patches/0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch
 
django-rich-1.4.0/debian/patches/0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch
--- 
django-rich-1.4.0/debian/patches/0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch
1970-01-01 01:00:00.0 +0100
+++ 
django-rich-1.4.0/debian/patches/0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch
2023-02-02 12:05:10.0 +0100
@@ -0,0 +1,41 @@
+Description: Fix failing tests if the TERM variable is set to unknown
+ When running the test-suite with TERM=unknown, the tests fail because
+ the generated output is not "rich".
+ .
+ This happens because python rich will disable color and style if the TERM
+ variable is set to either "unknown" or "dumb" [1]
+ .
+ This patch monkey-patches the environment to make the test suite
+ insensitive to the TERM variable.
+ .
+ [1] 
https://rich.readthedocs.io/en/stable/console.html?highlight=unknown#environment-variables
+Author: Olivier Gayot 
+Origin: upstream, 
https://github.com/adamchainz/django-rich/pull/103/commits/ac19f46572fb0550a9b7a688114c298dd7b6c872
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030305
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/django-rich/+bug/2004553
+Forwarded: https://github.com/adamchainz/django-rich/pull/103
+Last-Update: 2023-02-02
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: django-rich-1.4.0/tests/test_management.py
+===
+--- django-rich-1.4.0.orig/tests/test_management.py2023-02-02 
15:06:49.343335475 +0100
 django-rich-1.4.0/tests/test_management.py 2023-02-02 15:06:49.343335475 
+0100
+@@ -3,6 +3,7 @@
+ from functools import partial
+ from inspect import Parameter, Signature, signature
+ from io import StringIO
++import os
+ from unittest import mock
+ 
+ import pytest
+@@ -28,6 +29,9 @@
+ return True
+ 
+ 
++# python rich will disable color/style if TERM is set to "unknown" or "dumb"
++# 
https://rich.readthedocs.io/en/stable/console.html?highlight=unknown#environment-variables
++@mock.patch.dict(os.environ, TERM="")
+ class RichCommandTests(SimpleTestCase):
+ def test_init_signature(self):
+ rc_signature = strip_annotations(signature(RichCommand.__init__))
diff -Nru django-rich-1.4.0/debian/patches/clear-TERM-variable.patch 
django-rich-1.4.0/debian/patches/clear-TERM-variable.patch
--- django-rich-1.4.0/debian/patches/clear-TERM-variable.patch  1970-01-01 
01:00:00.0 +0100
+++ django-rich-1.4.0/debian/patches/clear-TERM-variable.patch  2023-02-02 
12:05:10.0 +0100
@@ -0,0 +1,20 @@
+Index: django-rich-1.4.0/tests/test_management.py
+===
+--- django-rich-1.4.0.orig/tests/test_management.py2022-06-05 
17:27:00.0 +0200
 django-rich-1.4.0/tests/test_management.py 2023-02-02 14:50:44.876420552 
+0100
+@@ -3,6 +3,7 @@
+ from functools import partial
+ from inspect import Parameter, Signature, signature
+ from io import StringIO
++import os
+ from unittest import mock
+ 
+ import pytest
+@@ -28,6 +29,7 @@
+ return True
+ 
+ 
++@mock.patch.dict(os.environ, TERM="")
+ class RichCommandTests(SimpleTestCase):
+ def test_init_signature(self):
+ rc_signature = strip_annotations(signature(RichCommand.__init__))
diff -Nru django-rich-1.4.0/debian/patches/series 
django-rich-1.4.0/debian/patches/series
--- django-rich-1.4.0/debian/patches/series 2023-01-15 08:16:57.0 
+0100
+++ django-rich-1.4.0/debian/patches/series 2023-02-02 12:05:10.0 
+0100
@@ -1,3 +1,4 @@
 Use-python3-within-test-call.patch
 tests-Drop-various-python-version-handling.patch
 tests-Another-bunch-of-adoptions-for-Python-3.11.patch
+0001-Fix-failing-tests-if-the-TERM-variable-is-set-to-unk.patch


Bug#1030305: django-rich: FTBFS when building with TERM=unknown

2023-02-02 Thread Olivier Gayot
Package: django-rich
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lunar ubuntu-patch

Dear Maintainer,

When building on Ubuntu, the build-time test suite fails with the
following error:

self = 

def test_output_force_color(self):
stdout = StringIO()

call_command("example", "--force-color", stdout=stdout)

> assert stdout.getvalue() == "\x1b[1;31mAlert!\x1b[0m\n"
E AssertionError: assert 'Alert!\n' == '\x1b[1;31mAlert!\x1b[0m\n'
E - Alert!
E + Alert!

This happens because the underlying python rich library disables
color/style when the TERM variable is set to unknown (which is what the
Ubuntu builders have):

> Setting the environment variable TERM to "dumb" or "unknown" will
> disable color/style and some features that require moving the cursor,
> such as progress bars.

https://rich.readthedocs.io/en/stable/console.html?highlight=unknown#environment-variables

Although currently Debian is not affected (I believe builders have a
different value for TERM), it feels wrong that the build-time test-suite
would depend on the TERM environment variable. Therefore, I think the
patch still makes sense.

In Ubuntu, the attached patch was applied to achieve the following:

  * clear TERM variable when running build test suite since python-rich
disables color/style when TERM=unknown (LP: #2004553)


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers kinetic-updates
  APT policy: (500, 'kinetic-updates'), (500, 'kinetic-security'), (500, 
'kinetic'), (100, 'kinetic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.19.0-29-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru django-rich-1.4.0/debian/rules django-rich-1.4.0/debian/rules
--- django-rich-1.4.0/debian/rules  2023-01-15 08:19:23.0 +0100
+++ django-rich-1.4.0/debian/rules  2023-02-02 12:05:10.0 +0100
@@ -12,4 +12,4 @@
# Upstream uses a more agressive call, wont work here
# as at least the package we build isn't installed so
# using a modified pytest call.
-   dh_auto_test -- --system=custom --test-args="{interpreter} -m coverage 
run -m pytest tests"
+   TERM= dh_auto_test -- --system=custom --test-args="{interpreter} -m 
coverage run -m pytest tests"


Bug#1030238: kitty: crypto test failure at build time when RTLIM_MEMLOCK is too low

2023-02-01 Thread Olivier Gayot
Package: kitty
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lunar ubuntu-patch

Dear Maintainer,

When building the package for ppc64el on Ubuntu, the crypto test fails
with the following error:

 OSError: [Errno 12] Cannot allocate memory

This happens because the ppc64el builders have their RLIMIT_MEMLOCK
value set to the pagesize (64k) ; so only a single call to mlock(2) can
succeed.

Although the build does not fail in Debian (I believe the RLIMIT_MEMLOCK
is set to a more sensible value), I think the patch could still make
sense.

There is an upstream bug report:
https://github.com/kovidgoyal/kitty/issues/5466

In Ubuntu, the attached patch was applied to achieve the following:


  * disable crypto test if RLIMIT_MEMLOCK is too low (LP: #2004435)


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers kinetic-updates
  APT policy: (500, 'kinetic-updates'), (500, 'kinetic-security'), (500, 
'kinetic'), (100, 'kinetic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.19.0-29-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru kitty-0.26.5/debian/control kitty-0.26.5/debian/control
--- kitty-0.26.5/debian/control 2023-01-30 20:32:11.0 +0100
+++ kitty-0.26.5/debian/control 2023-02-01 12:31:03.0 +0100
@@ -1,7 +1,6 @@
 Source: kitty
 Priority: optional
-Maintainer: Ubuntu Developers 
-XSBC-Original-Maintainer: James McCoy 
+Maintainer: James McCoy 
 Section: x11
 Standards-Version: 4.6.2
 Rules-Requires-Root: no
diff -Nru kitty-0.26.5/debian/patches/conditionally-skip-crypto-test.patch 
kitty-0.26.5/debian/patches/conditionally-skip-crypto-test.patch
--- kitty-0.26.5/debian/patches/conditionally-skip-crypto-test.patch
1970-01-01 01:00:00.0 +0100
+++ kitty-0.26.5/debian/patches/conditionally-skip-crypto-test.patch
2023-02-01 12:31:03.0 +0100
@@ -0,0 +1,36 @@
+Description: skip crypto test if RLIMIT_MEMLOCK is too low
+ When building on ppc64el in Ubuntu, RLIMIT_MEMLOCK is set to the same value as
+ the pagesize. This means only a single call to mlock() can succeed.
+ Since the crypto test makes multiple calls to mlock(), the test fails in the
+ described environment.
+ Make sure we skip the test if the RLIMIT_MEMLOCK is too low.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/2004435
+Forwarded: 
https://github.com/kovidgoyal/kitty/issues/5466#issuecomment-1412004797
+Last-Update: 2023-02-01
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: kitty-0.26.5/kitty_tests/crypto.py
+===
+--- kitty-0.26.5.orig/kitty_tests/crypto.py2023-02-01 13:17:33.662880021 
+0100
 kitty-0.26.5/kitty_tests/crypto.py 2023-02-01 13:25:53.667978172 +0100
+@@ -3,12 +3,19 @@
+ 
+ 
+ import os
++import resource
++import unittest
+ 
+ from . import BaseTest
+ 
+ 
++memlock_limit, _ = resource.getrlimit(resource.RLIMIT_MEMLOCK)
++pagesize = resource.getpagesize()
++
++
+ class TestCrypto(BaseTest):
+ 
++@unittest.skipIf(memlock_limit <= pagesize, "RLIMIT_MEMLOCK is too low")
+ def test_elliptic_curve_data_exchange(self):
+ from kitty.fast_data_types import (
+ AES256GCMDecrypt, AES256GCMEncrypt, CryptoError, EllipticCurveKey
diff -Nru kitty-0.26.5/debian/patches/series kitty-0.26.5/debian/patches/series
--- kitty-0.26.5/debian/patches/series  2023-01-04 12:14:15.0 +0100
+++ kitty-0.26.5/debian/patches/series  2023-02-01 12:31:03.0 +0100
@@ -1,3 +1,4 @@
 bash-integration-fix-clone-in-kitty-not-.patch
 define-singlekey-bitfields-according-to-.patch
 try-to-fix-tests-failing-on-python-3.11.patch
+conditionally-skip-crypto-test.patch


Bug#1028586: sysvinit: Missing 50-ubuntu-logging file when building on Ubuntu

2023-01-13 Thread Olivier Gayot

I opened a pull-request to fix the issue:

https://salsa.debian.org/debian/sysvinit/-/merge_requests/8



Bug#1028586: sysvinit: Missing 50-ubuntu-logging file when building on Ubuntu

2023-01-13 Thread Olivier Gayot
Source: sysvinit
Severity: normal

Dear Maintainer,

When building on Ubuntu, the sysvinit-utils package is supposed to
include the lib/lsb/init-functions.d/50-ubuntu-logging file.

The file used to be shipped with lsb-base on Ubuntu and should now be
shipped with sysvinit-utils (only on Ubuntu) following the move of
init-functions from lsb-base to sysvinit-utils.

-- System Information:
Debian Release: bookworm/sid
  APT prefers kinetic-updates
  APT policy: (500, 'kinetic-updates'), (500, 'kinetic-security'), (500, 
'kinetic'), (100, 'kinetic-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.19.0-28-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled



Bug#1020081: aft: FTBFS: make: *** [debian/rules:47: binary-indep] Error 25

2022-10-12 Thread Olivier Gayot
Package: aft
Followup-For: Bug #1020081
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

The last upload of aft changed the format of a doc file from HTML to
RTF. The packaging was not updated accordingly.

This prevents the package from building.

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix name of installed doc file (LP: #1992672)

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), 
(100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-48-generic (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru aft-5.098/debian/docs aft-5.098/debian/docs
--- aft-5.098/debian/docs   2022-08-25 17:21:28.0 +0200
+++ aft-5.098/debian/docs   2022-10-12 17:41:56.0 +0200
@@ -1,5 +1,5 @@
 aft-refman.html 
-aft2rtf-doc.html 
+aft2rtf-doc.rtf 
 aft.gif 
 debian/vim
 debian/jed


Bug#1021544: libcamera: FTBFS on ppc64el - is not a constant expression

2022-10-10 Thread Olivier Gayot
Package: libcamera
Version: 0~git20211108+1b30992b623e-4
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

libcamera currently fails to build from source on the ppc64el architecture.

The latest snapshot (i.e., git20211108+1b30992b623e) contains long
double expressions that GCC fails to determine at compile time on
ppc64el. These expressions were not present in the previous snapshot.

Tweaking the "guilty" expressions was enough to make the package build.
This was the recommended solution on RHEL in a similar issue for a
different package:
https://bugzilla.redhat.com/show_bug.cgi?id=1538817#c6

Another option is to build with the -mlong-double-64 flag.

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix FTBFS on ppc64el with GCC (LP: #1992331)

Thanks for considering the patch.

-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), 
(100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-48-generic (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
libcamera-0~git20211108+1b30992b623e/debian/patches/ppc64el-fix-ftbfs-gcc.patch 
libcamera-0~git20211108+1b30992b623e/debian/patches/ppc64el-fix-ftbfs-gcc.patch
--- 
libcamera-0~git20211108+1b30992b623e/debian/patches/ppc64el-fix-ftbfs-gcc.patch 
1970-01-01 01:00:00.0 +0100
+++ 
libcamera-0~git20211108+1b30992b623e/debian/patches/ppc64el-fix-ftbfs-gcc.patch 
2022-10-10 10:23:29.0 +0200
@@ -0,0 +1,34 @@
+Description: fix expressions not considered constant on ppc64el with GCC
+ On ppc64el, GCC seems to be unable to determine the result of some long double
+ expressions at compile time. This makes libcamera fail to build from source on
+ ppc64el.
+ Make sure we only use constexpr on expressions that are considered constant on
+ all architectures.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libcamera/+bug/1992331
+Forwarded: no
+Last-Update: 2022-10-10
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: libcamera-0~git20211108+1b30992b623e/src/ipa/raspberrypi/raspberrypi.cpp
+===
+--- 
libcamera-0~git20211108+1b30992b623e.orig/src/ipa/raspberrypi/raspberrypi.cpp   
   2022-10-10 08:24:22.091329072 +
 libcamera-0~git20211108+1b30992b623e/src/ipa/raspberrypi/raspberrypi.cpp   
2022-10-10 08:45:31.686454143 +
+@@ -61,7 +61,7 @@
+ /* Configure the sensor with these values initially. */
+ constexpr double defaultAnalogueGain = 1.0;
+ constexpr Duration defaultExposureTime = 20.0ms;
+-constexpr Duration defaultMinFrameDuration = 1.0s / 30.0;
++constexpr Duration defaultMinFrameDuration = 1s / 30.0;
+ constexpr Duration defaultMaxFrameDuration = 250.0s;
+ 
+ /*
+@@ -70,7 +70,7 @@
+  * we rate-limit the controller Prepare() and Process() calls to lower than or
+  * equal to this rate.
+  */
+-constexpr Duration controllerMinFrameDuration = 1.0s / 60.0;
++constexpr Duration controllerMinFrameDuration = 1s / 60.0;
+ 
+ LOG_DEFINE_CATEGORY(IPARPI)
+ 
diff -Nru libcamera-0~git20211108+1b30992b623e/debian/patches/series 
libcamera-0~git20211108+1b30992b623e/debian/patches/series
--- libcamera-0~git20211108+1b30992b623e/debian/patches/series  1970-01-01 
01:00:00.0 +0100
+++ libcamera-0~git20211108+1b30992b623e/debian/patches/series  2022-10-10 
10:23:29.0 +0200
@@ -0,0 +1 @@
+ppc64el-fix-ftbfs-gcc.patch


Bug#1020493: user-setup: add sgx group to reserved-usernames (added as system group by udev.postint)

2022-09-22 Thread Olivier Gayot
Package: user-setup
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

The current version of udev.postinst in Debian creates four system groups:

 * kvm
 * input
 * render
 * sgx

kvm, input and render were added to reserved-usernames when user-setup
1.83 was released. sgx however, was added to udev.postinst later with
systemd 248-1 so it did not make it to reserved-usernames at the time.

  * Add sgx group to reserved-usernames; udev.postinst (src:systemd) adds it
as a system group.

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), 
(100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-47-generic (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru user-setup-1.90ubuntu1/debian/control 
user-setup-1.90ubuntu2/debian/control
--- user-setup-1.90ubuntu1/debian/control   2022-08-22 14:21:02.0 
+0200
+++ user-setup-1.90ubuntu2/debian/control   2022-09-22 09:28:39.0 
+0200
@@ -1,8 +1,7 @@
 Source: user-setup
 Section: debian-installer
 Priority: optional
-Maintainer: Ubuntu Developers 
-XSBC-Original-Maintainer: Debian Install System Team 

+Maintainer: Debian Install System Team 
 Uploaders: Colin Watson , Steve McIntyre 
<93...@debian.org>
 Build-Depends: debhelper-compat (= 13), dpkg-dev (>= 1.7.0), po-debconf (>= 
0.5.0)
 Standards-Version: 3.9.5
diff -Nru user-setup-1.90ubuntu1/reserved-usernames 
user-setup-1.90ubuntu2/reserved-usernames
--- user-setup-1.90ubuntu1/reserved-usernames   2022-08-22 14:21:02.0 
+0200
+++ user-setup-1.90ubuntu2/reserved-usernames   2022-09-22 09:28:39.0 
+0200
@@ -111,6 +111,7 @@
 saned
 sbuild
 scanner
+sgx
 slocate
 ssh
 sshd


Bug#1004579: mplayer: FTBFS with ffmpeg 5.0

2022-08-19 Thread Olivier Gayot
Package: mplayer
Version: 2:1.4+ds1-3
Followup-For: Bug #1004579
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch
Control: tags -1 patch

Dear Maintainer,

The upstream release 1.5 supports ffmpeg 5 and would solve this issue.
In the meantime, I have attempted to backport the upstream patches on
top of the 1.4 version.

In Ubuntu, the attached patch was applied to achieve the following:

  * Backport upstream patches to build against ffmpeg 5 (LP: #1987114)

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), 
(100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-46-generic (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru mplayer-1.4+ds1/debian/patches/r38215.patch 
mplayer-1.4+ds1/debian/patches/r38215.patch
--- mplayer-1.4+ds1/debian/patches/r38215.patch 1970-01-01 01:00:00.0 
+0100
+++ mplayer-1.4+ds1/debian/patches/r38215.patch 2022-08-19 17:10:25.0 
+0200
@@ -0,0 +1,61 @@
+Description: av_helpers: switch to new lavc audio encode API.
+Origin: upstream, commit: r38215
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004579
+Forwarded: no
+Last-Update: 2022-08-19
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: b/av_helpers.c
+===
+--- a/av_helpers.c 2022-08-19 16:52:03.979666019 +0200
 b/av_helpers.c 2022-08-19 16:52:37.0 +0200
+@@ -98,7 +98,6 @@
+ if (!avcodec_initialized) {
+ show_av_version(MSGT_DECVIDEO, "libavcodec", LIBAVCODEC_VERSION_INT,
+ avcodec_version(), avcodec_configuration());
+-avcodec_register_all();
+ avcodec_initialized = 1;
+ av_log_set_callback(mp_msp_av_log_callback);
+ }
+@@ -109,7 +108,6 @@
+ if (!avformat_initialized) {
+ show_av_version(MSGT_DEMUX, "libavformat", LIBAVFORMAT_VERSION_INT,
+ avformat_version(), avformat_configuration());
+-av_register_all();
+ avformat_initialized = 1;
+ av_log_set_callback(mp_msp_av_log_callback);
+ }
+@@ -132,8 +130,6 @@
+ ctx->channels,
+ src_len / bps, bps);
+ }
+-pkt.data = dst;
+-pkt.size = dst_len;
+ frame->nb_samples = src_len / ctx->channels / bps;
+ if (planar) {
+ // TODO: this is horribly inefficient.
+@@ -150,11 +146,22 @@
+ }
+ }
+ }
++frame->format = ctx->sample_fmt;
++frame->channels = ctx->channels;
+ n = avcodec_fill_audio_frame(frame, ctx->channels, ctx->sample_fmt, src, 
src_len, 1);
+ if (n < 0) return 0;
+-n = avcodec_encode_audio2(ctx, , frame, );
++n = avcodec_send_frame(ctx, frame);
++av_init_packet();
++got = avcodec_receive_packet(ctx, );
+ av_frame_free();
+ if (planar) av_free(src);
+ if (n < 0) return n;
+-return got ? pkt.size : 0;
++if (got >= 0) {
++int size = pkt.size;
++if (size > dst_len) return -1;
++memcpy(dst, pkt.data, size);
++av_packet_unref();
++return size;
++}
++return 0;
+ }
diff -Nru mplayer-1.4+ds1/debian/patches/r38216.patch 
mplayer-1.4+ds1/debian/patches/r38216.patch
--- mplayer-1.4+ds1/debian/patches/r38216.patch 1970-01-01 01:00:00.0 
+0100
+++ mplayer-1.4+ds1/debian/patches/r38216.patch 2022-08-19 17:09:46.0 
+0200
@@ -0,0 +1,86 @@
+Description: ad_ffmpeg: switch to new lavc API.
+Origin: upstream, commit: r38216
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004579
+Forwarded: no
+Last-Update: 2022-08-19
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: b/libmpcodecs/ad_ffmpeg.c
+===
+--- a/libmpcodecs/ad_ffmpeg.c  2022-08-19 16:52:04.011665773 +0200
 b/libmpcodecs/ad_ffmpeg.c  2022-08-19 16:52:04.003665834 +0200
+@@ -310,34 +310,41 @@
+ 
+ static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int 
minlen,int maxlen)
+ {
++int draining_started = 0;
+ unsigned char *start=NULL;
+-int y,len=-1, got_frame;
++int y,len=-1;
+ AVFrame *frame = av_frame_alloc();
+ 
+ if (!frame)
+ return AVERROR(ENOMEM);
+ 
+ while(lencontext, frame);
++  if (y == AVERROR(EAGAIN) || y == AVERROR_EOF) {
++  AVPacket pkt;
+   double pts;
+   int x=ds_get_packet_pts(sh_audio->ds,, );
+   if(x<=0) {
+   start = NULL;
+   x = 0;
+   ds_parse(sh_audio->ds, , , MP_NOPTS_VALUE, 0);
+- 

Bug#1016539: libregexp-wildcards-perl: We want to make sure that the test-suite that libregexp-wildcards-perl has runs at autopkgtest time.

2022-08-02 Thread Olivier Gayot
Package: libregexp-wildcards-perl
Version: 1.05-2
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   As part of a main inclusion request in Ubuntu, we want to ensure that
   the test suites runs at autopkgtest time.

*** End of the template - remove these template lines ***


*** /tmp/tmpi21cmu5u/bug_body

In Ubuntu, the attached patch was applied to achieve the following:


  * Make sure the test-suite runs at autopkgtest time (LP: #1983397).


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), 
(100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-43-generic (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru libregexp-wildcards-perl-1.05/debian/control 
libregexp-wildcards-perl-1.05/debian/control
--- libregexp-wildcards-perl-1.05/debian/control2018-11-10 
15:44:55.0 +0100
+++ libregexp-wildcards-perl-1.05/debian/control2022-08-01 
11:32:32.0 +0200
@@ -5,6 +5,7 @@
 Vcs-Browser: https://git.in-ulm.de/cbiedl/libregexp-wildcards-perl
 Vcs-Git: https://git.in-ulm.de/cbiedl/libregexp-wildcards-perl.git
 Build-Depends: debhelper (>= 10~),
+Testsuite: autopkgtest-pkg-perl
 Priority: optional
 Section: perl
 


Bug#1012606: keyutils: key.dns_resolver sets unlimited lifetime for cached records

2022-06-10 Thread Olivier Gayot
Package: keyutils
Version: 1.6.1-3
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

   * What led up to the situation?

Connect to a file share server hosted in the cloud using cifs.
At some point the SMB server moves to a different cluster (with a set of
IP addresses) and its DNS records are updated accordingly.

   * What was the outcome of this action?

The kernel tries to reconnect to the old IP that was cached for
unlimited time.

   * What outcome did you expect instead?

After _some_ delay, the kernel should perform DNS resolution again and
pick-up the new IP ; so it can reconnect to the server successfully.

*** /tmp/tmprouv6pz2/bug_body

In Ubuntu, the attached patch was applied to achieve the following:

  * Apply upstream patch that applies a configurable default TTL for DNS
  records.

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), 
(100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-35-generic (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru keyutils-1.6.1/debian/patches/apply-default-ttl-to-records.patch 
keyutils-1.6.1/debian/patches/apply-default-ttl-to-records.patch
--- keyutils-1.6.1/debian/patches/apply-default-ttl-to-records.patch
1970-01-01 01:00:00.0 +0100
+++ keyutils-1.6.1/debian/patches/apply-default-ttl-to-records.patch
2022-02-28 10:43:38.0 +0100
@@ -0,0 +1,522 @@
+From 75e7568dc516db698093b33ea273e1b4a30b70be Mon Sep 17 00:00:00 2001
+From: David Howells 
+Date: Tue, 14 Apr 2020 16:07:26 +0100
+Subject: dns: Apply a default TTL to records obtained from getaddrinfo()
+ Address records obtained from getaddrinfo() don't come with any TTL
+ information, even if they're obtained from the DNS, with the result that
+ key.dns_resolver upcall program doesn't set an expiry time on dns_resolver
+ records unless they include a component obtained directly from the DNS,
+ such as an SRV or AFSDB record.
+ .
+ Fix this to apply a default TTL of 10mins in the event that we haven't got
+ one.  This can be configured in /etc/keyutils/key.dns_resolver.conf by
+ adding the line:
+ .
+   default_ttl = 
+ .
+ to the file.
+ .
+ Signed-off-by: David Howells 
+ Reviewed-by: Ben Boeckel 
+ Reviewed-by: Jeff Layton 
+Origin: upstream, 
https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/commit/?id=75e7568dc516db698093b33ea273e1b4a30b70be
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/keyutils/+bug/1962453
+Last-Updated: 2022-02-28
+
+---
+ Makefile|   1 +
+ dns.afsdb.c |  16 ++--
+ key.dns.h   |   4 +
+ key.dns_resolver.c  | 208 +---
+ man/key.dns_resolver.8  |  25 --
+ man/key.dns_resolver.conf.5 |  48 ++
+ 6 files changed, 277 insertions(+), 25 deletions(-)
+ create mode 100644 man/key.dns_resolver.conf.5
+
+--- a/Makefile
 b/Makefile
+@@ -204,6 +204,7 @@
+   $(INSTALL) -D key.dns_resolver $(DESTDIR)$(SBINDIR)/key.dns_resolver
+   $(INSTALL) -D -m 0644 request-key.conf 
$(DESTDIR)$(ETCDIR)/request-key.conf
+   mkdir -p $(DESTDIR)$(ETCDIR)/request-key.d
++  mkdir -p $(DESTDIR)$(ETCDIR)/keyutils
+   mkdir -p $(DESTDIR)$(MAN1)
+   $(INSTALL) -m 0644 $(wildcard man/*.1) $(DESTDIR)$(MAN1)
+   mkdir -p $(DESTDIR)$(MAN3)
+--- a/dns.afsdb.c
 b/dns.afsdb.c
+@@ -37,8 +37,6 @@
+  */
+ #include "key.dns.h"
+ 
+-static unsigned long afs_ttl = ULONG_MAX;
+-
+ /*
+  *
+  */
+@@ -114,8 +112,8 @@
+   }
+   }
+ 
+-  afs_ttl = ttl;
+-  info("ttl: %u", ttl);
++  key_expiry = ttl;
++  info("ttl: %u", key_expiry);
+ }
+ 
+ /*
+@@ -203,8 +201,8 @@
+   }
+   }
+ 
+-  afs_ttl = ttl;
+-  info("ttl: %u", ttl);
++  key_expiry = ttl;
++  info("ttl: %u", key_expiry);
+ }
+ 
+ /*
+@@ -240,7 +238,7 @@
+   /* look up the hostnames we've obtained to get the actual addresses */
+   afsdb_hosts_to_addrs(handle, ns_s_an);
+ 
+-  info("DNS query AFSDB RR results:%u ttl:%lu", payload_index, afs_ttl);
++  info("DNS query AFSDB RR results:%u ttl:%u", payload_index, key_expiry);
+   return 0;
+ }
+ 
+@@ -279,7 +277,7 @@
+   /* look up the hostnames we've obtained to get the actual addresses */
+   srv_hosts_to_addrs(handle, ns_s_an);
+ 
+-  info("DNS query VL SRV RR results:%u ttl:%lu", payload_index, afs_ttl);
++  info("DNS query VL SRV RR results:%u ttl:%u", payload_index, 
key_expiry);
+   return 0;
+ }
+ 
+@@ -293,7 +291,7 @@
+ 
+   /* set 

Bug#1012263: curl: Multi-line header support is broken

2022-06-02 Thread Olivier Gayot
Package: curl
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

In version 7.83.1, the support for multi-line headers is broken.
This causes autopkgtest regressions in python-tornado:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012224

In Ubuntu, the attached patch was applied to achieve the following:

  * Apply upstream patch to fix multi-line header support (LP: #1976619)

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), 
(100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-33-generic (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
curl-7.83.1/debian/patches/12-http-restore-header-folding-behavior.patch 
curl-7.83.1/debian/patches/12-http-restore-header-folding-behavior.patch
--- curl-7.83.1/debian/patches/12-http-restore-header-folding-behavior.patch
1970-01-01 01:00:00.0 +0100
+++ curl-7.83.1/debian/patches/12-http-restore-header-folding-behavior.patch
2022-06-02 13:44:50.0 +0200
@@ -0,0 +1,268 @@
+Description: restore header folding behavior
+ Folded header lines will now get passed through like before. The headers
+ API is adapted and will get and provide the content "un-folded".
+ Added test 1274 and extended test 1940 to verify.
+Origin: upstream, https://github.com/curl/curl/pull/8899
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1976619
+Applied-Upstream: 
https://github.com/curl/curl/commit/c9b60f005358a364cbcddbebd8d12593acffdd84
+Last-Update: 2022-06-02
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: b/docs/libcurl/curl_easy_header.3
+===
+--- a/docs/libcurl/curl_easy_header.3  2022-06-02 13:39:23.698800691 +0200
 b/docs/libcurl/curl_easy_header.3  2022-06-02 13:39:23.694800445 +0200
+@@ -95,7 +95,9 @@
+ 
+ The data \fBvalue\fP field points to, comes exactly as delivered over the
+ network but with leading and trailing whitespace and newlines stripped
+-off. The `value` data is nul-terminated.
++off. The `value` data is nul-terminated. For legacy HTTP/1 "folded headers",
++this API provides the full single value in an unfolded manner with a single
++whitespace between the lines.
+ 
+ \fBamount\fP is how many headers using this name that exist, within the origin
+ and request scope asked for.
+Index: b/lib/headers.c
+===
+--- a/lib/headers.c2022-06-02 13:39:23.698800691 +0200
 b/lib/headers.c2022-06-02 13:39:23.694800445 +0200
+@@ -216,6 +216,54 @@
+   return CURLE_OK;
+ }
+ 
++static CURLcode append_value(struct Curl_easy *data, const char *value,
++ size_t vlen)  /* length of the incoming header */
++{
++  struct Curl_header_store *hs;
++  struct Curl_header_store *newhs;
++  size_t olen; /* length of the old value */
++  size_t offset;
++  DEBUGASSERT(data->state.prevhead);
++  hs = data->state.prevhead;
++  olen = strlen(hs->value);
++  offset = hs->value - hs->buffer;
++
++  /* skip all trailing space letters */
++  while(vlen && ISSPACE(value[vlen - 1]))
++vlen--;
++
++  /* save only one leading space */
++  while((vlen > 1) && ISSPACE(value[0]) && ISSPACE(value[1])) {
++vlen--;
++value++;
++  }
++
++  /* since this header block might move in the realloc below, it needs to
++ first be unlinked from the list and then re-added again after the
++ realloc */
++  Curl_llist_remove(>state.httphdrs, >node, NULL);
++
++  newhs = Curl_saferealloc(hs, sizeof(*hs) + vlen + olen + 1);
++  if(!newhs)
++return CURLE_OUT_OF_MEMORY;
++  /* ->name' and ->value point into ->buffer (to keep the header allocation
++ in a single memory block), which now potentially have moved. Adjust
++ them. */
++  newhs->name = newhs->buffer;
++  newhs->value = >buffer[offset];
++
++  /* put the data at the end of the previous data, not the newline */
++  memcpy(>value[olen], value, vlen);
++  newhs->value[olen + vlen] = 0; /* zero terminate at newline */
++
++  /* insert this node into the list of headers */
++  Curl_llist_insert_next(>state.httphdrs, data->state.httphdrs.tail,
++ newhs, >node);
++  data->state.prevhead = newhs;
++  return CURLE_OK;
++}
++
++
+ /*
+  * Curl_headers_push() gets passed a full HTTP header to store. It gets called
+  * immediately before the header callback. The header is CRLF terminated.
+@@ -242,6 +290,10 @@
+   }
+   hlen = end - header + 1;
+ 
++  if((header[0] == ' ') || (header[0] == 

Bug#1011276: requests: Fix autopkgtest when http_proxy, https_proxy or no_proxy is set

2022-05-19 Thread Olivier Gayot
Package: requests
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

When moving from 2.25.1+dfsg to 2.27.1+dfsg, we enabled the pytest
test-suite in autopkgtest.

Some of the tests fail when HTTP proxy variables are set:

FAILED 
tests/test_requests.py::TestRequests::test_errors[http://doesnotexist.google.com-ConnectionError]
FAILED 
tests/test_requests.py::TestRequests::test_respect_proxy_env_on_send_self_prepared_request
FAILED 
tests/test_requests.py::TestRequests::test_respect_proxy_env_on_send_session_prepared_request
FAILED 
tests/test_requests.py::TestRequests::test_respect_proxy_env_on_send_with_redirects
FAILED tests/test_requests.py::TestRequests::test_respect_proxy_env_on_get - ...
FAILED tests/test_requests.py::TestRequests::test_respect_proxy_env_on_request


*** /tmp/tmp877wny2v/bug_body

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix autopkgtest when http_proxy, https_proxy or no_proxy variable is set
(LP: #1974182)


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-30-generic (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
requests-2.27.1+dfsg/debian/patches/0002-Fix-tests-with-HTTP-proxy.patch 
requests-2.27.1+dfsg/debian/patches/0002-Fix-tests-with-HTTP-proxy.patch
--- requests-2.27.1+dfsg/debian/patches/0002-Fix-tests-with-HTTP-proxy.patch
1970-01-01 01:00:00.0 +0100
+++ requests-2.27.1+dfsg/debian/patches/0002-Fix-tests-with-HTTP-proxy.patch
2022-05-19 14:14:07.0 +0200
@@ -0,0 +1,83 @@
+Description: Fix autopkgtest when HTTP/HTTPS proxy is set
+ The pytest suite does not expect the http_proxy, https_proxy and no_proxy
+ variables to be present in the environment. They make pytest fail and
+ therefore autopkgtest fail as well.
+Author: Olivier Gayot 
+Bug: 
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/requests/+bug/1974182
+Forwarded: no
+Last-Update: 2022-05-19
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: b/tests/test_requests.py
+===
+--- a/tests/test_requests.py   2022-01-05 16:35:04.0 +0100
 b/tests/test_requests.py   2022-05-19 14:13:08.454208318 +0200
+@@ -535,8 +535,9 @@
+ ('http://fe80::5054:ff:fe5a:fc0', InvalidURL)
+ ))
+ def test_errors(self, url, exception):
+-with pytest.raises(exception):
+-requests.get(url, timeout=1)
++with override_environ(http_proxy=None, https_proxy=None):
++with pytest.raises(exception):
++requests.get(url, timeout=1)
+ 
+ def test_proxy_error(self):
+ # any proxy related error (address resolution, no route to host, etc) 
should result in a ProxyError
+@@ -557,14 +558,14 @@
+ requests.get(httpbin(), proxies={'http': 
'http:///example.com:8080'})
+ 
+ def test_respect_proxy_env_on_send_self_prepared_request(self, httpbin):
+-with override_environ(http_proxy=INVALID_PROXY):
++with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+ with pytest.raises(ProxyError):
+ session = requests.Session()
+ request = requests.Request('GET', httpbin())
+ session.send(request.prepare())
+ 
+ def test_respect_proxy_env_on_send_session_prepared_request(self, 
httpbin):
+-with override_environ(http_proxy=INVALID_PROXY):
++with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+ with pytest.raises(ProxyError):
+ session = requests.Session()
+ request = requests.Request('GET', httpbin())
+@@ -572,7 +573,7 @@
+ session.send(prepared)
+ 
+ def test_respect_proxy_env_on_send_with_redirects(self, httpbin):
+-with override_environ(http_proxy=INVALID_PROXY):
++with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+ with pytest.raises(ProxyError):
+ session = requests.Session()
+ url = httpbin('redirect/1')
+@@ -581,13 +582,13 @@
+ session.send(request.prepare())
+ 
+ def test_respect_proxy_env_on_get(self, httpbin):
+-with override_environ(http_proxy=INVALID_PROXY):
++with override_environ(no_proxy=None, http_proxy=INVALID_PROXY):
+ with pytest.raises(ProxyError):
+ session = requests.Session()
+ session.get(httpbin())
+ 
+ def

Bug#1010891: libcloud: autopkgtest failure on big-endian architectures

2022-05-12 Thread Olivier Gayot
Package: libcloud
Version: 3.4.1-2
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

Since the move to upstream 3.4.1, a new test breaks autopkgtest on
big-endian architectures:

  chan.recv.side_effect = ['臘'.encode('utf-32'), 'a', 'b']
  
  stdout = client._consume_stdout(chan).getvalue()
  > self.assertEqual('\x00\x00&\x01\x00ab', stdout)
  E AssertionError: '\x00\x00&\x01\x00ab' != '\x00\x00\x00\x01'
  
  test/compute/test_ssh_client.py:563: AssertionError

In Ubuntu, the attached patch was applied to achieve the following:

  * Fix autopkgtest failure on s390x (big-endian) (LP: #1973158)
  * The bug also affects Debian as shown in this log:
  
https://ci.debian.net/data/autopkgtest/testing/s390x/libc/libcloud/21309362/log.gz


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-27-generic (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru libcloud-3.4.1/debian/control libcloud-3.4.1/debian/control
--- libcloud-3.4.1/debian/control   2022-05-11 15:51:43.0 +0200
+++ libcloud-3.4.1/debian/control   2022-05-11 15:51:43.0 +0200
@@ -1,8 +1,7 @@
 Source: libcloud
 Section: python
 Priority: optional
-Maintainer: Ubuntu Developers 
-XSBC-Original-Maintainer: Debian Python Team 
+Maintainer: Debian Python Team 
 Uploaders:
  Soren Hansen ,
  Hans-Christoph Steiner ,
diff -Nru 
libcloud-3.4.1/debian/patches/df060de6ea325cba2b6411780728705252543bc3.patch 
libcloud-3.4.1/debian/patches/df060de6ea325cba2b6411780728705252543bc3.patch
--- 
libcloud-3.4.1/debian/patches/df060de6ea325cba2b6411780728705252543bc3.patch
1970-01-01 01:00:00.0 +0100
+++ 
libcloud-3.4.1/debian/patches/df060de6ea325cba2b6411780728705252543bc3.patch
2022-05-11 15:51:43.0 +0200
@@ -0,0 +1,45 @@
+Description: test: fix test_ssh_client on big-endian architectures
+ The tests test_consume_*_chunk_contains_no_utf8_character are meant to
+ ensure support for non-UTF-8 characters. To do so, we use UTF-8
+ characters and compare their binary representation after being fed to
+ paramiko.
+ 
+ Unfortunately, UTF-32 is affected by endianness, resulting in failed
+ tests on big-endian architectures.
+ 
+ Fixed by checking the endianness and comparing the UTF-32 characters to
+ their respective binary representation.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libcloud/+bug/1973158
+Forwarded: https://github.com/apache/libcloud/pull/1693
+Last-Update: 2022-05-12
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: libcloud-3.4.1/libcloud/test/compute/test_ssh_client.py
+===
+--- libcloud-3.4.1.orig/libcloud/test/compute/test_ssh_client.py   
2022-05-12 12:36:47.037706112 +0200
 libcloud-3.4.1/libcloud/test/compute/test_ssh_client.py2022-05-12 
12:37:34.529747766 +0200
+@@ -560,7 +560,10 @@
+ chan.recv.side_effect = ['臘'.encode('utf-32'), 'a', 'b']
+ 
+ stdout = client._consume_stdout(chan).getvalue()
+-self.assertEqual('\x00\x00&\x01\x00ab', stdout)
++if sys.byteorder == "little":
++self.assertEqual("\x00\x00&\x01\x00ab", stdout)
++else:
++self.assertEqual("\x00\x00\x00\x01", stdout)
+ self.assertEqual(len(stdout), 7)
+ 
+ def test_consume_stderr_chunk_contains_non_utf8_character(self):
+@@ -574,7 +577,10 @@
+ chan.recv_stderr.side_effect = ['臘'.encode('utf-32'), 'a', 'b']
+ 
+ stderr = client._consume_stderr(chan).getvalue()
+-self.assertEqual('\x00\x00&\x01\x00ab', stderr)
++if sys.byteorder == "little":
++self.assertEqual("\x00\x00&\x01\x00ab", stderr)
++else:
++self.assertEqual("\x00\x00\x00\x01", stderr)
+ self.assertEqual(len(stderr), 7)
+ 
+ def test_keep_alive_and_compression(self):
diff -Nru libcloud-3.4.1/debian/patches/series 
libcloud-3.4.1/debian/patches/series
--- libcloud-3.4.1/debian/patches/series2022-05-11 15:51:43.0 
+0200
+++ libcloud-3.4.1/debian/patches/series2022-05-11 15:51:43.0 
+0200
@@ -3,3 +3,4 @@
 43b71091ebd159570302b695f0a244f4d0a7e497.patch
 83bd562337abdda4b1ba6706999b13aa358bdd28.patch
 disable-online-test.patch
+df060de6ea325cba2b6411780728705252543bc3.patch


Bug#1010881: libcloud: Autopkgtest failure when no network or https_proxy/http_proxy set

2022-05-12 Thread Olivier Gayot
Package: libcloud
Version: 3.4.1-2
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

Since the move to 3.4.1, libcloud fails autopkgtest when either:
 * Internet access is not available
 * http_proxy or https_proxy is set

In Ubuntu, the attached patch was applied to achieve the following:

  * Disable test that requires access to the Internet.
  * Applied patches forwarded upstream to fix failures when HTTP proxy
variables are set (LP: #1972888)


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-27-generic (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru 
libcloud-3.4.1/debian/patches/43b71091ebd159570302b695f0a244f4d0a7e497.patch 
libcloud-3.4.1/debian/patches/43b71091ebd159570302b695f0a244f4d0a7e497.patch
--- 
libcloud-3.4.1/debian/patches/43b71091ebd159570302b695f0a244f4d0a7e497.patch
1970-01-01 01:00:00.0 +0100
+++ 
libcloud-3.4.1/debian/patches/43b71091ebd159570302b695f0a244f4d0a7e497.patch
2022-05-11 15:51:43.0 +0200
@@ -0,0 +1,49 @@
+Description: stop HTTP server (thread) properly
+ test/test_http.py: stop HTTP server (thread) properly
+
+ The HttpLayerTestCase test class creates a HTTPServer instance and runs
+ it in a separate thread.
+
+ After running all the test-cases, we attempt to close the server and the
+ thread by killing the thread. Unfortunately, the code that does that is
+ unreachable because the tear-down member function is called tearDownCls
+ intead of tearDownClass.
+
+ Moreover, there is no threading.Thread.kill function. This was undetected
+ because the code was unreachable.
+
+ The proper way to clean things up is to:
+
+ 1. Stop the HTTP server using HTTPServer.shutdown()
+ 2. Release the resources using HTTPServer.server_close()
+ 3. Join the thread using threading.Thread.join()
+
+ The original patch from upstream was missing the call to
+ HTTPServer.server_close(), which was added later.
+
+ This patch is not strictly necessary to fix the tests but subsequent patches
+ depend on tearDownClass being spelled properly.
+Author: Olivier Gayot 
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libcloud/+bug/1972888
+Forwarded: https://github.com/apache/libcloud/pull/1690
+Applied-Upstream: 
https://github.com/apache/libcloud/pull/1690/commits/43b71091ebd159570302b695f0a244f4d0a7e497
+Last-Update: 2022-05-11
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: b/libcloud/test/test_http.py
+===
+--- a/libcloud/test/test_http.py   2022-05-11 17:11:36.733859740 +0200
 b/libcloud/test/test_http.py   2022-05-11 17:11:36.729859732 +0200
+@@ -116,8 +116,10 @@
+ cls.mock_server_thread.start()
+ 
+ @classmethod
+-def tearDownCls(cls):
+-cls.mock_server_thread.kill()
++def tearDownClass(cls):
++cls.mock_server.shutdown()
++cls.mock_server.server_close()
++cls.mock_server_thread.join()
+ 
+ def test_prepared_request_empty_body_chunked_encoding_not_used(self):
+ connection = LibcloudConnection(host=self.listen_host, 
port=self.listen_port)
diff -Nru 
libcloud-3.4.1/debian/patches/83bd562337abdda4b1ba6706999b13aa358bdd28.patch 
libcloud-3.4.1/debian/patches/83bd562337abdda4b1ba6706999b13aa358bdd28.patch
--- 
libcloud-3.4.1/debian/patches/83bd562337abdda4b1ba6706999b13aa358bdd28.patch
1970-01-01 01:00:00.0 +0100
+++ 
libcloud-3.4.1/debian/patches/83bd562337abdda4b1ba6706999b13aa358bdd28.patch
2022-05-11 15:51:43.0 +0200
@@ -0,0 +1,46 @@
+Description: test/test_http.py: also backup/restore HTTP proxy settings
+
+ The HttpLayerTestCase class relies on the LibcloudConnection class -
+ which honors https_proxy and http_proxy variables.
+
+ Since the tests expect connections to the loopback interface (e.g.,
+ 127.0.0.1), we need to clear the http_proxy and https_proxy
+ variables before running the tests. Later on, we need to restore the
+ variables just like we did in test/test_connection.py
+Author: Olivier Gayot 
+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libcloud/+bug/1972888
+Forwarded: https://github.com/apache/libcloud/pull/1692
+Applied-Upstream: 
https://github.com/apache/libcloud/commit/83bd562337abdda4b1ba6706999b13aa358bdd28
+Last-Update: 2022-05-11
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: b/libcloud/test/test_http.py

Bug#1010803: python-fluids: Unpatched tests from .pc directory are executed as normal tests

2022-05-10 Thread Olivier Gayot
Package: python-fluids
Version: 1.0.9-1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu kinetic ubuntu-patch

Dear Maintainer,

  * Some tests (run by autopkgtest through pytest) require network.
  * The existing patch d/patches/fix-online-tests.patch is meant to
  modify the tests to get rid of the requirement to be online.
  * Unfortunately, after the patch is applied by quilt, pytest runs
  twice over each modified test, e.g.: 
* tests/test_design_climate.py
* .pc/fix-online-tests.patch/tests/test_design_climate.py
  * Tests under the .pc directory are unpatched, resulting in
  autopkgtest failure if network is not available.

In Ubuntu, the attached patch was applied to achieve the following:

  * Prevent autopkgtest failure (system under test does not have access to the
  Internet in Ubuntu) 
  * Although autopkgtest does not fail in Debian currently (does the
  system under test have access to the Internet?), autopkgtest logs [1] show
  that pytest executes tests from under the .pc directory. This could
  lead to unexpected side-effects:

  
.pc/fix-online-tests.patch/tests/test_design_climate.py::test_heating_degree_days
 PASSED [  0%]
  
.pc/fix-online-tests.patch/tests/test_design_climate.py::test_cooling_degree_days
 PASSED [  0%]
  
.pc/fix-online-tests.patch/tests/test_design_climate.py::test_month_average_temperature
 PASSED [  0%]
  
.pc/fix-online-tests.patch/tests/test_design_climate.py::test_IntegratedSurfaceDatabaseStation
 PASSED [  0%]
  .pc/fix-online-tests.patch/tests/test_design_climate.py::test_data PASSED [  
0%]
  .pc/fix-online-tests.patch/tests/test_design_climate.py::test_correct_WBAN 
PASSED [  0%]
  
.pc/fix-online-tests.patch/tests/test_design_climate.py::test_get_closest_station
 PASSED [  0%]
  
.pc/fix-online-tests.patch/tests/test_design_climate.py::test_get_station_year_text
 PASSED [  0%]
 
  * Exclude unpatched tests (in .pc/ directory) from being executed by pytest
(LP: #1972805)

[1] 
https://ci.debian.net/data/autopkgtest/unstable/amd64/p/python-fluids/19996479/log.gz

Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.0-27-generic (SMP w/4 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru python-fluids-1.0.9/debian/patches/pytest-exclude-quilt-dir.patch 
python-fluids-1.0.9/debian/patches/pytest-exclude-quilt-dir.patch
--- python-fluids-1.0.9/debian/patches/pytest-exclude-quilt-dir.patch   
1970-01-01 01:00:00.0 +0100
+++ python-fluids-1.0.9/debian/patches/pytest-exclude-quilt-dir.patch   
2022-05-10 10:32:08.0 +0200
@@ -0,0 +1,23 @@
+Description: Exclude .pc/ directory when executing pytest
+ We have debian patches (managed by quilt) that modify the tests that are run
+ with pytest. Unfortunately, pytest also runs over unpatched tests that quilt
+ stores in the .pc/ directory. This results in autopkgtest failures.
+ This patch instructs pytest to exclude the .pc/ directory.
+Author: Olivier Gayot 
+Bug-Ubuntu: 
https://bugs.launchpad.net/ubuntu/+source/python-fluids/+bug/1972805
+Last-Update: 2022-05-10
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: python-fluids-1.0.9ubuntu1/pytest.ini
+===
+--- python-fluids-1.0.9ubuntu1.orig/pytest.ini 2022-05-10 10:31:18.887277881 
+0200
 python-fluids-1.0.9ubuntu1/pytest.ini  2022-05-10 10:31:41.219339940 
+0200
+@@ -1,6 +1,6 @@
+ [pytest]
+ addopts = --doctest-glob='*.rst' --ignore='setup.py' 
--ignore='manual_runner.py' --ignore='make_test_stubs.py'
+-norecursedirs = .cache .git htmlcov notebooks dist
++norecursedirs = .cache .git .pc htmlcov notebooks dist
+ doctest_optionflags= NORMALIZE_WHITESPACE
+ 
+ markers =
diff -Nru python-fluids-1.0.9/debian/patches/series 
python-fluids-1.0.9/debian/patches/series
--- python-fluids-1.0.9/debian/patches/series   2022-01-25 19:52:10.0 
+0100
+++ python-fluids-1.0.9/debian/patches/series   2022-05-10 10:31:27.0 
+0200
@@ -2,3 +2,4 @@
 remove-shields-dot-io-images.patch
 use-debian-mathjax.patch
 fix-online-tests.patch
+pytest-exclude-quilt-dir.patch