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 45B701D110; Wed, 19 Nov 2025 14:15:23 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id C54821D0A0; Wed, 19 Nov 2025 14:15:18 +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.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fhigh-a3-smtp.messagingengine.com (fhigh-a3-smtp.messagingengine.com [103.168.172.154]) by atuin.qyliss.net (Postfix) with ESMTPS id 6DDDA1D059 for ; Wed, 19 Nov 2025 14:15:16 +0000 (UTC) Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfhigh.phl.internal (Postfix) with ESMTP id 28FA114001D7; Wed, 19 Nov 2025 09:15:13 -0500 (EST) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-04.internal (MEProxy); Wed, 19 Nov 2025 09:15:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1763561713; x=1763648113; bh=BAmK0i7uV7 Uq3g/KhqVunV2MJu5lvYvalSuV4Luk7Lk=; b=gZGOLCik3CGt3lnQwKFF0eQSCB zQ7SLwycvkwn2iFieSODu0wK/icOUFD3flb/dy0ojgjG/bCshaq1SLE9BfiitXsf AG0LPFd0RzIzHvKCf4+T6VeowpK+zjqT2iooddZh6ziHLk9129IAUZEcV5O7lavW hc8Nlsk8vyB1m52vJYjEMegneZQk4GHidM8jQ2ktr3T3K8EwjJcmEuCxH/F0oeGa vwRR+xK8Y1R1/gLIE7eUMYKqGPL/CxELqRu206xBRsJDtI69ohU18r24keB+lLpO 7UW0LHlYzmgGzNnu/Ri+XRrbQWOeLV/zNHsv0nD1Z2unx9dKyj+T+qABxMnw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1763561713; x=1763648113; bh=BAmK0i7uV7Uq3g/KhqVunV2MJu5lvYvalSu V4Luk7Lk=; b=B/v0Q5Rr3ccypIWcIb+slLD0QGtFCNMLztXmMVKlqNM6mAl00Fn d59zMleqYhNla8PMN4n+mavs1LjhE1qLgEfuefM7nF2CZlM1aWF+U6XHj3kzksaU CEUNzCIMUMTtmRQKEuJtJLugSpPWE+KQwhrjGqMWWqPyGD6IUGwJJrIISKMJ4DSR lEMu11yob7NF8ja8m3Wl7nMTozRONNbzY2K9xkEPK+pWOlentU2m97KsH3Y62EAk IhlpDID7lTQ/ilBkg7dy/IeUxl7DsKv5FGLyyc7kRSsEGfynuchWYA3HhVl7+U4x 57O420M0ZYF8Ga57jiHR+jToP5l85uAPHQQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvvdeggedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhephffvvefujghffffkgggtsehgtderredttddtnecuhfhrohhmpeetlhihshhsrgcu tfhoshhsuceohhhisegrlhihshhsrgdrihhsqeenucggtffrrghtthgvrhhnpeffkefghe duvdefkeehleefleeutdduueetudelteeltdeitddutefhieeuheetheenucffohhmrghi nhepshhpvggtthhruhhmqdhoshdrohhrghdpkhgvrhhnvghlrdhorhhgnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhephhhisegrlhihshhsrgdr ihhspdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhope guvghmihhosggvnhhouhhrsehgmhgrihhlrdgtohhmpdhrtghpthhtohepuggvvhgvlhes shhpvggtthhruhhmqdhoshdrohhrgh X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 19 Nov 2025 09:15:11 -0500 (EST) Received: by fw12.qyliss.net (Postfix, from userid 1000) id C57F622880C1; Wed, 19 Nov 2025 15:14:38 +0100 (CET) From: Alyssa Ross To: Demi Marie Obenour Subject: Re: [PATCH v3 01/14] host/rootfs: Install all programs from util-linuxMinimal In-Reply-To: <20251119-updates-v3-1-b88a99915509@gmail.com> References: <20251119-updates-v3-0-b88a99915509@gmail.com> <20251119-updates-v3-1-b88a99915509@gmail.com> Date: Wed, 19 Nov 2025 15:14:37 +0100 Message-ID: <877bvmqfci.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Message-ID-Hash: CA5OUC6AZ6RTBF6D4RPQXQWMLOBIYFLV X-Message-ID-Hash: CA5OUC6AZ6RTBF6D4RPQXQWMLOBIYFLV X-MailFrom: hi@alyssa.is 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: Spectrum OS Development 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: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Demi Marie Obenour writes: > Busybox fdisk doesn't support GPT, only MBR. Busybox programs are also > often buggy, so use the util-linux version where possible. This > requires disabling a lot of Busybox applets, so move the Busybox config > to a separate file that Nix loads via builtins.readFile. > > Signed-off-by: Demi Marie Obenour > --- > Changes since v2: > - Split installation of util-linux and of systemd to separate patches. > --- > host/rootfs/busybox-config | 134 +++++++++++++++++++++++++++++++= ++++++ > host/rootfs/busybox-config.license | 4 ++ > host/rootfs/default.nix | 36 +++------- > 3 files changed, 147 insertions(+), 27 deletions(-) > > diff --git a/host/rootfs/busybox-config b/host/rootfs/busybox-config > new file mode 100644 > index 0000000000000000000000000000000000000000..f2fd5fcab4141ea63c663e433= 412a253d5235aab > --- /dev/null > +++ b/host/rootfs/busybox-config > @@ -0,0 +1,134 @@ > +CONFIG_ADDPART n > +CONFIG_AGETTY n > +CONFIG_BITS n > +CONFIG_BLKDISCARD n > +CONFIG_BLKID n > +CONFIG_BLKPR n > +CONFIG_BLKZONE n > +CONFIG_BLOCKDEV n > +CONFIG_CAL n > +CONFIG_CHATTR n > +CONFIG_CHCPU n > +CONFIG_CHMEM n > +CONFIG_CHOOM n > +CONFIG_CHRT n > +CONFIG_COLCRT n > +CONFIG_COLRM n > +CONFIG_COLUMN n > +CONFIG_CORESCHED n > +CONFIG_CTRLALTDEL n > +CONFIG_DELPART n > +CONFIG_DEPMOD n > +CONFIG_DMESG n > +CONFIG_EJECT n > +CONFIG_ENOSYS n > +CONFIG_EXCH n > +CONFIG_FADVISE n > +CONFIG_FALLOCATE n > +CONFIG_FDISK n > +CONFIG_FINCORE n > +CONFIG_FINDFS n > +CONFIG_FINDMNT n > +CONFIG_FLOCK n > +CONFIG_FSCK n > +CONFIG_FSCK_CRAMFS n > +CONFIG_FSCK_MINIX n > +CONFIG_FSFREEZE n > +CONFIG_FSTRIM n > +CONFIG_GETOPT n > +CONFIG_HALT n > +CONFIG_HARDLINK n > +CONFIG_HD n > +CONFIG_HEXDUMP n > +CONFIG_HWCLOCK n > +CONFIG_I386 n > +CONFIG_INIT n > +CONFIG_INSMOD n > +CONFIG_IONICE n > +CONFIG_IP n > +CONFIG_IPCMK n > +CONFIG_IPCRM n > +CONFIG_IPCS n > +CONFIG_ISOSIZE n > +CONFIG_KILL n > +CONFIG_LAST n > +CONFIG_LASTB n > +CONFIG_LDATTACH n > +CONFIG_LINUX32 n > +CONFIG_LINUX64 n > +CONFIG_LOGGER n > +CONFIG_LOOK n > +CONFIG_LOSETUP n > +CONFIG_LSATTR n > +CONFIG_LSBLK n > +CONFIG_LSCLOCKS n > +CONFIG_LSCPU n > +CONFIG_LSFD n > +CONFIG_LSIPC n > +CONFIG_LSIRQ n > +CONFIG_LSLOCKS n > +CONFIG_LSLOGINS n > +CONFIG_LSMEM n > +CONFIG_LSMOD n > +CONFIG_LSNS n > +CONFIG_MCOOKIE n > +CONFIG_MESG n > +CONFIG_MKE2FS n > +CONFIG_MKFS n > +CONFIG_MKFS_BFS n > +CONFIG_MKFS_CRAMFS n > +CONFIG_MKFS_EXT2 n > +CONFIG_MKFS_MINIX n > +CONFIG_MKSWAP n > +CONFIG_MODINFO n > +CONFIG_MODPROBE n > +CONFIG_MOUNT n > +CONFIG_MOUNTPOINT n > +CONFIG_NAMEI n > +CONFIG_NOLOGIN n > +CONFIG_NSENTER n > +CONFIG_PARTX n > +CONFIG_PIPESZ n > +CONFIG_PIVOT_ROOT n > +CONFIG_POWEROFF n > +CONFIG_PRLIMIT n > +CONFIG_READPROFILE n > +CONFIG_REBOOT n > +CONFIG_RENAME n > +CONFIG_RENICE n > +CONFIG_RESIZEPART n > +CONFIG_REV n > +CONFIG_RFKILL n > +CONFIG_RMMOD n > +CONFIG_RTCWAKE n > +CONFIG_SCRIPT n > +CONFIG_SCRIPTLIVE n > +CONFIG_SCRIPTREPLAY n > +CONFIG_SETARCH n > +CONFIG_SETPGID n > +CONFIG_SETPRIV n > +CONFIG_SETSID n > +CONFIG_SFDISK n > +CONFIG_SHUTDOWN n > +CONFIG_SULOGIN n > +CONFIG_SWAPLABEL n > +CONFIG_SWAPOFF n > +CONFIG_SWAPON n > +CONFIG_SWITCH_ROOT n > +CONFIG_TASKSET n > +CONFIG_UCLAMPSET n > +CONFIG_UMOUNT n > +CONFIG_UNAME26 n > +CONFIG_UNSHARE n > +CONFIG_UTMPDUMP n > +CONFIG_UUIDD n > +CONFIG_UUIDGEN n > +CONFIG_UUIDPARSE n > +CONFIG_WAITPID n > +CONFIG_WALL n > +CONFIG_WDCTL n > +CONFIG_WHEREIS n > +CONFIG_WIPEFS n > +CONFIG_WRITE n > +CONFIG_X86_64 n > +CONFIG_ZRAMCTL n > diff --git a/host/rootfs/busybox-config.license b/host/rootfs/busybox-con= fig.license > new file mode 100644 > index 0000000000000000000000000000000000000000..ba50b647fbfac9b79ecb29f33= a36c07d3e332ba2 > --- /dev/null > +++ b/host/rootfs/busybox-config.license > @@ -0,0 +1,4 @@ > +# SPDX-License-Identifier: MIT > +# SPDX-FileCopyrightText: 2021-2025 Alyssa Ross > +# SPDX-FileCopyrightText: 2022 Unikie > +# SPDX-FileCopyrightText: 2025 Demi Marie Obenour > diff --git a/host/rootfs/default.nix b/host/rootfs/default.nix > index 1578155fa0fb9a4df3fb4884e21ed7d8d8f821dc..84b536eda397adfab0fbb0122= a5765571d7d678e 100644 > --- a/host/rootfs/default.nix > +++ b/host/rootfs/default.nix > @@ -38,25 +38,8 @@ let > virtiofsd xdg-desktop-portal-spectrum-host >=20=20 > (busybox.override { > - extraConfig =3D '' > - CONFIG_CHATTR n > - CONFIG_DEPMOD n > - CONFIG_FINDFS n > - CONFIG_HALT n > - CONFIG_INIT n > - CONFIG_INSMOD n > - CONFIG_IP n > - CONFIG_LSATTR n > - CONFIG_LSMOD n > - CONFIG_MKE2FS n > - CONFIG_MKFS_EXT2 n > - CONFIG_MODINFO n > - CONFIG_MODPROBE n > - CONFIG_MOUNT n > - CONFIG_POWEROFF n > - CONFIG_REBOOT n > - CONFIG_RMMOD n > - ''; > + # Use a separate file as it is a bit too big. > + extraConfig =3D builtins.readFile ./busybox-config; > }) >=20=20 > # Take kmod from pkgsGui since we use pkgsGui.kmod.lib below anyway. > @@ -96,6 +79,12 @@ let > mkdir -p $out/usr/bin $out/usr/share/dbus-1/services \ > $out/usr/share/icons/hicolor/20x20/apps >=20=20 > + # lndir silently ignores existing links, so run it before ln > + # so that ln catches any duplicates. > + for pkg in ${escapeShellArgs usrPackages}; do > + lndir -ignorelinks -silent "$pkg" "$out/usr" > + done > + > # Weston doesn't support SVG icons. > inkscape -w 20 -h 20 \ > -o $out/usr/share/icons/hicolor/20x20/apps/com.system76.CosmicFi= les.png \ > @@ -110,18 +99,11 @@ let > ln -st $out/usr/share/dbus-1/services \ > ${pkgsGui.xdg-desktop-portal-gtk}/share/dbus-1/services/org.free= desktop.impl.portal.desktop.gtk.service >=20=20 > - for pkg in ${escapeShellArgs usrPackages}; do > - lndir -ignorelinks -silent "$pkg" "$out/usr" > - done > + ln -st "$out/usr/bin" ${util-linuxMinimal}/bin/* Last time[1] I asked why this couldn't just be listed in the packages list like everything else. Would still like to know. [1]: https://spectrum-os.org/lists/archives/spectrum-devel/87ldkaglfc.fsf@a= lyssa.is > ${concatStrings (mapAttrsToList (name: path: '' > ln -s ${path} $out/usr/lib/spectrum/vm/${name} > '') appvms)} > - > - # TODO: this is a hack and we should just build the util-linux > - # programs we want. > - # https://lore.kernel.org/util-linux/87zgrl6ufb.fsf@alyssa.is/ > - ln -s ${util-linuxMinimal}/bin/{findfs,uuidgen,lsblk,mount} $out/usr= /bin > ''; > in >=20=20 > > --=20 > 2.52.0 --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQQGoGac7QfI+H5ZtFCZddwkt31pFQUCaR3QzQAKCRCZddwkt31p FfXgAQCWqswi24MYT6IV9J1LXFLeQkIKrlvvJedOHWUS7NyPaQEA3KYqJJSndSO/ cU2wZ0/yxMHeWt7VNLzYspMPlVRwWQo= =etkY -----END PGP SIGNATURE----- --=-=-=--