On Tue, Nov 26, 2024 at 07:03:06PM +0000, Debian Bug Tracking System wrote:
>  python-multipart (0.0.17-2) experimental; urgency=medium
>  .
>    * debian/control
>      - rename the binary package to python3-python-multipart; Closes: #1085728

Much appreciated!

I've begun testing this with starlette.  I tried both "Build-Depends:
python3-multipart (<< 0.1) | python3-python-multipart" (Julian's
suggestion) and "Build-Depends: python3-python-multipart |
python3-multipart (<< 0.1)" (my adjustment).  Unfortunately both of
those behave a bit awkwardly right now.

Builds for experimental consider all "|"-separated alternatives, but
builds for unstable only consider the first alternative.  Right now,
while python3-multipart (<< 0.1) is in unstable and
python3-python-multipart is in experimental, "Build-Depends:
python3-multipart (<< 0.1) | python3-python-multipart" works fine; but
it will break once python3-multipart (<< 0.1) is no longer in unstable,
requiring another coordinated round of uploads of the seven
reverse-dependencies.  That's not ideal.  Similarly, flipping the order
means that those seven packages can only be updated once your new
package reaches unstable; python3-python-multipart would have to be
blocked from testing until all the reverse-dependencies have been
updated so that it can add Breaks, and then the whole lot would have to
move to testing at once.  Also not really ideal.

How about this patch, still intended for experimental for now?  I don't
think it should be annoying to maintain, and I believe it will allow a
smoother transition.  It's hard to test this completely without
something quite involved preparing a modified mirror of unstable, but I
did the best I could:

 * modified starlette to use "Build-Depends: python3-multipart (<< 0.1)
   | python3-python-multipart"

 * ran "sbuild -Ad unstable
   --extra-package=python3-multipart_1.1.0-1_all.deb
   --extra-package=python3-python-multipart_0.0.17-2.1_all.deb
   starlette_0.41.3-2.dsc" (using my in-progress multipart packaging and
   this patch against python-multipart), and confirmed that it installs
   python3-python-multipart and not python3-multipart

diff --git a/debian/changelog b/debian/changelog
index 92aff05..1a93b7d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+python-multipart (0.0.17-2.1) UNRELEASED; urgency=medium
+
+  * Provide python3-multipart (= ${binary:Version) temporarily, to simplify
+    transitioning build-dependencies to the new package name.
+
+ -- Colin Watson <cjwat...@debian.org>  Wed, 27 Nov 2024 00:25:23 +0000
+
 python-multipart (0.0.17-2) experimental; urgency=medium
 
   * debian/control
diff --git a/debian/control b/debian/control
index 3aa985c..7e8a8b7 100644
--- a/debian/control
+++ b/debian/control
@@ -30,5 +30,6 @@ Depends: ${misc:Depends},
          ${python3:Depends},
 Recommends: ${python3:Recommends},
 Suggests: ${python3:Suggests},
+Provides: python3-multipart (= ${binary:Version}),
 Description: streaming multipart parser for Python
  Python-Multipart is a streaming multipart parser for Python.

Thanks,

-- 
Colin Watson (he/him)                              [cjwat...@debian.org]

Reply via email to