* [gentoo-commits] proj/releng:master commit in: releases/specs/amd64/, releases/specs/arm64/, releases/scripts/
@ 2025-10-03 21:34 Andreas K. Hüttel
0 siblings, 0 replies; only message in thread
From: Andreas K. Hüttel @ 2025-10-03 21:34 UTC (permalink / raw
To: gentoo-commits
commit: 9a7bfa8fb85e81b801c72a22d9b7b5c07f11eef2
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sat May 24 01:49:55 2025 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Oct 3 21:34:12 2025 +0000
URL: https://gitweb.gentoo.org/proj/releng.git/commit/?id=9a7bfa8f
specs: add stage4w-*-23 (WSL) for amd64 and arm64
This commit adds a stage4w (WSL) spec, based on the stage3d spec.
This spec includes D3D12 (DirectX) video support, necessating a
rebuild of media-libs/mesa and sys-apps/gentoo-wsl-config which
includes necessary configuration files and scripts along with
QoL enhancements to streamline the Gentoo on WSL experience.
Based on user feedbock:
- both openrc and systemd images are available
- password requirements have been relaxed
Bug: https://bugs.gentoo.org/956334
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
releases/scripts/wsl.sh | 59 ++++++++++++++++++++++++++++
releases/specs/amd64/stage4w-openrc-23.spec | 22 +++++++++++
releases/specs/amd64/stage4w-systemd-23.spec | 22 +++++++++++
releases/specs/arm64/stage4w-openrc-23.spec | 22 +++++++++++
releases/specs/arm64/stage4w-systemd-23.spec | 22 +++++++++++
5 files changed, 147 insertions(+)
diff --git a/releases/scripts/wsl.sh b/releases/scripts/wsl.sh
new file mode 100644
index 00000000..3dcced31
--- /dev/null
+++ b/releases/scripts/wsl.sh
@@ -0,0 +1,59 @@
+mask_systemd_units() {
+ local known_bad_units=(
+ NetworkManager.service
+ systemd-networkd.service
+ systemd-networkd.socket
+ systemd-resolved.service
+ systemd-tmpfiles-clean.service
+ systemd-tmpfiles-clean.timer
+ systemd-tmpfiles-setup-dev-early.service
+ systemd-tmpfiles-setup-dev.service
+ systemd-tmpfiles-setup.service
+ tmp.mount
+ )
+ for unit in "${known_bad_units[@]}"; do
+ # Mask the unit to prevent it from starting automatically
+ # We also do this when the OOBE script runs (in case the user does a DIY install from stage3)
+ # but systemd will start when the container starts, so the earlier the better
+ systemctl mask "$unit" >/dev/null 2>&1 || true
+ done
+}
+
+if command -v systemctl >/dev/null 2>&1; then
+ mask_systemd_units
+elif command -v rc-service >/dev/null 2>&1; then
+ rc-update delete systemd-tmpfiles-setup boot
+ rc-uptade delete systemd-tmpfiles-setup-dev sysinit
+fi
+
+if ! grep -Fqx 'WSLPATH=${PATH}' /etc/profile; then
+ # Insert our block before the first line matching the anchor
+ tmp=$(mktemp)
+ awk 'BEGIN{done=0}
+ $0 ~ /^# Load environment settings from profile.env/ && !done {
+ print "# 961809: WSL: store any injected Windows PATH components"
+ print "if [[ -f /proc/sys/fs/binfmt_misc/WSLInterop && -n \"$PATH\" ]]; then"
+ print "\tWSLPATH=${PATH}"
+ print "fi"
+ print ""
+ done=1
+ }
+ { print }' /etc/profile > "$tmp" && cat "$tmp" > /etc/profile
+ rm -f "$tmp"
+fi
+
+if ! grep -Fqx 'if [[ -v WSLPATH ]]; then' /etc/profile; then
+ tmp=$(mktemp)
+ awk 'BEGIN{done=0}
+ $0 ~ /^# You should override/ && !done {
+ print "# 961809: suffix WSLPATH to PATH if we stored it"
+ print "if [[ -v WSLPATH ]]; then"
+ print "\texport PATH=${PATH}:${WSLPATH}"
+ print "\tunset WSLPATH"
+ print "fi"
+ print ""
+ done=1
+ }
+ { print }' /etc/profile > "$tmp" && cat "$tmp" > /etc/profile
+ rm -f "$tmp"
+fi
diff --git a/releases/specs/amd64/stage4w-openrc-23.spec b/releases/specs/amd64/stage4w-openrc-23.spec
new file mode 100644
index 00000000..c9d27bb4
--- /dev/null
+++ b/releases/specs/amd64/stage4w-openrc-23.spec
@@ -0,0 +1,22 @@
+subarch: amd64
+target: stage4
+version_stamp: wsl-openrc-@TIMESTAMP@
+rel_type: 23.0-default
+profile: default/linux/amd64/23.0/desktop
+snapshot_treeish: @TREEISH@
+source_subpath: 23.0-default/stage3-amd64-desktop-openrc-@TIMESTAMP@.tar.xz
+compression_mode: pixz
+portage_confdir: @REPO_DIR@/releases/portage/stages
+portage_prefix: releng
+binrepo_path: amd64/binpackages/23.0/x86-64
+
+stage4/use:
+ -passwdqc
+ video_cards_d3d12
+
+stage4/packages:
+ media-libs/mesa
+ sys-apps/gentoo-wsl-config
+ sys-auth/pambase
+
+stage4/fsscript: @REPO_DIR@/releases/scripts/wsl.sh
diff --git a/releases/specs/amd64/stage4w-systemd-23.spec b/releases/specs/amd64/stage4w-systemd-23.spec
new file mode 100644
index 00000000..4d6aee39
--- /dev/null
+++ b/releases/specs/amd64/stage4w-systemd-23.spec
@@ -0,0 +1,22 @@
+subarch: amd64
+target: stage4
+version_stamp: wsl-systemd-@TIMESTAMP@
+rel_type: 23.0-default
+profile: default/linux/amd64/23.0/desktop/systemd
+snapshot_treeish: @TREEISH@
+source_subpath: 23.0-default/stage3-amd64-desktop-systemd-@TIMESTAMP@.tar.xz
+compression_mode: pixz
+portage_confdir: @REPO_DIR@/releases/portage/stages
+portage_prefix: releng
+binrepo_path: amd64/binpackages/23.0/x86-64
+
+stage4/use:
+ -passwdqc
+ video_cards_d3d12
+
+stage4/packages:
+ media-libs/mesa
+ sys-apps/gentoo-wsl-config
+ sys-auth/pambase
+
+stage4/fsscript: @REPO_DIR@/releases/scripts/wsl.sh
diff --git a/releases/specs/arm64/stage4w-openrc-23.spec b/releases/specs/arm64/stage4w-openrc-23.spec
new file mode 100644
index 00000000..3ac4f898
--- /dev/null
+++ b/releases/specs/arm64/stage4w-openrc-23.spec
@@ -0,0 +1,22 @@
+subarch: arm64
+target: stage4
+version_stamp: wsl-openrc-@TIMESTAMP@
+rel_type: 23.0-default
+profile: default/linux/arm64/23.0/desktop
+snapshot_treeish: @TREEISH@
+source_subpath: 23.0-default/stage3-arm64-desktop-openrc-@TIMESTAMP@.tar.xz
+compression_mode: pixz
+portage_confdir: @REPO_DIR@/releases/portage/stages
+portage_prefix: releng
+binrepo_path: arm64/binpackages/23.0/arm64
+
+stage4/use:
+ -passwdqc
+ video_cards_d3d12
+
+stage4/packages:
+ media-libs/mesa
+ sys-apps/gentoo-wsl-config
+ sys-auth/pambase
+
+stage4/fsscript: @REPO_DIR@/releases/scripts/wsl.sh
diff --git a/releases/specs/arm64/stage4w-systemd-23.spec b/releases/specs/arm64/stage4w-systemd-23.spec
new file mode 100644
index 00000000..bfb8ffbc
--- /dev/null
+++ b/releases/specs/arm64/stage4w-systemd-23.spec
@@ -0,0 +1,22 @@
+subarch: arm64
+target: stage4
+version_stamp: wsl-systemd-@TIMESTAMP@
+rel_type: 23.0-default
+profile: default/linux/arm64/23.0/desktop/systemd
+snapshot_treeish: @TREEISH@
+source_subpath: 23.0-default/stage3-arm64-desktop-systemd-@TIMESTAMP@.tar.xz
+compression_mode: pixz
+portage_confdir: @REPO_DIR@/releases/portage/stages
+portage_prefix: releng
+binrepo_path: arm64/binpackages/23.0/arm64
+
+stage4/use:
+ -passwdqc
+ video_cards_d3d12
+
+stage4/packages:
+ media-libs/mesa
+ sys-apps/gentoo-wsl-config
+ sys-auth/pambase
+
+stage4/fsscript: @REPO_DIR@/releases/scripts/wsl.sh
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-10-03 21:34 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-03 21:34 [gentoo-commits] proj/releng:master commit in: releases/specs/amd64/, releases/specs/arm64/, releases/scripts/ Andreas K. Hüttel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox