guix-devel
[Top][All Lists]
Advanced

[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.

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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