From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#33285: Installing, then removing, a package yields a different profile Date: Mon, 04 Feb 2019 19:02:16 +0100 Message-ID: <877eefsa8n.fsf@gnu.org> References: <8736seyb6d.fsf@gmail.com> <87r2fyz3ik.fsf@gnu.org> <87woppl5zy.fsf@gmail.com> <87sgx4wjlv.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:51059) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gqiaF-0005nZ-Gq for bug-guix@gnu.org; Mon, 04 Feb 2019 13:03:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gqiaE-0005sv-KF for bug-guix@gnu.org; Mon, 04 Feb 2019 13:03:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:60418) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gqiaE-0005sm-Gw for bug-guix@gnu.org; Mon, 04 Feb 2019 13:03:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gqiaE-0003qY-6B for bug-guix@gnu.org; Mon, 04 Feb 2019 13:03:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87sgx4wjlv.fsf@elephly.net> (Ricardo Wurmus's message of "Mon, 04 Feb 2019 00:14:04 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ricardo Wurmus Cc: 33285@debbugs.gnu.org Hello! Ricardo Wurmus skribis: > Note that they differ in the inclusion of /gnu/store/h0905d946s3xarcfakan= 8jnblcdqxs3a-hello-2.10.drv as > a derivation input. > > I guess that the problem might be in =E2=80=9Cprofile-derivation=E2=80=9D= , which defines > =E2=80=9Cinputs=E2=80=9D like this: > > (define inputs > (append (filter-map (lambda (drv) > (and (derivation? drv) > (gexp-input drv))) > extras) > (manifest-inputs manifest))) > > I pk=E2=80=99d at the value returned by manifest-inputs and found this: > > $ guix package -p .guix-profile -i hello > The following package will be installed: > hello 2.10 /gnu/store/md2plii4g5sk66wg9cgwc964l3xwhrm9-hello-2.10 > > > ;;; ((#= :out>)) > 1 package in profile > The following environment variable definitions may be needed: > export PATH=3D".guix-profile/bin${PATH:+:}$PATH" > > $ guix package -p .guix-profile -i coreutils > The following package will be installed: > coreutils 8.30 /gnu/store/xzgfh8kdxilyymi1a8i97b1nci1iybhi-coreutils-8= .30 > > > ;;; ((#:out> #)) Good catch! > Should manifest-inputs distinguish between a package entry and a file > entry and paper over the differences? Actually, to do things correctly, we should really store the .drv in the =E2=80=98manifest=E2=80=99 file. That way, manifest entries would always c= ontains a valid =E2=80=9Clowerable=E2=80=9D object (a package or a derivation record)= , as opposed to a store reference that happens to be valid. I=E2=80=99ll see if I can come up with a patch for this. Thanks, Ludo=E2=80=99.