guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] union: Rewrite to be faster; handle symlink/directory confli


From: Ludovic Courtès
Subject: Re: [PATCH] union: Rewrite to be faster; handle symlink/directory conflicts
Date: Thu, 03 Apr 2014 22:15:59 +0200
User-agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux)

Mark H Weaver <address@hidden> skribis:

> From 3f503705098745ddd54251a46b5634e78b209e5f Mon Sep 17 00:00:00 2001
> From: Mark H Weaver <address@hidden>
> Date: Fri, 28 Mar 2014 03:54:01 -0400
> Subject: [PATCH] union: Rewrite to be faster; handle symlink/directory
>  conflicts.
>
> * guix/build/union.scm: Rewrite; only 'file=?' remains unchanged.  Remove
>   'tree-union' and 'delete-duplicate-leaves' exports.  Merge inputs in a
>   breadth-first fashion.  Follow symlinks for purposes of making decisions
>   about the merge.
>
> * tests/union.scm: Remove tests of 'tree-union' and 'delete-duplicate-leaves'.

I stumbled upon this bug: building a profile with a single package
fails, because the new union.scm makes the profile directory a symlink
to that package, which then prevents the creation of the ‘manifest’
file:

--8<---------------cut here---------------start------------->8---
$ guix package -i idutils -p foo
The following package will be installed:        
   idutils-4.6  out     /gnu/store/p86dq5svczkmk2ym8rd8xvvv9089hq51-idutils-4.6

The following derivation will be built:
   /gnu/store/9iyyi8mzggmycs27wsmsgx7fn3sfq40l-profile.drv

[...]

 883: 1 [call-with-output-file 
"/gnu/store/3za8jyx93m12lzn0278d6m8bprni2nrn-profile/manifest" ...]
In unknown file:
   ?: 0 [open-file 
"/gnu/store/3za8jyx93m12lzn0278d6m8bprni2nrn-profile/manifest" ...]

ERROR: In procedure open-file:
ERROR: In procedure open-file: Permission denied: 
"/gnu/store/3za8jyx93m12lzn0278d6m8bprni2nrn-profile/manifest"
builder for `/gnu/store/9iyyi8mzggmycs27wsmsgx7fn3sfq40l-profile.drv' failed 
with exit code 1
@ build-failed /gnu/store/9iyyi8mzggmycs27wsmsgx7fn3sfq40l-profile.drv - 1 
builder for `/gnu/store/9iyyi8mzggmycs27wsmsgx7fn3sfq40l-profile.drv' failed 
with exit code 1
guix package: error: build failed: build of 
`/gnu/store/9iyyi8mzggmycs27wsmsgx7fn3sfq40l-profile.drv' failed
--8<---------------cut here---------------end--------------->8---

(We can’t catch it in the test suite because tests work on a local store
that is writable.)

Could you look into it?

Ludo’.



reply via email to

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