GNU bug report logs -
#38824
[PATCH] gnu: mercurial: Update to 5.2.1.
Previous Next
Reported by: Roel Janssen <roel <at> gnu.org>
Date: Mon, 30 Dec 2019 21:57:01 UTC
Severity: normal
Tags: patch
Done: Brett Gilio <brettg <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 38824 in the body.
You can then email your comments to 38824 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Mon, 30 Dec 2019 21:57:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Roel Janssen <roel <at> gnu.org>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Mon, 30 Dec 2019 21:57:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Dear Guix,
It looks like we can straightforwardly update to Mercurial 5.2.1, and in the
process move away from python-2 for this package.
Attached is a patch to do so.
Kind regards,
Roel Janssen
[0001-gnu-mercurial-Update-to-5.2.1.patch (text/x-patch, attachment)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Fri, 03 Jan 2020 23:03:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 38824 <at> debbugs.gnu.org (full text, mbox):
Roel Janssen <roel <at> gnu.org> writes:
> Dear Guix,
>
> It looks like we can straightforwardly update to Mercurial 5.2.1, and in the
> process move away from python-2 for this package.
>
> Attached is a patch to do so.
>
> Kind regards,
> Roel Janssen
>
> From 3f1d92acf8ddae31379ac52cb7f3aac039c218fe Mon Sep 17 00:00:00 2001
> From: Roel Janssen <roel <at> gnu.org>
> Date: Mon, 30 Dec 2019 22:03:16 +0100
> Subject: [PATCH] gnu: mercurial: Update to 5.2.1.
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> From 5.1.x Python 3 support is “in beta”
> (see <https://www.mercurial-scm.org/wiki/UpgradeNotes#A5.1>).
>
> * gnu/packages/version-control.scm (mercurial): Update to 5.2.1.
> ---
> gnu/packages/version-control.scm | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
> index d354a807a3..6d5a05b1b2 100644
> --- a/gnu/packages/version-control.scm
> +++ b/gnu/packages/version-control.scm
> @@ -1230,20 +1230,17 @@ control to Git repositories.")
> (define-public mercurial
> (package
> (name "mercurial")
> - (version "5.0.2")
> + (version "5.2.1")
> (source (origin
> (method url-fetch)
> (uri (string-append "https://www.mercurial-scm.org/"
> "release/mercurial-" version ".tar.gz"))
> (sha256
> (base32
> - "1y60hfc8gh4ha9sw650qs7hndqmvbn0qxpmqwpn4q18z5xwm1f19"))))
> + "1pxkd37b0a1mi2zakk1hi122lgz1ffy2fxdnbs8acwlqpw55bc8q"))))
> (build-system python-build-system)
> (arguments
> - `(;; Restrict to Python 2, as Python 3 would require
> - ;; the argument --c2to3.
> - #:python ,python-2
> - ;; FIXME: Disabled tests because they require the nose unit
> + `(;; FIXME: Disabled tests because they require the nose unit
> ;; testing framework: https://nose.readthedocs.org/en/latest/ .
> #:tests? #f))
> (home-page "https://www.mercurial-scm.org/")
Thanks for the submission. We do have a python-nose package. Is this
different from the nose unit mentioned in the rationale for disabling
the tests?
--
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<brettg <at> gnu.org> <brettg <at> posteo.net>
Information forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Sat, 04 Jan 2020 07:14:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 38824 <at> debbugs.gnu.org (full text, mbox):
On Fri, 2020-01-03 at 17:02 -0600, Brett Gilio wrote:
> Roel Janssen <roel <at> gnu.org> writes:
>
> > Dear Guix,
> >
> > It looks like we can straightforwardly update to Mercurial 5.2.1, and in the
> > process move away from python-2 for this package.
> >
> > Attached is a patch to do so.
> >
> > Kind regards,
> > Roel Janssen
> >
> > From 3f1d92acf8ddae31379ac52cb7f3aac039c218fe Mon Sep 17 00:00:00 2001
> > From: Roel Janssen <roel <at> gnu.org>
> > Date: Mon, 30 Dec 2019 22:03:16 +0100
> > Subject: [PATCH] gnu: mercurial: Update to 5.2.1.
> > MIME-Version: 1.0
> > Content-Type: text/plain; charset=UTF-8
> > Content-Transfer-Encoding: 8bit
> >
> > From 5.1.x Python 3 support is “in beta”
> > (see <https://www.mercurial-scm.org/wiki/UpgradeNotes#A5.1>;).
> >
> > * gnu/packages/version-control.scm (mercurial): Update to 5.2.1.
> > ---
> > gnu/packages/version-control.scm | 9 +++------
> > 1 file changed, 3 insertions(+), 6 deletions(-)
> >
> > diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-
> > control.scm
> > index d354a807a3..6d5a05b1b2 100644
> > --- a/gnu/packages/version-control.scm
> > +++ b/gnu/packages/version-control.scm
> > @@ -1230,20 +1230,17 @@ control to Git repositories.")
> > (define-public mercurial
> > (package
> > (name "mercurial")
> > - (version "5.0.2")
> > + (version "5.2.1")
> > (source (origin
> > (method url-fetch)
> > (uri (string-append "https://www.mercurial-scm.org/"
> > "release/mercurial-" version ".tar.gz"))
> > (sha256
> > (base32
> > - "1y60hfc8gh4ha9sw650qs7hndqmvbn0qxpmqwpn4q18z5xwm1f19"))))
> > + "1pxkd37b0a1mi2zakk1hi122lgz1ffy2fxdnbs8acwlqpw55bc8q"))))
> > (build-system python-build-system)
> > (arguments
> > - `(;; Restrict to Python 2, as Python 3 would require
> > - ;; the argument --c2to3.
> > - #:python ,python-2
> > - ;; FIXME: Disabled tests because they require the nose unit
> > + `(;; FIXME: Disabled tests because they require the nose unit
> > ;; testing framework: https://nose.readthedocs.org/en/latest/ .
> > #:tests? #f))
> > (home-page "https://www.mercurial-scm.org/")
>
> Thanks for the submission. We do have a python-nose package. Is this
> different from the nose unit mentioned in the rationale for disabling
> the tests?
>
Thanks for responding. I suppose it's the same python-nose. Running the tests
(with or without python-nose in the "inputs") fail with the following error:
---
TypeError: '<' not supported between instances of 'bytes' and 'str'
command "python" "-c" "import setuptools,
tokenize;__file__='setup.py';f=getattr(tokenize, 'open',
open)(__file__);code=f.read().replace('\\r\\n',
'\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with
status 1
---
I don't know much about Python, so I'm not sure whether the test suite just
hasn't been made Python-3-compatible, or whether it's something else, and
whether this has always been a problem, or whether it was introduced by this
update.
Kind regards,
Roel Janssen
Information forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Sun, 05 Jan 2020 06:17:02 GMT)
Full text and
rfc822 format available.
Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Fri, 2020-01-03 at 17:02 -0600, Brett Gilio wrote:
> We do have a python-nose package. Is this different from the
> nose unit mentioned in the rationale for disabling the tests?
I can confirm Roel Janssen's guess that python-nose is the
relevant package and that it provides the nose unit test runner.
Roel Janssen <roel <at> gnu.org> writes:
> I don't know much about Python, so I'm not sure whether the test
> suite just hasn't been made Python-3-compatible, or whether it's
> something else, and whether this has always been a problem, or
> whether it was introduced by this update.
From https://www.mercurial-scm.org/wiki/Python3 as of this
writing:
> Mercurial 5.2 is the first release that officially has support
> for Python 3. Supported Python 3 versions are 3.5, 3.6, and
> 3.7. Python 3.8 mostly works, but there are a few known
> incompatibilities. Mercurial with Python 3 on Windows is not yet
> widely tested and there are some known issues.
> It is the project policy for Mercurial and its core extensions
> to be compatible with Python 3. Over 99% of tests pass with
> Python 3 and test regressions are treated seriously.
> Most used 3rd party extensions like evolve and topic have been
> ported to Python 3. There are some which have not yet been
> ported.
> Assuming Windows porting proceeds well, it is expected we will
> drop support for Python 2.7 sometime in 2020.
The output I obtained from running `python3 -m nose` in the
repository's root is attached. Looking at
e.g. mercurial/pycompat.py shows that Mercurial's devs are indeed
aware of these Python3 compatibility issues:
> # TODO: .buffer might not exist if std streams were replaced;
> we'll need
> # a silly wrapper to make a bytes stream backed by a unicode
> one.
I think that for now the options are to
1. continue using Python2 for Mercurial;
2. use Python3 but disable all tests, as Janssen's patch suggests;
3. use Python3 but disable the known-failing tests; or
4. hold off on updating the package until upstream supports
Python3 across its entire test suite.
Of those three, I am most in favor of the third option. I would
be glad to submit a patch that implements it if there is agreement
to take that direction.
--
Joseph LaFreniere
[test-output.txt (text/plain, attachment)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Sun, 05 Jan 2020 06:17:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Sun, 05 Jan 2020 08:30:03 GMT)
Full text and
rfc822 format available.
Message #20 received at 38824 <at> debbugs.gnu.org (full text, mbox):
LaFreniere, Joseph <joseph <at> lafreniere.xyz> writes:
> I think that for now the options are to
> 1. continue using Python2 for Mercurial;
> 2. use Python3 but disable all tests, as Janssen's patch suggests;
> 3. use Python3 but disable the known-failing tests; or
> 4. hold off on updating the package until upstream supports
> Python3 across its entire test suite.
>
> Of those three, I am most in favor of the third option. I would
> be glad to submit a patch that implements it if there is agreement
> to take that direction.
I agree that option 3 (with a link to the upstream discussion) is the
right way to go forward.
Thanks!
--
Ricardo
Information forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Mon, 06 Jan 2020 02:07:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 38824 <at> debbugs.gnu.org (full text, mbox):
Jan 5, 2020 2:30:14 AM Ricardo Wurmus :
>
> LaFreniere, Joseph writes:
>
>
> > I think that for now the options are to
> > 1. continue using Python2 for Mercurial;
> > 2. use Python3 but disable all tests, as Janssen's patch suggests;
> > 3. use Python3 but disable the known-failing tests; or
> > 4. hold off on updating the package until upstream supports
> > Python3 across its entire test suite.
> >
> > Of those three, I am most in favor of the third option. I would
> > be glad to submit a patch that implements it if there is agreement
> > to take that direction.
> >
>
> I agree that option 3 (with a link to the upstream discussion) is the
> right way to go forward.
>
> Thanks!
>
> --
> Ricardo
>
I am also in agreement that working-around the failing tests is the best option, with a backup of just disabling the tests until the python3 incompatibilities are resolved. We need to work away from python2 wherever possible. Since the upstream is aware of the problem I see avoiding python2 as a reasonable alternative to work-arounds.
--
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<brettg <at> gnu.org> <brettg <at> posteo.net>
Information forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Mon, 06 Jan 2020 17:56:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 38824 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ricardo Wurmus <rekado <at> elephly.net> writes:
> LaFreniere, Joseph <joseph <at> lafreniere.xyz> writes:
>
>> I think that for now the options are to
>> 1. continue using Python2 for Mercurial;
>> 2. use Python3 but disable all tests, as Janssen's patch suggests;
>> 3. use Python3 but disable the known-failing tests; or
>> 4. hold off on updating the package until upstream supports
>> Python3 across its entire test suite.
>>
>> Of those three, I am most in favor of the third option. I would
>> be glad to submit a patch that implements it if there is agreement
>> to take that direction.
>
> I agree that option 3 (with a link to the upstream discussion) is the
> right way to go forward.
That seems orthogonal to the discussed patch though, seeing as tests
have been disabled in Mercurial since forever.
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#38824
; Package
guix-patches
.
(Tue, 07 Jan 2020 21:01:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 38824 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Mon, 2020-01-06 at 02:06 +0000, Brett Gilio wrote:
>
> Jan 5, 2020 2:30:14 AM Ricardo Wurmus :
>
> > LaFreniere, Joseph writes:
> >
> >
> > > I think that for now the options are to
> > > 1. continue using Python2 for Mercurial;
> > > 2. use Python3 but disable all tests, as Janssen's patch suggests;
> > > 3. use Python3 but disable the known-failing tests; or
> > > 4. hold off on updating the package until upstream supports
> > > Python3 across its entire test suite.
> > >
> > > Of those three, I am most in favor of the third option. I would
> > > be glad to submit a patch that implements it if there is agreement
> > > to take that direction.
> > >
> >
> > I agree that option 3 (with a link to the upstream discussion) is the
> > right way to go forward.
> >
> > Thanks!
> >
> > --
> > Ricardo
> >
>
> I am also in agreement that working-around the failing tests is the best
> option, with a backup of just disabling the tests until the python3
> incompatibilities are resolved. We need to work away from python2 wherever
> possible. Since the upstream is aware of the problem I see avoiding python2 as
> a reasonable alternative to work-arounds.
>
>
The attached patch runs most tests, except those that failed on my machine.
Note that it took my 16-core machine quite some time to run the whole test
suite.
Kind regards,
Roel Janssen
[0001-gnu-Update-mercurial-to-5.2.1.patch (text/x-patch, attachment)]
Reply sent
to
Brett Gilio <brettg <at> gnu.org>
:
You have taken responsibility.
(Sat, 11 Jan 2020 01:55:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Roel Janssen <roel <at> gnu.org>
:
bug acknowledged by developer.
(Sat, 11 Jan 2020 01:55:02 GMT)
Full text and
rfc822 format available.
Message #34 received at 38824-done <at> debbugs.gnu.org (full text, mbox):
Thank you for your hard work on this Roel! I have pushed the changes to
master with 10576acbbf496a051d488c2832f1e474ef6074f3.
Closing.
--
Brett M. Gilio
GNU Guix, Contributor | GNU Project, Webmaster
[DFC0 C7F7 9EE6 0CA7 AE55 5E19 6722 43C4 A03F 0EEE]
<brettg <at> gnu.org> <brettg <at> posteo.net>
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 08 Feb 2020 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 76 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.