Source: git-buildpackage
Version: 0.9.25
Severity: serious
Tags: patch ftbfs
Justification: fails to build from source

Dear Maintainer,

git-buildpackage currently fails to build due to a few issues. I tried
both the source currently in testing/unstable, and the master branch
from the git repository. There are a few different issues:

- pydoctor changed its configuration file format, and there is needed
  porting.

- The tests make assumptions about the global git configuration (and
  fail for me on my system).

- A few parts of the Debian packaging assume the current python3 version
  ends with single digit (python3.?), what breaks now that python 3.10
  is the default.

- the tests for create-remote-repo seem to be using slightly broken
  input data. I'm not sure how this worked before.

I'm including patches for all of the above issues, in that order.


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing-debug
  APT policy: (900, 'testing-debug'), (900, 'testing'), (500, 
'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.16.0-6-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=pt_BR.UTF-8, LC_CTYPE=pt_BR.UTF-8 (charmap=UTF-8), 
LANGUAGE=pt_BR:pt:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
From d77682bf92b2c486ef1a35e5af13411129583fb1 Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terce...@debian.org>
Date: Sat, 23 Apr 2022 09:23:43 -0300
Subject: [PATCH 1/3] docs: port build system to newer pydoctor

According to https://pydoctor.readthedocs.io/en/latest/help.html, the
command line and configuration parsing has changed in an incompatible
way. These changes fix the documentation build for me, but are probably
backwards-incompatible with older versions of pydoctor.
---
 .pydoctor.cfg | 4 ----
 Makefile      | 2 +-
 pydoctor.ini  | 4 ++++
 3 files changed, 5 insertions(+), 5 deletions(-)
 delete mode 100644 .pydoctor.cfg
 create mode 100644 pydoctor.ini

diff --git a/.pydoctor.cfg b/.pydoctor.cfg
deleted file mode 100644
index ede8e513..00000000
--- a/.pydoctor.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-projectname: git-buildpackage
-projecturl: https://honk.sigxcpu.org/piki/projects/git-buildpackage/
-htmloutput: build/apidocs
-packages: gbp,tests/doctests/
diff --git a/Makefile b/Makefile
index c94fa6c2..618f1a18 100644
--- a/Makefile
+++ b/Makefile
@@ -27,6 +27,6 @@ docs:
 
 apidocs:
 	mkdir -p build
-	pydoctor -v --config=.pydoctor.cfg
+	pydoctor -v gbp tests/doctests/
 
 .PHONY: docs
diff --git a/pydoctor.ini b/pydoctor.ini
new file mode 100644
index 00000000..a9bd0215
--- /dev/null
+++ b/pydoctor.ini
@@ -0,0 +1,4 @@
+[pydoctor]
+project-name = git-buildpackage
+project-url = https://honk.sigxcpu.org/piki/projects/git-buildpackage/
+html-output = build/apidocs
-- 
2.35.1

From a627139e5ac73a65f99a970981063bc0e709f4df Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terce...@debian.org>
Date: Sat, 23 Apr 2022 09:37:41 -0300
Subject: [PATCH 2/3] tests: set HOME to an unexisting directory

The test suite contains several assumptions about the global git
configuration, including but not limited to the default branch name
being `master`. By running the tests against a unexisting HOME, git will
not load the user configuration and instead use all the git defaults.
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index 618f1a18..db5ad88e 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,7 @@ all+net:
 	$(MAKE) GBP_NETWORK_TESTS=1 all
 
 test:
+	export HOME=/nonexisting;                       \
 	export GIT_AUTHOR_NAME="Gbp Tests";		\
 	export GIT_AUTHOR_EMAIL=te...@example.com;	\
 	export GIT_COMMITTER_NAME=$$GIT_AUTHOR_NAME;	\
-- 
2.35.1

From 2fae160d990992a1273b7137333378ee6928646a Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terce...@debian.org>
Date: Sat, 23 Apr 2022 09:42:14 -0300
Subject: [PATCH 3/3] debian/rules: fix build with python3.10 as default

---
 debian/git-buildpackage-rpm.install | 10 ++--
 debian/git-buildpackage.install     | 72 ++++++++++++++---------------
 debian/not-installed                | 14 +++---
 debian/rules                        |  2 +-
 4 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/debian/git-buildpackage-rpm.install b/debian/git-buildpackage-rpm.install
index 503e495a..f79d4f17 100644
--- a/debian/git-buildpackage-rpm.install
+++ b/debian/git-buildpackage-rpm.install
@@ -1,6 +1,6 @@
 usr/bin/gbp-builder-mock /usr/share/git-buildpackage/
-usr/lib/python3.?/dist-packages/gbp/rpm usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?//dist-packages/gbp/scripts/import_srpm.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/pq_rpm.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/buildpackage_rpm.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/rpm_ch.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/rpm usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*//dist-packages/gbp/scripts/import_srpm.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/pq_rpm.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/buildpackage_rpm.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/rpm_ch.py usr/lib/python3/dist-packages/gbp/scripts/
diff --git a/debian/git-buildpackage.install b/debian/git-buildpackage.install
index 285bd9c9..8e898c17 100644
--- a/debian/git-buildpackage.install
+++ b/debian/git-buildpackage.install
@@ -1,39 +1,39 @@
 usr/bin/gbp
 usr/bin/git-pbuilder
-usr/lib/python3.?/dist-packages/gbp-* usr/lib/python3/dist-packages/
-usr/lib/python3.?/dist-packages/gbp/command_wrappers.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/config.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/dch.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/deb/ usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/errors.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/format.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/git/ usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/__init__.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/log.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/notifications.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/paths.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/patch_series.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/pkg/ usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/scripts/buildpackage.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/clone.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/common/ usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/config.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/create_remote_repo.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/dch.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/import_dsc.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/import_dscs.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/import_orig.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/import_ref.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/export_orig.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/__init__.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/pq.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/pristine_tar.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/pull.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/push.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/setup_gitattributes.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/supercommand.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/scripts/tag.py usr/lib/python3/dist-packages/gbp/scripts/
-usr/lib/python3.?/dist-packages/gbp/tmpfile.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/tristate.py usr/lib/python3/dist-packages/gbp/
-usr/lib/python3.?/dist-packages/gbp/version.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp-* usr/lib/python3/dist-packages/
+usr/lib/python3.*/dist-packages/gbp/command_wrappers.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/config.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/dch.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/deb/ usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/errors.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/format.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/git/ usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/__init__.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/log.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/notifications.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/paths.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/patch_series.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/pkg/ usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/scripts/buildpackage.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/clone.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/common/ usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/config.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/create_remote_repo.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/dch.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/import_dsc.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/import_dscs.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/import_orig.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/import_ref.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/export_orig.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/__init__.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/pq.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/pristine_tar.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/pull.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/push.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/setup_gitattributes.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/supercommand.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/scripts/tag.py usr/lib/python3/dist-packages/gbp/scripts/
+usr/lib/python3.*/dist-packages/gbp/tmpfile.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/tristate.py usr/lib/python3/dist-packages/gbp/
+usr/lib/python3.*/dist-packages/gbp/version.py usr/lib/python3/dist-packages/gbp/
 usr/share/git-buildpackage/gbp.conf etc/git-buildpackage/
diff --git a/debian/not-installed b/debian/not-installed
index 61676532..0a7a6e06 100644
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -1,8 +1,8 @@
-debian/tmp/usr/lib/python3.9/dist-packages/gbp/deb/__pycache__
-debian/tmp/usr/lib/python3.9/dist-packages/gbp/git/__pycache__
-debian/tmp/usr/lib/python3.9/dist-packages/gbp/pkg/__pycache__
-debian/tmp/usr/lib/python3.9/dist-packages/gbp/__pycache__
-debian/tmp/usr/lib/python3.9/dist-packages/gbp/rpm/__pycache__
-debian/tmp/usr/lib/python3.9/dist-packages/gbp/scripts/common/__pycache__
-debian/tmp/usr/lib/python3.9/dist-packages/gbp/scripts/__pycache__
+debian/tmp/usr/lib/python3.*/dist-packages/gbp/deb/__pycache__
+debian/tmp/usr/lib/python3.*/dist-packages/gbp/git/__pycache__
+debian/tmp/usr/lib/python3.*/dist-packages/gbp/pkg/__pycache__
+debian/tmp/usr/lib/python3.*/dist-packages/gbp/__pycache__
+debian/tmp/usr/lib/python3.*/dist-packages/gbp/rpm/__pycache__
+debian/tmp/usr/lib/python3.*/dist-packages/gbp/scripts/common/__pycache__
+debian/tmp/usr/lib/python3.*/dist-packages/gbp/scripts/__pycache__
 
diff --git a/debian/rules b/debian/rules
index 6604f85f..24dedb6c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,7 +37,7 @@ override_dh_auto_install:
 	mkdir -p debian/git-buildpackage/$(PK4_DIR)
 	install -m755 debian/pk4 \
 		debian/git-buildpackage/$(PK4_DIR)/gbp
-	chmod a+x debian/tmp/usr/lib/python3.?/dist-packages/gbp/scripts/supercommand.py
+	chmod a+x debian/tmp/usr/lib/python3.*/dist-packages/gbp/scripts/supercommand.py
 
 override_dh_auto_clean:
 	dh_auto_clean
-- 
2.35.1

From c04fcb3b980eff5d53b3d020bb40a456a57eb124 Mon Sep 17 00:00:00 2001
From: Antonio Terceiro <terce...@debian.org>
Date: Sat, 23 Apr 2022 10:08:16 -0300
Subject: [PATCH] tests: fix input data to create-remote-repo tests

---
 tests/data/gbp_create_remote_repo.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/data/gbp_create_remote_repo.conf b/tests/data/gbp_create_remote_repo.conf
index 15c440de..336c153a 100644
--- a/tests/data/gbp_create_remote_repo.conf
+++ b/tests/data/gbp_create_remote_repo.conf
@@ -1,6 +1,6 @@
 # Data for TestGbpCreateRemoteRepo
 
-[remote-config config1]]
+[remote-config config1]
 remote-url-pattern = ssh://git.debian.org/git/pkg-libvirt/%(pkg)s.git
 template-dir = /srv/alioth.debian.org/chroot/home/groups/pkg-libvirt/git-template
 
-- 
2.35.1

Attachment: signature.asc
Description: PGP signature

Reply via email to