Files
brave-core/patches/chrome-installer-linux-debian-build.sh.patch
T

107 lines
4.0 KiB
Diff

diff --git a/chrome/installer/linux/debian/build.sh b/chrome/installer/linux/debian/build.sh
index 7cd40b9c37cce8370238c3a1b3850d209ad8d4e2..078f7790cec1fd3d222ef07b451c5a5bb19ad01b 100755
--- a/chrome/installer/linux/debian/build.sh
+++ b/chrome/installer/linux/debian/build.sh
@@ -21,7 +21,7 @@ gen_changelog() {
process_template "${SCRIPTDIR}/changelog.template" "${DEB_CHANGELOG}"
debchange -a --nomultimaint -m --changelog "${DEB_CHANGELOG}" \
"Release Notes: ${RELEASENOTES}"
- GZLOG="${STAGEDIR}/usr/share/doc/${PACKAGE}-${CHANNEL}/changelog.gz"
+ GZLOG="${STAGEDIR}/usr/share/doc/${PACKAGEANDCHANNEL}/changelog.gz"
mkdir -p "$(dirname "${GZLOG}")"
gzip -9 -c "${DEB_CHANGELOG}" > "${GZLOG}"
chmod 644 "${GZLOG}"
@@ -30,7 +30,7 @@ gen_changelog() {
# Create the Debian control file needed by dpkg-deb.
gen_control() {
dpkg-gencontrol -v"${VERSIONFULL}" -c"${DEB_CONTROL}" -l"${DEB_CHANGELOG}" \
- -f"${DEB_FILES}" -p"${PACKAGE}-${CHANNEL}" -P"${STAGEDIR}" \
+ -f"${DEB_FILES}" -p"${PACKAGEANDCHANNEL}" -P"${STAGEDIR}" \
-O > "${STAGEDIR}/DEBIAN/control"
rm -f "${DEB_CONTROL}"
}
@@ -41,7 +41,7 @@ prep_staging_debian() {
install -m 755 -d "${STAGEDIR}/DEBIAN" \
"${STAGEDIR}/etc/cron.daily" \
"${STAGEDIR}/usr/share/menu" \
- "${STAGEDIR}/usr/share/doc/${USR_BIN_SYMLINK_NAME}"
+ "${STAGEDIR}/usr/share/doc/${PACKAGEANDCHANNEL}"
}
# Put the package contents in the staging area.
@@ -85,6 +85,7 @@ stage_install_debian() {
process_template "${OUTPUTDIR}/installer/debian/postrm" \
"${STAGEDIR}/DEBIAN/postrm"
chmod 755 "${STAGEDIR}/DEBIAN/postrm"
+ cd "${STAGEDIR}/${INSTALLDIR}/"; zip -qr "${OUTPUTDIR}/${PACKAGEANDCHANNEL}-${VERSIONFULL}-linux-${ARCHITECTURE}.zip" .; cd -
}
verify_package() {
@@ -92,7 +93,7 @@ verify_package() {
local EXPECTED_DEPENDS="${TMPFILEDIR}/expected_deb_depends"
local ACTUAL_DEPENDS="${TMPFILEDIR}/actual_deb_depends"
echo ${DEPENDS} | sed 's/, /\n/g' | LANG=C sort > "${EXPECTED_DEPENDS}"
- dpkg -I "${PACKAGE}-${CHANNEL}_${VERSIONFULL}_${ARCHITECTURE}.deb" | \
+ dpkg -I "${PACKAGEANDCHANNEL}_${VERSIONFULL}_${ARCHITECTURE}.deb" | \
grep '^ Depends: ' | sed 's/^ Depends: //' | sed 's/, /\n/g' | \
LANG=C sort > "${ACTUAL_DEPENDS}"
BAD_DIFF=0
@@ -118,7 +119,7 @@ do_package() {
gen_control
fi
log_cmd fakeroot dpkg-deb -Znone -b "${STAGEDIR}" "${TMPFILEDIR}"
- local PACKAGEFILE="${PACKAGE}-${CHANNEL}_${VERSIONFULL}_${ARCHITECTURE}.deb"
+ local PACKAGEFILE="${PACKAGEANDCHANNEL}_${VERSIONFULL}_${ARCHITECTURE}.deb"
if [ ${IS_OFFICIAL_BUILD} -ne 0 ]; then
(cd "${TMPFILEDIR}" && ar -x "${TMPFILEDIR}/${PACKAGEFILE}")
xz -z9 -T0 --lzma2='dict=256MiB' "${TMPFILEDIR}/data.tar"
@@ -164,8 +165,11 @@ verify_channel() {
;;
dev|unstable|alpha )
CHANNEL=unstable
+ CHANNEL=dev
RELEASENOTES="https://chromereleases.googleblog.com/search/label/Dev%20updates"
;;
+ nightly )
+ ;;
* )
echo
echo "ERROR: '$CHANNEL' is not a valid channel type."
@@ -173,6 +177,7 @@ verify_channel() {
exit 1
;;
esac
+ RELEASENOTES="https://brave.com/latest/"
}
process_opts() {
@@ -252,6 +257,17 @@ fi
eval $(sed -e "s/^\([^=]\+\)=\(.*\)$/export \1='\2'/" \
"${OUTPUTDIR}/installer/theme/BRANDING")
+PACKAGEANDCHANNEL="${PACKAGE}-${CHANNEL}"
+if [ "$CHANNEL" = "unstable" ]; then
+ PACKAGEANDCHANNEL="${PACKAGE}-dev"
+fi
+if [ "$CHANNEL" = "dev" ]; then
+ PACKAGEANDCHANNEL="${PACKAGE}-dev"
+fi
+if [ "$CHANNEL" = "stable" ]; then
+ PACKAGEANDCHANNEL="${PACKAGE}"
+fi
+
verify_channel
# Some Debian packaging tools want these set.
@@ -262,6 +278,10 @@ export ARCHITECTURE="${ARCHITECTURE}"
DEB_COMMON_DEPS="${OUTPUTDIR}/deb_common.deps"
COMMON_DEPS=$(sed ':a;N;$!ba;s/\n/, /g' "${DEB_COMMON_DEPS}")
COMMON_PREDEPS="dpkg (>= 1.14.0)"
+# Ensure that our signing key is up-to-date (brave/brave-browser#4205).
+if [ "$CHANNEL" = "stable" ]; then
+ COMMON_DEPS="${COMMON_DEPS}, brave-keyring"
+fi
# Make everything happen in the OUTPUTDIR.
cd "${OUTPUTDIR}"