X-Loop: help-debbugs@HIDDEN Subject: [bug#78378] [PATCH 0/2] home: services: Build "files" union allowing dangling symlinks. Resent-From: Sergey Trofimov <sarg@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: andrew@HIDDEN, hako@HIDDEN, janneke@HIDDEN, ludo@HIDDEN, tanguy@HIDDEN, guix-patches@HIDDEN Resent-Date: Sun, 11 May 2025 16:02:02 +0000 Resent-Message-ID: <handler.78378.B.174697927317900 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 78378 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 78378 <at> debbugs.gnu.org Cc: Sergey Trofimov <sarg@HIDDEN>, Andrew Tropin <andrew@HIDDEN>, Hilton Chain <hako@HIDDEN>, Janneke Nieuwenhuizen <janneke@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Tanguy Le Carrour <tanguy@HIDDEN> X-Debbugs-Original-To: guix-patches@HIDDEN X-Debbugs-Original-Xcc: Andrew Tropin <andrew@HIDDEN>, Hilton Chain <hako@HIDDEN>, Janneke Nieuwenhuizen <janneke@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Tanguy Le Carrour <tanguy@HIDDEN> Received: via spool by submit <at> debbugs.gnu.org id=B.174697927317900 (code B ref -1); Sun, 11 May 2025 16:02:02 +0000 Received: (at submit) by debbugs.gnu.org; 11 May 2025 16:01:13 +0000 Received: from localhost ([127.0.0.1]:38389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uE973-0004ed-2f for submit <at> debbugs.gnu.org; Sun, 11 May 2025 12:01:13 -0400 Received: from lists.gnu.org ([2001:470:142::17]:45124) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <sarg@HIDDEN>) id 1uE96z-0004e4-Fh for submit <at> debbugs.gnu.org; Sun, 11 May 2025 12:01:11 -0400 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 <sarg@HIDDEN>) id 1uE96p-0006PA-K8 for guix-patches@HIDDEN; Sun, 11 May 2025 12:01:00 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <sarg@HIDDEN>) id 1uE96n-0006RK-Pj for guix-patches@HIDDEN; Sun, 11 May 2025 12:00:59 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a1f5d2d91eso1778945f8f.1 for <guix-patches@HIDDEN>; Sun, 11 May 2025 09:00:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sarg.org.ru; s=google; t=1746979254; x=1747584054; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=8qgO2G0X0NesHalB84kPF9tpCB5tx4Uf2fYgITSpWDM=; b=PBDISLq8kxF9QWMwWFr94hhBv/8vEVj3Tj61vDQrG5WTSXpWvuoXfABDJ0Vinvi4PY +gB+Fd1BUZdxmZD/ijm9MGpG3d0Gzvp1LhpFYKEbGdvjWVFdbeMwMvRmcqXKHf7qlMNz ao66y2o5jI8+GceUEYHbQDFW4NLkawEQiGYeCNrN7fuhzPfuDpAdbIyEdlsWO/C4Qd6R 3y8PAs3LJ1KEBLgwb5aX6Eo8+mnpkyXpVSQOCj64a8+Vzi0XHallSF/IWMSUtbaQtw6p GK8W2Z1H+T6aCG1Gi6wdNeD3I2ixNjYRfJF+7kzxlGY16/ZqvyiRQ5alTjqoXyS4tC6c D5rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746979254; x=1747584054; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8qgO2G0X0NesHalB84kPF9tpCB5tx4Uf2fYgITSpWDM=; b=RcmxRu1gnrYg8T2NauxyE+0YGqwTwiw3M33sX83AFRcc1JXUUFX21wvaLHl6cyBInL Vt7C7pyDmvf08XUpq9sD7YEDxJzCqETn4/T/hAWAhBVB52MvkzaaIS29dIFmCgw6P+r2 8745Ksnw1WS8aEKdykPv/JSEogr9WgPr+GQraEaiLYjFScnz9bdFoTKkr+La7/XSwGCa kQ8MkVouhnA2PXMYiZSux1cSDgwPXiZ2FXmXzZGLOSDuB+f0MOG5WGD5E7Pk7vLTslka oxuBo4HfY21yVjVdmUILMll3wcZtIPCexENs30V6RFP9CLlO8x5/W2Ip4QluZyniIGx0 0bWQ== X-Gm-Message-State: AOJu0YxqKPUprFB5RJFnD2xcC197Bmk7vs2i52EYEbzHVx4y6kcWY5sy T9XB91i3OjVy8yi7lRJhGUL7YzOCVisf90i8UgUJjdThi/lAH1EvSo4rggbluxka/nldvtJXLUp tpQo= X-Gm-Gg: ASbGncusTxYbjjsgVWJ6FHYCSv94MecS9cgvRkoVFwmh5xgYhWRqg3eNr1t+0znR8Cy 9PE85eoUhbRmXlQuMSWn6nDNsKg0795ab0sMRi07VeaYNU/+weuFn7ZlsbJC4fPKTMwFJs++OTl mBZh3edp1EfPRqnKnqNYrXfr5u0s/SG5cSf7ahHsU5wJPupnl3uidkyMwaQn7tWHbuIgrGQ7zBl HqmCRa6hn6OwjVk57AOiEMHQ+JOfFjpr7G1495UogZGxXCRHooI5j+lyNgbgyppTAapLB44aQ3j zwzrFoCfkD4xi1hV+936R22tXvENRh2jc7w50XVTqwOzxsOM X-Google-Smtp-Source: AGHT+IEFagRRqYepS9ZTuq6+50PYKI6uRIocKtz4BKPhnVjd3HwIf0/iVLHbbHp4pbktbp1Xs0f1xg== X-Received: by 2002:a05:6000:1a86:b0:3a2:1d3:defb with SMTP id ffacd0b85a97d-3a201d3e04emr2822622f8f.36.1746979254373; Sun, 11 May 2025 09:00:54 -0700 (PDT) Received: from localhost ([2a02:2454:a095:5600:a64e:31ff:fe38:fd6c]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a1f57de0ddsm9471542f8f.7.2025.05.11.09.00.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 May 2025 09:00:53 -0700 (PDT) From: Sergey Trofimov <sarg@HIDDEN> Date: Sun, 11 May 2025 18:00:50 +0200 Message-ID: <cover.1746978699.git.sarg@HIDDEN> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=sarg@HIDDEN; helo=mail-wr1-x436.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) This patch enables guix home users to create arbitrary symlinks in their home environment. I.e. a user having "/storage" directory (probably residing on another disk partition) could symlink e.g. "~/.mail" from "/storage/data/mail". Sergey Trofimov (2): gexp: Add symlink-to procedure. home: services: Build "files" union allowing dangling symlinks. doc/guix.texi | 11 +++++++++++ gnu/home/services.scm | 16 +++++++++++++++- guix/gexp.scm | 5 +++++ tests/guix-home.sh | 8 +++++++- 4 files changed, 38 insertions(+), 2 deletions(-) base-commit: f6363db18636172f959e2709982bbe09b411c3d8 -- 2.49.0
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Sergey Trofimov <sarg@HIDDEN> Subject: bug#78378: Acknowledgement ([PATCH 0/2] home: services: Build "files" union allowing dangling symlinks.) Message-ID: <handler.78378.B.174697927317900.ack <at> debbugs.gnu.org> References: <cover.1746978699.git.sarg@HIDDEN> X-Gnu-PR-Message: ack 78378 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 78378 <at> debbugs.gnu.org Date: Sun, 11 May 2025 16:02:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. As you requested using X-Debbugs-CC, your message was also forwarded to Andrew Tropin <andrew@HIDDEN>, Hilton Chain <hako@HIDDEN>, Jann= eke Nieuwenhuizen <janneke@HIDDEN>, Ludovic Court=C3=A8s <ludo@HIDDEN>, T= anguy Le Carrour <tanguy@HIDDEN> (after having been given a bug report number, if it did not have one). Your message has been sent to the package maintainer(s): guix-patches@HIDDEN If you wish to submit further information on this problem, please send it to 78378 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 78378: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78378 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: [bug#78378] [PATCH 1/2] gexp: Add symlink-to procedure. Resent-From: Sergey Trofimov <sarg@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix@HIDDEN, gabriel@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, maxim.cournoyer@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, guix-patches@HIDDEN Resent-Date: Sun, 11 May 2025 16:10:02 +0000 Resent-Message-ID: <handler.78378.B78378.174697975220748 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 78378 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 78378 <at> debbugs.gnu.org Cc: Sergey Trofimov <sarg@HIDDEN>, Christopher Baines <guix@HIDDEN>, Gabriel Wicki <gabriel@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-Xcc: Christopher Baines <guix@HIDDEN>, Gabriel Wicki <gabriel@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by 78378-submit <at> debbugs.gnu.org id=B78378.174697975220748 (code B ref 78378); Sun, 11 May 2025 16:10:02 +0000 Received: (at 78378) by debbugs.gnu.org; 11 May 2025 16:09:12 +0000 Received: from localhost ([127.0.0.1]:38553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uE9El-0005OP-98 for submit <at> debbugs.gnu.org; Sun, 11 May 2025 12:09:12 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:48525) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sarg@HIDDEN>) id 1uE9Eg-0005NZ-QK for 78378 <at> debbugs.gnu.org; Sun, 11 May 2025 12:09:08 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a1d8c09674so1641534f8f.1 for <78378 <at> debbugs.gnu.org>; Sun, 11 May 2025 09:09:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sarg.org.ru; s=google; t=1746979740; x=1747584540; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Ax91e9t/AlSRpm4kQJtUIFhEfbclQC5FYEIaAlzqJT4=; b=PNEW0NjIjmiQDhaLEuy8w+Uy9NsC0ls2KYrpDoYZVxTQU+KDLpsuVjQ3k7RMH+elLt 8jXEIWrfh4RL4gXq2qIeoYbr+BHU5qySC33KGoSXwlOlE336Gbh7AmzHrpan5ODjsOxg ocp6zL54sfttROP0o5kWiUOdT0PZZ4ewnmlM2ik+XfYlk45cfzEQ4Wp9gawZDGIH/I5B KYL8eBedku4gCLEIi8OCdkIPuzcUua9bN2RWZURh4E4l6VX6oDqXnTViz7AV+WTa8/U5 AqeoKTwsLUjx/PQa9FX5ZyDBnRYfiRpfIxMns7m5ECdvSBkjm8tMWsf0xkjfA5TmQ5My ndVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746979740; x=1747584540; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ax91e9t/AlSRpm4kQJtUIFhEfbclQC5FYEIaAlzqJT4=; b=PWKvQgdE7SIPENDMMMzmfqMAM/Q3J3gzXH1hwP3YgYeBuEq50DKip4/FmLLg9ZVVNV BY61ikTzAzPJSPKL6HM3CM1UZF5VkETVV6pCr+gaq6J0XKNMaRhE2ips53+ovPS5/G7a 5WsQXiYZj8KgzYFlO7zOQKBXrJUeMYKsRYlUxQ0Ir8EGQRrWqyGNruEhx0MQPPwReRjT bXLMA+zpPaxGJEeJeaBJ86ug1I8M7HsTTwHkKNlbcfYYsbtHYKmEu8H6sO/BUg/vv794 YJsYukeaYvsN3PXtivtyTvBPPTxfyBryJZ94pBj31q3XW2RPRE1gQcAbnXoxypJ69Ozp NrsQ== X-Gm-Message-State: AOJu0YwW31VIaJQncDH6nHD22mU/AKwhHzeg5pijfbaKJN4UnfdoWi3D 5lx3D+i+S3NS+3RFs/CY1f/jUdHXW01BzYG1IrlDcZkZYw/UwEkL4y6pYuOI6whDEvKjQmQONmM OOmF0Vg== X-Gm-Gg: ASbGncuPwP9FUbGjek9Wrmf0xJxVgzm9994lJTBrqNolgG1VAPneu7AEEuOpFjr91MO IE077ha+MApmFwSuIV2K1T2VBoJaPLCw0l+xC9G6OiB7q58GO6kVWEE4ndQFD29pW49pgek4E9+ Mb5hWxh6rP2C2pNGiT7+y3zStXZbRxOnRronZD/IQ9qRLWb0Z3Rbb8FEYxJh7FHF10oXAzoCWX8 RGigkr7u0DWurx24Z214mIdlv3dr1oPJJfnWZZvYoGUDUD6Oo/4IMEeIBTV8W0SL7eMikZV5g/W dL+OzzXnsxCFFDhbzN5ST8vt2Lqg+ET3CdU7YgI5XE/BlS5N X-Google-Smtp-Source: AGHT+IGiKkAKdxjdRVasiBL2x+RmopYZceJWT8AQHYlPc0kixeFtXAgl5kg5cFvTJLlbyFxbgSECZQ== X-Received: by 2002:a05:6000:4287:b0:3a0:b635:ea40 with SMTP id ffacd0b85a97d-3a1f64a3e3dmr9042241f8f.55.1746979740134; Sun, 11 May 2025 09:09:00 -0700 (PDT) Received: from localhost ([2a02:2454:a095:5600:a64e:31ff:fe38:fd6c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442cd32f194sm140218445e9.10.2025.05.11.09.08.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 May 2025 09:08:59 -0700 (PDT) From: Sergey Trofimov <sarg@HIDDEN> Date: Sun, 11 May 2025 18:08:02 +0200 Message-ID: <043c83e23cd42da9c61d0e4f5bf5fb7299332a49.1746978699.git.sarg@HIDDEN> X-Mailer: git-send-email 2.49.0 In-Reply-To: <cover.1746978699.git.sarg@HIDDEN> References: <cover.1746978699.git.sarg@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * guix/gexp.scm (symlink-to): New procedure. * doc/guix.texi (G-Expressions): Document it. Change-Id: I7c1ba3a29a4e5350cb4f196185b7171c4750b6b8 --- doc/guix.texi | 11 +++++++++++ guix/gexp.scm | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index cbc4dd0fc9..ebc8a5e5d3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12689,6 +12689,17 @@ G-Expressions This yields an @code{etc} directory containing these two files. @end deffn +@deffn {Procedure} symlink-to target +Return a @code{<computed-file>} that is a symbolic link to target. +Note, that the target does not need to exist at the build time. One of +uses is to put arbitrary symlinks into user's home: + +@lisp +(service home-files-service-type + `(("Sync" ,(symlink-to "/storage/Sync")))) +@end lisp +@end deffn + @deffn {Procedure} directory-union name things Return a directory that is the union of @var{things}, where @var{things} is a list of file-like objects denoting directories. For example: diff --git a/guix/gexp.scm b/guix/gexp.scm index 8dd746eee0..ef83c671ec 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -119,6 +119,7 @@ (define-module (guix gexp) file-union directory-union references-file + symlink-to imported-files imported-modules @@ -2181,6 +2182,10 @@ (define* (file-union name files #:key guile) files))))) #:guile guile)) +(define (symlink-to target) + "Return an object that is a symlink to TARGET." + (computed-file "link" (gexp (symlink (ungexp target) (ungexp output))))) + (define* (directory-union name things #:key (copy? #f) (quiet? #f) (resolve-collision 'resolve-collision/default)) -- 2.49.0
X-Loop: help-debbugs@HIDDEN Subject: [bug#78378] [PATCH 2/2] home: services: Build "files" union allowing dangling symlinks. Resent-From: Sergey Trofimov <sarg@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: andrew@HIDDEN, hako@HIDDEN, janneke@HIDDEN, ludo@HIDDEN, tanguy@HIDDEN, guix-patches@HIDDEN Resent-Date: Sun, 11 May 2025 16:10:02 +0000 Resent-Message-ID: <handler.78378.B78378.174697975320764 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 78378 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 78378 <at> debbugs.gnu.org Cc: Sergey Trofimov <sarg@HIDDEN>, Andrew Tropin <andrew@HIDDEN>, Hilton Chain <hako@HIDDEN>, Janneke Nieuwenhuizen <janneke@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Tanguy Le Carrour <tanguy@HIDDEN> X-Debbugs-Original-Xcc: Andrew Tropin <andrew@HIDDEN>, Hilton Chain <hako@HIDDEN>, Janneke Nieuwenhuizen <janneke@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Tanguy Le Carrour <tanguy@HIDDEN> Received: via spool by 78378-submit <at> debbugs.gnu.org id=B78378.174697975320764 (code B ref 78378); Sun, 11 May 2025 16:10:02 +0000 Received: (at 78378) by debbugs.gnu.org; 11 May 2025 16:09:13 +0000 Received: from localhost ([127.0.0.1]:38555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uE9Em-0005Oa-67 for submit <at> debbugs.gnu.org; Sun, 11 May 2025 12:09:13 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:51655) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <sarg@HIDDEN>) id 1uE9Ei-0005Nu-Ad for 78378 <at> debbugs.gnu.org; Sun, 11 May 2025 12:09:09 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-43d04ea9d9aso19087125e9.3 for <78378 <at> debbugs.gnu.org>; Sun, 11 May 2025 09:09:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sarg.org.ru; s=google; t=1746979742; x=1747584542; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mdskQKIIoSminOuv9j+kfMd2WgDop1LivqG6bQ6o550=; b=SQrkKsyWzFoy4i1DyGcQGHybUxEYPIfT2JUtMpBvZBop5eJPUMaT+h4u9bkSHCsiIN ZoihmRbYQju0VOZkfA2i3f622IoQ6deg/SQd0nXaDiwfKJnx3EPMOyJhb+m/CtZ0C4+N B59zzQHjm8UJC82UzW3QMc9OaoZluRZxK0HDsbQ+ZQl0pDhIqQHhVG+Vcbfxb81ibuYf V/rT0mQ4BWJC1oK1uMTYhmP7uA51/DU1NXhVVgPngLGu3/VXrUj2G+8syxfzfd2RZzXB SEt19jvwtcSk+qFDAWZEZlxmFe7NOLoAPdO3R+CoVj7xHhdhVRsQrhbavgH5p1L6ERvl p9dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746979742; x=1747584542; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mdskQKIIoSminOuv9j+kfMd2WgDop1LivqG6bQ6o550=; b=OvfEbVeRUhb9yUKuE4eUEGNdnG5PK0CvILJeJvxAWwXdAq4SFtCegVBAowWkNbkLdW XrEqw1myhmzmbiIiWXDFWs0oCHsOpouh937K4J5rhYTsQyXq/bBm2EZQHGq9teci4HRi dsr3yDMnsEYQy+1OCqz5vDVVrN/qyhZaQNU9gzOfn6S9llB7ow1DgYuY1sDPrKTp/cSk EoOyD7zd4e/u/m/6YUb2tLnXuftbid/7BlaAvIqCV4exj9VEfBS7yYhG1+wA7JOTOhMm zryhQh4BSYbdYM6laPMe4L5wT7h3mTeJaRU6enqBDWTwBlREw1cQbIetC11cS7qzIRQf onZw== X-Gm-Message-State: AOJu0YwqcjdQs6rP34bBucHNvBk8DL/Ddgnr3WtbQoV2Ll/FigslFMuu P/zvs/OiAkQASv0OZx1FgZ3STd80Uq4FdoY1IjfI4khzVuhJtzYo2pOgvCMytZlENCILNVkt8XI sBlpVIQ== X-Gm-Gg: ASbGncth+q4svgGCTbOusmNR5nmGDE93EHtrtqUTH7aXpyRBijWThdFrh7EbJgQZBhX P2hWaBAtdTjErASpzM84vaXPIBsvEcJRS2J//YqCQXINoGHDqObfl4zV3nJBygn3jJBxquqdtSi XP5C39BZuORNAszGuP/Iyor6Nfs2D8SjNlmdCPWbleR1nzW/Z4N+rL4QofM+E+pulhD1gNzHrV2 U0i0DDq5+oPDhbtcILeHl8tQgTrFExjmCRkdXzaIWoVuzlqtc1NkwgLMWG+6gwVLqzbIVaZN1Do 73AldYWdIiiK+EtT1GyzO3vu58aBKEEz7SmG5yUMjCI6YnDT X-Google-Smtp-Source: AGHT+IGa688OqUTDDFypz+B7z04KPq6idA5Gj7aPH6hmUXC6xmgzRQ5DTkWQHrZgmx1wftOZlsaPWQ== X-Received: by 2002:a05:600c:4e45:b0:43d:46de:b0eb with SMTP id 5b1f17b1804b1-442d6d44814mr90075195e9.12.1746979741757; Sun, 11 May 2025 09:09:01 -0700 (PDT) Received: from localhost ([2a02:2454:a095:5600:a64e:31ff:fe38:fd6c]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442d687bdc0sm95318115e9.39.2025.05.11.09.09.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 May 2025 09:09:01 -0700 (PDT) From: Sergey Trofimov <sarg@HIDDEN> Date: Sun, 11 May 2025 18:08:03 +0200 Message-ID: <f959dc4db01cc2aec47affa7e9d389368217c7f8.1746979727.git.sarg@HIDDEN> X-Mailer: git-send-email 2.49.0 In-Reply-To: <cover.1746979727.git.sarg@HIDDEN> References: <cover.1746979727.git.sarg@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/home/services.scm (files->files-directory): Build file union without checking for existence of included items. * tests/guix-home.sh: Verify symlinking files out of store works. Change-Id: I94054003f4a6be944252ce7a397cf56f0b979554 --- gnu/home/services.scm | 16 +++++++++++++++- tests/guix-home.sh | 8 +++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/gnu/home/services.scm b/gnu/home/services.scm index 2342dc5e07..55f9365922 100644 --- a/gnu/home/services.scm +++ b/gnu/home/services.scm @@ -343,7 +343,21 @@ (define (files->files-directory files) ;; leading to a build failure of "files.drv". (assert-no-duplicates files) - (file-union "files" files)) + ;; Compute the file-union allowing dangling symlinks + ;; This enables creating symlinks to locations out of store + (computed-file + "files" + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (ice-9 match)) + (mkdir #$output) + (chdir #$output) + (for-each (match-lambda + ((target source) + (mkdir-p (dirname target)) + (symlink source target))) + '#$files))))) ;; Used by symlink-manager (define home-files-directory "files") diff --git a/tests/guix-home.sh b/tests/guix-home.sh index dbfe7dbd48..b8d90196f1 100644 --- a/tests/guix-home.sh +++ b/tests/guix-home.sh @@ -73,7 +73,9 @@ trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT (list `(".config/test.conf" ,(plain-file "tmp-file.txt" - "the content of ~/.config/test.conf")))) + "the content of ~/.config/test.conf")) + + `("symlink" ,(symlink-to "<test_directory>")))) (service home-bash-service-type (home-bash-configuration @@ -104,6 +106,7 @@ trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT "# the content of bashrc-test-config.sh")))))))) EOF + sed -i "s,<test_directory>,$test_directory," home.scm echo -n "# dot-bashrc test file for guix home" > "dot-bashrc" # Check whether the graph commands work as expected. @@ -126,6 +129,7 @@ EOF guix home container home.scm -- cat '~/.config/test.conf' | \ grep "the content of" guix home container home.scm -- test -h '~/.bashrc' + guix home container home.scm -- test -h '~/symlink' test "$(guix home container home.scm -- id -u)" = 1000 guix home container home.scm -- test -f '$HOME/sample/home.scm' && false guix home container home.scm --expose="$PWD=$HOME/sample" -- \ @@ -153,6 +157,8 @@ EOF test -d "${HOME}/.guix-home" test -h "${HOME}/.bash_profile" test -h "${HOME}/.bashrc" + test -h "${HOME}/symlink" + test "$(readlink -f $HOME/symlink)" == "$test_directory" grep 'alias run="guix shell"' "$HOME/.bashrc" grep "alias path='echo \$PATH'" "$HOME/.bashrc" test "$(tail -n 2 "${HOME}/.bashrc")" == "\ -- 2.49.0
X-Loop: help-debbugs@HIDDEN Subject: [bug#78378] [PATCH 1/2] gexp: Add symlink-to procedure. Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Mon, 12 May 2025 07:50:02 +0000 Resent-Message-ID: <handler.78378.B78378.17470361611015 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 78378 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Sergey Trofimov <sarg@HIDDEN> Cc: Josselin Poiret <dev@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Gabriel Wicki <gabriel@HIDDEN>, 78378 <at> debbugs.gnu.org, Christopher Baines <guix@HIDDEN> Received: via spool by 78378-submit <at> debbugs.gnu.org id=B78378.17470361611015 (code B ref 78378); Mon, 12 May 2025 07:50:02 +0000 Received: (at 78378) by debbugs.gnu.org; 12 May 2025 07:49:21 +0000 Received: from localhost ([127.0.0.1]:49735 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uENub-0000GG-Al for submit <at> debbugs.gnu.org; Mon, 12 May 2025 03:49:21 -0400 Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]:46184) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>) id 1uENuY-0000Fu-JR for 78378 <at> debbugs.gnu.org; Mon, 12 May 2025 03:49:19 -0400 Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-739b3fe7ce8so3643116b3a.0 for <78378 <at> debbugs.gnu.org>; Mon, 12 May 2025 00:49:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747036152; x=1747640952; darn=debbugs.gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=NM5jAhpmBG+OggdSqRJZhaa+xX6F0Qaia9zBKlgVjQs=; b=DWXzbTv+6CbKRSr4Catj2JGwKAVo/LWogruVsp5ZTR6LeQoA+h6s7U8BZQ9ujvXVs6 loKkRRP+IB2DJUO01Z3gSzuXeLWI5aWmv3DcFyZQtmupA/Ynh+a3x9U+IhDOeynzH+c5 +XF9uHOtZHK1ye2ZdDHetmlBw8utwO9DQL1QJ+kGj1ZEbFxD6lDEi0s/ayIfk54K9V0G tMJSbYNC0vRa41TKX/gDtimmghCDi86Wl8fooDCq1HfClUeg7H4Ar1XAzsAasQG68Svh 3ITOKe+vF+PZBkcu8h5kzGJz61kMn8gFwHa7vNaqdx/ao52wBAJ5yP4l2ERZUMeE5rZK ZEEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747036152; x=1747640952; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NM5jAhpmBG+OggdSqRJZhaa+xX6F0Qaia9zBKlgVjQs=; b=uWcp5NeY3hMUpzmt4V6t9AiWB1bdwCqFZWKwlPAYttHZRMi3+VLLs470J+tBKUU4wp 5zPnQcXHYL9e8idzv8EH+1tUoZ2U/+Ma6HKfrQboGVtLR9uWyskGlaA0Y2chmvMB/10v Dqilv9Bi/SIwIq+iYrvD11/YqGb1h2Q7mxmhr80hIbZp2aGcGGziwvgRS50/KkMyD0VV 4ksJfktYaRBDlxrI/4myRFSBJt/5xyHPAd6kJfJH5qKTxgsPzGZW+VYUnlu5q0p391mu x09MXbmYBhacojiSd4fXRqJ3PqOGM8RL/XMmD8IYkRefcxK9gics/VGhETxE2wvnoq+Z wYFg== X-Gm-Message-State: AOJu0Yx4eDKNT1SeGt3IpVBO+VJutl8q21sAy8E8jXNBFoWn6FgKhYOl zHGyEMnHoUZFRHC9hP7mYNJrchNh6YdZf+lT3lNhR42gJ7Uke/57 X-Gm-Gg: ASbGncu2MkQm1ws6WETGIqyHuep04Wlp9/8yVbWjsoAV2+XMT+W4iKVww17B3Xhde89 PWifDL85uUMgAJwKXIYVyayr4uel0tLCgKrpKtK7tlm8vNAmYbUDFR5pDBmL8o7U/8f/O0Ecrz+ O6k1os+/jZa6EVAQIkNEh1URTEEgIPZtymDJDguvqfx/ClGiVoZG37RxJzlnkQHGNINez6rpki+ kmPBt5AF4bxodUR40chTAUMcqfzJex8G0qXxV8QrT5pm4mmwGl6S7ebXHZQwbFX/d9h11tf7jmI gU6Cwe0g1QtsOoJ55YohAqhoXLg1M/OkAco3mMebbviD1TgGQA== X-Google-Smtp-Source: AGHT+IFfFRZmVBq9xWy4JT7AvERzTC37zLv0W5fxz0ehTW0rgq6czK0vyH27QyvOqPlRgMDbrrAOmg== X-Received: by 2002:a17:90b:1a88:b0:2ff:5a9d:937f with SMTP id 98e67ed59e1d1-30c3d62db46mr19051174a91.24.1747036152169; Mon, 12 May 2025 00:49:12 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b234ad4205dsm4982123a12.44.2025.05.12.00.49.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 May 2025 00:49:11 -0700 (PDT) From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> In-Reply-To: <043c83e23cd42da9c61d0e4f5bf5fb7299332a49.1746978699.git.sarg@HIDDEN> (Sergey Trofimov's message of "Sun, 11 May 2025 18:08:02 +0200") References: <cover.1746978699.git.sarg@HIDDEN> <043c83e23cd42da9c61d0e4f5bf5fb7299332a49.1746978699.git.sarg@HIDDEN> Date: Mon, 12 May 2025 16:49:08 +0900 Message-ID: <87o6vyqnez.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Sergey Trofimov <sarg@HIDDEN> writes: > * guix/gexp.scm (symlink-to): New procedure. > * doc/guix.texi (G-Expressions): Document it. > > Change-Id: I7c1ba3a29a4e5350cb4f196185b7171c4750b6b8 Reviewed-by: Maxim Cournoyer <maxim.cournoyer@HIDDEN> -- Thanks, Maxim
X-Loop: help-debbugs@HIDDEN Subject: [bug#78378] [PATCH 2/2] home: services: Build "files" union allowing dangling symlinks. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sun, 18 May 2025 21:04:03 +0000 Resent-Message-ID: <handler.78378.B78378.174760221529191 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 78378 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Sergey Trofimov <sarg@HIDDEN> Cc: Hilton Chain <hako@HIDDEN>, Janneke Nieuwenhuizen <janneke@HIDDEN>, Tanguy Le Carrour <tanguy@HIDDEN>, 78378 <at> debbugs.gnu.org, Andrew Tropin <andrew@HIDDEN> Received: via spool by 78378-submit <at> debbugs.gnu.org id=B78378.174760221529191 (code B ref 78378); Sun, 18 May 2025 21:04:03 +0000 Received: (at 78378) by debbugs.gnu.org; 18 May 2025 21:03:35 +0000 Received: from localhost ([127.0.0.1]:60967 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uGlAU-0007al-Hk for submit <at> debbugs.gnu.org; Sun, 18 May 2025 17:03:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51774) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1uGlAD-0007Yy-Nc for 78378 <at> debbugs.gnu.org; Sun, 18 May 2025 17:03:18 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1uGlA6-0002Jl-44; Sun, 18 May 2025 17:03:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=sTOdH4RywLY1quPG8dXyBGoS8Qd1+RC5ui2AIXkA1hQ=; b=rzhXhkkIboijnmsXz2HY WFREPDnf3fB7CCuwuHAvWq5Vg4ga6ADE5kkayPrg31WXQGv6+uvr+tA8+lpzznRFavOaLevx0jG65 L+2rXqZeMDtjimvRepFFO2W3DMGXjB4kUTfEcD5JJ4DI7Uiu9yfiV2c+GGJmuZ3mjEMyP87ZpOEWM uCgSyAyX18hpyyZv7Xa2oEGExJ9uHBq/o/WLJeTfr+xKg2uk/xD6RaUQjJ9VqwZ/vHtbBRWLqypvF YcZ2uEvxv386dT19xfoXtVK3IAXR3NNNUTnVAPJq0DDeF9wNi2T8IhYPs4fSbictBnzsW2Yj8A+X0 WMfm4TbzpoO2yw==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN> In-Reply-To: <f959dc4db01cc2aec47affa7e9d389368217c7f8.1746979727.git.sarg@HIDDEN> (Sergey Trofimov's message of "Sun, 11 May 2025 18:08:03 +0200") References: <cover.1746979727.git.sarg@HIDDEN> <f959dc4db01cc2aec47affa7e9d389368217c7f8.1746979727.git.sarg@HIDDEN> Date: Sun, 18 May 2025 22:28:30 +0200 Message-ID: <87h61hll3l.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Sergey, Sergey Trofimov <sarg@HIDDEN> writes: > * gnu/home/services.scm (files->files-directory): Build file union > without checking for existence of included items. > > * tests/guix-home.sh: Verify symlinking files out of store works. > > Change-Id: I94054003f4a6be944252ce7a397cf56f0b979554 [...] > @@ -343,7 +343,21 @@ (define (files->files-directory files) > ;; leading to a build failure of "files.drv". > (assert-no-duplicates files) >=20=20 > - (file-union "files" files)) > + ;; Compute the file-union allowing dangling symlinks > + ;; This enables creating symlinks to locations out of store > + (computed-file > + "files" > + (with-imported-modules '((guix build utils)) > + #~(begin > + (use-modules (guix build utils) > + (ice-9 match)) > + (mkdir #$output) > + (chdir #$output) > + (for-each (match-lambda > + ((target source) > + (mkdir-p (dirname target)) > + (symlink source target))) > + '#$files))))) Instead of more or less duplicating =E2=80=98file-union=E2=80=99, how about= adding a #:dangling-symlinks? argument to =E2=80=98file-union=E2=80=99 that would de= fault to #f? When set to #t, the =E2=80=98stat=E2=80=99 call would not be emitted. That would reduce code duplication and make the intent clearer IMO. Ludo=E2=80=99.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.