[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Install hook
From: |
pelzflorian (Florian Pelz) |
Subject: |
Re: Install hook |
Date: |
Sun, 19 Mar 2017 14:41:09 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.8.0 |
On 03/19/2017 02:14 PM, John Darrington wrote:
> The problem as I understand it is as follows:
>
> Two (or more) packages both contain a file: /gnu/store/.../xyz/foo
>
> So long as those two packages are not both installed into the same profile at
> the same time, this is not a problem. However if the user chooses to
> install both packages concurrently, then there is a potential conflict and
> Guix "resolves" this conflict by arbitrarily choosing the xyz/foo from one
> package or the other.
>
> One could put a "hook" on package A which (through some method) says: "When
> this package (A) is installed, then the xyz/foo file from THIS package must
> be the one installed into the profile, and not any other one."
>
> That will work fine so long as only package A has such a hook. But what
> happens if package B also contains an identical hook? Both packages' hooks
> will then insist that their xyz/foo is the one which must be installed.
>
> Nothing will have been solved. There will still be a conflict, just shifted
> up a level.
>
>
> The issue as I see it is that neither file is the "right" one to install -
> or to put it another way - BOTH are the right ones.
>
> The solutions which I think have been discussed previously are:
>
> 1. Add an option to the "guix package --install" command to allow the user
> to specify which packages' files should take priority.
>
> 2. Use some kind of heuristic based on date installed and other info to
> guess which one is "right".
>
> 3. ... probably some other suggestions which I've probably forgotten.
>
>
> Also, I think we talked about consolidating the warning messages when these
> conflicts occur, so that a less overwhelming number of them are emitted.
>
> J'
>
No, normally gschemas.compiled is one file storing information about all
GSettings application. It must thus be created from files provided by
multiple packages.
For example, gnome-calculator ships
org.gnome.calculator.gschema.xml
and gnome-maps ships
org.gnome.Maps.gschema.xml
and from both source files a file gschemas.compiled needs to be created
when gnome-calculator and gnome-maps are installed to the same profile.
This single file then stores settings of both packages.
signature.asc
Description: OpenPGP digital signature