[Top][All Lists]

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

Re: Move switch-symlinks to (guix build utils)

From: Ludovic Courtès
Subject: Re: Move switch-symlinks to (guix build utils)
Date: Fri, 03 Jun 2022 21:30:39 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux)


Maxime Devos <> skribis:

> Maybe replace
>    (symlink target pivot)
> by (symlink/remove-old target pivot)
> where
> (define (symlink/remove-old target link)
>   "Make a symbolic link named LINK pointing to TARGET.
> If LINK already exists, it will be removed first.
> This is not an atomic operation."
>   (catch 'system-error
>     (lambda ()
>       (symlink target link))
>     (lambda stuff
>       (if (= (system-error-errno stuff) EEXIST)
>           (begin
>             ;; remove old link and retry
>             (delete-file link)
>             (symlink/remove-old link target))
>           (apply throw stuff)))))

Alright, SGTM (this procedure would be kept private).

So Arun, the floor is yours!  :-)


reply via email to

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