--- Begin Message ---
Subject: |
‘guix package’ should lock the profile |
Date: |
Tue, 25 Jun 2019 16:10:22 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) |
The article at
<https://distrowatch.com/weekly.php?issue=20190624#guixsd> mentions
things like:
For instance, after installing Icecat, I installed a few other desktop
programs and then found Icecat had disappeared from my path again.
It’s likely that the person ran several ‘guix package’ commands in
parallel, and that one undoed the effects of the other.
Julien suggested that ‘guix package’ could grab a lock file, and I guess
it could simply error out when the lock is already taken.
Ludo’.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#36375: [PATCH] Re: ‘guix package’ should lock the profile |
Date: |
Fri, 8 Nov 2019 22:03:04 +0100 |
Le Fri, 08 Nov 2019 21:03:05 +0100,
Ludovic Courtès <address@hidden> a écrit :
> Hello!
>
> Julien Lepiller <address@hidden> skribis:
>
> > From 71a85b5a8aac6c0bd5a1a4e3b52e409b2112df7a Mon Sep 17 00:00:00
> > 2001 From: Julien Lepiller <address@hidden>
> > Date: Thu, 7 Nov 2019 21:50:54 +0100
> > Subject: [PATCH 1/2] guix: Add file-locking with no wait.
> >
> > * guix/build/syscalls.scm (with-file-lock/no-wait): New procedure.
> > (lock-file): Take a #:wait? key.
>
> [...]
>
> > From 50c792e155d1207127f10ff0c0360442b7736a64 Mon Sep 17 00:00:00
> > 2001 From: Julien Lepiller <address@hidden>
> > Date: Fri, 25 Oct 2019 21:39:21 +0200
> > Subject: [PATCH 2/2] guix: package: lock profiles when processing
> > them.
> >
> > * guix/scripts/package.scm (process-actions): Get a per-profile
> > lock to prevent concurrent actions on profiles.
> > * tests/guix-package.sh: Add test.
>
> LGTM!
>
> I tested ‘with-file-lock’ on an NFSv3 mount, and ‘F_SETLKW’ is
> correctly implemented, FWIW.
>
> Thank you!
>
> Ludo’.
Pushed as f49e9131889775a74a85c1f9b29f108030337b8b and
b1fb663404894268b5ee92c040f12c52c0bee425.
--- End Message ---