Source: pyyaml
Version: 5.3.1-3
Tags: patch
Severity: wishlist

I was looking into droppable dependencies of pyyaml and automatic
tooling reported cython. That sounds wrong. I looked into this and
noticed that the source includes the generated _yaml.c, which is happily
reused when cython is missing. I suggest adding extra steps to force
rebuiling of the extension at all times.

Helmut
diff --minimal -Nru pyyaml-5.3.1/debian/changelog pyyaml-5.3.1/debian/changelog
--- pyyaml-5.3.1/debian/changelog       2020-10-23 01:33:33.000000000 +0200
+++ pyyaml-5.3.1/debian/changelog       2021-02-01 07:32:27.000000000 +0100
@@ -1,3 +1,10 @@
+pyyaml (5.3.1-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Force rebuilding the extension. (Closes: #-1)
+
+ -- Helmut Grohne <[email protected]>  Mon, 01 Feb 2021 07:32:27 +0100
+
 pyyaml (5.3.1-3) unstable; urgency=medium
 
   [ Ondřej Nový ]
diff --minimal -Nru pyyaml-5.3.1/debian/clean pyyaml-5.3.1/debian/clean
--- pyyaml-5.3.1/debian/clean   1970-01-01 01:00:00.000000000 +0100
+++ pyyaml-5.3.1/debian/clean   2021-02-01 07:32:14.000000000 +0100
@@ -0,0 +1 @@
+ext/_yaml.c
diff --minimal -Nru pyyaml-5.3.1/debian/rules pyyaml-5.3.1/debian/rules
--- pyyaml-5.3.1/debian/rules   2020-10-23 01:15:26.000000000 +0200
+++ pyyaml-5.3.1/debian/rules   2021-02-01 07:32:27.000000000 +0100
@@ -11,6 +11,12 @@
 override_dh_auto_test:
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
        set -e && for i in $(build3vers); do \
+         echo "-- verifying extension build for $$i"; \
+         python$$i -c "import sys ; sys.path.insert(0, 
'.pybuild/cpython3_"$$i"_yaml/build'); \
+         import _yaml";\
+       done
+
+       set -e && for i in $(build3vers); do \
          echo "-- running tests for "$$i" plain --" ; \
          python$$i -c "import sys ; sys.path.insert(0, 
'.pybuild/cpython3_"$$i"_yaml/build'); \
              sys.path.insert(0, 'tests/lib3'); import test_all; 
test_all.main([])";\

Reply via email to