First, thanks for welcoming suggestions and taking the time to explain
your concerns.
I have rebased the remaining suggestions, split them in smaller
commits, and adapted some.

1 is a matter of taste.

2 should be consensual, but may need a rebase if 1 is not

> > Subject: [PATCH 5/8] debhelper: generate some lists in configuration files
> i've skipped this one. I'm fine with using more globs but rather not use
> a script as it might defeat dh_listmissing.

3 should be consensual

4
I think that the solution I have selected prevents such problems.
However, I fully agree with your concern so I have made the intention
explicit in comments near the code.
If my reasoning does not convince you, let’s forget my suggestion and
keep a hand-written list.

> > Subject: [PATCH 7/8] Makefile: spare unneeded recursive Make invokations
> I skipped that one just because I think being a bit more explicit is
> o.k. here.

5 fixes a bug

6 is more explicit in my opinion because debian/rules explicitly
contains the word 'export', but you decide.
>From f5bafea563ed3e1a7bc8b8b19b02007b13cf487e Mon Sep 17 00:00:00 2001
From: Nicolas Boulenguez <nico...@debian.org>
Date: Thu, 26 May 2022 00:47:22 +0200
Subject: [PATCH 1/6] Move some cleaning from debian/rules to debian/clean

---
 debian/clean | 2 ++
 debian/rules | 2 --
 2 files changed, 2 insertions(+), 2 deletions(-)
 create mode 100644 debian/clean

diff --git a/debian/clean b/debian/clean
new file mode 100644
index 00000000..0ac9e25f
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1,2 @@
+build/
+gbp/version.py
diff --git a/debian/rules b/debian/rules
index 0802452d..ad61ba7a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -13,6 +13,4 @@ execute_after_dh_fixperms:
 	chmod a+x debian/git-buildpackage/usr/lib/python3/dist-packages/gbp/scripts/supercommand.py
 
 execute_after_dh_auto_clean:
-	rm -rf build/
 	make -C docs/ clean
-	-rm gbp/version.py
-- 
2.30.2

>From 73dfa8e10bfc46a987906648285083787968e912 Mon Sep 17 00:00:00 2001
From: Nicolas Boulenguez <nico...@debian.org>
Date: Thu, 26 May 2022 00:49:25 +0200
Subject: [PATCH 2/6] debian/clean: add forgotten files

---
 debian/clean | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/debian/clean b/debian/clean
index 0ac9e25f..026cf3bf 100644
--- a/debian/clean
+++ b/debian/clean
@@ -1,2 +1,5 @@
 build/
+coverage.xml
+gbp.egg-info/
 gbp/version.py
+nosetests.xml
-- 
2.30.2

>From cc6df249062c7604df8f175ecb524bcffe97a2db Mon Sep 17 00:00:00 2001
From: Nicolas Boulenguez <nico...@debian.org>
Date: Thu, 26 May 2022 01:44:07 +0200
Subject: [PATCH 3/6] debian/rules: clean __pycache__ directories generated
 during the build

---
 debian/rules | 1 +
 1 file changed, 1 insertion(+)

diff --git a/debian/rules b/debian/rules
index ad61ba7a..a20be4bb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,3 +14,4 @@ execute_after_dh_fixperms:
 
 execute_after_dh_auto_clean:
 	make -C docs/ clean
+	find gbp -name __init__.py -printf '%h/__pycache__/\n' | xargs rm -fr
-- 
2.30.2

>From 2b3e0c9c61b63c59db02c9bf917286a6bcac63a4 Mon Sep 17 00:00:00 2001
From: Nicolas Boulenguez <nico...@debian.org>
Date: Tue, 17 May 2022 15:27:41 +0200
Subject: [PATCH 4/6] debhelper: generate some lists in configuration files

---
 debian/git-buildpackage-rpm.install | 17 ++++++++---
 debian/git-buildpackage.install     | 47 ++++++++---------------------
 debian/not-installed                | 15 ++++-----
 3 files changed, 32 insertions(+), 47 deletions(-)
 mode change 100644 => 100755 debian/git-buildpackage-rpm.install
 mode change 100644 => 100755 debian/git-buildpackage.install
 mode change 100644 => 100755 debian/not-installed

diff --git a/debian/git-buildpackage-rpm.install b/debian/git-buildpackage-rpm.install
old mode 100644
new mode 100755
index f79d4f17..0d1c755d
--- a/debian/git-buildpackage-rpm.install
+++ b/debian/git-buildpackage-rpm.install
@@ -1,6 +1,13 @@
+#!/bin/sh
+set -C -e -f -u
+
+# This script is normally executed after dh_auto_install and could
+# just parse debian/tmp.  It parses gbp/ instead so that:
+# * it can be checked at any time by simply executing it.
+# * it does not interfer with dh_listmissing.
+find gbp -path '*rpm*.py' -printf \
+     'usr/lib/python3.*/dist-packages/%p usr/lib/python3/dist-packages/%h\n'
+
+cat <<EOF
+
 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/
diff --git a/debian/git-buildpackage.install b/debian/git-buildpackage.install
old mode 100644
new mode 100755
index 956ac8c3..65a44bbb
--- a/debian/git-buildpackage.install
+++ b/debian/git-buildpackage.install
@@ -1,41 +1,18 @@
+#!/bin/sh
+set -C -e -f -u
+
+# This script is normally executed after dh_auto_install and could
+# just parse debian/tmp.  It parses gbp/ instead so that:
+# * it can be checked at any time by simply executing it.
+# * it does not interfer with dh_listmissing.
+find gbp -name '*.py' -a ! -path '*rpm*' -printf \
+     'usr/lib/python3.*/dist-packages/%p usr/lib/python3/dist-packages/%h\n'
+
+cat <<EOF
+
 debian/zsh/_gbp                       usr/share/zsh/vendor-completions
 debian/pk4/gbp                        usr/share/pk4/hooks-available/unpack
 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/share/git-buildpackage/gbp.conf etc/git-buildpackage/
diff --git a/debian/not-installed b/debian/not-installed
old mode 100644
new mode 100755
index 0a7a6e06..0af2a8fd
--- a/debian/not-installed
+++ b/debian/not-installed
@@ -1,8 +1,9 @@
-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__
+#!/bin/sh
+set -C -e -f -u
 
+# This script is normally executed after dh_auto_install and could
+# just parse debian/tmp.  It parses gbp/ instead so that:
+# * it can be checked at any time by simply executing it.
+# * it does not blindly silent dh_listmissing.
+find gbp -name __init__.py -printf \
+     'usr/lib/python3.*/dist-packages/%h/__pycache__\n'
-- 
2.30.2

>From e5eadf75333b17a7aba226ebafdfdca28a5e34a1 Mon Sep 17 00:00:00 2001
From: Nicolas Boulenguez <nico...@debian.org>
Date: Thu, 26 May 2022 01:53:54 +0200
Subject: [PATCH 5/6] debian/rules: really export GBP_NETWORK_TESTS to tests

$(MAKE) GBP_NETWORK_TESTS=1
was setting a Make variable in the sub-Make, but not exporting it for
test/*.py subprocesses.
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index db5ad88e..6134edab 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ TEST_LOCALE?=C.UTF-8
 all: syntax-check test
 
 all+net:
-	$(MAKE) GBP_NETWORK_TESTS=1 all
+	GBP_NETWORK_TESTS=1 $(MAKE) all
 
 test:
 	export HOME=/nonexisting;                       \
-- 
2.30.2

>From 1b41bebd6543cd7a46596fc79da21590c8399ffc Mon Sep 17 00:00:00 2001
From: Nicolas Boulenguez <nico...@debian.org>
Date: Tue, 17 May 2022 15:30:22 +0200
Subject: [PATCH 6/6] Makefile: spare unneeded recursive Make invokations

---
 Makefile | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 6134edab..edf39af6 100644
--- a/Makefile
+++ b/Makefile
@@ -5,8 +5,10 @@ TEST_LOCALE?=C.UTF-8
 
 all: syntax-check test
 
-all+net:
-	GBP_NETWORK_TESTS=1 $(MAKE) all
+# This means that 'make all+net' is a convenient shortcut for
+# 'GBP_NETWORK_TESTS=1 make all'.
+all+net: export GBP_NETWORK_TESTS := 1
+all+net: all
 
 test:
 	export HOME=/nonexisting;                       \
@@ -22,9 +24,8 @@ syntax-check:
 	flake8 $(FLAKE_OPTS)
 	flake8 $(FLAKE_OPTS) $(PY_EXAMPLES)
 
-docs:
+docs: apidocs
 	$(MAKE) -C docs
-	$(MAKE) apidocs
 
 apidocs:
 	mkdir -p build
-- 
2.30.2

Reply via email to