Package: python3-pyisomd5sum
Version: 1.2.3-5
Severity: serious
Tags: patch

python3-pyisomd5sum is installing its extensions directly into the 
cPython stdlib. That's insane. 3rd party library modules belong in 
/usr/lib/python3/dist-packages/.

$ apt-file show python3-pyisomd5sum
python3-pyisomd5sum: 
/usr/lib/python3.13/pyisomd5sum.cpython-313-x86_64-linux-gnu.so
python3-pyisomd5sum: 
/usr/lib/python3.14/pyisomd5sum.cpython-314-x86_64-linux-gnu.so

If you were using any standard build tooling, you'd automatically get 
your files put in the right place, but alas... it's all hand-written in 
debian/rules.

I can at least give you an patch that let you take advantage of 
pybuild.

Stefano
diff -Nru isomd5sum-1.2.3/debian/changelog isomd5sum-1.2.3/debian/changelog
--- isomd5sum-1.2.3/debian/changelog	2021-03-16 15:04:40.000000000 -0400
+++ isomd5sum-1.2.3/debian/changelog	2025-12-04 17:01:53.000000000 -0400
@@ -1,3 +1,10 @@
+isomd5sum (1:1.2.3-5.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * HAX
+
+ -- Stefano Rivera <[email protected]>  Thu, 04 Dec 2025 17:01:53 -0400
+
 isomd5sum (1:1.2.3-5) unstable; urgency=medium
 
   * Remove usage of genisoimage (Closes: #982236)
diff -Nru isomd5sum-1.2.3/debian/control isomd5sum-1.2.3/debian/control
--- isomd5sum-1.2.3/debian/control	2021-03-16 15:01:31.000000000 -0400
+++ isomd5sum-1.2.3/debian/control	2025-12-04 17:01:53.000000000 -0400
@@ -26,8 +26,6 @@
 Section: python
 Depends: ${misc:Depends}, ${shlibs:Depends}, ${python3:Depends}
 Suggests: xorriso
-Provides: ${python3:Provides}
-X-Python3-Version: >= 3.2
 Description: ISO9660 checksum Python 3 module
  isomd5sum is a set of utilities for implanting a MD5 checksum in an
  ISO (or any block device), then verifying the checksum later.  isomd5sum
diff -Nru isomd5sum-1.2.3/debian/rules isomd5sum-1.2.3/debian/rules
--- isomd5sum-1.2.3/debian/rules	2021-03-16 14:53:59.000000000 -0400
+++ isomd5sum-1.2.3/debian/rules	2025-12-04 17:01:53.000000000 -0400
@@ -4,37 +4,13 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-include /usr/share/python3/python.mk
-
-PY3VERS=$(shell py3versions -r)
+export PYBUILD_SYSTEM=custom
+export PYBUILD_NAME=pyisomd5sum
+export PYBUILD_BEFORE_BUILD=$(MAKE) implantisomd5 checkisomd5
+export PYBUILD_BEFORE_INSTALL=$(MAKE) DESTDIR=$(CURDIR)/debian/isomd5sum install-bin
+export PYBUILD_BUILD_ARGS=$(MAKE) -C {build_dir} -f {dir}/Makefile VPATH={dir} PYTHON={interpreter} pyisomd5sum.so
+export PYBUILD_TEST_ARGS=gunzip -c {dir}/debian/testiso.iso.gz | {interpreter} {dir}/testpyisomd5sum.py -
+export PYBUILD_INSTALL_ARGS=mkdir -p {destdir}{install_dir} && cp {build_dir}/pyisomd5sum.so {destdir}{install_dir}
 
 %:
-	dh $@ --with=python3
-
-override_dh_auto_build:
-	$(MAKE) implantisomd5 checkisomd5
-	set -e; \
-	for python in $(PY3VERS); do \
-		mkdir -p build/$$python; \
-		$(MAKE) -C build/$$python -f ../../Makefile VPATH=$(CURDIR) \
-		PYTHON=$$python pyisomd5sum.so; \
-	done
-
-override_dh_auto_test:
-	set -e; \
-	for python in $(PY3VERS); do \
-		gunzip -c debian/testiso.iso.gz | env PYTHONPATH=$(CURDIR)/build/$$python $$python ./testpyisomd5sum.py -; \
-	done
-
-override_dh_auto_clean:
-	rm -rf build
-	$(MAKE) clean
-	dh_clean
-
-override_dh_auto_install:
-	$(MAKE) DESTDIR=$(CURDIR)/debian/isomd5sum install-bin
-	set -e; \
-	for python in $(PY3VERS); do \
-		install -m 0755 -d $(CURDIR)/debian/python3-pyisomd5sum/usr/lib/$$python/$(call py_sitename_sh, $$python); \
-		install -m 0644 build/$$python/pyisomd5sum.so $(CURDIR)/debian/python3-pyisomd5sum/usr/lib/$$python/$(call py_sitename_sh, $$python)/pyisomd5sum.so; \
-	done
+	dh $@ --with=python3 --buildsystem pybuild

Reply via email to