From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id EP/mJwiixmOAXwEAbAwnHQ (envelope-from ) for ; Tue, 17 Jan 2023 14:26:32 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id UPzCJwiixmMCiQAAauVa8A (envelope-from ) for ; Tue, 17 Jan 2023 14:26:32 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 41CE6113CD for ; Tue, 17 Jan 2023 14:26:32 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pHlyY-0004P5-HB; Tue, 17 Jan 2023 08:26:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHlyV-0004Oc-RR for bug-guix@gnu.org; Tue, 17 Jan 2023 08:26:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pHlyU-0001BW-NH; Tue, 17 Jan 2023 08:26:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pHlyU-0007nu-98; Tue, 17 Jan 2023 08:26:02 -0500 X-Loop: help-debbugs@gnu.org Subject: bug#60879: `guix pull` profile reproducibility issues Resent-From: Lars-Dominik Braun Original-Sender: "Debbugs-submit" Resent-CC: ludo@gnu.org, bug-guix@gnu.org Resent-Date: Tue, 17 Jan 2023 13:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 60879 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 60879@debbugs.gnu.org Cc: ludo@gnu.org X-Debbugs-Original-To: bug-guix@gnu.org X-Debbugs-Original-Xcc: ludo@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167396191729941 (code B ref -1); Tue, 17 Jan 2023 13:26:02 +0000 Received: (at submit) by debbugs.gnu.org; 17 Jan 2023 13:25:17 +0000 Received: from localhost ([127.0.0.1]:36110 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHlxj-0007mq-Ob for submit@debbugs.gnu.org; Tue, 17 Jan 2023 08:25:17 -0500 Received: from lists.gnu.org ([209.51.188.17]:54520) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pHlxe-0007mb-G1 for submit@debbugs.gnu.org; Tue, 17 Jan 2023 08:25:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pHlxR-0004IO-PA for bug-guix@gnu.org; Tue, 17 Jan 2023 08:24:59 -0500 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pHlxP-0000gJ-B2 for bug-guix@gnu.org; Tue, 17 Jan 2023 08:24:57 -0500 Received: by mail-wm1-x331.google.com with SMTP id g10so22228463wmo.1 for ; Tue, 17 Jan 2023 05:24:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leibniz-psychology-org.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:content-disposition:mime-version :message-id:subject:to:from:date:from:to:cc:subject:date:message-id :reply-to; bh=4g3ijwfawOId8t3uZCEBGFzLIodJmlUK5TSM07DO3Mo=; b=P1T2WlOGC1s2LkiUbfZRb67/tSuid80nHQ5YfHGOQqMTgQJe9bswJwi2xT4O4mmnXg ble/do9x48HQ8uyuUjlT9ylak8rNQFrLoG31tu51dVmuvAlAlqRe7zRolkGmeAqabBb3 MDnLziB5WeKlCNrwfC1FXkRS1D2Ho3+RZO7TF5VoOrg+kU+FCF1EOu9dcfhQ5NGbp1nF 0sUjB7L/GtPTEm9vBngjN0/XetCEKB1+Enfj4IhI7yCva8Lg2uUplyC8uMzt1lnoa2pY afy5JYRvPjXzESI/yryH6eydg7xg4q+IFwH3Ut/LVn/K1YmvFAf9+NCPglIDwWUScxk6 OykQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:content-disposition:mime-version :message-id:subject:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4g3ijwfawOId8t3uZCEBGFzLIodJmlUK5TSM07DO3Mo=; b=hBe7JGLZFuVuIzKhkpNg27IKKxH5yc0KX+xRA7DWcuvUqpq2UwYCNPIjrmQlTAlsfe xEzxfCtfAjHcU8Db6+tZwQSvd5kIG8Q7qJ70bt06MLJpBaOPP4AEXNjJADT1JwAfbNhq ElmIuMWBKWHNQk1EUiT1mXc9aXetHpiTatTLMLpFxVJkbMwNknR4TmhJk+eCPYD+4P/R +4FtdNehS4YUiCEY0Sy7tRVyZ6+Xg+acfdQEQtiHYXiJ5mOyRdPYO3jGmlsr7aX055Yb JmBypqgQ4guPGdCfNFvabFmqNH9CyCR45w8Xp+ZqCwnS3T3mBjodyc+ESsW2JIhJM2tN D7lg== X-Gm-Message-State: AFqh2koZiUpJnnbL7OWyjqrLmYQNbgPaPbJM6Gij0LpgIK5bnkIwIIGX cXfi3a50uugSpu0BNUPUfBaKgMQU189GbiZwVCK8o76pMeSONVp289DJQdoEMfuaMvGLUBOowrj LSWvs+oM7id3+sc7eoMsyBfv4F/+oMD+fNFA3tofWrZUYCP/eaC72s9a7xah3Jz2CAScFXUmLaf FU4RkPUic= X-Google-Smtp-Source: AMrXdXuAJhmx3x7oPETVj+HFD7K0jitlHnB+c+LAL0KzASi/6v9byILrKW/v0CBUm+uOllM/HvWbPA== X-Received: by 2002:a05:600c:35d0:b0:3db:c4c:9224 with SMTP id r16-20020a05600c35d000b003db0c4c9224mr1219426wmq.3.1673961891815; Tue, 17 Jan 2023 05:24:51 -0800 (PST) Received: from localhost (opensense.uni-trier.de. [136.199.1.50]) by smtp.gmail.com with ESMTPSA id r126-20020a1c2b84000000b003d35c845cbbsm40654197wmr.21.2023.01.17.05.24.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jan 2023 05:24:51 -0800 (PST) Date: Tue, 17 Jan 2023 14:24:51 +0100 From: Lars-Dominik Braun Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit Received-SPF: none client-ip=2a00:1450:4864:20::331; envelope-from=ldb@leibniz-psychology.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: bug-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1673961992; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=4g3ijwfawOId8t3uZCEBGFzLIodJmlUK5TSM07DO3Mo=; b=tLLJ20AxzOZuaPEWinNNriKbqnnjUOeNO/nsbImudYer7Q8UdME+L6rX6tho07w5xjh4cj 83X7G2bvjhR5LRaQc9WJ/II1eXkMgA6z0zq3S5EOspcLo1M/OmPjEdMtheMMa/ckVbtaYu lOZliHCmR0wqq4ZGjvEUqVSjdYlp8XfncizjJloc7eCVs9l2QfO1RpVAgEq3aZQ2d8Tmfs VJrPxTcUpn6U2DayOhRyifUgz2NlVWgIA84Vk64BvuaqoHNnVBC9Om33Np2iseAsTjp0QE J7SxCTgKC1kJQVu7yg00nIL9o/K6/NchpfeGcYPd3vMZojV93wVez77x6cLd7g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=leibniz-psychology-org.20210112.gappssmtp.com header.s=20210112 header.b=P1T2WlOG; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1673961992; a=rsa-sha256; cv=none; b=SPqf5K4poq6qgJRPTTC8S/pLzzRjUsBKj5lZfO+0bFaXzBu4O/INBxtoAATGWI8hbJ0753 mCYwhYpb6myqvIUHuRbea6vbd1bS1l6Mm44DwB37LePNeMESPb4kL7NYEn0TURVexQhpKO G5hdyKRMM+nrlsPC6A/GGJGrNWBrSz5GWvxGsQvAfznpuos0ELON5tq7hkFvYSgeCGdrA0 hzIYAfJXfq6UGMSI0f1hpdrDLthVJR4TqCVQVzIjJMtIDkP4s3lJccEADpaU+I7G343Vug dWiRl8ncgd0EuZHX0FkztFC/AZcZIg2rRcMjYQp8F0aniVSKyjtqlyaCCz4MnA== X-Migadu-Scanner: scn0.migadu.com X-Migadu-Spam-Score: 0.87 X-Spam-Score: 0.87 X-Migadu-Queue-Id: 41CE6113CD Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=leibniz-psychology-org.20210112.gappssmtp.com header.s=20210112 header.b=P1T2WlOG; spf=pass (aspmx1.migadu.com: domain of "bug-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="bug-guix-bounces+larch=yhetil.org@gnu.org"; dmarc=none X-TUID: slChnwvkL6Vy Hi, here at ZPID we “cache” Guix pull profiles (via `guix pull -p`) in project directories, which can be shared between users. I’ve been trying to ensure that a given Guix pull profile corresponds to a given channels.scm file, i.e. it has not been tampered with, because calls to the Guix binary currently run outside of the project sandbox (`guix shell -C`). Doing so I discovered two reproducibility issues: 1) `guix pull` and `guix time-machine` currently do not produce the same Guix profile, even with exactly the same channels.scm file. Unfortunately time-machine does not print the profile path anywhere, but this can be reproduced implicitly by looking at the output of cached-channel-instance, which the time-machine uses. Looking at `guix describe` vs `guix time-machine -C channels.scm -- describe` reveals a reversed channel order. Thus channel order matters when using a channels.scm, when it really should not. 2) `guix pull` seems to depend on the host `guix` and produces different profile paths depending on which `guix` command was used to pull. In the following example `guix` is at commit f094c3831f382b7299a2aaa04d85f4b27320e9ec and we’re pulling commit 5fd9d3ba82faddf8393027655d4a10a1562dac47 through the attached channels.scm. These commits were selected carefully, because the problem is more likely for older commits pulled from newer commits. $ guix pull -C channels.scm -p guix-level1 $ ./guix-level1/bin/guix pull -C channels.scm -p guix-level2 $ readlink -f guix-level1 /gnu/store/3fr7rlx9hm29a5c0mh0lnxpqg8prfvw7-profile $ readlink -f guix-level2 /gnu/store/4gyv6m8v47f6wpmrq86iy6wgvivm2sh8-profile $ diffoscope guix-level1 guix-level2 […] │ │ --- guix-level1/etc/profile │ ├── +++ guix-level2/etc/profile │ │ @@ -4,8 +4,8 @@ │ │ # │ │ # GUIX_PROFILE=/path/to/profile ; \ │ │ # source /path/to/profile/etc/profile │ │ # │ │ # When GUIX_PROFILE is undefined, the various environment variables refer │ │ # to this specific profile generation. │ │ │ │ +export PATH="${GUIX_PROFILE:-/gnu/store/4gyv6m8v47f6wpmrq86iy6wgvivm2sh8-profile}/bin${PATH:+:}$PATH" │ │ -export PATH="${GUIX_PROFILE:-/gnu/store/3fr7rlx9hm29a5c0mh0lnxpqg8prfvw7-profile}/bin${PATH:+:}$PATH" The only visible difference is the adjusted PATH, which means there actually is no difference. Pulling again from level2 results in the same profile as level2, so clearly something is leaking from our original `guix` into level1. The .drv files for both reveal that fonts-dir.drv is different, because mkfontdir and mkfontscale differ. These are part of the profile generation code, which apparently comes from the host Guix, when the newly built Guix should be used. Cheers, Lars -- Lars-Dominik Braun Wissenschaftlicher Mitarbeiter/Research Associate www.leibniz-psychology.org ZPID - Leibniz-Institut für Psychologie / ZPID - Leibniz Institute for Psychology Universitätsring 15 D-54296 Trier - Germany Tel.: +49–651–201-4964