From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id MCURMMXMdGQ0vwAASxT56A (envelope-from ) for ; Mon, 29 May 2023 18:03:17 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id AOQxMMXMdGSyVQEA9RJhRA (envelope-from ) for ; Mon, 29 May 2023 18:03:17 +0200 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 683B7333FF for ; Mon, 29 May 2023 18:03:17 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q3em1-0005Ml-Q6; Mon, 29 May 2023 11:27:05 -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 ) id 1q3ely-0005Lr-8k for bug-guix@gnu.org; Mon, 29 May 2023 11:27:03 -0400 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 1q3ely-0006Tr-0J for bug-guix@gnu.org; Mon, 29 May 2023 11:27:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q3elx-0002Zb-PS for bug-guix@gnu.org; Mon, 29 May 2023 11:27:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#63787: udev-rules-service inoperable for some rules Resent-From: Felix Lechner Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 29 May 2023 15:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 63787 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 63787@debbugs.gnu.org Cc: Liliana Marie Prikler X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16853739689816 (code B ref -1); Mon, 29 May 2023 15:27:01 +0000 Received: (at submit) by debbugs.gnu.org; 29 May 2023 15:26:08 +0000 Received: from localhost ([127.0.0.1]:58914 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3el6-0002YE-4C for submit@debbugs.gnu.org; Mon, 29 May 2023 11:26:08 -0400 Received: from lists.gnu.org ([209.51.188.17]:54774) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3eku-0002Xh-VS for submit@debbugs.gnu.org; Mon, 29 May 2023 11:26:07 -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 ) id 1q3eku-00059P-LN for bug-guix@gnu.org; Mon, 29 May 2023 11:25:56 -0400 Received: from sail-ipv4.us-core.com ([208.82.101.137]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1q3eks-0006Fy-NP for bug-guix@gnu.org; Mon, 29 May 2023 11:25:56 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=nJjPEa6lahAySzA HZhNPejasxPEsS+gtjkpR29oBigM=; h=cc:to:subject:date:from; d=lease-up.com; b=U62ZKGxho9qn42uYDUaS9gO+Kxd6zN8o3rysyiABeZjAysMNfRHS 0ISsVgThXvwICZhxoOPVJvgL9HdFG1Fo7MijjKOddRSPZX/n5R2cO7meYHqOrbR+isTU6d KGz8ughOg91xSOVEGftNMkq1/ggmfNyCbbfBBwWAV41gjczWQ= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id f14cd0b8 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO) for ; Mon, 29 May 2023 15:25:49 +0000 (UTC) Received: by mail-lj1-f170.google.com with SMTP id 38308e7fff4ca-2af20198f20so34921951fa.0 for ; Mon, 29 May 2023 08:25:49 -0700 (PDT) X-Gm-Message-State: AC+VfDxOj3v+pYXTC1F175tgJyEx1j7urYYpSmL3C2/A+vzInyho4piQ 20lV38cBFQH4E9/tSF3zjzSdQPvnINyVhAsP0fw= X-Google-Smtp-Source: ACHHUZ5ZAeNyNQgKcGHP/4j967w2cRu346d9Mm167eEvFDJ84A3j66LbQnd3YxtQmDNUxiq89TRvYwhMUTAUQyEuKQY= X-Received: by 2002:a2e:8544:0:b0:2ad:a78a:df0d with SMTP id u4-20020a2e8544000000b002ada78adf0dmr4012159ljj.44.1685373947351; Mon, 29 May 2023 08:25:47 -0700 (PDT) MIME-Version: 1.0 Date: Mon, 29 May 2023 08:25:11 -0700 X-Gmail-Original-Message-ID: Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=208.82.101.137; envelope-from=felix.lechner@lease-up.com; helo=sail-ipv4.us-core.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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: , Reply-to: Felix Lechner From: Felix Lechner via Bug reports for GNU Guix 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-Seal: i=1; s=key1; d=yhetil.org; t=1685376197; a=rsa-sha256; cv=none; b=F43kqqNwjX4mOetAnxUTDdqXnHiZmFQQwqM97IriIfUo/Q7+X8eZd0b6tHOAEuE++JMA6B jPTQv2kRGVyVmKe8ehcHqzOC5jKry2dj8ykfJ2V/6aZNO7IftS+knNetEB8ph4VmWB2lt+ I9xnpfiPN3YSocPlcFFxw8tufqNJqj/CUWYoS/L7jUUp76k37pyHUhYfjbIsZww1OUTMZQ CEy5su3vSSCeuWTYlk/Lah8Ep1tkoYlwZmYcbUX0yMDnxpi+92lJbYoEcT8pG40qu8lsSd XXByouz6d91BlCJaAOxSfIkgO+ZsCx3TovXG1AHNnQB87kUylRc53rEuN7lLZw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lease-up.com header.s=2017 header.b=U62ZKGxh; dmarc=pass (policy=none) header.from=gnu.org; 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" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1685376197; h=from:from:sender:sender:reply-to: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=xteBFS30KvIavGKMIYGdublpKeaJu2Qat6Lia8VsgQc=; b=cu36r77JPpFOKZcdiuL8glcoyOVZH6Qbg19DPumW/ehj+VT6jDBfqZRrw0ATDbeRhkFHbt aOlBJPPWjFWSoSfIXMfUl6u/g5rAXH7S7jnT/StQbN5kKHVVzqYBIaUn1vDtFt31NJ7wpf e+/NkfyKwzrX/jtNwWPYzceEm7AzV8fW+NAccECKbMWftmrr7Oo+HwKZJVXKv2mismyUEr xo0G+69rNHpiCp8/0LbZv0fSS0ORrda3uO8u6SkenbXndoVi+TGoEF+dLvdx0OaXaTu2G8 1fspcjmICOjsJnDbow3Iv+IdyByrcbigrmz2k+92rYXFI+SfnhXIZuVnuBTvLA== X-Migadu-Spam-Score: -4.64 X-Spam-Score: -4.64 X-Migadu-Queue-Id: 683B7333FF X-Migadu-Scanner: scn0.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=lease-up.com header.s=2017 header.b=U62ZKGxh; dmarc=pass (policy=none) header.from=gnu.org; 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" X-TUID: BmWrqWpate3F Hi, A brief thread from guix-devel about trying to use MAC-based names for network interfaces [1] shall be incorporated herein by reference. [1] https://lists.gnu.org/archive/html/guix-devel/2023-05/msg00192.html On Wed, May 17, 2023 at 6:14=E2=80=AFPM Felix Lechner wrote: > > In a concession to Liliana's opposition, I retitled the bug to > sidestep the question of the MAC-based names as a default setting. It was not enough of a concession. In Guix, many custom rules like the following=E2=80=94namely those that use values determined by udevadm=E2=80=94are inoperable. > (udev-rules-service 'net-name-mac > (udev-rule > "79-net-name-mac.rules" > " > SUBSYSTEM=3D=3D\"net\", ACTION=3D=3D\"add\", NAME=3D\"$env{ID_NET_NAME_MA= C}\" > "))) The issue is that udevadm looks in the installation folder for udev rules. In standard distros, that works fine because the installation folder and the runtime folder are the same. Unfortunately, that is not so for Guix. The installation folder is in the store. The way I understand our strategy in Guix, we construct another, aggregate folder with links to rules in /etc/udev/rules.d. (That location also happens to be the installation directory for many traditional distros.) I proposed a local patch that causes udevadm to look in that folder instead. [2] It replaces one line in the source code. [2] https://issues.guix.gnu.org/63508#12 Liliana, who kindly reviewed my patch, disagreed with that solution. For reasons I do not fully understand, she prefers a more generalized solution via an environmental variable called EUDEV_RULES_DIRECTORY. [3] As far as I can tell, that variable is not provided by upstream. It was invented by a custom patch to Guix [4] and currently does not seem to work all the way. [3] https://issues.guix.gnu.org/63508#6 [4] https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/= eudev-rules-directory.patch Liliana insists on improving the environment variable EUDEV_RULES_DIRECTORY, while I have several issues with that. For starters, my substitution is simpler. It is also a common packaging strategy in Guix. (I furthermore cannot envision setting the variable to any value other than /etc/udev/rules.d, although maybe the flexibility comes in handy one day.) Mainly, however, I believe that her patch goes beyond the typical packaging activity. By implementing a new feature, the patch for EUDEV_RULES_DIRECTORY should really be sent upstream. I do not know whether that's already happened, but I am not convinced upstream would accept it. In the latest 3.2.12 release, which does not work without further modifications in Guix, the upstream developers added a command-line option called '--root' to udevadm [5] that offers another solution to setting the runtime path. Unfortunately, that option does not change the default, which is the issue in this bug. [5] https://github.com/eudev-project/eudev/blob/2703baf55615b7554fb67c4f1= c241f057f8c0a79/man/udevadm.8#L378C2-L380 Finally, programming styles also differ. I have philosophical objections to the use of pointer arithmetic, although the upstream code may have some of that, too. With the discussion at an impasse, I am not sure how to proceed. Eudev, which is an essential part of any modern Linux operating system, is not working properly in Guix. Liliana challenged me to "file a formal complaint." [6] I do not know what that means and now filed this bug in hope of finding an acceptable way forward. Maybe it is easier to discuss the reasoning for one fix or another when the arguments for and against are not separated by multiple versions of competing inline patches. [6] https://issues.guix.gnu.org/63508#22 For the success of any group, it is essential that problems are being solved. Perhaps someone with an independent perspective would be so kind to comment and help bring this bug one step closer to being closed. Thanks! Kind regards, Felix cc: Liliana