GNU bug report logs -
#46866
[PATCH] gnu: b4: Fix setup.py version incompatibility.
Previous Next
Reported by: Kyle Meyer <kyle <at> kyleam.com>
Date: Tue, 2 Mar 2021 01:53:01 UTC
Severity: normal
Tags: patch
Done: Efraim Flashner <efraim <at> flashner.co.il>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#46866: [PATCH] gnu: b4: Fix setup.py version incompatibility.
which was filed against the guix-patches package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 46866 <at> debbugs.gnu.org.
--
46866: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=46866
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
On Tue, Mar 09, 2021 at 05:54:04PM -0500, Kyle Meyer wrote:
> Efraim Flashner writes:
>
> > Indeed, it does fail at startup. Two things about your patch, you've
> > added a patch file but didn't register it in gnu/local.mk. This means
> > it'll get dropped during a 'make dist' which would be a problem.
>
> Doh, thanks for catching that.
>
> > The second is that it's a lot of patch for a small amount of code
> > change.
>
> I like that a patch fails loudly once it's no longer valid, but I'm
> happy to defer to your opinion that it's an overkill here (and will try
> to recalibrate for future patches).
>
> > With your permission I'd like to commit the attached patch instead.
> [...]
> > From: Kyle Meyer <kyle <at> kyleam.com>
> > Date: Tue, 9 Mar 2021 10:06:13 +0200
> > Subject: [PATCH] gnu: b4: Fix setup.py version incompatibility.
> >
> > * gnu/packages/version-control.scm (b4)[source]: Add snippet to not
> > require too specific of a version.
> >
> > Co-authored with Efraim Flashner <efraim <at> flashner.co.il>
> >
> > Signed-off-by: Efraim Flashner <efraim <at> flashner.co.il>
>
> Sounds fine to me. I have a slight preference that you put yourself as
> the author and put a
>
> Noticed-by: Kyle Meyer <kyle <at> kyleam.com>
>
> or
>
> Reported-by: Kyle Meyer <kyle <at> kyleam.com>
>
> trailer for me, but either way is okay.
>
> > @@ -2347,7 +2347,15 @@ based on a manifest file published by servers.")
> > (method url-fetch)
> > (uri (pypi-uri "b4" version))
> > (sha256
> > - (base32 "1j904dy9cwxl85k2ngc498q5cdnqwsmw3jibjr1m55w8aqdck68z"))))
> > + (base32 "1j904dy9cwxl85k2ngc498q5cdnqwsmw3jibjr1m55w8aqdck68z"))
> > + (modules '((guix build utils)))
> > + (snippet
> > + '(begin
> > + ;; Fixes issue with dependency requirements being too strict. See upstream commit:
> > + ;; https://git.kernel.org/pub/scm/utils/b4/b4.git/commit/?id=31348a14afdb1d39e7faf9576eaddea1ced76e19
> > + (substitute* "setup.py"
> > + (("\\.0'") "'"))
>
> Just a note: This won't catch a similar problem if dkimpy (1.0.5) is
> upgraded before b4, though perhaps that's unlikely and not worth
> worrying about.
>
> Thank you for the review.
Not sure how I forgot I had this waiting for me. I changed the
substitution from "\\.0'" to change the ~= to >= and pushed it.
--
Efraim Flashner <efraim <at> flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
Following the update of python-requests to 2.25.0, b4 fails at runtime with a
pkg_resources.ContextualVersionConflict exception. This has been addressed
upstream. Temporarily apply the upstream fix.
* gnu/packages/patches/b4-loosen-version-identifiers.patch: New patch.
* gnu/packages/version-control.scm (b4): Apply it.
---
.../b4-loosen-version-identifiers.patch | 44 +++++++++++++++++++
gnu/packages/version-control.scm | 3 +-
2 files changed, 46 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/b4-loosen-version-identifiers.patch
diff --git a/gnu/packages/patches/b4-loosen-version-identifiers.patch b/gnu/packages/patches/b4-loosen-version-identifiers.patch
new file mode 100644
index 0000000000..5ae5865274
--- /dev/null
+++ b/gnu/packages/patches/b4-loosen-version-identifiers.patch
@@ -0,0 +1,44 @@
+From e66d514b4113fffc81e48c7c531dcf148ba8b8e8 Mon Sep 17 00:00:00 2001
+From: Kyle Meyer <kyle <at> kyleam.com>
+Date: Thu, 25 Feb 2021 23:25:57 -0500
+Subject: Loosen compatible release identifiers for install_requires
+
+The install_requires entries use a compatible release operator. As an
+example, "requests~=2.24.0" maps to a requirement of ">= 2.24.0 and ==
+2.24.*". With the current version of requests (2.25.1), this leads to
+a ContextualVersionConflict failure at runtime.
+
+Allowing only Z to tick in version X.Y.Z seems unnecessarily strict
+unless there are known problems with a particular release, and it
+makes it more difficult for distributions to package b4. Drop the
+trailing digit from all of the version identifiers, allowing both Y
+and Z to increase.
+
+Signed-off-by: Kyle Meyer <kyle <at> kyleam.com>
+Signed-off-by: Konstantin Ryabitsev <konstantin <at> linuxfoundation.org>
+---
+ This patch was taken from the upstream repository and will be included in
+ the next release.
+
+ https://git.kernel.org/pub/scm/utils/b4/b4.git/patch/?id=e66d514b4113fffc81e48c7c531dcf148ba8b8e8
+
+ setup.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 358e6a7..a21ec76 100644
+--- a/setup.py
++++ b/setup.py
+@@ -41,9 +41,9 @@ setup(
+ data_files = [('share/man/man5', ['man/b4.5'])],
+ keywords=['git', 'lore.kernel.org', 'patches'],
+ install_requires=[
+- 'requests~=2.24.0',
+- 'dkimpy~=1.0.5',
+- 'dnspython~=2.0.0',
++ 'requests~=2.24',
++ 'dkimpy~=1.0',
++ 'dnspython~=2.0',
+ ],
+ python_requires='>=3.6',
+ entry_points={
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 3afb06ca79..2fb8fa821f 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2347,7 +2347,8 @@ (define-public b4
(method url-fetch)
(uri (pypi-uri "b4" version))
(sha256
- (base32 "1j904dy9cwxl85k2ngc498q5cdnqwsmw3jibjr1m55w8aqdck68z"))))
+ (base32 "1j904dy9cwxl85k2ngc498q5cdnqwsmw3jibjr1m55w8aqdck68z"))
+ (patches (search-patches "b4-loosen-version-identifiers.patch"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; No tests.
(inputs
base-commit: 4bc9a1f4e3bd39302b4ceaab8589a2e6ef82c4bd
--
2.31.0.rc0.254.gbdcc3b1a9d
This bug report was last modified 4 years and 152 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.