Package: src:b4
Version: 0.14.2-2
Severity: serious
Tags: ftbfs
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules binary
dh binary --with python3 --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build"
module
I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_b4
* Building wheel...
running bdist_wheel
running build
running build_py
creating build/lib/b4
copying src/b4/pr.py -> build/lib/b4
[... snipped ...]
assert config.get('shazam-am-flags') == '--signoff'
if rep:
with open(mfile, 'rb') as fh:
contents = fh.read()
contents = contents.replace(rep[0], rep[1])
tfile = os.path.join(prepdir, '.git', 'modified.mbox')
with open(tfile, 'wb') as fh:
fh.write(contents)
else:
tfile = mfile
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'shazam', '--no-add-trailers', '-m', tfile]
parser = b4.command.setup_parser()
cmdargs = parser.parse_args(b4args)
with pytest.raises(SystemExit) as e:
b4.mbox.main(cmdargs)
assert e.type == SystemExit
assert e.value.code == 0
cfile = os.path.join(sampledir, f'{compareout}.verify')
assert os.path.exists(cfile)
parser = b4.command.setup_parser()
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'trailers', '--update', '-m', mfile] + trargs
cmdargs = parser.parse_args(b4args)
> b4.ez.cmd_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_b4/build/tests/test_ez.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_b4/build/b4/ez.py:2859: in cmd_trailers
update_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_b4/build/b4/ez.py:1217: in
update_trailers
frf.run()
/usr/lib/python3/dist-packages/git_filter_repo.py:4875: in run
self._run_sanity_checks()
/usr/lib/python3/dist-packages/git_filter_repo.py:3276: in _run_sanity_checks
self._config_settings = GitUtils.get_config_settings(target_working_dir)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
repo_working_dir = b'.'
@staticmethod
def get_config_settings(repo_working_dir):
output = ''
try:
output = subproc.check_output('git config --list'.split(),
cwd=repo_working_dir)
except subprocess.CalledProcessError as e: # pragma: no cover
raise SystemExit('fatal: {}'.format(e))
# FIXME: Ignores multi-valued keys, just let them overwrite for now
> return dict(line.split(b'=', maxsplit=1)
for line in output.strip().split(b"\n"))
E ValueError: dictionary update sequence element #12 has length 1; 2 is
required
/usr/lib/python3/dist-packages/git_filter_repo.py:1692: ValueError
------------------------------ Captured log call -------------------------------
CRITICAL b4:ez.py:1196 ---
=========================== short test summary info ============================
FAILED
tests/test_ez.py::test_trailers[trailers-thread-with-followups-None-None-trargs0-compareargs0-trailers-thread-with-followups-b4cfg0]
FAILED
tests/test_ez.py::test_trailers[trailers-thread-with-cover-followup-None-None-trargs1-compareargs1-trailers-thread-with-cover-followup-b4cfg1]
FAILED
tests/test_ez.py::test_trailers[trailers-thread-with-followups-None-rep2-trargs2-compareargs2-trailers-thread-with-followups-b4cfg2]
FAILED
tests/test_ez.py::test_trailers[trailers-thread-with-followups-trailers-with-tripledash-None-trargs3-compareargs3-trailers-thread-with-followups-and-tripledash-None]
========================= 4 failed, 78 passed in 1.65s =========================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_b4/build; python3.13 -m pytest
I: pybuild pybuild:308: cp -r /<<PKGBUILDDIR>>/src/tests
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build;
python3.12 -m pytest
============================= test session starts ==============================
platform linux -- Python 3.12.8, pytest-8.3.4, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build
configfile: pyproject.toml
plugins: typeguard-4.4.1
collected 82 items
tests/test___init__.py ................................................. [ 59%]
.......................... [ 91%]
tests/test_ez.py FFFF [ 96%]
tests/test_mbox.py ... [100%]
=================================== FAILURES ===================================
_
test_trailers[trailers-thread-with-followups-None-None-trargs0-compareargs0-trailers-thread-with-followups-b4cfg0]
_
sampledir = '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/tests/samples'
prepdir = '/tmp/pytest-of-buildd/pytest-1/test_trailers_trailers_thread_0/repo'
mboxf = 'trailers-thread-with-followups', bundlef = None, rep = None
trargs = [], compareargs = ['log', '--format=%ae%n%s%n%b---', 'HEAD~4..']
compareout = 'trailers-thread-with-followups'
b4cfg = {'shazam-am-flags': '--signoff'}
@pytest.mark.parametrize('mboxf, bundlef, rep, trargs, compareargs,
compareout, b4cfg', [
('trailers-thread-with-followups', None, None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups',
{'shazam-am-flags': '--signoff'}),
('trailers-thread-with-cover-followup', None, None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-cover-followup',
{'shazam-am-flags': '--signoff'}),
# Test matching trailer updates by subject when patch-id changes
('trailers-thread-with-followups', None, (b'vivendum', b'addendum'), [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups',
{'shazam-am-flags': '--signoff'}),
# Test that we properly perserve commits with --- in them
('trailers-thread-with-followups', 'trailers-with-tripledash', None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups-and-tripledash',
None),
])
def test_trailers(sampledir, prepdir, mboxf, bundlef, rep, trargs,
compareargs, compareout, b4cfg):
if b4cfg:
b4.MAIN_CONFIG.update(b4cfg)
config = b4.get_main_config()
mfile = os.path.join(sampledir, f'{mboxf}.mbox')
assert os.path.exists(mfile)
if bundlef:
bfile = os.path.join(sampledir, f'{bundlef}.bundle')
assert os.path.exists(bfile)
gitargs = ['pull', '--rebase', bfile]
out, logstr = b4.git_run_command(None, gitargs)
assert out == 0
else:
assert config.get('shazam-am-flags') == '--signoff'
if rep:
with open(mfile, 'rb') as fh:
contents = fh.read()
contents = contents.replace(rep[0], rep[1])
tfile = os.path.join(prepdir, '.git', 'modified.mbox')
with open(tfile, 'wb') as fh:
fh.write(contents)
else:
tfile = mfile
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'shazam', '--no-add-trailers', '-m', tfile]
parser = b4.command.setup_parser()
cmdargs = parser.parse_args(b4args)
with pytest.raises(SystemExit) as e:
b4.mbox.main(cmdargs)
assert e.type == SystemExit
assert e.value.code == 0
cfile = os.path.join(sampledir, f'{compareout}.verify')
assert os.path.exists(cfile)
parser = b4.command.setup_parser()
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'trailers', '--update', '-m', mfile] + trargs
cmdargs = parser.parse_args(b4args)
> b4.ez.cmd_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/tests/test_ez.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/b4/ez.py:2859: in cmd_trailers
update_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/b4/ez.py:1217: in
update_trailers
frf.run()
/usr/lib/python3/dist-packages/git_filter_repo.py:4875: in run
self._run_sanity_checks()
/usr/lib/python3/dist-packages/git_filter_repo.py:3276: in _run_sanity_checks
self._config_settings = GitUtils.get_config_settings(target_working_dir)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
repo_working_dir = b'.'
@staticmethod
def get_config_settings(repo_working_dir):
output = ''
try:
output = subproc.check_output('git config --list'.split(),
cwd=repo_working_dir)
except subprocess.CalledProcessError as e: # pragma: no cover
raise SystemExit('fatal: {}'.format(e))
# FIXME: Ignores multi-valued keys, just let them overwrite for now
> return dict(line.split(b'=', maxsplit=1)
for line in output.strip().split(b"\n"))
E ValueError: dictionary update sequence element #12 has length 1; 2 is
required
/usr/lib/python3/dist-packages/git_filter_repo.py:1692: ValueError
------------------------------ Captured log call -------------------------------
CRITICAL b4:mbox.py:165 Total patches: 4
CRITICAL b4:mbox.py:200 ---
CRITICAL b4:ez.py:1196 ---
_
test_trailers[trailers-thread-with-cover-followup-None-None-trargs1-compareargs1-trailers-thread-with-cover-followup-b4cfg1]
_
sampledir = '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/tests/samples'
prepdir = '/tmp/pytest-of-buildd/pytest-1/test_trailers_trailers_thread_1/repo'
mboxf = 'trailers-thread-with-cover-followup', bundlef = None, rep = None
trargs = [], compareargs = ['log', '--format=%ae%n%s%n%b---', 'HEAD~4..']
compareout = 'trailers-thread-with-cover-followup'
b4cfg = {'shazam-am-flags': '--signoff'}
@pytest.mark.parametrize('mboxf, bundlef, rep, trargs, compareargs,
compareout, b4cfg', [
('trailers-thread-with-followups', None, None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups',
{'shazam-am-flags': '--signoff'}),
('trailers-thread-with-cover-followup', None, None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-cover-followup',
{'shazam-am-flags': '--signoff'}),
# Test matching trailer updates by subject when patch-id changes
('trailers-thread-with-followups', None, (b'vivendum', b'addendum'), [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups',
{'shazam-am-flags': '--signoff'}),
# Test that we properly perserve commits with --- in them
('trailers-thread-with-followups', 'trailers-with-tripledash', None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups-and-tripledash',
None),
])
def test_trailers(sampledir, prepdir, mboxf, bundlef, rep, trargs,
compareargs, compareout, b4cfg):
if b4cfg:
b4.MAIN_CONFIG.update(b4cfg)
config = b4.get_main_config()
mfile = os.path.join(sampledir, f'{mboxf}.mbox')
assert os.path.exists(mfile)
if bundlef:
bfile = os.path.join(sampledir, f'{bundlef}.bundle')
assert os.path.exists(bfile)
gitargs = ['pull', '--rebase', bfile]
out, logstr = b4.git_run_command(None, gitargs)
assert out == 0
else:
assert config.get('shazam-am-flags') == '--signoff'
if rep:
with open(mfile, 'rb') as fh:
contents = fh.read()
contents = contents.replace(rep[0], rep[1])
tfile = os.path.join(prepdir, '.git', 'modified.mbox')
with open(tfile, 'wb') as fh:
fh.write(contents)
else:
tfile = mfile
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'shazam', '--no-add-trailers', '-m', tfile]
parser = b4.command.setup_parser()
cmdargs = parser.parse_args(b4args)
with pytest.raises(SystemExit) as e:
b4.mbox.main(cmdargs)
assert e.type == SystemExit
assert e.value.code == 0
cfile = os.path.join(sampledir, f'{compareout}.verify')
assert os.path.exists(cfile)
parser = b4.command.setup_parser()
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'trailers', '--update', '-m', mfile] + trargs
cmdargs = parser.parse_args(b4args)
> b4.ez.cmd_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/tests/test_ez.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/b4/ez.py:2859: in cmd_trailers
update_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/b4/ez.py:1217: in
update_trailers
frf.run()
/usr/lib/python3/dist-packages/git_filter_repo.py:4875: in run
self._run_sanity_checks()
/usr/lib/python3/dist-packages/git_filter_repo.py:3276: in _run_sanity_checks
self._config_settings = GitUtils.get_config_settings(target_working_dir)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
repo_working_dir = b'.'
@staticmethod
def get_config_settings(repo_working_dir):
output = ''
try:
output = subproc.check_output('git config --list'.split(),
cwd=repo_working_dir)
except subprocess.CalledProcessError as e: # pragma: no cover
raise SystemExit('fatal: {}'.format(e))
# FIXME: Ignores multi-valued keys, just let them overwrite for now
> return dict(line.split(b'=', maxsplit=1)
for line in output.strip().split(b"\n"))
E ValueError: dictionary update sequence element #12 has length 1; 2 is
required
/usr/lib/python3/dist-packages/git_filter_repo.py:1692: ValueError
------------------------------ Captured log call -------------------------------
CRITICAL b4:mbox.py:165 Total patches: 4
CRITICAL b4:mbox.py:200 ---
CRITICAL b4:ez.py:1196 ---
_
test_trailers[trailers-thread-with-followups-None-rep2-trargs2-compareargs2-trailers-thread-with-followups-b4cfg2]
_
sampledir = '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/tests/samples'
prepdir = '/tmp/pytest-of-buildd/pytest-1/test_trailers_trailers_thread_2/repo'
mboxf = 'trailers-thread-with-followups', bundlef = None
rep = (b'vivendum', b'addendum'), trargs = []
compareargs = ['log', '--format=%ae%n%s%n%b---', 'HEAD~4..']
compareout = 'trailers-thread-with-followups'
b4cfg = {'shazam-am-flags': '--signoff'}
@pytest.mark.parametrize('mboxf, bundlef, rep, trargs, compareargs,
compareout, b4cfg', [
('trailers-thread-with-followups', None, None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups',
{'shazam-am-flags': '--signoff'}),
('trailers-thread-with-cover-followup', None, None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-cover-followup',
{'shazam-am-flags': '--signoff'}),
# Test matching trailer updates by subject when patch-id changes
('trailers-thread-with-followups', None, (b'vivendum', b'addendum'), [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups',
{'shazam-am-flags': '--signoff'}),
# Test that we properly perserve commits with --- in them
('trailers-thread-with-followups', 'trailers-with-tripledash', None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups-and-tripledash',
None),
])
def test_trailers(sampledir, prepdir, mboxf, bundlef, rep, trargs,
compareargs, compareout, b4cfg):
if b4cfg:
b4.MAIN_CONFIG.update(b4cfg)
config = b4.get_main_config()
mfile = os.path.join(sampledir, f'{mboxf}.mbox')
assert os.path.exists(mfile)
if bundlef:
bfile = os.path.join(sampledir, f'{bundlef}.bundle')
assert os.path.exists(bfile)
gitargs = ['pull', '--rebase', bfile]
out, logstr = b4.git_run_command(None, gitargs)
assert out == 0
else:
assert config.get('shazam-am-flags') == '--signoff'
if rep:
with open(mfile, 'rb') as fh:
contents = fh.read()
contents = contents.replace(rep[0], rep[1])
tfile = os.path.join(prepdir, '.git', 'modified.mbox')
with open(tfile, 'wb') as fh:
fh.write(contents)
else:
tfile = mfile
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'shazam', '--no-add-trailers', '-m', tfile]
parser = b4.command.setup_parser()
cmdargs = parser.parse_args(b4args)
with pytest.raises(SystemExit) as e:
b4.mbox.main(cmdargs)
assert e.type == SystemExit
assert e.value.code == 0
cfile = os.path.join(sampledir, f'{compareout}.verify')
assert os.path.exists(cfile)
parser = b4.command.setup_parser()
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'trailers', '--update', '-m', mfile] + trargs
cmdargs = parser.parse_args(b4args)
> b4.ez.cmd_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/tests/test_ez.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/b4/ez.py:2859: in cmd_trailers
update_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/b4/ez.py:1217: in
update_trailers
frf.run()
/usr/lib/python3/dist-packages/git_filter_repo.py:4875: in run
self._run_sanity_checks()
/usr/lib/python3/dist-packages/git_filter_repo.py:3276: in _run_sanity_checks
self._config_settings = GitUtils.get_config_settings(target_working_dir)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
repo_working_dir = b'.'
@staticmethod
def get_config_settings(repo_working_dir):
output = ''
try:
output = subproc.check_output('git config --list'.split(),
cwd=repo_working_dir)
except subprocess.CalledProcessError as e: # pragma: no cover
raise SystemExit('fatal: {}'.format(e))
# FIXME: Ignores multi-valued keys, just let them overwrite for now
> return dict(line.split(b'=', maxsplit=1)
for line in output.strip().split(b"\n"))
E ValueError: dictionary update sequence element #12 has length 1; 2 is
required
/usr/lib/python3/dist-packages/git_filter_repo.py:1692: ValueError
------------------------------ Captured log call -------------------------------
CRITICAL b4:mbox.py:165 Total patches: 4
CRITICAL b4:mbox.py:200 ---
CRITICAL b4:ez.py:1196 ---
_
test_trailers[trailers-thread-with-followups-trailers-with-tripledash-None-trargs3-compareargs3-trailers-thread-with-followups-and-tripledash-None]
_
sampledir = '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/tests/samples'
prepdir = '/tmp/pytest-of-buildd/pytest-1/test_trailers_trailers_thread_3/repo'
mboxf = 'trailers-thread-with-followups', bundlef = 'trailers-with-tripledash'
rep = None, trargs = []
compareargs = ['log', '--format=%ae%n%s%n%b---', 'HEAD~4..']
compareout = 'trailers-thread-with-followups-and-tripledash', b4cfg = None
@pytest.mark.parametrize('mboxf, bundlef, rep, trargs, compareargs,
compareout, b4cfg', [
('trailers-thread-with-followups', None, None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups',
{'shazam-am-flags': '--signoff'}),
('trailers-thread-with-cover-followup', None, None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-cover-followup',
{'shazam-am-flags': '--signoff'}),
# Test matching trailer updates by subject when patch-id changes
('trailers-thread-with-followups', None, (b'vivendum', b'addendum'), [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups',
{'shazam-am-flags': '--signoff'}),
# Test that we properly perserve commits with --- in them
('trailers-thread-with-followups', 'trailers-with-tripledash', None, [],
['log', '--format=%ae%n%s%n%b---', 'HEAD~4..'],
'trailers-thread-with-followups-and-tripledash',
None),
])
def test_trailers(sampledir, prepdir, mboxf, bundlef, rep, trargs,
compareargs, compareout, b4cfg):
if b4cfg:
b4.MAIN_CONFIG.update(b4cfg)
config = b4.get_main_config()
mfile = os.path.join(sampledir, f'{mboxf}.mbox')
assert os.path.exists(mfile)
if bundlef:
bfile = os.path.join(sampledir, f'{bundlef}.bundle')
assert os.path.exists(bfile)
gitargs = ['pull', '--rebase', bfile]
out, logstr = b4.git_run_command(None, gitargs)
assert out == 0
else:
assert config.get('shazam-am-flags') == '--signoff'
if rep:
with open(mfile, 'rb') as fh:
contents = fh.read()
contents = contents.replace(rep[0], rep[1])
tfile = os.path.join(prepdir, '.git', 'modified.mbox')
with open(tfile, 'wb') as fh:
fh.write(contents)
else:
tfile = mfile
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'shazam', '--no-add-trailers', '-m', tfile]
parser = b4.command.setup_parser()
cmdargs = parser.parse_args(b4args)
with pytest.raises(SystemExit) as e:
b4.mbox.main(cmdargs)
assert e.type == SystemExit
assert e.value.code == 0
cfile = os.path.join(sampledir, f'{compareout}.verify')
assert os.path.exists(cfile)
parser = b4.command.setup_parser()
b4args = ['--no-stdin', '--no-interactive', '--offline-mode',
'trailers', '--update', '-m', mfile] + trargs
cmdargs = parser.parse_args(b4args)
> b4.ez.cmd_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/tests/test_ez.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/b4/ez.py:2859: in cmd_trailers
update_trailers(cmdargs)
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build/b4/ez.py:1217: in
update_trailers
frf.run()
/usr/lib/python3/dist-packages/git_filter_repo.py:4875: in run
self._run_sanity_checks()
/usr/lib/python3/dist-packages/git_filter_repo.py:3276: in _run_sanity_checks
self._config_settings = GitUtils.get_config_settings(target_working_dir)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
repo_working_dir = b'.'
@staticmethod
def get_config_settings(repo_working_dir):
output = ''
try:
output = subproc.check_output('git config --list'.split(),
cwd=repo_working_dir)
except subprocess.CalledProcessError as e: # pragma: no cover
raise SystemExit('fatal: {}'.format(e))
# FIXME: Ignores multi-valued keys, just let them overwrite for now
> return dict(line.split(b'=', maxsplit=1)
for line in output.strip().split(b"\n"))
E ValueError: dictionary update sequence element #12 has length 1; 2 is
required
/usr/lib/python3/dist-packages/git_filter_repo.py:1692: ValueError
------------------------------ Captured log call -------------------------------
CRITICAL b4:ez.py:1196 ---
=========================== short test summary info ============================
FAILED
tests/test_ez.py::test_trailers[trailers-thread-with-followups-None-None-trargs0-compareargs0-trailers-thread-with-followups-b4cfg0]
FAILED
tests/test_ez.py::test_trailers[trailers-thread-with-cover-followup-None-None-trargs1-compareargs1-trailers-thread-with-cover-followup-b4cfg1]
FAILED
tests/test_ez.py::test_trailers[trailers-thread-with-followups-None-rep2-trargs2-compareargs2-trailers-thread-with-followups-b4cfg2]
FAILED
tests/test_ez.py::test_trailers[trailers-thread-with-followups-trailers-with-tripledash-None-trargs3-compareargs3-trailers-thread-with-followups-and-tripledash-None]
========================= 4 failed, 78 passed in 1.72s =========================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_b4/build; python3.12 -m pytest
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13
3.12" returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202412/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.
Thanks.