From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id A7A0D4D76; Thu, 04 Sep 2025 23:47:52 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id EEE5C4C56; Thu, 04 Sep 2025 23:47:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_PASS,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com [IPv6:2607:f8b0:4864:20::b2d]) by atuin.qyliss.net (Postfix) with ESMTPS id 7458C4BE4 for ; Thu, 04 Sep 2025 23:47:45 +0000 (UTC) Received: by mail-yb1-xb2d.google.com with SMTP id 3f1490d57ef6-e9c50598296so1498987276.1 for ; Thu, 04 Sep 2025 16:47:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757029664; x=1757634464; darn=spectrum-os.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nblCHB/UyZeEBtSm0kNi1Ws+b4ZgDKVm3rcpjmVrl8Q=; b=QUOtz88NArhu6La1CDCYKZhBKCgef5DS3mo+OsIsmmdTqlZlfBrnq0AV45tyKaJIpr 1l4IKj/Qh8NTFHZ9ya/KafN0ipuCqKxqFoxkc7Pan+TDh6LQ73AAecdCBDKf2Kt5gzZb 1G04EksBGn/gyRZn+Ymfw0AZxncgvhI9CbmoJ27dOQ1HsorPqXPFwsRn8H3yaOxsFqiH G7cIdUbAwKqpL6lA5pIvXz5wI7iQmHecopdZFOhC3MMVkoJW9OjFarKL+/NiX//oYqlw OJR6BgtwPFhIDgu74WOav1iGL0XgD9VfuCBbS/xND+m89BB8dVFbIAngevm2RTQwq9my MgKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757029664; x=1757634464; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nblCHB/UyZeEBtSm0kNi1Ws+b4ZgDKVm3rcpjmVrl8Q=; b=h3CDSUfPVxyWNGZJ5YpDzAiWqc0vxmL1+ew9i71QkuLjqxsf8DpFg5Ac6LdH2NKpqW la04J4H7xruBEWcFYxd758a+DOLgUn7Uy5qcFz6KRXppuTN3eNL+2wgNZyM6t57hsCka zndqC86KBPNALQzskZjX83ezNgTjjAbcUEnSFyjKz58MrAxCzCSlsMPdm4bALN6xVuXc Ekk0vKrLBb36MW/hPWKdfXk/HCm8IhgDhJbZGhlsuGhVzVmYimqSrz7BSKw4QOrl4W6S 8CMHBxJl4/tErfW/jBYNPOisIHO53atx21JOJd6oFrLETXliXRVY3Apscz2la291ITMe XZOg== X-Gm-Message-State: AOJu0Yxxs5c5acQBgBOAz1l3Ce1jFgRCzupFUO7Xm0zUST+3H1cgou4V l6I/+v4jQ0k3ZyF6FKx0la0c3295+4o5fb1ZCccvEHj7LjRHOgctj5oQe4KXqLQJ X-Gm-Gg: ASbGnctDpGCHA/waGsnPoVXhMzJs9xzsbzjzy7cc/uOSKuh2B4KrTy7lNeMnnmImEnj np93GuiVfG6ukuGtcxMcd7/HYFHo8zvpFR5IkEUZBkiHctd+iXWDTuPsEB/iThv8NXPjfhOEcge RPDZMFggf0B9/CbTM82Tyw/lE7IsAxH/hU/BbPqg/2kxfubT/HCF5fWSmZgAmTS6v7wteloVWF1 Vyy9kAjbrP+mNyAxa4Gv8x48TwVuJQNv1XT3sTuYqoniks+n/WLVyHloCZgBV73DvBRjoAZEsTY Upak8Zcz/1xIerQIRUGZCZzg+ErOuZd6CkuKaNDwYnV9fQc7OO4ncoMwPmxFGg5XO44cITcE026 B7CIlQTZZ08ZAfM7oBmZW3foTHWO5rKw3eJHiYVrK9AVzZo7bHBOaMnGL01ylEH+xWSC9EPeZjy EGNV7NGWye84F/4SXlYHi1nc95hWtgPJ8jNe67PtlWmoQ= X-Google-Smtp-Source: AGHT+IGb+18bQTzP6J5FG20h/AvljGjzJ0igV8UI5Kte5WH7+K0I7c/0daRUXKMS1IlgSeJSbqrtXQ== X-Received: by 2002:a05:690e:4257:b0:604:3849:8abf with SMTP id 956f58d0204a3-6043849a4bdmr3424162d50.10.1757029664262; Thu, 04 Sep 2025 16:47:44 -0700 (PDT) Received: from localhost.localdomain (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169]) by smtp.gmail.com with UTF8SMTPSA id 00721157ae682-723a82d6ad1sm25657397b3.5.2025.09.04.16.47.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Sep 2025 16:47:43 -0700 (PDT) From: Demi Marie Obenour Date: Thu, 04 Sep 2025 17:26:25 -0400 Subject: [PATCH 03/20] scripts/make-erofs.sh: Avoid unneeded calls to awk and chmod MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250904-systemd-v1-3-2a63b790a913@gmail.com> References: <20250904-systemd-v1-0-2a63b790a913@gmail.com> In-Reply-To: <20250904-systemd-v1-0-2a63b790a913@gmail.com> To: Spectrum OS Development X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1757021182; l=1448; i=demiobenour@gmail.com; s=20250729; h=from:subject:message-id; bh=xYnO9+K6ImlhxN4lIzwjG9pg39fk6WC14zeVOeSvnxM=; b=hzDnB2O3hfwYsisl71z+unz2q39RceOLuc3hxV3XekQ8ka1rPw46AVRxGkLn5ylgkMKYnzjXV tvr6CF+xqVNCMCkTtgukiYBv1lK7R747LJCXP0CeQCip11HuPK0hVVl X-Developer-Key: i=demiobenour@gmail.com; a=ed25519; pk=X57Q4/YQDj9t4SBeKaDwvXYKB6quZJVx/DE2Ly2out0= Message-ID-Hash: PD25FEFCTUXG4KE6ZLM43SLHMS2X2MCZ X-Message-ID-Hash: PD25FEFCTUXG4KE6ZLM43SLHMS2X2MCZ X-MailFrom: demiobenour@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Demi Marie Obenour , Alyssa Ross X-Mailman-Version: 3.3.9 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: These calls were made to work around permission problems, but it is much cleaner to solve these problems by making every directory in the new filesystem image writable so that cp can write to it. Signed-off-by: Demi Marie Obenour --- scripts/make-erofs.sh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/scripts/make-erofs.sh b/scripts/make-erofs.sh index 3f211d848b938405510d0dbf6b11cf5512c9ef5d..e63bcbed9c3028f0f2b55431d46ba9ec67bc26ef 100755 --- a/scripts/make-erofs.sh +++ b/scripts/make-erofs.sh @@ -37,18 +37,18 @@ while read -r arg1; do fi echo - parent="$(dirname "$arg2")" - awk -v parent="$parent" -v root="$root" 'BEGIN { - n = split(parent, components, "/") - for (i = 1; i <= n; i++) { - printf "%s/", root - for (j = 1; j <= i; j++) - printf "%s/", components[j] - print - } - }' | xargs -rd '\n' chmod +w -- 2>/dev/null || : - mkdir -p -- "$root/$parent" + if [ "$arg2" = / ]; then + cp -RT -- "$arg1" "$root" + # Nix store paths are read-only, so fix up permissions + # so that subsequent copies can write to directories + # created by the above copy. This means giving all + # directories 0755 permissions. + find "$root" -type d -exec chmod 0755 -- '{}' + + continue + fi + parent=$(dirname "$arg2") + mkdir -p -- "$root/$parent" cp -RT -- "$arg1" "$root/$arg2" done -- 2.51.0