unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#31142: guix package --upgrade reverses the order of packages
@ 2018-04-13  5:57 Chris Marusich
  2018-04-18 21:15 ` Ludovic Courtès
  2019-03-27 11:33 ` Pierre Neidhardt
  0 siblings, 2 replies; 11+ messages in thread
From: Chris Marusich @ 2018-04-13  5:57 UTC (permalink / raw)
  To: 31142

[-- Attachment #1: Type: text/plain, Size: 3302 bytes --]

Hi,

It seems that running "guix package --upgrade ." reverses the order of
packages installed in a profile.  Apparently as a result, repeatedly
running the command on a profile will create multiple generations, even
though the packages are not actually being upgraded.

Here's a way to reproduce it:

--8<---------------cut here---------------start------------->8---
$ guix package -p test-profile -i guile git:send-email
[0] marusich@garuda.local:/tmp
$ guix package -p test-profile -i guile git:send-email
guix package: warning: Your Guix installation is 7 days old.
guix package: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.

The following packages will be installed:
   guile	2.2.3	/gnu/store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3
   git:send-email	2.17.0	/gnu/store/xv8za72akjqidji3y5fz76n21jnvmqvk-git-2.17.0-send-email

2 packages in profile
The following environment variable definitions may be needed:
   export PATH="test-profile/bin${PATH:+:}$PATH"
   export GIT_EXEC_PATH="test-profile/libexec/git-core"
[0] marusich@garuda.local:/tmp
$ guix package -p test-profile -u .
guix package: warning: Your Guix installation is 7 days old.
guix package: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.

The following packages will be upgraded:
   git:send-email	2.17.0 → 2.17.0	/gnu/store/xv8za72akjqidji3y5fz76n21jnvmqvk-git-2.17.0-send-email
   guile	2.2.3 → 2.2.3	/gnu/store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3

2 packages in profile
The following environment variable definitions may be needed:
   export PATH="test-profile/bin${PATH:+:}$PATH"
   export GIT_EXEC_PATH="test-profile/libexec/git-core"
[0] marusich@garuda.local:/tmp
$ guix package -p test-profile -u .
guix package: warning: Your Guix installation is 7 days old.
guix package: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.

The following packages will be upgraded:
   guile	2.2.3 → 2.2.3	/gnu/store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3
   git:send-email	2.17.0 → 2.17.0	/gnu/store/xv8za72akjqidji3y5fz76n21jnvmqvk-git-2.17.0-send-email

2 packages in profile
The following environment variable definitions may be needed:
   export PATH="test-profile/bin${PATH:+:}$PATH"
   export GIT_EXEC_PATH="test-profile/libexec/git-core"
[0] marusich@garuda.local:/tmp
$ guix package -p test-profile -u .
guix package: warning: Your Guix installation is 7 days old.
guix package: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.

The following packages will be upgraded:
   git:send-email	2.17.0 → 2.17.0	/gnu/store/xv8za72akjqidji3y5fz76n21jnvmqvk-git-2.17.0-send-email
   guile	2.2.3 → 2.2.3	/gnu/store/b90y3swxlx3vw2yyacs8cz59b8cbpbw5-guile-2.2.3

2 packages in profile
The following environment variable definitions may be needed:
   export PATH="test-profile/bin${PATH:+:}$PATH"
   export GIT_EXEC_PATH="test-profile/libexec/git-core"
[0] marusich@garuda.local:/tmp
$ 
--8<---------------cut here---------------end--------------->8---

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

* bug#31142: guix package --upgrade reverses the order of packages
  2018-04-13  5:57 bug#31142: guix package --upgrade reverses the order of packages Chris Marusich
@ 2018-04-18 21:15 ` Ludovic Courtès
  2019-01-15 11:07   ` Ludovic Courtès
  2019-03-27 11:33 ` Pierre Neidhardt
  1 sibling, 1 reply; 11+ messages in thread
From: Ludovic Courtès @ 2018-04-18 21:15 UTC (permalink / raw)
  To: Chris Marusich; +Cc: 31142

Hello,

Chris Marusich <cmmarusich@gmail.com> skribis:

> It seems that running "guix package --upgrade ." reverses the order of
> packages installed in a profile.  Apparently as a result, repeatedly
> running the command on a profile will create multiple generations, even
> though the packages are not actually being upgraded.

Commit eca16a3d1d9e6b2c064e0105c1015258bf2755f2 was supposed to fix it…
but it lacked a test case…  I plaid guilty.  :-)

Could you take a closer look at that commit?

Ludo’.

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

* bug#31142: guix package --upgrade reverses the order of packages
  2018-04-18 21:15 ` Ludovic Courtès
@ 2019-01-15 11:07   ` Ludovic Courtès
  0 siblings, 0 replies; 11+ messages in thread
From: Ludovic Courtès @ 2019-01-15 11:07 UTC (permalink / raw)
  To: Chris Marusich; +Cc: 31142-done

Hi,

ludo@gnu.org (Ludovic Courtès) skribis:

> Hello,
>
> Chris Marusich <cmmarusich@gmail.com> skribis:
>
>> It seems that running "guix package --upgrade ." reverses the order of
>> packages installed in a profile.  Apparently as a result, repeatedly
>> running the command on a profile will create multiple generations, even
>> though the packages are not actually being upgraded.
>
> Commit eca16a3d1d9e6b2c064e0105c1015258bf2755f2 was supposed to fix it…
> but it lacked a test case…  I plaid guilty.  :-)

This is fixed in 35225dc57996ebc7a5a55462e0e52d85239195d9, which pretty
much reverts eca16a3d1d9e6b2c064e0105c1015258bf2755f2…

But this time there’s a test case that gives me some confidence.  :-)

Thanks,
Ludo’.

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

* bug#31142: guix package --upgrade reverses the order of packages
  2018-04-13  5:57 bug#31142: guix package --upgrade reverses the order of packages Chris Marusich
  2018-04-18 21:15 ` Ludovic Courtès
@ 2019-03-27 11:33 ` Pierre Neidhardt
  2019-03-28 12:49   ` Ludovic Courtès
  1 sibling, 1 reply; 11+ messages in thread
From: Pierre Neidhardt @ 2019-03-27 11:33 UTC (permalink / raw)
  To: 31142

[-- Attachment #1: Type: text/plain, Size: 465 bytes --]

Hi!

This issue fixes the list order, but it was initially supposed to address
https://lists.gnu.org/archive/html/help-guix/2018-04/msg00070.html.

In the linked conversation, the issue that was raised is that "guix
package --upgrade" always upgrades some (propagated?) inputs, even when
there is nothing to upgrade.

I can still reproduce this issue on latest Guix.
Anyone else?
Shall we open a new bug?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#31142: guix package --upgrade reverses the order of packages
  2019-03-27 11:33 ` Pierre Neidhardt
@ 2019-03-28 12:49   ` Ludovic Courtès
  2019-03-28 12:56     ` Pierre Neidhardt
  2019-03-28 13:01     ` Maxim Cournoyer
  0 siblings, 2 replies; 11+ messages in thread
From: Ludovic Courtès @ 2019-03-28 12:49 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 31142

Hello,

Pierre Neidhardt <mail@ambrevar.xyz> skribis:

> This issue fixes the list order, but it was initially supposed to address
> https://lists.gnu.org/archive/html/help-guix/2018-04/msg00070.html.
>
> In the linked conversation, the issue that was raised is that "guix
> package --upgrade" always upgrades some (propagated?) inputs, even when
> there is nothing to upgrade.
>
> I can still reproduce this issue on latest Guix.
> Anyone else?
> Shall we open a new bug?

Yes, and I think we’ll close it as “wontfix”.  :-)

Ludo’.

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

* bug#31142: guix package --upgrade reverses the order of packages
  2019-03-28 12:49   ` Ludovic Courtès
@ 2019-03-28 12:56     ` Pierre Neidhardt
  2019-03-28 13:30       ` Ludovic Courtès
  2019-03-28 13:01     ` Maxim Cournoyer
  1 sibling, 1 reply; 11+ messages in thread
From: Pierre Neidhardt @ 2019-03-28 12:56 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 31142

[-- Attachment #1: Type: text/plain, Size: 197 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

>> Shall we open a new bug?
>
> Yes, and I think we’ll close it as “wontfix”.  :-)

Hmm?  Why?

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#31142: guix package --upgrade reverses the order of packages
  2019-03-28 12:49   ` Ludovic Courtès
  2019-03-28 12:56     ` Pierre Neidhardt
@ 2019-03-28 13:01     ` Maxim Cournoyer
  2019-03-28 13:13       ` Pierre Neidhardt
  1 sibling, 1 reply; 11+ messages in thread
From: Maxim Cournoyer @ 2019-03-28 13:01 UTC (permalink / raw)
  To: 31142, ludo, mail



On March 28, 2019 12:49:04 PM UTC, "Ludovic Courtès" <ludo@gnu.org> wrote:
>Hello,
>
>Pierre Neidhardt <mail@ambrevar.xyz> skribis:
>
>> This issue fixes the list order, but it was initially supposed to
>address
>> https://lists.gnu.org/archive/html/help-guix/2018-04/msg00070.html.
>>
>> In the linked conversation, the issue that was raised is that "guix
>> package --upgrade" always upgrades some (propagated?) inputs, even
>when
>> there is nothing to upgrade.
>>
>> I can still reproduce this issue on latest Guix.
>> Anyone else?
>> Shall we open a new bug?
>
>Yes, and I think we’ll close it as “wontfix”.  :-)

May I ask why? It seems it'd be ideal if packages got upgraded only when needed; the false upgrades pollute the output of an upgrade and makes it less useful.

Maxim

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

* bug#31142: guix package --upgrade reverses the order of packages
  2019-03-28 13:01     ` Maxim Cournoyer
@ 2019-03-28 13:13       ` Pierre Neidhardt
  0 siblings, 0 replies; 11+ messages in thread
From: Pierre Neidhardt @ 2019-03-28 13:13 UTC (permalink / raw)
  To: maxim.cournoyer, 31142, ludo

[-- Attachment #1: Type: text/plain, Size: 475 bytes --]

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

>>Yes, and I think we’ll close it as “wontfix”.  :-)
>
> May I ask why? It seems it'd be ideal if packages got upgraded only when needed; the false upgrades pollute the output of an upgrade and makes it less useful.

It also generates spurious generations.
Last but not least, it makes it hard to the user to know when something
actually needs to be updated.

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#31142: guix package --upgrade reverses the order of packages
  2019-03-28 12:56     ` Pierre Neidhardt
@ 2019-03-28 13:30       ` Ludovic Courtès
  2019-03-28 13:53         ` Pierre Neidhardt
  0 siblings, 1 reply; 11+ messages in thread
From: Ludovic Courtès @ 2019-03-28 13:30 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 31142

Pierre Neidhardt <mail@ambrevar.xyz> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>>> Shall we open a new bug?
>>
>> Yes, and I think we’ll close it as “wontfix”.  :-)
>
> Hmm?  Why?

At first sight, to me, it’s not entirely clear how to determine whether
something is to be upgraded in the presence of propagated inputs.

And more importantly, I think the “imperative” model is necessarily not
as expressive and “clean” as ‘--manifest’.  There are tradeoffs to make.

In short, if we can fix it, that’s great; but otherwise I wouldn’t lose
my hair over it.

I hope that makes sense!

Ludo’.

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

* bug#31142: guix package --upgrade reverses the order of packages
  2019-03-28 13:30       ` Ludovic Courtès
@ 2019-03-28 13:53         ` Pierre Neidhardt
  2019-03-28 14:10           ` Ludovic Courtès
  0 siblings, 1 reply; 11+ messages in thread
From: Pierre Neidhardt @ 2019-03-28 13:53 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 31142

[-- Attachment #1: Type: text/plain, Size: 622 bytes --]

Ludovic Courtès <ludo@gnu.org> writes:

> At first sight, to me, it’s not entirely clear how to determine whether
> something is to be upgraded in the presence of propagated inputs.

I think the linked discussion suggested we checked upgrades
recursively.  Wouldn't that work?

> And more importantly, I think the “imperative” model is necessarily not
> as expressive and “clean” as ‘--manifest’.  There are tradeoffs to make.

Sorry, I don't understand what you mean.  How do we upgrade declaratively?  I
could be missing something big here! :)

-- 
Pierre Neidhardt
https://ambrevar.xyz/

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#31142: guix package --upgrade reverses the order of packages
  2019-03-28 13:53         ` Pierre Neidhardt
@ 2019-03-28 14:10           ` Ludovic Courtès
  0 siblings, 0 replies; 11+ messages in thread
From: Ludovic Courtès @ 2019-03-28 14:10 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: 31142

Pierre Neidhardt <mail@ambrevar.xyz> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> At first sight, to me, it’s not entirely clear how to determine whether
>> something is to be upgraded in the presence of propagated inputs.
>
> I think the linked discussion suggested we checked upgrades
> recursively.  Wouldn't that work?

Maybe!  Let’s open a new bug.  :)

>> And more importantly, I think the “imperative” model is necessarily not
>> as expressive and “clean” as ‘--manifest’.  There are tradeoffs to make.
>
> Sorry, I don't understand what you mean.  How do we upgrade
> declaratively?

Just ‘guix pull && guix package --manifest=my-stuff.scm’.

Ludo’.

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

end of thread, other threads:[~2019-03-28 14:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-13  5:57 bug#31142: guix package --upgrade reverses the order of packages Chris Marusich
2018-04-18 21:15 ` Ludovic Courtès
2019-01-15 11:07   ` Ludovic Courtès
2019-03-27 11:33 ` Pierre Neidhardt
2019-03-28 12:49   ` Ludovic Courtès
2019-03-28 12:56     ` Pierre Neidhardt
2019-03-28 13:30       ` Ludovic Courtès
2019-03-28 13:53         ` Pierre Neidhardt
2019-03-28 14:10           ` Ludovic Courtès
2019-03-28 13:01     ` Maxim Cournoyer
2019-03-28 13:13       ` Pierre Neidhardt

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