Use origin-branded names for packages and dist artifacts (#34939)

* Use origin-branded names for Linux packages and dist artifacts

When is_brave_origin_branded=true, use brave-origin instead of
brave-browser for DEB/RPM package names and brave-origin instead
of brave for Linux symbols zip filenames.

- Add brave-origin/chromium-browser.info and appdata.xml.template
- Add brave_dist_name and brave_linux_package_name to config.gni
- Use brave_linux_package_name in Linux installer patch
- Conditionally select branding directory in sources.gni

* Use origin-branded dist name for all platform artifacts

Use brave_dist_name for dist zips, symbols, and native symbols
on all platforms. For origin builds this renames artifacts from
brave-v* to brave-origin-v* on Windows, Mac, and Android.

* Update chromium_src/chrome/installer/linux/common/brave-origin/appdata.xml.template

Co-authored-by: Francois Marier <francois@brave.com>

* Apply suggestion from @fmarier

Co-authored-by: Francois Marier <francois@brave.com>

* Use separate install dirs for origin to allow coexistence

Use /opt/brave.com/brave-origin and /etc/brave-origin for origin
builds so that regular Brave and Brave Origin can be installed
side by side on the same machine.

* Use origin screenshot URL in appdata template

* Match project_license with brave-browser appdata template

* Use distinct PROGNAME for origin to avoid conflicts with brave-browser

* Use brave-origin as binary name on Linux for origin builds

* Revert brave_exe and PROGNAME changes for origin

PROGNAME must match the actual binary name (brave) since the
wrapper script uses it to exec the binary. Coexistence between
brave-browser and brave-origin is handled by distinct PACKAGE,
INSTALLDIR, and ENROLLMENTDIR values, not the binary name.

---------

Co-authored-by: Francois Marier <francois@brave.com>
This commit is contained in:
Brian R. Bondy
2026-03-25 10:56:13 -04:00
committed by GitHub
co-authored by Francois Marier
parent 62575a9e0b
commit 581039ac87
6 changed files with 83 additions and 8 deletions
+4 -4
View File
@@ -581,9 +581,9 @@ if (should_generate_symbols) {
if (is_android) {
# TODO(https://github.com/brave/brave-browser/issues/51200)
# Cleanup Mono once cr144 reaches stable channel, CI also needs to be updated
output = "$brave_dist_dir/$brave_product_name-v$brave_version-$brave_platform-mono-$target_cpu-symbols-$target_android_output_format.zip"
output = "$brave_dist_dir/$brave_dist_name-v$brave_version-$brave_platform-mono-$target_cpu-symbols-$target_android_output_format.zip"
} else {
output = "$brave_dist_dir/$brave_product_name-v$brave_version-$brave_platform-$target_arch-symbols.zip"
output = "$brave_dist_dir/$brave_dist_name-v$brave_version-$brave_platform-$target_arch-symbols.zip"
}
deps = [ "//brave/app/$current_os:symbol_dist_resources" ]
@@ -598,7 +598,7 @@ if (should_generate_symbols) {
if (is_mac) {
copy("create_native_symbols_dist") {
sources = [ "$root_out_dir/$chrome_product_full_name.dSYM.tar.bz2" ]
outputs = [ "$brave_dist_dir/$brave_product_name-v$brave_version-$brave_platform-$target_arch-native-symbols.tar.bz2" ]
outputs = [ "$brave_dist_dir/$brave_dist_name-v$brave_version-$brave_platform-$target_arch-native-symbols.tar.bz2" ]
deps = [ "//chrome:chrome_dsym_archive" ]
}
@@ -622,7 +622,7 @@ group("create_symbols_dist") {
}
action("create_dist_zips") {
output = "$brave_dist_dir/$brave_product_name-v$brave_version-$brave_platform-$target_arch.zip"
output = "$brave_dist_dir/$brave_dist_name-v$brave_version-$brave_platform-$target_arch.zip"
outputs = [ output ]
if (is_win) {
+4
View File
@@ -75,8 +75,12 @@ brave_dist_dir = "$root_out_dir/dist"
# Use different installer/product names for Brave Origin
if (is_brave_origin_branded) {
_product_brand = "Origin"
brave_dist_name = "brave-origin"
brave_linux_package_name = "brave-origin"
} else {
_product_brand = "Browser"
brave_dist_name = "brave"
brave_linux_package_name = "brave-browser"
}
if (is_win) {
@@ -0,0 +1,29 @@
<!-- Copyright 2017 The Chromium Authors -->
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>brave-origin.desktop</id>
<update_contact>support@brave.com</update_contact>
<metadata_license>CC0-1.0</metadata_license>
<project_license>BSD-3-Clause and LGPL-2.1+ and Apache-2.0 and IJG and MIT and GPL-2.0+ and ISC and OpenSSL and (MPL-1.1 or GPL-2.0 or LGPL-2.0)</project_license>
<name>Brave Origin</name>
<summary>The web browser from Brave.com</summary>
<description>
<p>
A browser with your interests at heart.
</p>
<p>
Browse faster by blocking ads and trackers that violate your privacy and cost you time and money.
</p>
</description>
<url type="homepage">https://brave.com/</url>
<screenshots>
<screenshot type="default">
<image>https://www.brave.com/images/origin.png</image>
<caption/>
</screenshot>
</screenshots>
<translation/>
<developer_name>Brave Software</developer_name>
<url type="bugtracker">https://github.com/brave/brave-browser/issues/</url>
<url type="help">https://support.brave.app/</url>
</component>
@@ -0,0 +1,34 @@
# Copyright (c) 2009 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# This file provides common configuration information for building
# chromium-browser packages for various platforms.
# Base name of the package.
PACKAGE="brave-origin"
# Filename of the main executable (for generating launcher scripts, etc.)
PROGNAME=brave
# Base directory for package installation.
INSTALLDIR=/opt/brave.com/brave-origin
# Directory for device policy enrollments.
ENROLLMENTDIR=/etc/brave-origin/policies/enrollment
# Display string for desktop menu/icon.
MENUNAME="Brave Origin"
# Brief package description.
SHORTDESC="The web browser from Brave"
# Detailed package description.
FULLDESC="Browse faster by blocking ads and trackers that violate your privacy and cost you time and money."
# Package maintainer information.
MAINTNAME="Brave Software"
MAINTMAIL="support@brave.com"
PRODUCTURL="https://brave.com/"
RDN="com.brave.Origin"
+10 -2
View File
@@ -3,11 +3,19 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
import("//brave/components/brave_origin/buildflags/buildflags.gni")
if (is_brave_origin_branded) {
_linux_branding_dir = "brave-origin"
} else {
_linux_branding_dir = "brave-browser"
}
common_packaging_files_sources = [
"//brave/LICENSE",
"//brave/chromium_src/chrome/app/resources/manpage.1.in",
"//brave/chromium_src/chrome/installer/linux/common/brave-browser/appdata.xml.template",
"//brave/chromium_src/chrome/installer/linux/common/brave-browser/chromium-browser.info",
"//brave/chromium_src/chrome/installer/linux/common/$_linux_branding_dir/appdata.xml.template",
"//brave/chromium_src/chrome/installer/linux/common/$_linux_branding_dir/chromium-browser.info",
]
common_packaging_files_excluded_sources = [
@@ -1,5 +1,5 @@
diff --git a/chrome/installer/linux/BUILD.gn b/chrome/installer/linux/BUILD.gn
index 291ef25d7e29b9dede8f8c84a47d94e364910c74..0f36d42c4c6befbe11be6f19558ccf1961eebc18 100644
index 291ef25d7e29b9dede8f8c84a47d94e364910c74..a4d9cd241fcf47555f727a467f5e1f038108fcfb 100644
--- a/chrome/installer/linux/BUILD.gn
+++ b/chrome/installer/linux/BUILD.gn
@@ -16,6 +16,7 @@ import("//third_party/angle/gni/angle.gni")
@@ -62,7 +62,7 @@ index 291ef25d7e29b9dede8f8c84a47d94e364910c74..0f36d42c4c6befbe11be6f19558ccf19
package = "google-chrome"
} else {
- package = "chromium-browser"
+ package = "brave-browser" chrome_version_full = brave_version
+ package = brave_linux_package_name chrome_version_full = brave_version
}
deb_target_name = "${target_name}_deb"