[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: rolling back only a single package
From: |
Björn Höfling |
Subject: |
Re: rolling back only a single package |
Date: |
Fri, 28 Dec 2018 14:34:10 +0100 |
Hi cdelia,
On Thu, 27 Dec 2018 16:52:23 -0300
address@hidden wrote:
> Hi,
>
> I upgraded guix a couple of days ago, installed some things and now I
> found that xmobar just keeps segfaulting.
>
> Switching to specific generation it's really cool, but in this case
> would "uninstall" all the software that it's between the
> update-generation and the current one.
>
> So, there is any way to just downgrade a single package (resolving it
> dependencies) with out doing a full switch?
>
> I guess this it's connected to
> https://lists.gnu.org/archive/html/help-guix/2016-08/msg00028.html
>
> And I could also switch and then manually re install. But maybe there
> is a standard or automatic way to do it.
There is a nice blog post by Ludivic that describes some aspects of it:
https://www.gnu.org/software/guix/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/
It looks like the inferior thing he mentioned is already ready, but I
haven't yet followed that.
Ludo, can you say something about that?
Doing it the way described in the post I can downgrade (in my case I use
youtube-dl as the package I want to downgrade, as this is in my
profile):
The trick is to work with the generations of "guix pull".
$ guix package --list-generations
Generation 122 Dec 15 2018 16:36:58
+ youtube-dl 2018.11.07 out /gnu/store/20wr2z2qnm36mwcdmmzpsvr9f4899
- youtube-dl 2018.09.18 out /gnu/store/h7xdi93gag6r9agp5ivppignh4q0k
$ guix pull --list-generations
Generation 28 Nov 07 2018 20:38:34
guix 91b71cf
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 91b71cfbba03ea484cc6028b3384bf4609cbcf14
[..]
Generation 29 Nov 13 2018 18:38:56
guix d540137
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: d5401375099f6e4562b849121265bb1c3e85874f
65 packages upgraded: address@hidden, address@hidden,
[..]
address@hidden, address@hidden
You see here, I did update my "guix-pull" generation on 13 November
that introduced the new youtube-dl version but did update my "guix
package" profile only on 15 December.
Now I need to use the guix from from generation 28, if I want do
downgrade my youtube-dl:
$ /var/guix/profiles/per-user/bjoern/current-guix-28-link/bin/guix
--version
guix (GNU Guix) 91b71cfbba03ea484cc6028b3384bf4609cbcf14
OK, this is really the right version, compared to the above generations
of "guix pull".
Then let's downgrade:
$ /var/guix/profiles/per-user/bjoern/current-guix-28-link/bin/guix
package -i youtube-dl
The following package will be downgraded:
youtube-dl 2018.11.07 -> 2018.11.03
/gnu/store/vw375z5hm4vha0pvfxmadh6qcglacq9g-youtube-dl-2018.11.03
Check it out:
$ guix package --list-generations
Generation 125 Dec 28 2018 14:02:08 (current)
+ youtube-dl 2018.11.03 out /gnu/store/vw375z5hm4vha0pvfxmadh6qcglac
- youtube-dl 2018.11.07 out /gnu/store/20wr2z2qnm36mwcdmmzpsvr9f4899
~$ youtube-dl --version
2018.11.03
OK, I'm rolling back, as I don't want to downgrade:
$ guix package --roll-back
switched from generation 125 to 124
$ youtube-dl --version
2018.11.07
Is that what you are looking for?
Björn
PS: Can you help fixing the problem with xmobar?
pgpEwp6_qID9H.pgp
Description: OpenPGP digital signature