From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42268) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dJQaf-0007a2-6I for guix-patches@gnu.org; Fri, 09 Jun 2017 16:33:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dJQac-0004ae-0w for guix-patches@gnu.org; Fri, 09 Jun 2017 16:33:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:34785) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dJQab-0004aa-Td for guix-patches@gnu.org; Fri, 09 Jun 2017 16:33:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dJQab-0000R0-KI for guix-patches@gnu.org; Fri, 09 Jun 2017 16:33:01 -0400 Subject: bug#27271: [PATCH 0/4] Catch collisions at profile creation time Resent-Message-ID: From: Marius Bakke In-Reply-To: <871sqtpkfo.fsf@gnu.org> References: <20170607092242.20565-1-ludo@gnu.org> <878tl2djh8.fsf@elephly.net> <871sqtpkfo.fsf@gnu.org> Date: Fri, 09 Jun 2017 22:32:44 +0200 Message-ID: <87fuf8nbpv.fsf@fastmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= , Ricardo Wurmus Cc: 27271@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Heya, > > Ricardo Wurmus skribis: > >>> These patches allow us to catch problematic collisions when computing >>> a profile derivation. As we know, the profile builder often spits out >>> a number of warnings about collisions but that is not very useful becau= se >>> users cannot distinguish the problematic cases from the harmless cases >>> (an example of a harmless case is when GDB and Binutils provide an >>> almost-identical .info file twice). >> >> This is very good! Thanks for implementing it! >> >>> An open question is whether there are commonly used combinations of >>> packages that trigger conflicts. I haven=E2=80=99t had any problems wi= th my >>> profile (with 234 packages) nor with my GuixSD config, but I encourage >>> you to test it on your profile! >> >> We often see this at the MDC because some people don=E2=80=99t use manif= ests and >> I may have upgraded the shared Guix instance between invocations of >> =E2=80=9Cguix package=E2=80=9D. This happens particularly often with nu= mpy because >> that=E2=80=99s propagated quite often. (I=E2=80=99d *love* to get rid o= f propagated >> inputs in Python! They are so annoying!) > > Perhaps we could modify =E2=80=98sys.path=E2=80=99 from the top of =E2=80= =98__init__.py=E2=80=99 file to > get something similar to RUNPATH. I=E2=80=99m not sure if there are any > downsides or gotchas. Thoughts? Python actually has a native mechanism for setting up package-specific search paths: https://docs.python.org/3/library/site.html In short, it looks for a file "package.pth" where additional search paths can be specified (other sys.path manipulations are allowed too). I asked Hartmut about this during the python-build-system refactoring, and the counter-argument was that if package A and B depends on different versions of package C, odd failures could occur. I'm not convinced propagation sidesteps this problem, however: https://lists.gnu.org/archive/html/guix-devel/2016-10/msg00856.html It would be good to try it out. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlk7BewACgkQoqBt8qM6 VPr7Tgf/WgGFF/0mhYBQ+dxF6QUaee7xcBqN0VncacdcI3cuDU/gsD+zCN2quKf2 MdDoD68RTqWEBRCmncrselHJilfpZGfAjpIU7ZymdwIfOnN9R8CbthRi9bHP1vCC JvBqQC0i1Vx8CZt9m3psoAk2HjQmofet+z979VFdHPUU0EBJuEYrWxEjdO7YsST3 ruf8TCYH3ryrVjzCQvxLfeCgogOm7dJOHz++28B0NIfPg4LVE15PUu6pdGDJyVnC gpQIax5A/ap0j9WDqh7xSEi1iHJke/vAKjQmqp8Xo2Mmb7AueULrohlf/VvmaRzD 7Vx9xTEFqGJiRbqP2KXYKhJBgLofJw== =H5/n -----END PGP SIGNATURE----- --=-=-=--