diff options
| author | tranch <tranch.xiao@gmail.com> | 2026-08-27 08:08:00 +0800 |
|---|---|---|
| committer | tranch <tranch.xiao@gmail.com> | 2026-08-27 08:53:05 +0800 |
| commit | e4608f18bc3a5ad307e1a1deaa7ac0048d03f991 (patch) | |
| tree | e834c91a7e27e118255f831a0d28fcc25ceddd85 /build_files/build.sh | |
| parent | 31ee20282a23dfc1244c003a97a2656afffdd4a2 (diff) | |
| download | AeroCore-OS-e4608f18bc3a5ad307e1a1deaa7ac0048d03f991.tar.gz AeroCore-OS-e4608f18bc3a5ad307e1a1deaa7ac0048d03f991.zip | |
fix: replace symlinked desktop branding assets
Diffstat (limited to 'build_files/build.sh')
| -rwxr-xr-x | build_files/build.sh | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/build_files/build.sh b/build_files/build.sh index 5a7f780..b4acb10 100755 --- a/build_files/build.sh +++ b/build_files/build.sh @@ -14,6 +14,17 @@ esac # Copy the contents of system_files/ of the git repo to / cp -avf "/ctx/system_files"/. / +install_regular_file() { + local source_file="$1" + local destination_file="$2" + + # Several Bazzite branding paths are symlinks. cp follows an existing + # destination symlink, which leaves the name Plasma resolves untouched. + # Replace the link itself so the final immutable image owns this exact path. + rm -f -- "${destination_file}" + install -Dm0644 -- "${source_file}" "${destination_file}" +} + # KDE's Deck presets use distributor-logo-steamdeck.svg for the Kickoff # launcher. In the Bazzite base image that name (and the related aliases) # may already exist as links to the upstream distributor-logo.svg. Install @@ -27,9 +38,37 @@ for icon_name in \ distributor-logo-steamdeck.svg \ bazzite-logo.svg \ start-here.svg; do - cp -f "${AEROCORE_DISTRIBUTOR_LOGO}" "${AEROCORE_ICON_DIR}/${icon_name}" + install_regular_file "${AEROCORE_DISTRIBUTOR_LOGO}" "${AEROCORE_ICON_DIR}/${icon_name}" +done + +# Use a downstream-specific, non-upstream icon name for Plasma's launcher. +install_regular_file \ + "/ctx/system_files/usr/share/pixmaps/bazzite-logo-le.svg" \ + "/usr/share/icons/hicolor/scalable/apps/aerocore-logo.svg" + +# Game Mode's Vapor splash asset is an upstream symlink on current Bazzite +# images, while VGUI is a regular file. Replace both exact paths explicitly. +for look_and_feel in com.valve.vapor.desktop com.valve.vgui.desktop; do + install_regular_file \ + "/ctx/system_files/usr/share/plasma/look-and-feel/${look_and_feel}/contents/splash/images/bazzite_logo.svgz" \ + "/usr/share/plasma/look-and-feel/${look_and_feel}/contents/splash/images/bazzite_logo.svgz" done +# Steam's Game Mode transitions load these four assets directly. They are +# symlinks in some upstream layers, so replace their directory entries just +# like the Plasma splash assets above. +for animation in \ + bazzite.webm \ + bazzite-oled.webm \ + bazzite-suspend.webm \ + bazzite-suspend-oled.webm; do + install_regular_file \ + "/ctx/system_files/usr/share/ublue-os/bazzite/${animation}" \ + "/usr/share/ublue-os/bazzite/${animation}" +done + +gtk-update-icon-cache -f /usr/share/icons/hicolor || true + # The Plasma launcher resolves the standard start-here name from both scalable # and per-size places directories. Populate every existing Bazzite icon size # in the installed payload, not only in the live installer image. @@ -90,5 +129,7 @@ fi find /etc/environment.d /etc/skel/.config/environment.d -name 99-aerocore-mirrors.conf -type f -exec chmod 0644 {} + 2>/dev/null || true +systemctl enable aerocore-desktop-branding.service + /ctx/install-instruments.sh /ctx/patch-bazzite-deck-identity.sh |
