From mboxrd@z Thu Jan 1 00:00:00 1970 From: "pelzflorian (Florian Pelz)" Subject: Re: Install hook Date: Sun, 19 Mar 2017 14:41:09 +0100 Message-ID: <0c3559f8-520a-43fc-56d1-2c03c8d6ad90@pelzflorian.de> References: <1489919448.1067.2.camel@pelzflorian.de> <20170319112339.GA2875@jocasta.intra> <20170319131437.00d9608e@polymos.lepiller.eu> <20170319131413.GA3671@jocasta.intra> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ck6XXnrpRADbsPad42w1pg3GEDBvXnNEJ" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60052) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cpb5C-0002tT-IT for guix-devel@gnu.org; Sun, 19 Mar 2017 09:41:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cpb57-0000go-NK for guix-devel@gnu.org; Sun, 19 Mar 2017 09:41:18 -0400 Received: from pelzflorian.de ([5.45.111.108]:51186 helo=mail.pelzflorian.de) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cpb57-0000gM-99 for guix-devel@gnu.org; Sun, 19 Mar 2017 09:41:13 -0400 In-Reply-To: <20170319131413.GA3671@jocasta.intra> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: John Darrington Cc: guix-devel@gnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --ck6XXnrpRADbsPad42w1pg3GEDBvXnNEJ Content-Type: multipart/mixed; boundary="UMkMIpTWWmjLbKbJbDnHbAkSPI4LA0i8p"; protected-headers="v1" From: "pelzflorian (Florian Pelz)" To: John Darrington Cc: guix-devel@gnu.org Message-ID: <0c3559f8-520a-43fc-56d1-2c03c8d6ad90@pelzflorian.de> Subject: Re: Install hook References: <1489919448.1067.2.camel@pelzflorian.de> <20170319112339.GA2875@jocasta.intra> <20170319131437.00d9608e@polymos.lepiller.eu> <20170319131413.GA3671@jocasta.intra> In-Reply-To: <20170319131413.GA3671@jocasta.intra> --UMkMIpTWWmjLbKbJbDnHbAkSPI4LA0i8p Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 03/19/2017 02:14 PM, John Darrington wrote: > The problem as I understand it is as follows: >=20 > Two (or more) packages both contain a file: /gnu/store/.../xyz/foo >=20 > So long as those two packages are not both installed into the same prof= ile at > the same time, this is not a problem. However if the user chooses to=20 > 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. >=20 > 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." >=20 > That will work fine so long as only package A has such a hook. But wha= t=20 > 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.= >=20 > Nothing will have been solved. There will still be a conflict, just sh= ifted > up a level. >=20 >=20 > The issue as I see it is that neither file is the "right" one to instal= l -=20 > or to put it another way - BOTH are the right ones. >=20 > The solutions which I think have been discussed previously are: >=20 > 1. Add an option to the "guix package --install" command to allow the = user > to specify which packages' files should take priority. >=20 > 2. Use some kind of heuristic based on date installed and other info t= o > guess which one is "right". >=20 > 3. ... probably some other suggestions which I've probably forgotten. >=20 >=20 > Also, I think we talked about consolidating the warning messages when t= hese > conflicts occur, so that a less overwhelming number of them are emitted= =2E >=20 > J' >=20 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. --UMkMIpTWWmjLbKbJbDnHbAkSPI4LA0i8p-- --ck6XXnrpRADbsPad42w1pg3GEDBvXnNEJ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEwRjGsqAMqXB4uw3y3T6EbElHBVsFAljOinUACgkQ3T6EbElH BVvK5A/+KztB95tS2MVd5kCznv2ISlCwLna/L0+BM9EVUfwvdVnXrXToP/MIxDGq L2u5bqKl6SMuhRRUqbubj2nOpmkeMbE/TNydkeypPCwfhF0e1zKPYB6TWlOrLpUS dOuHTqfIIWOSrFo6fhC3Paf3edfD07At3el/PzD0Pph79PaJyV42zDKwiDxtTdUG qtrOQnOHCq880IV3AKjVyqyOuIwKmSgQ5woftu7ktm041l6Ca9GhVTAqf8fv/84d F74NIVozM2qTxG49yIMeGIQcgi7NQzmtaeVEnLlgBjDwSJd9KDKmGhJSxByZx/M+ D+wc/1Wism7gv9H6a06Mkm41pfiOulSNFCY//qQbxqVCOMjMHQGtor6Hika0b8/F CyuD4F8qXarmcg/vKY8zuZTL7ZTS07PMfxWWzaxVozEhV1QnfTpcJASQdU4RyKH6 ewJUEhaeO1Dw8ag6wdhA2gpJn0foBtNAVDq8pfpM8K5GYGJjVRmOdEkvO201RBb+ gWVE10i3ajsvLIs2fCAxzRSznssgKQEuBweoEuRVCbAhI8HqucJdwStEgfVl49p4 IbcOZcDCy9iV26c5ecq/YUb+YMTc17HGaZm9bSEcLw9zkynRF3Bdb5SNypxre0/g WvOKcLlAA0Sy0UlrDPaCfCnZNg9KpSF4s1rSA+uUKNZ+SoyL/Po= =w2rL -----END PGP SIGNATURE----- --ck6XXnrpRADbsPad42w1pg3GEDBvXnNEJ--