From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: How to reference external program used in shell-scripts? Date: Tue, 03 Sep 2019 12:27:07 +0200 Message-ID: <87ef0xhdz8.fsf@elephly.net> References: <72f51f57-3d1a-15f3-458b-cf036841c15a@crazy-compilers.com> <87pnlfww2k.fsf@elephly.net> <87d0hewwfu.fsf@elephly.net> <670e61cd-d3e3-6a91-0773-715d19f5052a@crazy-compilers.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:45930) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i56HV-0000iW-RP for guix-devel@gnu.org; Tue, 03 Sep 2019 06:43:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i56HU-00017E-Kg for guix-devel@gnu.org; Tue, 03 Sep 2019 06:43:25 -0400 Received: from sender-of-o51.zoho.com ([135.84.80.216]:21213) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i56HU-00013c-5Y for guix-devel@gnu.org; Tue, 03 Sep 2019 06:43:24 -0400 In-reply-to: <670e61cd-d3e3-6a91-0773-715d19f5052a@crazy-compilers.com> 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@gnu.org Hi Hartmut, > Am 09.08.19 um 10:54 schrieb Ricardo Wurmus: >> Whenever an input is changed the package will be rebuilt, because we >> can=E2=80=99t know if the presence of a package will affect the build or= not. >> >> In the case of patching references the presence of the input *will* >> affect the output (as a reference to the absolute file name will be >> recorded). In the case of propagated inputs it=E2=80=99s really the sam= e, >> expect that the package will also be installed into the target profile. > > My concerns are not about building, but about installing. A concrete > example: > > * Ansible is a Python program running ssh via a path to > /gnu/store/=E2=80=A6-openssh-8.0p1/bin/ssh > * Mary installs ansible. > * Now openssh shows a serious bug and Mary updates openssh using "guix > -u openssh" This is generally not a good idea, because this problem doesn=E2=80=99t only affect dependent executables but all libraries as well. Selective upgrading means that not-upgraded packages will generally not benefit from fixes. This can range from libraries for extra features to really fundamental functionality in glibc. One could say now that the way around this problem in general would be =E2= =80=A6 to use a single global namespace for all libraries and all applications =E2=80=94 and this is how we would lose most of the advantages of Guix. -- Ricardo