guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: imagemagick@6.9.11-48 to graft or not to graft with 6.9.12-2


From: zimoun
Subject: Re: imagemagick@6.9.11-48 to graft or not to graft with 6.9.12-2
Date: Wed, 24 Mar 2021 11:15:05 +0100

Hi Mark,

On Tue, 23 Mar 2021 at 19:42, Mark H Weaver <mhw@netris.org> wrote:
> Andreas Enge <andreas@enge.fr> writes:

>> $ guix package -A imagemagick
>> imagemagick  6.9.12-2g       out,doc gnu/packages/imagemagick.scm:132:2
>> imagemagick  6.9.11-48       out,doc gnu/packages/imagemagick.scm:48:2
>>
>> $ guix build imagemagick@6.9.11
>> guix build: error: imagemagick: package not found for version 6.9.11
>>
>> $ guix build imagemagick@6.9.11-48
>> /gnu/store/c30y49vg735g6b4hh590zrc9fmvcsy0w-imagemagick-6.9.12-2g-doc
>> /gnu/store/l3hr0fimip6v7vmkgxbqygsglxaxasy0-imagemagick-6.9.12-2g

Here, there are several points.

--8<---------------cut here---------------start------------->8---
$ guix search imagemagick | recsel -p name,version | head -5
name: imagemagick
version: 6.9.12-2g

name: imagemagick
version: 6.9.11-48

$ guix build imagemagick
/gnu/store/b91y6ji9ypx8abk00jd33jglxbnjq4dy-imagemagick-6.9.12-2g-doc
/gnu/store/l0asah1mggmgli85sp673bnp2yc71g0j-imagemagick-6.9.12-2g
--8<---------------cut here---------------end--------------->8---

All is fine, security speaking.


Then, there is a bug on how Guix handles the version.  Well, 6.9.11
should be understood as 6.9.11-48 and it seems not:

--8<---------------cut here---------------start------------->8---
$ guix build imagemagick@6.9.11
guix build: error: imagemagick: package not found for version 6.9.11

$ guix build imagemagick@6.9.11-48
/gnu/store/b91y6ji9ypx8abk00jd33jglxbnjq4dy-imagemagick-6.9.12-2g-doc
/gnu/store/l0asah1mggmgli85sp673bnp2yc71g0j-imagemagick-6.9.12-2g
--8<---------------cut here---------------end--------------->8---

…but all is fine security speaking.  And the --no-grafts allows to get
the so-well named option. :-)

--8<---------------cut here---------------start------------->8---
$ guix build imagemagick@6.9.11-48 --no-grafts
/gnu/store/wlnciwhn6llwqwywf4hq739v5bbcrq3h-imagemagick-6.9.11-48-doc
/gnu/store/vlix7fclb7ifjgmxgpwr1pvraff89w7b-imagemagick-6.9.11-48
--8<---------------cut here---------------end--------------->8---

However, I am confused by,

--8<---------------cut here---------------start------------->8---
$ guix build imagemagick --no-grafts
/gnu/store/aby97j4d27zm6ilpcqrdm1lcw34xhcpj-imagemagick-6.9.12-2g-doc
/gnu/store/mzlng0n9s811abilzffa3v6pslv184yj-imagemagick-6.9.12-2g
--8<---------------cut here---------------end--------------->8---


> To my mind this suggests a bug, or at least suboptimal behavior, in
> "guix package".  I don't think it's appropriate to set grafting policy
> to work around it.

If I understand correctly all that, I agree with the 2 parts from your
comment made elsewhere:

      It would be good to reach agreement on whether replacement packages
      should be made public.  I haven't thought much about it, so I don't know
      what the relevant issues are.

<877dlxjwri.fsf@netris.org">https://yhetil.org/guix/877dlxjwri.fsf@netris.org>


> How about changing "guix package -A" and "guix package -s" to display
> information about the package's replacement, if it has one?

The real question seems about ’replacement’ with upgraded version,
because otherwise it is already the expected behaviour, I mean the
behaviour that I personally expect. :-)

--8<---------------cut here---------------start------------->8---
$ guix build python
/gnu/store/wbci0x7f1q3k8rrc8d5qcckh59vl5zld-python-3.8.2
/gnu/store/r9f2bbavkbj17h2djjild5v5rd6yymcv-python-3.8.2-tk

$ guix build python --no-grafts
/gnu/store/rz42ba0my9vrgbkjpkzr2drmnjk5ah50-python-3.8.2
/gnu/store/r61fm38x5zwfaval9nf7ax960qmgsixf-python-3.8.2-tk

$ guix show python | recsel -p name,version
name: python
version: 3.8.2
outputs: out tk
--8<---------------cut here---------------end--------------->8---

> Alternatively, those commands could somehow explicitly indicate that the
> package has been grafted, and show the version number of the
> replacement, in such a way that is less confusing to users.

That’s the issue when updating a package using ’replacement’.  Is the
replaced package still visible at the CLI level?  If yes, we could try
to indicate something like:

--8<---------------cut here---------------start------------->8---
$ guix search imagemagick | recsel -p name,version | head -5
name: imagemagick
version: 6.9.12-2g

name: imagemagick
version: 6.9.11-48 (grafted by 6.9.12-2g)
--8<---------------cut here---------------end--------------->8---

but I do not know if it is possible / easy.  And even, there are still
clumsy behaviour as pointer above.


Cheers,
simon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]