Package: guix-patches;
Reported by: André Batista <nandre <at> riseup.net>
Date: Fri, 3 Feb 2023 03:13:02 UTC
Severity: normal
Tags: patch
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: André Batista <nandre <at> riseup.net> Subject: bug#61246: closed (Re: [bug#61246] [PATCH v3 2/3] doc: Explain how to use local guix repositories.) Date: Thu, 23 Feb 2023 22:06:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report #61246: [PATCH] gnu: libgit2: Update to 1.5.1. 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 61246 <at> debbugs.gnu.org. -- 61246: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61246 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: André Batista <nandre <at> riseup.net> Cc: 61246-done <at> debbugs.gnu.org Subject: Re: [bug#61246] [PATCH v3 2/3] doc: Explain how to use local guix repositories. Date: Thu, 23 Feb 2023 16:59:37 -0500Hi André, André Batista <nandre <at> riseup.net> writes: > Hi Maxim, > > sáb 18 fev 2023 às 12:35:32 (1676734532), maxim.cournoyer <at> gmail.com enviou: >> >> --8<---------------cut here---------------start------------->8--- >> Note that you can specify a local directory on the @code{url} field >> above if the channel that you intend to use resides on a local file >> system. However, in this case @command{guix}@footnote{More accurately, >> @command{git}, which Guix utilizes via the @code{libgit2} library.} >> checks said directory for ownership before any further processing. This >> means that if the user is not the directory owner, but wants to use it >> as their default, they will then need to set it as a safe directory in >> their global git configuration file. Otherwise, @command{guix} will >> refuse to even read it. Supposing your system-wide local directory is >> at @code{/src/guix.git}, you would then create a git configuration file >> at @code{~/.gitconfig} with the following contents: >> --8<---------------cut here---------------end--------------->8--- > > I don't think it's more accurate to say it's @command{git}. Then we could mention just @code{libgit2} in the footnote. It is an implementation detail, but one perhaps worth mentioning in this context (otherwise a user could wonder "what does ~/.gitconfig have to do with Guix?"). My point was that Guix alone couldn't care less about ~/.gitconfig, so it seems confusing to me to mention it in relation to Guix. It's really a libgit2/git-specific thing, so should be mentioned somewhere, in my opinion. But now that you've pointed at our current style elsewhere, I guess your original version is fine. The good part about it is that by avoiding to mention implementation details such as libgit2, it makes it less likely that text will go stale as Guix evolves. I've now applied the original, untouched. -- Thanks, Maxim
[Message part 3 (message/rfc822, inline)]
From: André Batista <nandre <at> riseup.net> To: guix-patches <at> gnu.org Cc: André Batista <nandre <at> riseup.net> Subject: [PATCH] gnu: libgit2: Update to 1.5.1. Date: Fri, 3 Feb 2023 00:11:29 -0300* gnu/packages/version-control.scm (libgit2): Update to 1.5.1. [source]: Remove snippet to comment out the "10 years ago" test, which was removed on newer versions. (libgit2-1.4): New variable. Update to 1.4.5. (libgit2-1.3): Inherit from 'libgit2-1.4'. Update to 1.3.2. (libgit2-1.1): Update to 1.1.1. Add back the snippet which comments out the "10 years ago" test that remains on this older version. * doc/guix.texi (Using a Custom Guix Channel): Add note and example on how to exempt a local guix repository from git ownership checks. --- doc/guix.texi | 20 ++++++++++++- gnu/packages/version-control.scm | 50 +++++++++++++++++++++----------- 2 files changed, 52 insertions(+), 18 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 2b1ad77ba5..636078e245 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -81,7 +81,7 @@ Copyright @copyright{} 2020, 2021 Brice Waegeneire@* Copyright @copyright{} 2020 R Veera Kumar@* Copyright @copyright{} 2020, 2021 Pierre Langlois@* Copyright @copyright{} 2020 pinoaffe@* -Copyright @copyright{} 2020 André Batista@* +Copyright @copyright{} 2020,2023 André Batista@* Copyright @copyright{} 2020, 2021 Alexandru-Sergiu Marton@* Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* @@ -5411,6 +5411,24 @@ From there on, @command{guix pull} will fetch code from the @code{super-hacks} branch of the repository at @code{example.org}. The authentication concern is addressed below (@pxref{Channel Authentication}). +Note that you can specify a local directory on the @code{url} field above if +the channel that you intend to use resides on a local file system. However, in +this case @{guix} checks said directory for ownership before any further +processing. This means that if the user is not the directory owner, but wants +to use it as their default, they will then need to set it as a safe directory +in their global git configuration file. Otherwise, @command{guix} will refuse +to even read it. Supposing your system-wide local directory is at +@code{/src/guix.git}, you would then create a git configuration file at +@code{~/.gitconfig} with the following contents: + +@example +[safe] + directory = /src/guix.git +@end example + +@noindent +This also applies to the root user. + @node Replicating Guix @section Replicating Guix diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 78a89cfd5b..2f1eb27b3c 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -799,7 +799,7 @@ (define-public git-cal (define-public libgit2 (package (name "libgit2") - (version "1.4.3") + (version "1.5.1") (source (origin ;; Since v1.1.1, release artifacts are no longer offered (see: ;; https://github.com/libgit2/libgit2/discussions/5932#discussioncomment-1682729). @@ -810,18 +810,11 @@ (define-public libgit2 (file-name (git-file-name name version)) (sha256 (base32 - "02x1a4zrzpzjd0yxnsi8njh5hgihc1iy1v4r0fnl8m4ckcgp6x2s")) + "04ypzpicpgq1wh6anwcmjjyh2b854lvjhxq0hq2hbsx7kb14qc1b")) (modules '((guix build utils))) (snippet '(begin - (delete-file-recursively "deps") - - ;; The "refs:revparse::date" test is time-dependent: it - ;; assumes "HEAD@{10 years ago}" matches a specific commit. - ;; See <https://github.com/libgit2/libgit2/pull/6299>. - (substitute* "tests/refs/revparse.c" - (("test_object.*10 years ago.*" all) - (string-append "// " all "\n"))))))) + (delete-file-recursively "deps"))))) (build-system cmake-build-system) (outputs '("out" "debug")) (arguments @@ -863,10 +856,10 @@ (define-public libgit2 ;; GPLv2 with linking exception (license license:gpl2))) -(define-public libgit2-1.3 +(define-public libgit2-1.4 (package (inherit libgit2) - (version "1.3.0") + (version "1.4.5") (source (origin (inherit (package-source libgit2)) (method git-fetch) @@ -876,7 +869,22 @@ (define-public libgit2-1.3 (file-name (git-file-name "libgit2" version)) (sha256 (base32 - "0vgpb2175a5dhqiy1iwywwppahgqhi340i8bsvafjpvkw284vazd")))) + "0q754ipc6skagszi93lcy6qr09ibavivm2q5i5fhpdblvlnv2p7x")))))) + +(define-public libgit2-1.3 + (package + (inherit libgit2-1.4) + (version "1.3.2") + (source (origin + (inherit (package-source libgit2-1.4)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/libgit2/libgit2") + (commit (string-append "v" version)))) + (file-name (git-file-name "libgit2" version)) + (sha256 + (base32 + "1dngga8jq419z6ps65wpmh2jihcf70k6r98pb1m1yiwj7qqh9792")))) (arguments (substitute-keyword-arguments (package-arguments libgit2) ((#:phases _ '%standard-phases) @@ -892,17 +900,25 @@ (define-public libgit2-1.3 (define-public libgit2-1.1 (package (inherit libgit2-1.3) - (version "1.1.0") + (version "1.1.1") (source (origin (inherit (package-source libgit2-1.3)) (file-name #f) ;use the default name (method url-fetch) (uri (string-append "https://github.com/libgit2/libgit2/" - "releases/download/v" version - "/libgit2-" version ".tar.gz")) + "archive/refs/tags/v" version ".tar.gz")) (sha256 (base32 - "1fjdglkh04qv3b4alg621pxa689i0wlf8m7nf2755zawjr2zhwxd")) + "085644zkjydjba9y162z4s020lfij3c191851ah13iv47wvjb98k")) + (snippet + '(begin + (delete-file-recursively "deps") + ;; The "refs:revparse::date" test is time-dependent: it + ;; assumes "HEAD@{10 years ago}" matches a specific commit. + ;; See <https://github.com/libgit2/libgit2/pull/6299>. + (substitute* "tests/refs/revparse.c" + (("test_object.*10 years ago.*" all) + (string-append "// " all "\n"))))) (patches (search-patches "libgit2-mtime-0.patch")))))) (define-public git-crypt -- 2.39.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.