commit: 08c931129e5bb1c492c2cd0438db444d01d79995
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 28 00:37:25 2026 +0000
Commit: Matt Jolly <kangie <AT> gentoo <DOT> org>
CommitDate: Sat Feb 28 22:31:46 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08c93112
www-client/chromium: Prepare for slotting
Update the support files script to properly suffix the various channels,
the launcher scripts to accept the new names, and the ebuilds to install
the non-suffixed desktop entry. This will only impact new installs, no
need for a revbump and slotted chromium will replace these ebuilds
anyway.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
www-client/chromium/chromium-138.0.7204.157.ebuild | 2 +-
www-client/chromium/chromium-145.0.7632.109.ebuild | 2 +-
www-client/chromium/chromium-145.0.7632.116.ebuild | 2 +-
www-client/chromium/chromium-146.0.7680.31.ebuild | 2 +-
www-client/chromium/files/chromium-launcher-r7.sh | 2 +-
www-client/chromium/files/chromium-launcher-r8.sh | 2 +-
.../chromium/files/generate-support-files.py | 39 +++++++++++++++++-----
7 files changed, 36 insertions(+), 15 deletions(-)
diff --git a/www-client/chromium/chromium-138.0.7204.157.ebuild
b/www-client/chromium/chromium-138.0.7204.157.ebuild
index 7eb54d6a9e5e..07da72932a78 100644
--- a/www-client/chromium/chromium-138.0.7204.157.ebuild
+++ b/www-client/chromium/chromium-138.0.7204.157.ebuild
@@ -1514,7 +1514,7 @@ src_install() {
done
# Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
+ domenu out/Release/chromium-browser.desktop
# Install GNOME default application entry (bug #303100).
insinto /usr/share/gnome-control-center/default-apps
diff --git a/www-client/chromium/chromium-145.0.7632.109.ebuild
b/www-client/chromium/chromium-145.0.7632.109.ebuild
index 6a0de7542fc2..7d35738680d3 100644
--- a/www-client/chromium/chromium-145.0.7632.109.ebuild
+++ b/www-client/chromium/chromium-145.0.7632.109.ebuild
@@ -1634,7 +1634,7 @@ src_install() {
done
# Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
+ domenu out/Release/chromium-browser.desktop
# Install GNOME default application entry (bug #303100).
insinto /usr/share/gnome-control-center/default-apps
diff --git a/www-client/chromium/chromium-145.0.7632.116.ebuild
b/www-client/chromium/chromium-145.0.7632.116.ebuild
index d64bf865b247..015207b21b0b 100644
--- a/www-client/chromium/chromium-145.0.7632.116.ebuild
+++ b/www-client/chromium/chromium-145.0.7632.116.ebuild
@@ -1602,7 +1602,7 @@ src_install() {
done
# Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
+ domenu out/Release/chromium-browser.desktop
# Install GNOME default application entry (bug #303100).
insinto /usr/share/gnome-control-center/default-apps
diff --git a/www-client/chromium/chromium-146.0.7680.31.ebuild
b/www-client/chromium/chromium-146.0.7680.31.ebuild
index a7c2b9b839de..c07600924375 100644
--- a/www-client/chromium/chromium-146.0.7680.31.ebuild
+++ b/www-client/chromium/chromium-146.0.7680.31.ebuild
@@ -1595,7 +1595,7 @@ src_install() {
done
# Install desktop entry
- domenu out/Release/chromium-browser-chromium.desktop
+ domenu out/Release/chromium-browser.desktop
# Install GNOME default application entry (bug #303100).
insinto /usr/share/gnome-control-center/default-apps
diff --git a/www-client/chromium/files/chromium-launcher-r7.sh
b/www-client/chromium/files/chromium-launcher-r7.sh
index 1163ff3ddc09..a9ca5aee1a4f 100644
--- a/www-client/chromium/files/chromium-launcher-r7.sh
+++ b/www-client/chromium/files/chromium-launcher-r7.sh
@@ -54,6 +54,6 @@ if @@OZONE_AUTO_SESSION@@; then
fi
# Set the .desktop file name
-export CHROME_DESKTOP="chromium-browser-chromium.desktop"
+export CHROME_DESKTOP="chromium-browser.desktop"
exec -a "chromium-browser" "$PROGDIR/chrome"
--extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@"
diff --git a/www-client/chromium/files/chromium-launcher-r8.sh
b/www-client/chromium/files/chromium-launcher-r8.sh
index 482b047b58d1..45bc0d698b33 100644
--- a/www-client/chromium/files/chromium-launcher-r8.sh
+++ b/www-client/chromium/files/chromium-launcher-r8.sh
@@ -59,6 +59,6 @@ if @@OZONE_AUTO_SESSION@@; then
fi
# Set the .desktop file name
-export CHROME_DESKTOP="chromium-browser-chromium.desktop"
+export CHROME_DESKTOP="chromium-browser.desktop"
exec -a "chromium-browser" "$PROGDIR/chrome"
--extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@"
diff --git a/www-client/chromium/files/generate-support-files.py
b/www-client/chromium/files/generate-support-files.py
index 0533c68450ec..ac6e3fb9cf32 100644
--- a/www-client/chromium/files/generate-support-files.py
+++ b/www-client/chromium/files/generate-support-files.py
@@ -22,8 +22,28 @@ def main():
required=True,
help="Installation directory (e.g. /usr/lib/chromium-browser)",
)
+ parser.add_argument(
+ "-c",
+ "--channel",
+ default="stable",
+ choices=["stable", "beta", "unstable", "dev", "canary"],
+ help="Channel to build for (default: stable)",
+ )
args = parser.parse_args()
+ # Normalise channel name (upstream uses 'unstable' for dev)
+ channel = args.channel
+ if channel == "dev":
+ channel = "unstable"
+
+ # Define suffixes based on channel
+ channel_suffix = ""
+ menu_suffix = ""
+
+ if channel != "stable":
+ channel_suffix = f"-{channel}"
+ menu_suffix = f" ({channel})"
+
# Configure contexts strictly for file generation
# Common variables used across templates
context = {
@@ -32,16 +52,17 @@ def main():
"EXTRA_DESKTOP_ENTRIES": "",
"FULLDESC": "An open-source browser project that aims to build a
safer, faster, and more stable way to experience the web.",
"HELPURL": "https://wiki.gentoo.org/wiki/Chromium",
- "INSTALLDIR": args.installdir,
+ "INSTALLDIR": args.installdir, # Note: We've patched the installer
scripts to automatically append the channel suffix, but we'll use the arg since
we bypass all that.
"MAINTMAIL": "Gentoo Chromium Project <[email protected]>",
- "MENUNAME": "Chromium",
- "PACKAGE": "chromium-browser",
+ "MENUNAME": f"Chromium{menu_suffix}",
+ "PACKAGE": f"chromium-browser{channel_suffix}",
"PRODUCTURL": "https://www.chromium.org/",
"PROGNAME": "chrome",
"PROJECT_LICENSE": "BSD, LGPL-2, LGPL-2.1, MPL-1.1, MPL-2.0,
Apache-2.0, and others",
"SHORTDESC": "Open-source foundation of many web browsers including
Google Chrome",
- "URI_SCHEME": "x-scheme-handler/chromium",
- "USR_BIN_SYMLINK_NAME": "chromium-browser",
+ # Use a distinct scheme handler for slotted installs to avoid conflicts
+ "URI_SCHEME": f"x-scheme-handler/chromium{channel_suffix}",
+ "USR_BIN_SYMLINK_NAME": f"chromium-browser{channel_suffix}",
}
# upstream is currently (M145) converting from upper to lower case
@@ -52,28 +73,28 @@ def main():
# Generate Desktop file
installer.process_template(
Path("chrome/installer/linux/common/desktop.template"),
- Path("out/Release/chromium-browser-chromium.desktop"),
+ Path(f"out/Release/chromium-browser{channel_suffix}.desktop"),
context,
)
# Generate Manpage
installer.process_template(
Path("chrome/app/resources/manpage.1.in"),
- Path("out/Release/chromium-browser.1"),
+ Path(f"out/Release/chromium-browser{channel_suffix}.1"),
context,
)
# Generate AppData (AppStream)
installer.process_template(
Path("chrome/installer/linux/common/appdata.xml.template"),
- Path("out/Release/chromium-browser.appdata.xml"),
+ Path(f"out/Release/chromium-browser{channel_suffix}.appdata.xml"),
context,
)
# Generate GNOME Default Apps entry
installer.process_template(
Path("chrome/installer/linux/common/default-app.template"),
- Path("out/Release/chromium-browser.xml"),
+ Path(f"out/Release/chromium-browser{channel_suffix}.xml"),
context,
)