unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* 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

* Re: New “guix pull” command
  2013-02-22 20:28       ` Ludovic Courtès
@ 2013-02-22 20:44         ` Andreas Enge
  0 siblings, 0 replies; 6+ messages in thread
From: Andreas Enge @ 2013-02-22 20:44 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix

Am Freitag, 22. Februar 2013 schrieb Ludovic Courtès:
> I believe this is fixed by 7b50c68 (which is like 855a8ad).
> Can you confirm?

Yes, it is working now. Thanks!

Andreas

^ 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).