unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* A pleasant low-hanging fruit
@ 2013-03-05 19:47 Ludovic Courtès
  2013-03-07 19:25 ` Alex Sassmannshausen
  2013-03-10 17:06 ` Cyril Roelandt
  0 siblings, 2 replies; 9+ messages in thread
From: Ludovic Courtès @ 2013-03-05 19:47 UTC (permalink / raw)
  To: bug-guix

Hi!

I just had a brain wave and couldn’t resist: commit ef010c0 changes
‘guix package --install’ such that, when installing a GNU package, it
automatically reports the availability of a new upstream version.

So, for instance, if you run it today:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix package -i idutils -n
[nothing special here]

$ ./pre-inst-env guix package -i gettext -n
gnu/packages/gettext.scm:27:3: note: using gettext-0.18.1.1 but gettext-0.18.2.1 is available upstream
--8<---------------cut here---------------end--------------->8---

Isn’t it cool?  :-)

This is fast (~1 sec.), except for packages like GCC with many versions
and a deep FTP tree structure (~1 m!).  It’s a rare operation, so it
doesn’t have to be blazingly fast, but definitely faster than for GCC.
Room for improvement.

The next step is to offer the option to automatically install from the
upstream tarball, by downloading it and substituting it in the ‘package’
record.  The only bit that is missing for this is a GPG keyring of GNU
maintainer keys so that we can automatically authenticate tarballs (I’ve
asked Karl about this.)

The next next step is some fancy stuff that, upon successful
installation of the new upstream version, offers to automatically submit
a patch for inclusion in Guix.  This way, every user would end up
participating in the maintenance of the distro in a simple yet effective
fashion.  :-)

Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A pleasant low-hanging fruit
  2013-03-05 19:47 A pleasant low-hanging fruit Ludovic Courtès
@ 2013-03-07 19:25 ` Alex Sassmannshausen
  2013-03-10 17:06 ` Cyril Roelandt
  1 sibling, 0 replies; 9+ messages in thread
From: Alex Sassmannshausen @ 2013-03-07 19:25 UTC (permalink / raw)
  To: Ludovic Courtè, bug-guix

The mind boggles... Awesome.


Alex

On Tue,   5 Mar 2013, 19:47:21 GMT, Ludovic Courtès <ludo@gnu.org> wrote:

> Hi!
> 
> I just had a brain wave and couldn’t resist: commit ef010c0 changes
> ‘guix package --install’ such that, when installing a GNU package, it
> automatically reports the availability of a new upstream version.
> 
> So, for instance, if you run it today:
> 
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env guix package -i idutils -n
> [nothing special here]
> 
> $ ./pre-inst-env guix package -i gettext -n
> gnu/packages/gettext.scm:27:3: note: using gettext-0.18.1.1 but
> gettext-0.18.2.1 is available upstream --8<---------------cut
> here---------------end--------------->8---
> 
> Isn’t it cool?   :-)
> 
> This is fast (~1 sec.), except for packages like GCC with many versions
> and a deep FTP tree structure (~1 m!).   It’s a rare operation, so it
> doesn’t have to be blazingly fast, but definitely faster than for GCC.
> Room for improvement.
> 
> The next step is to offer the option to automatically install from the
> upstream tarball, by downloading it and substituting it in the ‘package’
> record.   The only bit that is missing for this is a GPG keyring of GNU
> maintainer keys so that we can automatically authenticate tarballs (I’ve
> asked Karl about this.)
> 
> The next next step is some fancy stuff that, upon successful
> installation of the new upstream version, offers to automatically submit
> a patch for inclusion in Guix.   This way, every user would end up
> participating in the maintenance of the distro in a simple yet effective
> fashion.   :-)
> 
> Ludo’.
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A pleasant low-hanging fruit
  2013-03-05 19:47 A pleasant low-hanging fruit Ludovic Courtès
  2013-03-07 19:25 ` Alex Sassmannshausen
@ 2013-03-10 17:06 ` Cyril Roelandt
  2013-03-12 20:18   ` Andreas Enge
                     ` (2 more replies)
  1 sibling, 3 replies; 9+ messages in thread
From: Cyril Roelandt @ 2013-03-10 17:06 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix

On 03/05/2013 08:47 PM, Ludovic Courtès wrote:
> Hi!
>
> I just had a brain wave and couldn’t resist: commit ef010c0 changes
> ‘guix package --install’ such that, when installing a GNU package, it
> automatically reports the availability of a new upstream version.
>
> So, for instance, if you run it today:
>
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env guix package -i idutils -n
> [nothing special here]
>
> $ ./pre-inst-env guix package -i gettext -n
> gnu/packages/gettext.scm:27:3: note: using gettext-0.18.1.1 but gettext-0.18.2.1 is available upstream
> --8<---------------cut here---------------end--------------->8---
>

This works well with GNU packages, but breaks other packages:

$ ./pre-inst-env ./scripts/guix package -i w3m
Backtrace:
In ice-9/boot-9.scm:
  149: 13 [catch #t #<catch-closure 98682c0> ...]
  157: 12 [#<procedure 98318c0 ()>]
In unknown file:
    ?: 11 [catch-closure]
In ice-9/boot-9.scm:
   63: 10 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
  407: 9 [eval # #]
In ice-9/boot-9.scm:
2111: 8 [save-module-excursion #<procedure 981e080 at 
ice-9/boot-9.scm:3646:3 ()>]
3653: 7 [#<procedure 981e080 at ice-9/boot-9.scm:3646:3 ()>]
In unknown file:
    ?: 6 [load-compiled/vm 
"/home/cyril/.cache/guile/ccache/2.0-LE-4-2.0/home/cyril/guix/scripts/guix.go"]
In ice-9/boot-9.scm:
  149: 5 [catch srfi-34 #<procedure 9c39f10 at guix/ui.scm:104:2 ()> ...]
  157: 4 [#<procedure 9c101e0 ()>]
In guix/scripts/package.scm:
  722: 3 [#<procedure 9c24660 at guix/scripts/package.scm:715:8 ()>]
  560: 2 [process-actions (# #)]
In srfi/srfi-1.scm:
  664: 1 [filter-map #<procedure 9c34270 at 
guix/scripts/package.scm:588:37 (expr)> ...]
In guix/scripts/package.scm:
  592: 0 [#<procedure 9c34270 at guix/scripts/package.scm:588:37 (expr)> #]

guix/scripts/package.scm:592:39: In procedure #<procedure 9c34270 at 
guix/scripts/package.scm:588:37 (expr)>:
guix/scripts/package.scm:592:39: In procedure string-split: Wrong type 
argument in position 1 (expecting string): #f


Cyril.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A pleasant low-hanging fruit
  2013-03-10 17:06 ` Cyril Roelandt
@ 2013-03-12 20:18   ` Andreas Enge
  2013-03-14 13:44   ` Ludovic Courtès
  2013-03-16  0:01   ` Ludovic Courtès
  2 siblings, 0 replies; 9+ messages in thread
From: Andreas Enge @ 2013-03-12 20:18 UTC (permalink / raw)
  To: bug-guix

Am Sonntag, 10. März 2013 schrieb Cyril Roelandt:
> This works well with GNU packages, but breaks other packages:

Ah, I noticed the same thing with a new package; I thought it was a mistake 
in my recipe...

Andreas

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A pleasant low-hanging fruit
  2013-03-10 17:06 ` Cyril Roelandt
  2013-03-12 20:18   ` Andreas Enge
@ 2013-03-14 13:44   ` Ludovic Courtès
  2013-03-15  2:06     ` Cyril Roelandt
  2013-03-16  0:01   ` Ludovic Courtès
  2 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2013-03-14 13:44 UTC (permalink / raw)
  To: Cyril Roelandt; +Cc: bug-guix

Cyril Roelandt <tipecaml@gmail.com> skribis:

> On 03/05/2013 08:47 PM, Ludovic Courtès wrote:
>> Hi!
>>
>> I just had a brain wave and couldn’t resist: commit ef010c0 changes
>> ‘guix package --install’ such that, when installing a GNU package, it
>> automatically reports the availability of a new upstream version.
>>
>> So, for instance, if you run it today:
>>
>> --8<---------------cut here---------------start------------->8---
>> $ ./pre-inst-env guix package -i idutils -n
>> [nothing special here]
>>
>> $ ./pre-inst-env guix package -i gettext -n
>> gnu/packages/gettext.scm:27:3: note: using gettext-0.18.1.1 but gettext-0.18.2.1 is available upstream
>> --8<---------------cut here---------------end--------------->8---
>>
>
> This works well with GNU packages, but breaks other packages:
>
> $ ./pre-inst-env ./scripts/guix package -i w3m
> Backtrace:

I can’t reproduce the problem with v0.1-237-gef86c39.

Could you check whether it happens with current master, and if it does,
add some ‘pk’ calls in there to see what happens?

Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A pleasant low-hanging fruit
  2013-03-14 13:44   ` Ludovic Courtès
@ 2013-03-15  2:06     ` Cyril Roelandt
  2013-03-16  0:01       ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Cyril Roelandt @ 2013-03-15  2:06 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix

On 03/14/2013 02:44 PM, Ludovic Courtès wrote:
> I can’t reproduce the problem with v0.1-237-gef86c39.
>
> Could you check whether it happens with current master, and if it does,
> add some ‘pk’ calls in there to see what happens?
>

I can confirm this happens with current master.

I don't really know what you mean by "add 'pk' calls", or how to debug a 
Guile program step-by-step, could you point me to some documentation ?

Looking at the backtrace and at the code, I think the problem comes from 
"check-package-freshness". This line :

      "(when (gnu-package? package)"

might explain why the code works only for GNU packages. Isn't an 
unspecified value returned for non-GNU packages ?

Cyril.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A pleasant low-hanging fruit
  2013-03-10 17:06 ` Cyril Roelandt
  2013-03-12 20:18   ` Andreas Enge
  2013-03-14 13:44   ` Ludovic Courtès
@ 2013-03-16  0:01   ` Ludovic Courtès
  2013-03-19 23:55     ` Cyril Roelandt
  2 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2013-03-16  0:01 UTC (permalink / raw)
  To: Cyril Roelandt; +Cc: bug-guix

Cyril Roelandt <tipecaml@gmail.com> skribis:

> guix/scripts/package.scm:592:39: In procedure #<procedure 9c34270 at
> guix/scripts/package.scm:588:37 (expr)>:
> guix/scripts/package.scm:592:39: In procedure string-split: Wrong type
> argument in position 1 (expecting string): #f

This is actually ‘string-split’ as called by ‘official-gnu-packages’,
called from ‘gnu-package?’.

The problem is with Guile <= 2.0.5, whose HTTP client did not support
chunked encoding.

Commit 993fb66 should fix that.  Can you confirm?

After that, make sure to upgrade to a more recent Guile.  :-)

Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A pleasant low-hanging fruit
  2013-03-15  2:06     ` Cyril Roelandt
@ 2013-03-16  0:01       ` Ludovic Courtès
  0 siblings, 0 replies; 9+ messages in thread
From: Ludovic Courtès @ 2013-03-16  0:01 UTC (permalink / raw)
  To: Cyril Roelandt; +Cc: bug-guix

Cyril Roelandt <tipecaml@gmail.com> skribis:

> On 03/14/2013 02:44 PM, Ludovic Courtès wrote:
>> I can’t reproduce the problem with v0.1-237-gef86c39.
>>
>> Could you check whether it happens with current master, and if it does,
>> add some ‘pk’ calls in there to see what happens?
>>
>
> I can confirm this happens with current master.
>
> I don't really know what you mean by "add 'pk' calls", or how to debug
> a Guile program step-by-step, could you point me to some documentation
> ?

  (pk args ...)
     Print ARGS and return the last element of ARGS.

Ludo’.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: A pleasant low-hanging fruit
  2013-03-16  0:01   ` Ludovic Courtès
@ 2013-03-19 23:55     ` Cyril Roelandt
  0 siblings, 0 replies; 9+ messages in thread
From: Cyril Roelandt @ 2013-03-19 23:55 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: bug-guix

On 03/16/2013 01:01 AM, Ludovic Courtès wrote:
> Cyril Roelandt<tipecaml@gmail.com>  skribis:
>
>> guix/scripts/package.scm:592:39: In procedure #<procedure 9c34270 at
>> guix/scripts/package.scm:588:37 (expr)>:
>> guix/scripts/package.scm:592:39: In procedure string-split: Wrong type
>> argument in position 1 (expecting string): #f
>
> This is actually ‘string-split’ as called by ‘official-gnu-packages’,
> called from ‘gnu-package?’.
>
> The problem is with Guile<= 2.0.5, whose HTTP client did not support
> chunked encoding.
>
> Commit 993fb66 should fix that.  Can you confirm?
>

It works!

Cyril.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2013-03-20  0:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-05 19:47 A pleasant low-hanging fruit Ludovic Courtès
2013-03-07 19:25 ` Alex Sassmannshausen
2013-03-10 17:06 ` Cyril Roelandt
2013-03-12 20:18   ` Andreas Enge
2013-03-14 13:44   ` Ludovic Courtès
2013-03-15  2:06     ` Cyril Roelandt
2013-03-16  0:01       ` Ludovic Courtès
2013-03-16  0:01   ` Ludovic Courtès
2013-03-19 23:55     ` Cyril Roelandt

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