From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Marusich Subject: Re: Uninstalling a "unknown" package installs new stuff -> totally unexpected Date: Fri, 10 Nov 2017 20:25:04 -0800 Message-ID: <87bmk9cuhr.fsf@gmail.com> References: <87tvy1oaxi.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44528) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDNM4-0004xv-RD for guix-devel@gnu.org; Fri, 10 Nov 2017 23:25:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDNLz-0006d1-Ly for guix-devel@gnu.org; Fri, 10 Nov 2017 23:25:16 -0500 Received: from mail-pg0-x22d.google.com ([2607:f8b0:400e:c05::22d]:51106) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eDNLz-0006cQ-Gb for guix-devel@gnu.org; Fri, 10 Nov 2017 23:25:11 -0500 Received: by mail-pg0-x22d.google.com with SMTP id y5so8846334pgq.7 for ; Fri, 10 Nov 2017 20:25:11 -0800 (PST) In-Reply-To: <87tvy1oaxi.fsf@gmail.com> (Chris Marusich's message of "Fri, 10 Nov 2017 17:34:33 -0800") 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: Hartmut Goebel Cc: guix-devel --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Chris Marusich writes: > It may be technically possible to implement a different profile > generation mechanism which allows the removal of a package by > "un-symlinking" it from a previous profile generation. However, if we > did that, it would mean that a profile generation might now depend on a > profile generation that came before it. I'd like to correct something I said in my last reply. I just remembered that we have a declarative description of what is installed in a profile at $PROFILE/manifest. In my last email, I may have incorrectly described what happens during the removal of a package. Judging by the code in guix/profiles.scm, it looks like we actually do re-use the existing store items that are referenced by the previous profile generation. Packages won't be upgraded unless you explicitly ask for it (e.g., with the "-u" option). So, when G_vm removes p_1 from the profile (i.e., when G_vm builds a new profile in which p_1 is not present), G_vm will in fact re-use the same package versions in the new generation that were installed in the previous generation. When I suggested that the builds you were seeing occurred because G_vm would want to build newer versions of all the packages, I believe was mistaken =2D I apologize for any confusion I may have caused. That said, I still think it's true that if G_vm is very different than G_host, it is likely that G_vm will wind up doing a lot of builds for things that G_host has "already" built (but which aren't installed in the profile itself). Guix uses derivations to do a lot of stuff under the covers, so I think this is likely to occur when G_vm and G_host are very different. =2D-=20 Chris --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAloGe6AACgkQ3UCaFdgi Rp1jWw//eGoKdHFlkPhSCLkSK6/ZdDbBmHB4CtU6CJoScr1NnJSJIxc6X2yBjS2c kacGQ/vPyCC8fYWHYopmMSb2HaOHwaiKGHvvkOIlk0x8bHUFrAX+WtxDf/n+DV0B ELTrz7c5cwBwULev9gdOkUlm39UbHkpTOuZZVkMldbnVgoUNUGO0/stEq8EYJnk7 eAFB/wbE8LmuEFwl2Vg7To3dI6sRMqp0QH9LTdOlMqSEqh4fiUMiZaGcyW8QRWiz Dj2dGzn4QwaFH4KiridF75IvFn6M5VfwC3FLtlHNyGDYe07YC/w70pg1MxNuLj7b yIrSE4cOEsJK10vU8ZEeutpuIs4ERxJpqmYBxuZYw3x7hhkOLRHSnEfwT+uItnPq hVx1XnEBzQln9zIB7HFnHZ20HG7M/pO143Iufd09teVmaCPzFVFS4rzCWVVIXOyV tlJZ9YhG25yChBqNDv4XteUDEbbMVLK5YGIyxPzLIQyrUhBwb7JIzKsYYzHwI+GH j/d5Ea7d+U+wmb0xFSvSPk06r1iced2qAxjNk3Jzsgy3haJEluKv5fYcyJnMfri8 usitOkON84OjDxmjbUVa9U4bZKph/suewwqFsPKKbhZBIezb1RnLJpPXoEUm9BgP nEIRgW8Nd/N+yvlvAOiPgVJhiXqkHU3tKZgEeuOmNMkSbBG+IEQ= =dZmJ -----END PGP SIGNATURE----- --=-=-=--