Request to Join the Debian Python Team

2023-12-21 Thread Dale Richards
Dear all,

First off, as a long time lover of both Debian and Python I'd like to thank you 
for all the
work you've done in building and maintaining the Debian Python ecosystem. Now 
it's my turn
to give back. ;)

I'd like to join the team so I can help maintain Python-related packages 
currently in
Debian, as well as contribute new packages where I believe there is a benefit 
to the Debian
community. In particular, I'm eager to help squash the outstanding Python 3.12 
bugs in
current packages, as well helping with other outstanding bugs and out-of-date 
packages.

My Salsa ID is: doge-tech [1]

My contributions so far include updates/fixes for aioquic[2] and 
haproxy-log-analysis[3],
as well as the new package python-dbutils[4]. 

Outside of Debian, I work as an information security manager, so as well as 
using Python on
a regular basis I also have a keen eye for security issues and fixes.

I have read, understood and accepted the Debian Python Team Policy[5].

Thank you for your consideration!

Best regards,
Dale Richards


[1] https://salsa.debian.org/doge-tech
[2] https://salsa.debian.org/python-team/packages/aioquic/-/merge_requests/1
[3] 
https://salsa.debian.org/python-team/packages/haproxy-log-analysis/-/merge_requests/2
[4] https://mentors.debian.net/package/python-dbutils/
[5] 
https://salsa.debian.org/python-team/tools/python-modules/blob/master/policy.rst



Re: bug in DebHelper or pybuild when deteting the plugin system.

2023-12-21 Thread Stefano Rivera
Hi PICCA (2023.12.21_14:10:16_+)
> "pyproject"

That's a bug, the tab got included.

I'll fix it now.

Stefano

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272



bug in DebHelper or pybuild when deteting the plugin system.

2023-12-21 Thread PICCA Frederic-Emmanuel
Hello, I am working in order to solve the bitshuffle FTBFS.

I took the liberty to modernize the package in my NMU.

But once I added pybuild-plugin-pyproject

the build failed with this error message

dh_auto_clean -- -v
pybuild --clean -i python{version} -p "3.12 3.11" -v
D: pybuild pybuild:614: version: 6.20231204
D: pybuild pybuild:615: ['/usr/bin/pybuild', '--clean', '-i', 
'python{version}', '-p', '3.12 3.11', '-v']
D: pybuild pybuild:39: cfg: Namespace(verbose=True, quiet=False, 
really_quiet=False, detect_only=False, clean_only=True, configure_only=False, 
build_only=False, install_only=False, test_only=False, autopkgtest_only=False, 
list_systems=False, print_args=None, before_clean=None, clean_args=None, 
after_clean=None, before_configure=None, configure_args=None, 
after_configure=None, before_build=None, build_args=None, after_build=None, 
before_install=None, install_args=None, after_install=None, before_test=None, 
test_args=None, after_test=None, test_nose=False, test_nose2=False, 
test_pytest=False, test_tox=False, test_custom=False, 
dir='/home/picca/debian/picca/bitshuffle', destdir='debian/tmp', 
ext_destdir=None, ext_pattern='\\.so(\\.[^/]*)?$', ext_sub_pattern=None, 
ext_sub_repl=None, install_dir=None, name='bitshuffle', system=None, 
versions=['3.12', '3.11'], interpreter=['python{version}'], disable=None, 
custom_tests=False)
D: pybuild tools:232: invoking: /usr/bin/dpkg-architecture
D: pybuild debhelper:183: source=bitshuffle, binary packages=['bitshuffle']
E: pybuild pybuild:122: unrecognized build system: pyproject
dh_auto_clean: error: pybuild --clean -i python{version} -p "3.12 3.11" -v 
returned exit code 10

So I instrumented a bit the pybuild code with some print...


# Selected by build_dep?

   
if not selected_plugin:
dh = DebHelper(build_options())
for build_dep in dh.build_depends:
if build_dep.startswith('pybuild-plugin-'):
print(f"'{build_dep}'")
print()
selected_plugin = build_dep.split('-', 2)[2]
break

if selected_plugin:
certainty = 99
print()
print(f'"{selected_plugin}"')
print()
print(build.plugins)
print()
Plugin = build.plugins.get(selected_plugin)
print(Plugin)
print()
if not Plugin:
log.error('unrecognized build system: %s', selected_plugin)
exit(10)
plugin = Plugin(cfg)
context = {'ENV': env, 'args': {}, 'dir': cfg.dir}
plugin.detect(context)

And I discoverd this

---
dh clean --buildsystem=pybuild
   debian/rules override_dh_auto_clean
make[1] : on entre dans le répertoire « /home/picca/debian/picca/bitshuffle »
rm -rf lzf/lzf
rm -rf lz4
dh_auto_clean -- -v
pybuild --clean -i python{version} -p "3.12 3.11" -v
D: pybuild pybuild:614: version: 6.20231204
D: pybuild pybuild:615: ['/usr/bin/pybuild', '--clean', '-i', 
'python{version}', '-p', '3.12 3.11', '-v']
D: pybuild pybuild:39: cfg: Namespace(verbose=True, quiet=False, 
really_quiet=False, detect_only=False, clean_only=True, configure_only=False, 
build_only=False, install_only=False, test_only=False, autopkgtest_only=False, 
list_systems=False, print_args=None, before_clean=None, clean_args=None, 
after_clean=None, before_configure=None, configure_args=None, 
after_configure=None, before_build=None, build_args=None, after_build=None, 
before_install=None, install_args=None, after_install=None, before_test=None, 
test_args=None, after_test=None, test_nose=False, test_nose2=False, 
test_pytest=False, test_tox=False, test_custom=False, 
dir='/home/picca/debian/picca/bitshuffle', destdir='debian/tmp', 
ext_destdir=None, ext_pattern='\\.so(\\.[^/]*)?$', ext_sub_pattern=None, 
ext_sub_repl=None, install_dir=None, name='bitshuffle', system=None, 
versions=['3.12', '3.11'], interpreter=['python{version}'], disable=None, 
custom_tests=False)
D: pybuild tools:232: invoking: /usr/bin/dpkg-architecture
D: pybuild debhelper:183: source=bitshuffle, binary packages=['bitshuffle']
'pybuild-plugin-pyproject   '


"pyproject  "

{'autopkgtest': , 
'cmake': , 'custom': , 'distutils': , 'flit': , 'meson': , 'pyproject': }

None

E: pybuild pybuild:122: unrecognized build system: pyproject
---

So the detected plugin is 'pyproject  ' with trailling whitespaces.


And this comes strait from the DebHelper build_dep parsing 
'pybuild-plugin-pyproject '

This is due to the peticular organisation of the Build-Depends of the 
Maintainer.

Build-Depends: debhelper-compat (= 13)
, dh-exec
, dh-python
, dh-sequence-numpy3
, dh-sequence-python3
, pybuild-plugin-pyproject
, python3-all-dev
, 

Test suite issues with new version of python3-antlr4 (Was: python3-antlr4: FTBFS: AttributeError: 'TestIntervalSet' object has no attribute 'assertEquals'. Did you mean: 'assertEqual'?)

2023-12-21 Thread Andreas Tille
Control: tags -1 pending

Hi,

I intended to fix bug #1058096.  Since I realised there is a new
upstream version I was considering an upgrade which I pushed to Salsa.
Unfortunately there are other test suite errors as you can see in Salsa
CI[1]:

==
ERROR: test.__main__ (unittest.loader._FailedTest.test.__main__)
--
ImportError: Failed to import test module: test.__main__
Traceback (most recent call last):
  File "/usr/lib/python3.11/unittest/loader.py", line 419, in _find_test_path
module = self._get_module_from_name(name)
 
  File "/usr/lib/python3.11/unittest/loader.py", line 362, in 
_get_module_from_name
__import__(name)
  File "/usr/lib/python3.11/test/__main__.py", line 2, in 
main(_add_python_opts=True)
  File "/usr/lib/python3.11/test/libregrtest/main.py", line 671, in main
ns = _parse_args(sys.argv[1:], **kwargs)
 ^^^
  File "/usr/lib/python3.11/test/libregrtest/cmdline.py", line 402, in 
_parse_args
parser.error("unrecognized arguments: %s" % arg)
  File "/usr/lib/python3.11/test/libregrtest/cmdline.py", line 182, in error
super().error(message + "\nPass -h or --help for complete help.")
  File "/usr/lib/python3.11/argparse.py", line 2642, in error
self.exit(2, _('%(prog)s: error: %(message)s\n') % args)
  File "/usr/lib/python3.11/argparse.py", line 2629, in exit
_sys.exit(status)
SystemExit: 2
...
(see more in Salsa CI log[1])


Since this looks pretty much as if the reason for this failur is that
the PiPY downloadable tarball is lacking the directory test/ (which was
included in the currently packaged version) I checked Github for these
files and added these inside a multi-source tarball (a script to create
this tarball is commited as well).  While the first three tests that
were importing from test/ are passing now.  I've also fixed bug #1058096
in a patch[2] (thus tagging this bug pending).  However, that new version
has now new test failures which you can find in the new Salsa CI build
log which includes the (fixed) tests[3].  It starts with

==
ERROR: TestTokenStreamRewriter 
(unittest.loader._FailedTest.TestTokenStreamRewriter)
--
ImportError: Failed to import test module: TestTokenStreamRewriter
Traceback (most recent call last):
  File "/usr/lib/python3.11/unittest/loader.py", line 419, in _find_test_path
module = self._get_module_from_name(name)
 
  File "/usr/lib/python3.11/unittest/loader.py", line 362, in 
_get_module_from_name
__import__(name)
  File 
"/builds/python-team/packages/python3-antlr4/debian/output/source_dir/.pybuild/cpython3_3.11_antlr4/build/test/TestTokenStreamRewriter.py",
 line 8, in 
from mocks.TestLexer import TestLexer, TestLexer2
  File 
"/builds/python-team/packages/python3-antlr4/debian/output/source_dir/.pybuild/cpython3_3.11_antlr4/build/test/mocks/TestLexer.py",
 line 19, in 
class TestLexer(Lexer):
  File 
"/builds/python-team/packages/python3-antlr4/debian/output/source_dir/.pybuild/cpython3_3.11_antlr4/build/test/mocks/TestLexer.py",
 line 20, in TestLexer
atn = ATNDeserializer().deserialize(serializedATN())
  ^^
  File 
"/builds/python-team/packages/python3-antlr4/debian/output/source_dir/.pybuild/cpython3_3.11_antlr4/build/antlr4/atn/ATNDeserializer.py",
 line 28, in deserialize
self.checkVersion()
  File 
"/builds/python-team/packages/python3-antlr4/debian/output/source_dir/.pybuild/cpython3_3.11_antlr4/build/antlr4/atn/ATNDeserializer.py",
 line 50, in checkVersion
raise Exception("Could not deserialize ATN with version " + str(version) + 
" (expected " + str(SERIALIZED_VERSION) + ").")
Exception: Could not deserialize ATN with version   (expected 4).
...

and I have no idea how to fix this.

Kind regards
Andreas.


[1] https://salsa.debian.org/python-team/packages/python3-antlr4/-/jobs/5066603
[2] 
https://salsa.debian.org/python-team/packages/python3-antlr4/-/blob/master/debian/patches/assertEquals.patch?ref_type=heads
[3] https://salsa.debian.org/python-team/packages/python3-antlr4/-/jobs/5067599

-- 
http://fam-tille.de
#!/bin/sh
# The archive at PiPy is not featuring the test suite files
# This script is fetching the files and creates a tarball that is suited for 
multi-source tarball

UGIT=https://github.com/antlr/antlr4/
UVERSION=$(dpkg-parsechangelog --file ./changelog | grep '^Version' | cut -d' ' 
-f2  | cut -f1 -d-)
tarball=$(dpkg-parsechangelog --file ./changelog | awk '/^Source:/ {print 
$2}')_${UVERSION}.orig-tests.tar.gz
set -x

tmpdir=$(mktemp -d /tmp/python3-antlr4-testsuite)
curdir=$PWD
cd $tmpdir

git clone ${UGIT}
cd