* bug#58247: Using guix time-machine results in unsupported manifest format error
@ 2022-10-02 11:17 david larsson
2022-10-02 17:02 ` zimoun
0 siblings, 1 reply; 7+ messages in thread
From: david larsson @ 2022-10-02 11:17 UTC (permalink / raw)
To: 58247
Hi,
Im on commit 729ce5f and Im running: guix time-machine --commit=7e8e070
-- package -i hello
and it outputs:
guix package: error: unsupported manifest format
I have tried nesting time-machine as well like:
guix time-machine --commit=<oldcommit> -- time-machine
--commit=<somecommit> -- package -i hello
but it gives the same error.
Any ideas?
Regards,
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#58247: Using guix time-machine results in unsupported manifest format error
2022-10-02 11:17 bug#58247: Using guix time-machine results in unsupported manifest format error david larsson
@ 2022-10-02 17:02 ` zimoun
2022-10-02 18:57 ` david larsson
0 siblings, 1 reply; 7+ messages in thread
From: zimoun @ 2022-10-02 17:02 UTC (permalink / raw)
To: david larsson, 58247
Hi,
On dim., 02 oct. 2022 at 13:17, david larsson <david.larsson@selfhosted.xyz> wrote:
> Im on commit 729ce5f and Im running: guix time-machine --commit=7e8e070
> -- package -i hello
>
> and it outputs:
>
> guix package: error: unsupported manifest format
It is probably because an issue with version of manifest; e.g, fixed by
67a6828b2bb821274757f686f7c685b664339a96. See <https://issues.guix.gnu.org/57306>.
What does
$ cat ~/.guix-profile/manifest | grep -A 1 manifest
report?
Cheers,
simon
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#58247: Using guix time-machine results in unsupported manifest format error
2022-10-02 17:02 ` zimoun
@ 2022-10-02 18:57 ` david larsson
2022-10-02 22:10 ` zimoun
0 siblings, 1 reply; 7+ messages in thread
From: david larsson @ 2022-10-02 18:57 UTC (permalink / raw)
To: zimoun; +Cc: 58247
On 2022-10-02 19:02, zimoun wrote:
[..]
> It is probably because an issue with version of manifest; e.g, fixed by
> 67a6828b2bb821274757f686f7c685b664339a96. See
> <https://issues.guix.gnu.org/57306>.
Note that the commit I'm on, is from 2 days ago, which is after the fix
commit you're mentioning.
>
> What does
>
> $ cat ~/.guix-profile/manifest | grep -A 1 manifest
>
> report?
(manifest
(version 4)
Not sure it matters, but Im able to run guix time-machine
--commit=<somecommit> -- describe but not package -i <somepackage>
Best regards,
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#58247: Using guix time-machine results in unsupported manifest format error
2022-10-02 18:57 ` david larsson
@ 2022-10-02 22:10 ` zimoun
2022-10-19 10:51 ` zimoun
2022-10-20 18:44 ` david larsson
0 siblings, 2 replies; 7+ messages in thread
From: zimoun @ 2022-10-02 22:10 UTC (permalink / raw)
To: david larsson; +Cc: 58247
Hi,
On Sun, 02 Oct 2022 at 20:57, david larsson <david.larsson@selfhosted.xyz> wrote:
> On 2022-10-02 19:02, zimoun wrote:
>> It is probably because an issue with version of manifest; e.g, fixed by
>> 67a6828b2bb821274757f686f7c685b664339a96. See
>> <https://issues.guix.gnu.org/57306>.
>
> Note that the commit I'm on, is from 2 days ago, which is after the fix
> commit you're mentioning.
Yes, note that the earlier mentioned commit
7e8e07033d2a6b0ecef566a05084c534c774cd4a is from Oct 2021 if I read
correctly.
> Not sure it matters, but Im able to run guix time-machine
> --commit=<somecommit> -- describe but not package -i <somepackage>
IIUC, ’describe’ reads from ~/.config/guix/current/manifest and here the
issue is from ~/.guix-profile/manifest.
Maybe I am wrong, but I think the issue is coming from an
incompatibility about the version of ~/.guix-profile/manifest.
This manifest is at the version 4. When you run
guix time-machine --commit=<commit> -- package -i hello
then I guess it works or not depending on <commit>.
The manifest file ~/.guix-profile/manifest needs to be updated and there
is a conflict because some versions of the profile manifest. For
instance, consider two profiles generated using 2 different revisions of
Guix – a recent one and an old one:
--8<---------------cut here---------------start------------->8---
$ guix time-machine --commit=729ce5f -- package -i hello -p /tmp/new
$ cat /tmp/new/manifest | grep -A 1 '(manifest'
(manifest
(version 4)
--8<---------------cut here---------------end--------------->8---
and
--8<---------------cut here---------------start------------->8---
$ guix time-machine --commit=7e8e070 -- package -i hello -p /tmp/old
$ cat /tmp/old/manifest | grep -A 1 '(manifest'
(manifest
(version 3)
--8<---------------cut here---------------end--------------->8---
Now, consider the recent profile named /tmp/new and try to install a
previous package from an old commit,
--8<---------------cut here---------------start------------->8---
$ guix time-machine --commit=7e8e070 -- package -i hello -p /tmp/new
guix package: error: unsupported manifest format
--8<---------------cut here---------------end--------------->8---
The old Guix uses version 3 and cannot read/write version 4 and bang!
Let try the converse,
--8<---------------cut here---------------start------------->8---
$ guix time-machine --commit=729ce5f -- package -i hello -p /tmp/old
$ cat /tmp/old/manifest | grep -A 1 '(manifest'
(manifest
(version 4)
$ guix package --list-generations -p /tmp/old
Generation 1 oct. 02 2022 18:53:10
hello 2.10 out /gnu/store/xg67cpxq2p6q7wn4y2z194pndwdymhpf-hello-2.10
Generation 2 oct. 02 2022 21:25:11 (current)
+ hello 2.12.1 out /gnu/store/s5pd3rnzymliafb4la5sca63j86xs0y0-hello-2.12.1
- hello 2.10 out /gnu/store/xg67cpxq2p6q7wn4y2z194pndwdymhpf-hello-2.10
--8<---------------cut here---------------end--------------->8---
This profile /tmp/old is thus converted from version 3 to version 4, and
then, reusing old version of Guix fails,
--8<---------------cut here---------------start------------->8---
$ guix time-machine --commit=7e8e070 -- package -i hello -p /tmp/old
guix package: error: unsupported manifest format
--8<---------------cut here---------------end--------------->8---
Well, I do not know if a fix is possible. The issue is a
backward compatibility issue.
Cheers,
simon
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#58247: Using guix time-machine results in unsupported manifest format error
2022-10-02 22:10 ` zimoun
@ 2022-10-19 10:51 ` zimoun
2022-12-04 17:01 ` Ludovic Courtès
2022-10-20 18:44 ` david larsson
1 sibling, 1 reply; 7+ messages in thread
From: zimoun @ 2022-10-19 10:51 UTC (permalink / raw)
To: david larsson; +Cc: Ludovic Courtès, 58247
Hi,
This issue is about the upgrade of manifest version from 3 to 4. For
references,
<http://issues.guix.gnu.org/issue/58247>
On Mon, 03 Oct 2022 at 00:10, zimoun <zimon.toutoune@gmail.com> wrote:
> Well, I do not know if a fix is possible. The issue is a
> backward compatibility issue.
Ludo, what is your insight on that matter? Is it fixable? Or do we
mark the issue as ’wontfix’?
Cheers,
simon
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#58247: Using guix time-machine results in unsupported manifest format error
2022-10-02 22:10 ` zimoun
2022-10-19 10:51 ` zimoun
@ 2022-10-20 18:44 ` david larsson
1 sibling, 0 replies; 7+ messages in thread
From: david larsson @ 2022-10-20 18:44 UTC (permalink / raw)
To: zimoun; +Cc: 58247
On 2022-10-03 00:10, zimoun wrote:
[..]
>
> Let try the converse,
>
> --8<---------------cut here---------------start------------->8---
> $ guix time-machine --commit=729ce5f -- package -i hello -p /tmp/old
>
> $ cat /tmp/old/manifest | grep -A 1 '(manifest'
> (manifest
> (version 4)
>
> $ guix package --list-generations -p /tmp/old
> Generation 1 oct. 02 2022 18:53:10
> hello 2.10 out /gnu/store/xg67cpxq2p6q7wn4y2z194pndwdymhpf-hello-2.10
>
> Generation 2 oct. 02 2022 21:25:11 (current)
> +
> hello 2.12.1 out /gnu/store/s5pd3rnzymliafb4la5sca63j86xs0y0-hello-2.12.1
> - hello 2.10
> out /gnu/store/xg67cpxq2p6q7wn4y2z194pndwdymhpf-hello-2.10
> --8<---------------cut here---------------end--------------->8---
>
> This profile /tmp/old is thus converted from version 3 to version 4,
> and
> then, reusing old version of Guix fails,
>
> --8<---------------cut here---------------start------------->8---
> $ guix time-machine --commit=7e8e070 -- package -i hello -p /tmp/old
> guix package: error: unsupported manifest format
> --8<---------------cut here---------------end--------------->8---
>
>
> Well, I do not know if a fix is possible. The issue is a
> backward compatibility issue.
>
Hi,
Thanks for the clarification.
I imagine it would be possible to give it a dirty fix, approximately as
you just showed with /tmp/old, if you also just readd the default
profile's currently installed packages to it at the end. So, if using
~/.guix-profile, it would be something like:
1. Say your ~/.guix-profile is at commit=XYZ
2. build a NEW profile with the old package ONLY, from commit=ABC (as in
/tmp/old)
3. guix pull /tmp/old "back" to commit=XYZ
4. install remaining packages that was in your ~/.guix-profile to
/tmp/old.
5. mv the ~/.guix-profile symlink to /tmp/old.
( /tmp/old should just be in /var/guix/profiles/per-user/$USER as normal
)
Building a new package generation like this would not be the same as
usual, cuz the currently installed packages may come from different guix
revisions. That might be a dealbreaker for fixing it. I do think it's
very sad though, that the time-machine is kind of broken whenever the
manifest gets a new version, with no hint even to the user how to find a
solution.
Best regards,
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#58247: Using guix time-machine results in unsupported manifest format error
2022-10-19 10:51 ` zimoun
@ 2022-12-04 17:01 ` Ludovic Courtès
0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2022-12-04 17:01 UTC (permalink / raw)
To: zimoun; +Cc: david larsson, 58247
Hi,
zimoun <zimon.toutoune@gmail.com> skribis:
> This issue is about the upgrade of manifest version from 3 to 4. For
> references,
>
> <http://issues.guix.gnu.org/issue/58247>
>
> On Mon, 03 Oct 2022 at 00:10, zimoun <zimon.toutoune@gmail.com> wrote:
>
>> Well, I do not know if a fix is possible. The issue is a
>> backward compatibility issue.
>
> Ludo, what is your insight on that matter? Is it fixable? Or do we
> mark the issue as ’wontfix’?
David wrote:
> Im on commit 729ce5f and Im running: guix time-machine
> --commit=7e8e070 -- package -i hello
>
> and it outputs:
>
> guix package: error: unsupported manifest format
This use case cannot be fixed: you cannot use an old Guix (one that only
understood manifest version 3) to manipulate a “new” profile (manifest
version 4). That’s a fundamental limitation of old software being
unable to deal with new formats in general.
One way to work around it is to have that old ‘guix’ operate on a fresh
profile (thus it’ll be version 3):
rm -f /tmp/old-stuff
guix time-machine --commit=7e8e070 -- package -i hello -p /tmp/old-stuff
or, better yet, to use ‘guix shell’ or ‘guix environment’:
guix time-machine --commit=7e8e070 -- \
environment --ad-hoc hello -- hello
I’m closing this bug.
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-12-04 17:03 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-02 11:17 bug#58247: Using guix time-machine results in unsupported manifest format error david larsson
2022-10-02 17:02 ` zimoun
2022-10-02 18:57 ` david larsson
2022-10-02 22:10 ` zimoun
2022-10-19 10:51 ` zimoun
2022-12-04 17:01 ` Ludovic Courtès
2022-10-20 18:44 ` david larsson
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.