all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw@netris.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] union: Rewrite to be faster; handle symlink/directory conflicts
Date: Thu, 03 Apr 2014 22:15:59 +0200	[thread overview]
Message-ID: <87ha6anp8g.fsf@gnu.org> (raw)
In-Reply-To: <871txfk26u.fsf@yeeloong.lan> (Mark H. Weaver's message of "Wed, 02 Apr 2014 14:37:29 -0400")

Mark H Weaver <mhw@netris.org> skribis:

> From 3f503705098745ddd54251a46b5634e78b209e5f Mon Sep 17 00:00:00 2001
> From: Mark H Weaver <mhw@netris.org>
> 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’.

  parent reply	other threads:[~2014-04-03 20:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-02 18:37 [PATCH] union: Rewrite to be faster; handle symlink/directory conflicts Mark H Weaver
2014-04-02 19:20 ` Ludovic Courtès
2014-04-03 20:15 ` Ludovic Courtès [this message]
2014-04-03 22:04   ` [PATCH] union: Ensure that the output is always a directory Mark H Weaver
2014-04-03 22:10     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ha6anp8g.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.