unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#46866] [PATCH] gnu: b4: Fix setup.py version incompatibility.
@ 2021-03-02  1:51 Kyle Meyer
  2021-03-09  8:09 ` Efraim Flashner
  0 siblings, 1 reply; 4+ messages in thread
From: Kyle Meyer @ 2021-03-02  1:51 UTC (permalink / raw)
  To: 46866

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@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@kyleam.com>
+Signed-off-by: Konstantin Ryabitsev <konstantin@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





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#46866] [PATCH] gnu: b4: Fix setup.py version incompatibility.
  2021-03-02  1:51 [bug#46866] [PATCH] gnu: b4: Fix setup.py version incompatibility Kyle Meyer
@ 2021-03-09  8:09 ` Efraim Flashner
  2021-03-09 22:54   ` Kyle Meyer
  0 siblings, 1 reply; 4+ messages in thread
From: Efraim Flashner @ 2021-03-09  8:09 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: 46866


[-- Attachment #1.1: Type: text/plain, Size: 564 bytes --]

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. The
second is that it's a lot of patch for a small amount of code change.
With your permission I'd like to commit the attached patch instead.

-- 
Efraim Flashner   <efraim@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

[-- Attachment #1.2: 0001-gnu-b4-Fix-setup.py-version-incompatibility.patch --]
[-- Type: text/plain, Size: 2147 bytes --]

From 9b0187ac1e28edb987cb5b76c4c3ae8330bcf7eb Mon Sep 17 00:00:00 2001
From: Kyle Meyer <kyle@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@flashner.co.il>

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
---
 gnu/packages/version-control.scm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 8292a5df15..4051efed9c 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014, 2016, 2019 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2015, 2018, 2020 Kyle Meyer <kyle@kyleam.com>
+;;; Copyright © 2015, 2018, 2020, 2021 Kyle Meyer <kyle@kyleam.com>
 ;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
@@ -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'") "'"))
+           #t))))
     (build-system python-build-system)
     (arguments '(#:tests? #f))          ; No tests.
     (inputs
-- 
2.30.1


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#46866] [PATCH] gnu: b4: Fix setup.py version incompatibility.
  2021-03-09  8:09 ` Efraim Flashner
@ 2021-03-09 22:54   ` Kyle Meyer
  2021-03-16 12:29     ` bug#46866: " Efraim Flashner
  0 siblings, 1 reply; 4+ messages in thread
From: Kyle Meyer @ 2021-03-09 22:54 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 46866

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@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@flashner.co.il>
>
> Signed-off-by: Efraim Flashner <efraim@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@kyleam.com>

or

  Reported-by: Kyle Meyer <kyle@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.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#46866: [PATCH] gnu: b4: Fix setup.py version incompatibility.
  2021-03-09 22:54   ` Kyle Meyer
@ 2021-03-16 12:29     ` Efraim Flashner
  0 siblings, 0 replies; 4+ messages in thread
From: Efraim Flashner @ 2021-03-16 12:29 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: 46866-done

[-- Attachment #1: Type: text/plain, Size: 2636 bytes --]

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@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@flashner.co.il>
> >
> > Signed-off-by: Efraim Flashner <efraim@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@kyleam.com>
> 
> or
> 
>   Reported-by: Kyle Meyer <kyle@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@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-03-16 12:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-02  1:51 [bug#46866] [PATCH] gnu: b4: Fix setup.py version incompatibility Kyle Meyer
2021-03-09  8:09 ` Efraim Flashner
2021-03-09 22:54   ` Kyle Meyer
2021-03-16 12:29     ` bug#46866: " Efraim Flashner

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).