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 858ECB453; Wed, 26 Nov 2025 19:37:10 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 1C432B3ED; Wed, 26 Nov 2025 19:37:01 +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-yx1-xb12c.google.com (mail-yx1-xb12c.google.com [IPv6:2607:f8b0:4864:20::b12c]) by atuin.qyliss.net (Postfix) with ESMTPS id 52E26B36F for ; Wed, 26 Nov 2025 19:36:58 +0000 (UTC) Received: by mail-yx1-xb12c.google.com with SMTP id 956f58d0204a3-640daf41b19so244101d50.0 for ; Wed, 26 Nov 2025 11:36:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764185816; x=1764790616; 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=pJsSw7n0xiNLWfBK7oz+gsDAlS7C9JH7fug0e9flJ0A=; b=OnkzqgYA6reurJj6EY3LKpADdYhlXbdICVtLctXnbTPTemjno2PN/Q26faLXhcWYoT QZME4t90oDsaV/NuftJ6qqS37+fmITlXk/YYUG4LzWkP+QR4ssh2CynZ/EHMZFESH3Q8 UaSyQrHcGlALzJDb5Lqk8A3qbxHf9kM+YCXWk7QGvHI1pRr73+kffIpsTQcHxbgz5qR8 4a/jcUmmAE4FNnJ3UX8xM43LbtxTa46mToPBJm1CxL//DrMT/yGgq+9JhmygHsdX4LaC JSZL4cMS7GrMzlq+KdFCo+aVPoIpuWT4HuPOjYgOK7t8r8qpZjZ9++Q4EVUQRC+R8xf0 Oedw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764185816; x=1764790616; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=pJsSw7n0xiNLWfBK7oz+gsDAlS7C9JH7fug0e9flJ0A=; b=px6PbDpFJfgb54Fl+GiwrwDiha00v4KFulA1ZtYc2uQCkyrPo2qEKr9n4aKnO9jfxd FXnOZnbgmH9jWJ1u25CZg0hPrjjDNPUUTop7mU1iACm8aFtiXqFOiPvg6X84NzORzDQE o+Rnz+YfP/rV3DJsur3EFPbcQJfnLLR856q1tb2pazJHSTc0kvGlHhYm0hMKMnt+aNAi f8ObbuQ/x3dQAGfTmTuGI/bOuhcHUVj4kqyLng2lUtMWdxY6f+AgIr6Ww3oI50i93rS3 4ypghYhPf+CJerONF+kunf2eBt70UH6coo6o1/HvGv2ikGNzKJqDuWsqJsJ9kVEj2f5C CW5Q== X-Gm-Message-State: AOJu0YyLC452ooztyNPGBcjKv96VrpPjbIgKd6t9fQpUogpkga1c7RHX LJR09DdaN5OcFTMUmLEtr7qjWzrWqH2twlNbLbwTATjIouJKL6+c6kcQ5wAh4g== X-Gm-Gg: ASbGncvdfk2W+gGptIxGyr9w6P1NTWGgKZOupTvQ4kuC7pv4i0qCTNEOLUxN2PAgqcf eHhxhbP4XhL1tLXKZG5OCq665PkkN+rP1CFlkZRUeghatjLdJJdWTzWGOl/8T+dV5AWY1W8QNzp t3rJ1akv6BODIasqA7T9DaMuv6LCwA3d9xcrPOGxswcQ/MOLoRqs2XbOeTC/3tUWpWdaLFZIrfz OeD7exBkyydhzM/cNIUpG/CQHD417kO9pl9C7jP/+Hw+DnlExO8ptQACFqsPUQ/zry5NTtT4xdf HR4UemLAoywCyLRyYf8SYVc+e64Fbe5mArHrM0peB5c+8lSZQum80OQ5uaqGNvuFGKmByV2LUDM rdPxDc38Glh+k90NDApWnp5fdmJ+T/Usc1JlXylZinEcy9D79bBg11kOSb80J8IuBfAUGgOC0Ib LMk3UOgopBg7zezM3M4fZQbB90arMYB2w3d4LFAdZ4thP28Ff+eq/ODAhdXw+sycAUMXQpYkRZC PS9Es5Oad1cwiOFVI0d2Wj76Ewhpo4T8AAqmjFbBo6M0Q== X-Google-Smtp-Source: AGHT+IELsjJrUZENjxNXcQgH/f1KnO4GRjfLk4QEo6gEHhAJO0sdXBiSvtQD1LaSBT8dr2NIUx44ZA== X-Received: by 2002:a05:690e:1699:b0:63f:b353:8fb5 with SMTP id 956f58d0204a3-643025b7bc3mr13713112d50.15.1764185815983; Wed, 26 Nov 2025 11:36:55 -0800 (PST) Received: from localhost.localdomain (h96-60-249-169.cncrtn.broadband.dynamic.tds.net. [96.60.249.169]) by smtp.gmail.com with UTF8SMTPSA id 956f58d0204a3-642f7178824sm7571587d50.15.2025.11.26.11.36.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Nov 2025 11:36:55 -0800 (PST) From: Demi Marie Obenour Date: Wed, 26 Nov 2025 14:34:02 -0500 Subject: [PATCH v4 04/13] Port scripts/format-uuid.sh to awk MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20251126-updates-v4-4-40c438d2dcaf@gmail.com> References: <20251126-updates-v4-0-40c438d2dcaf@gmail.com> In-Reply-To: <20251126-updates-v4-0-40c438d2dcaf@gmail.com> To: Spectrum OS Development X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1764185638; l=5911; i=demiobenour@gmail.com; s=20250729; h=from:subject:message-id; bh=oInNDJy9goY8YUY5QzLGRBWmr2iaV4KtTWsx3IuGT+A=; b=KYW/O/je1mtmAvrlx1uj4XKQ4Ikn7LqETHVBc4Vc8gztqg+tMIF+2S0s1Kb5NNnL8BkacCa6o ms3KF6Ko+hwCkyCPOQY5u0VXz+q7YHzgZXn06T4kgvapMoZMAOq69fQ X-Developer-Key: i=demiobenour@gmail.com; a=ed25519; pk=X57Q4/YQDj9t4SBeKaDwvXYKB6quZJVx/DE2Ly2out0= Message-ID-Hash: Q2IHV5B7GXFGKBRDNNI4BQ3NMN2WZDJH X-Message-ID-Hash: Q2IHV5B7GXFGKBRDNNI4BQ3NMN2WZDJH 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: This makes it significantly easier to extend. Future changes will require it to be able to output multiple UUIDs at once. Signed-off-by: Demi Marie Obenour --- Changes since v4: - Convert script from sh to awk before making any functional changes. --- host/initramfs/Makefile | 6 +++--- host/rootfs/Makefile | 6 +++--- release/live/Makefile | 6 +++--- release/live/default.nix | 2 +- scripts/format-uuid.awk | 9 +++++++++ scripts/format-uuid.sh | 19 ------------------- 6 files changed, 19 insertions(+), 29 deletions(-) diff --git a/host/initramfs/Makefile b/host/initramfs/Makefile index 2304b0885a152d8a659dddcc58f948d096034e2d..e04e2ff471750410926f14099cee9786d582de86 100644 --- a/host/initramfs/Makefile +++ b/host/initramfs/Makefile @@ -35,10 +35,10 @@ build/mountpoints: cd build/mountpoints && mkdir -p $(MOUNTPOINTS) find build/mountpoints -mindepth 1 -exec touch -d @0 {} ';' -build/live.img: ../../scripts/format-uuid.sh ../../scripts/make-gpt.sh ../../scripts/sfdisk-field.awk $(ROOT_FS_IMAGES) +build/live.img: ../../scripts/format-uuid.awk ../../scripts/make-gpt.sh ../../scripts/sfdisk-field.awk $(ROOT_FS_IMAGES) bash ../../scripts/make-gpt.sh $@.tmp \ - $(ROOT_FS_VERITY):verity:$$(../../scripts/format-uuid.sh "$$(dd if=$(ROOT_FS_VERITY_ROOTHASH) bs=32 skip=1 count=1 status=none)") \ - $(ROOT_FS_IMAGE):root:$$(../../scripts/format-uuid.sh "$$(head -c 32 $(ROOT_FS_VERITY_ROOTHASH))") + $(ROOT_FS_VERITY):verity:$$(awk -f ../../scripts/format-uuid.awk "$$(dd if=$(ROOT_FS_VERITY_ROOTHASH) bs=32 skip=1 count=1 status=none)") \ + $(ROOT_FS_IMAGE):root:$$(awk -f ../../scripts/format-uuid.awk "$$(head -c 32 $(ROOT_FS_VERITY_ROOTHASH))") mv $@.tmp $@ build/loop.tar: build/live.img diff --git a/host/rootfs/Makefile b/host/rootfs/Makefile index f45758041f2f682618cb0f9e54e5a74f0b49874e..b2c0c6176fe0de4a99d1a3737d50054b532af598 100644 --- a/host/rootfs/Makefile +++ b/host/rootfs/Makefile @@ -92,10 +92,10 @@ clean: rm -rf build .PHONY: clean -build/live.img: ../../scripts/format-uuid.sh ../../scripts/make-gpt.sh ../../scripts/sfdisk-field.awk build/verity-timestamp $(ROOT_FS_IMAGES) +build/live.img: ../../scripts/format-uuid.awk ../../scripts/make-gpt.sh ../../scripts/sfdisk-field.awk build/verity-timestamp $(ROOT_FS_IMAGES) bash ../../scripts/make-gpt.sh $@.tmp \ - $(ROOT_FS_VERITY):verity:$$(../../scripts/format-uuid.sh "$$(dd if=$(ROOT_FS_VERITY_ROOTHASH) bs=32 skip=1 count=1 status=none)") \ - $(ROOT_FS_IMAGE):root:$$(../../scripts/format-uuid.sh "$$(head -c 32 $(ROOT_FS_VERITY_ROOTHASH))") + $(ROOT_FS_VERITY):verity:$$(awk -f ../../scripts/format-uuid.awk "$$(dd if=$(ROOT_FS_VERITY_ROOTHASH) bs=32 skip=1 count=1 status=none)") \ + $(ROOT_FS_IMAGE):root:$$(awk -f ../../scripts/format-uuid.awk "$$(head -c 32 $(ROOT_FS_VERITY_ROOTHASH))") mv $@.tmp $@ debug: diff --git a/release/live/Makefile b/release/live/Makefile index c712db3727b7008105388a278552fd3d81eb3b4c..48df3ef4ad3faab4e0ad09380bd70dbdc980109f 100644 --- a/release/live/Makefile +++ b/release/live/Makefile @@ -9,11 +9,11 @@ DTBS ?= build/empty dest = build/live.img -$(dest): ../../scripts/format-uuid.sh ../../scripts/make-gpt.sh ../../scripts/sfdisk-field.awk build/boot.fat $(ROOT_FS_IMAGES) +$(dest): ../../scripts/format-uuid.awk ../../scripts/make-gpt.sh ../../scripts/sfdisk-field.awk build/boot.fat $(ROOT_FS_IMAGES) bash ../../scripts/make-gpt.sh $@.tmp \ build/boot.fat:c12a7328-f81f-11d2-ba4b-00a0c93ec93b \ - $(ROOT_FS_VERITY):verity:$$(../../scripts/format-uuid.sh "$$(dd if=$(ROOT_FS_VERITY_ROOTHASH) bs=32 skip=1 count=1 status=none)") \ - $(ROOT_FS_IMAGE):root:$$(../../scripts/format-uuid.sh "$$(head -c 32 $(ROOT_FS_VERITY_ROOTHASH))") + $(ROOT_FS_VERITY):verity:$$(awk -f ../../scripts/format-uuid.awk "$$(dd if=$(ROOT_FS_VERITY_ROOTHASH) bs=32 skip=1 count=1 status=none)") \ + $(ROOT_FS_IMAGE):root:$$(awk -f ../../scripts/format-uuid.awk "$$(head -c 32 $(ROOT_FS_VERITY_ROOTHASH))") mv $@.tmp $@ build/empty: diff --git a/release/live/default.nix b/release/live/default.nix index ba9bb17e697a6ecfe81e52a4ffbc375ef443b6f3..d1e2422e9f1ba666af7ad7a5cce1c80a242d0777 100644 --- a/release/live/default.nix +++ b/release/live/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation { fileset = lib.fileset.intersection src (lib.fileset.unions [ ./. ../../lib/common.mk - ../../scripts/format-uuid.sh + ../../scripts/format-uuid.awk ../../scripts/make-gpt.sh ../../scripts/sfdisk-field.awk ]); diff --git a/scripts/format-uuid.awk b/scripts/format-uuid.awk new file mode 100644 index 0000000000000000000000000000000000000000..17831221bbef2d2d038f4822b22f88939eab7437 --- /dev/null +++ b/scripts/format-uuid.awk @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: EUPL-1.2+ +# SPDX-FileCopyrightText: 2025 Demi Marie Obenour +BEGIN { + print (substr(ARGV[1], 1, 8) "-" \ + substr(ARGV[1], 9, 4) "-" \ + substr(ARGV[1], 13, 4) "-" \ + substr(ARGV[1], 17, 4) "-" \ + substr(ARGV[1], 21, 12)); +} diff --git a/scripts/format-uuid.sh b/scripts/format-uuid.sh deleted file mode 100755 index 3b38278aef640b2cd540d6606b05dd62018e48a6..0000000000000000000000000000000000000000 --- a/scripts/format-uuid.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -eu -# -# SPDX-FileCopyrightText: 2021-2022 Alyssa Ross -# SPDX-FileCopyrightText: 2022 Unikie -# SPDX-License-Identifier: EUPL-1.2+ - -substr() { - str=$1 - beg=$2 - end=$3 - echo "$str" | cut -c "$beg-$end" -} - -u1=$(substr "$1" 1 8) -u2=$(substr "$1" 9 12) -u3=$(substr "$1" 13 16) -u4=$(substr "$1" 17 20) -u5=$(substr "$1" 21 32) -printf "%s\n" "$u1-$u2-$u3-$u4-$u5" -- 2.52.0