GNU bug report logs - #73930
[PATCH] gnu: git-repo: Update to 2.29.7

Previous Next

Package: guix-patches;

Reported by: Doğan Çeçen <sepeth <at> fastmail.com>

Date: Mon, 21 Oct 2024 13:50:03 UTC

Severity: normal

Tags: moreinfo, patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

To reply to this bug, email your comments to 73930 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#73930; Package guix-patches. (Mon, 21 Oct 2024 13:50:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Doğan Çeçen <sepeth <at> fastmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 21 Oct 2024 13:50:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Doğan Çeçen <sepeth <at> fastmail.com>
To: guix-patches <at> gnu.org
Cc: Doğan Çeçen <sepeth <at> fastmail.com>
Subject: [PATCH] gnu: git-repo: Update to 2.29.7
Date: Mon, 21 Oct 2024 15:00:11 +0200
Fixes ModuleNotFoundError: No module named 'formatter'.
This module was deprecated, and removed in Python 3.10.

* gnu/packages/android.scm (git-repo): Update to 2.29.7

Change-Id: I74d48fd9a8afc76c18d866b252a139f77b7ab838
---
 gnu/packages/android.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 11e05dced9..0f41fa8695 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -919,7 +919,7 @@ (define-public etc1tool
 (define-public git-repo
   (package
     (name "git-repo")
-    (version "2.4.1")
+    (version "2.29.7")
     (source
      (origin
        (method git-fetch)
@@ -928,7 +928,7 @@ (define-public git-repo
              (commit (string-append "v" version))))
        (file-name (string-append "git-repo-" version "-checkout"))
        (sha256
-        (base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
+        (base32 "01sl9bz9rnhf9s3h7nlhkpxm0ggc5jzs30n11vlvnv2mqp8r1jvq"))))
     (build-system python-build-system)
     (arguments
      `(#:phases
@@ -1000,12 +1000,11 @@ (define-public git-repo
                (symlink (string-append repo-dir "/repo")
                         (string-append bin-dir "/repo"))
                #t))))))
-    (inputs
      ;; TODO: Add git-remote-persistent-https once it is available in guix
-     `(("git" ,git)
-       ("ssh" ,openssh)))
+    (inputs
+      (list git openssh gnupg))
     (native-inputs
-     `(("pytest" ,python-pytest)))
+      (list python-pytest))
     (home-page "https://code.google.com/p/git-repo/")
     (synopsis "Helps to manage many Git repositories")
     (description "Repo is a tool built on top of Git.  Repo helps manage many

base-commit: 59b2a60d0041882d732e1766e28f0df5a1ef1ac1
-- 
2.46.0





Information forwarded to guix-patches <at> gnu.org:
bug#73930; Package guix-patches. (Wed, 23 Oct 2024 12:50:02 GMT) Full text and rfc822 format available.

Message #8 received at 73930 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Doğan Çeçen <sepeth <at> fastmail.com>
Cc: 73930 <at> debbugs.gnu.org
Subject: Re: [bug#73930] [PATCH] gnu: git-repo: Update to 2.29.7
Date: Wed, 23 Oct 2024 21:48:17 +0900
Hi,

Doğan Çeçen <sepeth <at> fastmail.com> writes:

> Fixes ModuleNotFoundError: No module named 'formatter'.
> This module was deprecated, and removed in Python 3.10.
>
> * gnu/packages/android.scm (git-repo): Update to 2.29.7
>
> Change-Id: I74d48fd9a8afc76c18d866b252a139f77b7ab838
> ---
>  gnu/packages/android.scm | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
> index 11e05dced9..0f41fa8695 100644
> --- a/gnu/packages/android.scm
> +++ b/gnu/packages/android.scm
> @@ -919,7 +919,7 @@ (define-public etc1tool
>  (define-public git-repo
>    (package
>      (name "git-repo")
> -    (version "2.4.1")
> +    (version "2.29.7")
>      (source
>       (origin
>         (method git-fetch)
> @@ -928,7 +928,7 @@ (define-public git-repo
>               (commit (string-append "v" version))))
>         (file-name (string-append "git-repo-" version "-checkout"))
>         (sha256
> -        (base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
> +        (base32 "01sl9bz9rnhf9s3h7nlhkpxm0ggc5jzs30n11vlvnv2mqp8r1jvq"))))
>      (build-system python-build-system)
>      (arguments
>       `(#:phases
> @@ -1000,12 +1000,11 @@ (define-public git-repo
>                 (symlink (string-append repo-dir "/repo")
>                          (string-append bin-dir "/repo"))
>                 #t))))))
> -    (inputs
>       ;; TODO: Add git-remote-persistent-https once it is available in guix
> -     `(("git" ,git)
> -       ("ssh" ,openssh)))
> +    (inputs
> +      (list git openssh gnupg))
>      (native-inputs
> -     `(("pytest" ,python-pytest)))
> +      (list python-pytest))
>      (home-page "https://code.google.com/p/git-repo/")
>      (synopsis "Helps to manage many Git repositories")
>      (description "Repo is a tool built on top of Git.  Repo helps manage many

This looks too simple to be true, given the complex patching going on in
phases (in retrospect this should have been done via a real patch to
avoid silent breakage like is probably happening here).

The idea of the patch was to ensure 'git-repo' wouldn't update itself
when run, as that defeats the immutable principle of Guix packages.

Could you test this property is preserved?  The addition of gnupg makes
me suspect it isn't.

-- 
Thanks,
Maxim




Information forwarded to guix-patches <at> gnu.org:
bug#73930; Package guix-patches. (Wed, 23 Oct 2024 20:39:02 GMT) Full text and rfc822 format available.

Message #11 received at 73930 <at> debbugs.gnu.org (full text, mbox):

From: Doğan Çeçen <sepeth <at> fastmail.com>
To: "Maxim Cournoyer" <maxim.cournoyer <at> gmail.com>
Cc: 73930 <at> debbugs.gnu.org
Subject: Re: [bug#73930] [PATCH] gnu: git-repo: Update to 2.29.7
Date: Wed, 23 Oct 2024 20:37:24 +0000
Hi Maxim,

Thanks for looking into this.

> This looks too simple to be true, given the complex patching going on in
> phases (in retrospect this should have been done via a real patch to
> avoid silent breakage like is probably happening here).

Sorry, I am not following. What do you mean by the complex patching going on in phases and the silent breakage?

> The idea of the patch was to ensure 'git-repo' wouldn't update itself
> when run, as that defeats the immutable principle of Guix packages.

From what I can tell, it doesn't do that. Or, at least, it reports repeatedly the same version when I run `repo --version`, and it says the version I upgraded to, 2.29.7. And, I was able to use the tool successfully after the upgrade.

Note that this is not the latest version of repo tool. The latest version is 2.48, but that failed during the check phase, and 2.30 and upwards fails with the same reason IIRC. I couldn't get to the latest version without upgrading some core python packages. Even though repo now needs python-black, and it didn't work with the version we currently have in Guix. I tried upgrading that and some more but went into the rabbit hole of upgrading some core packages such as python-build and python-packaging-bootstrap etc, then I stopped.

> Could you test this property is preserved?  The addition of gnupg makes
> me suspect it isn't.

No problem, I tried the following and reported the same result, but I am not exactly sure if this is right way to test what you meant:

```
$ ./pre-inst-env guix build --check --no-offload --source --rounds=2 git-repo
...
warning: rewriting hashes in `/gnu/store/agzslk3pvakz9vf66pr49dc7v2xjkf1j-git-repo-2.29.7-checkout'; cross fingers
successfully built /gnu/store/8vwzck1s9d6siph4w3x62w0xdmk95yl8-git-repo-2.29.7-checkout.drv
successfully built /gnu/store/8vwzck1s9d6siph4w3x62w0xdmk95yl8-git-repo-2.29.7-checkout.drv
/gnu/store/agzslk3pvakz9vf66pr49dc7v2xjkf1j-git-repo-2.29.7-checkout
```

Many thanks,
Dogan




Added tag(s) moreinfo. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Sun, 29 Dec 2024 23:02:02 GMT) Full text and rfc822 format available.

Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Tue, 27 May 2025 00:19:02 GMT) Full text and rfc822 format available.

Notification sent to Doğan Çeçen <sepeth <at> fastmail.com>:
bug acknowledged by developer. (Tue, 27 May 2025 00:19:03 GMT) Full text and rfc822 format available.

Message #18 received at 73930-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Doğan Çeçen <sepeth <at> fastmail.com>
Cc: 73930-done <at> debbugs.gnu.org
Subject: Re: [bug#73930] [PATCH] gnu: git-repo: Update to 2.29.7
Date: Tue, 27 May 2025 09:17:57 +0900
Hi,

Doğan Çeçen <sepeth <at> fastmail.com> writes:

> Hi Maxim,
>
> Thanks for looking into this.
>
>> This looks too simple to be true, given the complex patching going on in
>> phases (in retrospect this should have been done via a real patch to
>> avoid silent breakage like is probably happening here).
>
> Sorry, I am not following. What do you mean by the complex patching
> going on in phases and the silent breakage?

I meant the do-not-self-update phase, which I had painstakingly devised
to avoid the tool from self-updating its version at runtime ;-).

>> The idea of the patch was to ensure 'git-repo' wouldn't update itself
>> when run, as that defeats the immutable principle of Guix packages.
>
>>From what I can tell, it doesn't do that. Or, at least, it reports
> repeatedly the same version when I run `repo --version`, and it says
> the version I upgraded to, 2.29.7. And, I was able to use the tool
> successfully after the upgrade.

Great.  So either the do-not-self-update substitutions still worked, or
the tool didn't have a newer version to update to.  To make sure, we
could run tcpdump or strace to see if it's calling home.

But that won't be necessary; apparently there's a new
REPO_SKIP_SELF_UPDATE environment variable we set to ensure that, and
someone submitted an update to 2.54 utilising it.  See commit
6c1cc9e360.

Closing.

-- 
Thanks,
Maxim




This bug report was last modified 23 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.