* New “guix pull” command
@ 2013-02-20 22:58 Ludovic Courtès
2013-02-21 19:34 ` Andreas Enge
0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2013-02-20 22:58 UTC (permalink / raw
To: bug-guix
Hi,
Commit f651b47 adds a “guix pull” command. It fetches a Guix source
tarball, unpacks it, compiles Scheme code (so not the daemon), and
changes ~/.config/guix/latest to point to it.
The commit also changes the ‘guix’ command to put ~/.config/guix/latest
at the front of the search path (except when using ./pre-inst-env.)
This way, it allows users to at the same time update package
descriptions (like “apt-get update”) and the package manager itself.
I considered other options, such as making a package for Guix and
letting users install it in their profile. That would have provided
roll-back and everything for free. However, I came to the conclusion
that package management of the package manager itself deserves special
treatment, and should not be in the way of users.
The implementation has two main problems: it does not authenticate the
tarball it downloads, and downloads a full tarball (~5 MiB) every time.
We need a bit of infrastructure to fix that. We could have a process on
hydra.gnu.org that automatically signs tarballs with a pre-defined key.
For the second issue, there are Git, rsync, bsdiff, or even GNUnet that
could help, but that requires more thought.
Comments welcome!
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: New “guix pull” command
2013-02-20 22:58 New “guix pull” command Ludovic Courtès
@ 2013-02-21 19:34 ` Andreas Enge
2013-02-22 14:34 ` Ludovic Courtès
0 siblings, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2013-02-21 19:34 UTC (permalink / raw
To: bug-guix
The following error occurs for me with the latest git version:
$ guix pull
starting download of `guix-file.CFKlaG' from
`http://hydra.gnu.org/job/guix/master/tarball/latest/download'...
following redirection to `http://hydra.gnu.org:3000/build/7168/download'...
following redirection to
`http://hydra.gnu.org:3000/build/7168/download/1/guix-0.2.tar.gz'...
[now one minute of waiting, then]
the following derivation will be built:
/nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-guix-latest.drv
error: build failed: build of `/nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-
guix-latest.drv' failed
Andreas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: New “guix pull” command
2013-02-21 19:34 ` Andreas Enge
@ 2013-02-22 14:34 ` Ludovic Courtès
2013-02-22 16:59 ` Andreas Enge
0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2013-02-22 14:34 UTC (permalink / raw
To: Andreas Enge; +Cc: bug-guix
Andreas Enge <andreas@enge.fr> skribis:
> The following error occurs for me with the latest git version:
>
> $ guix pull
> starting download of `guix-file.CFKlaG' from
> `http://hydra.gnu.org/job/guix/master/tarball/latest/download'...
> following redirection to `http://hydra.gnu.org:3000/build/7168/download'...
> following redirection to
> `http://hydra.gnu.org:3000/build/7168/download/1/guix-0.2.tar.gz'...
> [now one minute of waiting, then]
If you’re using Guile 2.0.7+, a progress report is displayed; nothing
gets displayed for earlier Guile versions, though.
> the following derivation will be built:
> /nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-guix-latest.drv
> error: build failed: build of `/nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-
> guix-latest.drv' failed
Can you run
guix build /nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-guix-latest.drv
and post the log?
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: New “guix pull” command
2013-02-22 14:34 ` Ludovic Courtès
@ 2013-02-22 16:59 ` Andreas Enge
2013-02-22 20:28 ` Ludovic Courtès
0 siblings, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2013-02-22 16:59 UTC (permalink / raw
To: Ludovic Courtès; +Cc: bug-guix
Am Freitag, 22. Februar 2013 schrieb Ludovic Courtès:
> Can you run
> guix build /nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-guix-latest.drv
> and post the log?
Unpacking og guix-0.2, then:
Backtrace:
In ice-9/boot-9.scm:
2786: 19 [try-module-autoload (guix build download) #f]
2131: 18 [save-module-excursion #<procedure 2b069c0 at
ice-9/boot-9.scm:2787:17 ()>]
2797: 17 [#<procedure 2b069c0 at ice-9/boot-9.scm:2787:17 ()>]
In unknown file:
?: 16 [primitive-load-path "guix/build/download" #f]
In ice-9/eval.scm:
494: 15 [#<procedure 1ee17a0 at ice-9/eval.scm:488:4 (exp)> #]
In ice-9/psyntax.scm:
1101: 14 [expand-top-sequence (#) () (#) ...]
1259: 13 [#<procedure 351cde0 at ice-9/psyntax.scm:1067:36 ()>]
1611: 12 [expand-simple-lambda (# . #) () (()) ...]
1532: 11 [parse ((# . #)) (#(syntax-object log # ...)) ...]
In ice-9/boot-9.scm:
623: 10 [map #<procedure 3521150 at ice-9/psyntax.scm:1533:66 (x)> ((# .
#))]
In ice-9/psyntax.scm:
2120: 9 [expand-let (let # # # ...) (# # #) (# # #) ...]
In ice-9/boot-9.scm:
623: 8 [map #<procedure 351eb80 at ice-9/psyntax.scm:2120:49 (x)> (#)]
In ice-9/psyntax.scm:
1257: 7 [#<procedure 351eb80 at ice-9/psyntax.scm:2120:49 (x)> #]
1186: 6 [syntax-type (make-session connection-end/client) (# # #) (# # #)
...]
579: 5 [syntax-type make-session (# # #) (# # #) ...]
292: 4 [get-global-definition-hook make-session (hygiene guix build
download)]
In unknown file:
?: 3 [module-variable #<directory (guix build download) 3243e10> make-
session]
In ice-9/boot-9.scm:
2732: 2 [b #<autoload (gnutls) 350b870> make-session #f]
In unknown file:
?: 1 [scm-error misc-error #f ...]
In ice-9/boot-9.scm:
106: 0 [#<procedure 2a4e280 at ice-9/boot-9.scm:97:6 (thrown-k . args)>
misc-error ...]
ice-9/boot-9.scm:106:20: In procedure #<procedure 2a4e280 at
ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: missing interface for module (gnutls)
copying and compiling Guix to `/nix/store/2bzasrj9g4qh562jrm2fg56x7bk3276f-
guix-latest'...
builder for `/nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-guix-latest.drv'
failed with exit code 1
@ build-failed /nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-guix-latest.drv
/nix/store/2bzasrj9g4qh562jrm2fg56x7bk3276f-guix-latest 1 builder for
`/nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-guix-latest.drv' failed with
exit code 1
error: build failed: build of `/nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-
guix-latest.drv' failed
Andreas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: New “guix pull” command
2013-02-22 16:59 ` Andreas Enge
@ 2013-02-22 20:28 ` Ludovic Courtès
2013-02-22 20:44 ` Andreas Enge
0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2013-02-22 20:28 UTC (permalink / raw
To: Andreas Enge; +Cc: bug-guix
Andreas Enge <andreas@enge.fr> skribis:
> Am Freitag, 22. Februar 2013 schrieb Ludovic Courtès:
>> Can you run
>> guix build /nix/store/7pp5x6b3ikz6vnvrdlr836bjp4sbgbg8-guix-latest.drv
>> and post the log?
>
> Unpacking og guix-0.2, then:
[...]
> ?: 3 [module-variable #<directory (guix build download) 3243e10> make-
> session]
> In ice-9/boot-9.scm:
> 2732: 2 [b #<autoload (gnutls) 350b870> make-session #f]
> In unknown file:
> ?: 1 [scm-error misc-error #f ...]
> In ice-9/boot-9.scm:
> 106: 0 [#<procedure 2a4e280 at ice-9/boot-9.scm:97:6 (thrown-k . args)>
> misc-error ...]
>
> ice-9/boot-9.scm:106:20: In procedure #<procedure 2a4e280 at
> ice-9/boot-9.scm:97:6 (thrown-k . args)>:
> ice-9/boot-9.scm:106:20: missing interface for module (gnutls)
I believe this is fixed by 7b50c68 (which is like 855a8ad).
Can you confirm?
(Note how the file system introduces non-determinism in a way that can
have a concrete effect: the bug above would show up only if
guix/build/download.scm wasn’t built when guix/scripts/download.scm was
compiled, which depends on the order in which files were traversed.)
Ludo’.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-02-22 20:44 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-20 22:58 New “guix pull” command Ludovic Courtès
2013-02-21 19:34 ` Andreas Enge
2013-02-22 14:34 ` Ludovic Courtès
2013-02-22 16:59 ` Andreas Enge
2013-02-22 20:28 ` Ludovic Courtès
2013-02-22 20:44 ` Andreas Enge
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).