Merge pull request #9654 from IdrisKalp/master

firefox 90.0.2 and reenable PGO and LTO
This commit is contained in:
Idris Kalp
2021-07-23 03:31:18 +03:00
committed by GitHub
4 changed files with 60 additions and 15 deletions
+40 -11
View File
@@ -4,33 +4,41 @@
# Licensed under the GNU General Public License, version 3. # Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/licenses/gpl.txt # See the file http://www.gnu.org/licenses/gpl.txt
import subprocess
from pisi.actionsapi import get from pisi.actionsapi import get
from pisi.actionsapi import autotools from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools from pisi.actionsapi import shelltools
#WorkDir = "mozilla-release-6b51784853e47e091d213d421a19cb623af718f0" #WorkDir = "mozilla-release-6b51784853e47e091d213d421a19cb623af718f0"
ObjDir = "build" ObjDir = "objdir"
locales = "az bs ca da de el en-US en-GB es-AR es-CL es-ES fi fr hr hu it lt nl pl pt-BR pt-PT ro ru sr sv-SE tr uk".split() locales = "az bs ca da de el en-US en-GB es-AR es-CL es-ES fi fr hr hu it lt nl pl pt-BR pt-PT ro ru sr sv-SE tr uk".split()
xpidir = "%s/xpi" % get.workDIR() xpidir = "%s/xpi" % get.workDIR()
arch = get.ARCH() arch = get.ARCH()
ver = ".".join(get.srcVERSION().split(".")[:3]) ver = ".".join(get.srcVERSION().split(".")[:3])
jobs = jobs = "-j"+ subprocess.check_output("nproc 2>/dev/null", shell=True).rstrip("\n")
shelltools.export("SHELL", "/bin/sh") shelltools.export("SHELL", "/bin/sh")
shelltools.export("MACH_USE_SYSTEM_PYTHON", "1") shelltools.export("MACH_USE_SYSTEM_PYTHON", "1")
def setup(): def setup():
shelltools.system("echo 'Instrumenting Firefox for PGO'")
shelltools.system("cp mozconfig-inst .mozconfig")
# Google API key # Google API key
shelltools.echo("google_api_key", "AIzaSyBINKL31ZYd8W5byPuwTXYK6cEyoceGh6Y") shelltools.echo("google_api_key", "AIzaSyBINKL31ZYd8W5byPuwTXYK6cEyoceGh6Y")
pisitools.dosed(".mozconfig", "%%PWD%%", get.curDIR()) pisitools.dosed(".mozconfig", "%%PWD%%", get.curDIR())
pisitools.dosed(".mozconfig", "%%FILE%%", "google_api_key") pisitools.dosed(".mozconfig", "%%FILE%%", "google_api_key")
pisitools.dosed(".mozconfig", "##JOBCOUNT##", get.makeJOBS()) pisitools.dosed(".mozconfig", "##JOBCOUNT##", jobs)
# LOCALE # LOCALE
shelltools.system("rm -rf langpack-ff/*/browser/defaults") shelltools.system("rm -rf langpack-ff/*/browser/defaults")
if not shelltools.isDirectory(xpidir): shelltools.makedirs(xpidir) if not shelltools.isDirectory(xpidir): shelltools.makedirs(xpidir)
for locale in locales: for locale in locales:
shelltools.system("wget -c -P %s http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/%s/linux-%s/xpi/%s.xpi" % (xpidir, ver, arch, locale)) shelltools.system("wget -c -P %s https://download-origin.cdn.mozilla.net/pub/firefox/releases/%s/linux-%s/xpi/%s.xpi" % (xpidir, ver, arch, locale))
#shelltools.makedirs("langpack-ff/langpack-%s@firefox.mozilla.org" % locale) #shelltools.makedirs("langpack-ff/langpack-%s@firefox.mozilla.org" % locale)
shelltools.makedirs("langpack-ff") shelltools.makedirs("langpack-ff")
#shelltools.system("unzip -uo %s/%s.xpi -d langpack-ff/langpack-%s@firefox.mozilla.org" % (xpidir, locale, locale)) #shelltools.system("unzip -uo %s/%s.xpi -d langpack-ff/langpack-%s@firefox.mozilla.org" % (xpidir, locale, locale))
@@ -39,21 +47,42 @@ def setup():
#shelltools.copy("browserconfig.properties", "langpack-ff/langpack-%s@firefox.mozilla.org/browser/chrome/%s/locale/branding/" % (locale, locale)) #shelltools.copy("browserconfig.properties", "langpack-ff/langpack-%s@firefox.mozilla.org/browser/chrome/%s/locale/branding/" % (locale, locale))
shelltools.copy("browserconfig.properties", "browser/branding/official/locales/") shelltools.copy("browserconfig.properties", "browser/branding/official/locales/")
shelltools.makedirs(ObjDir) #shelltools.makedirs(ObjDir)
shelltools.cd(ObjDir) #shelltools.cd(ObjDir)
shelltools.system("../configure --prefix=/usr --libdir=/usr/lib --disable-strip --disable-install-strip") #shelltools.system("../configure --prefix=/usr --libdir=/usr/lib --disable-strip --disable-install-strip")
def build(): def build():
shelltools.cd(ObjDir) shelltools.system("echo 'Building instrumented browser'")
shelltools.system("../mach build -j5") #shelltools.cd(ObjDir)
shelltools.system("./mach build")
shelltools.system("echo 'Profiling instrumented browser...'")
shelltools.system("./mach package")
shelltools.system("LLVM_PROFDATA=llvm-profdata \
JARLOG_FILE='%s/jarlog' \
xvfb-run -s '-screen 0 1920x1080x24 -nolisten local' \
./mach python build/pgo/profileserver.py" %get.curDIR())
shelltools.system("echo 'Removing instrumented browser...'")
shelltools.system("./mach clobber")
shelltools.system("echo 'Building optimized browser...'")
shelltools.system("rm .mozconfig")
shelltools.system("cp mozconfig-opt .mozconfig")
#shelltools.echo("google_api_key", "AIzaSyBINKL31ZYd8W5byPuwTXYK6cEyoceGh6Y")
pisitools.dosed(".mozconfig", "%%PWD%%", get.curDIR())
pisitools.dosed(".mozconfig", "%%FILE%%", "google_api_key")
pisitools.dosed(".mozconfig", "##JOBCOUNT##", jobs)
#shelltools.system("../configure --prefix=/usr --libdir=/usr/lib --disable-strip --disable-install-strip")
shelltools.system("./mach build")
def install(): def install():
shelltools.cd(ObjDir) #shelltools.cd(ObjDir)
shelltools.system("DESTDIR=%s ../mach install " % get.installDIR()) shelltools.system("DESTDIR=%s ./mach install " % get.installDIR())
shelltools.cd("..") #shelltools.cd("..")
# Install language packs # Install language packs
pisitools.insinto("/usr/lib/firefox/browser/extensions", "./langpack-ff/*") pisitools.insinto("/usr/lib/firefox/browser/extensions", "./langpack-ff/*")
+5
View File
@@ -6,6 +6,10 @@ ac_add_options --enable-release
#ac_add_options --enable-linker=gold #ac_add_options --enable-linker=gold
ac_add_options --enable-hardening ac_add_options --enable-hardening
ac_add_options --enable-optimize ac_add_options --enable-optimize
ac_add_options --enable-linker=lld
ac_add_options --disable-bootstrap
ac_add_options --disable-elf-hack
export MOZ_NOSPAM=1 export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="%%PWD%%/mozbuild" export MOZBUILD_STATE_PATH="%%PWD%%/mozbuild"
@@ -18,6 +22,7 @@ export RANLIB=llvm-ranlib
export LDFLAGS+=" -fuse-ld=lld" export LDFLAGS+=" -fuse-ld=lld"
ac_add_options --allow-addon-sideload ac_add_options --allow-addon-sideload
ac_add_options --enable-official-branding ac_add_options --enable-official-branding
ac_add_options --with-unsigned-addon-scopes=app,system
# System libraries # System libraries
ac_add_options --with-system-nspr ac_add_options --with-system-nspr
+4
View File
@@ -6,6 +6,9 @@ ac_add_options --enable-release
#ac_add_options --enable-linker=gold #ac_add_options --enable-linker=gold
ac_add_options --enable-hardening ac_add_options --enable-hardening
ac_add_options --enable-optimize ac_add_options --enable-optimize
ac_add_options --enable-linker=lld
ac_add_options --disable-bootstrap
ac_add_options --disable-elf-hack
export MOZ_NOSPAM=1 export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="%%PWD%%/mozbuild" export MOZBUILD_STATE_PATH="%%PWD%%/mozbuild"
@@ -18,6 +21,7 @@ export RANLIB=llvm-ranlib
export LDFLAGS+=" -fuse-ld=lld" export LDFLAGS+=" -fuse-ld=lld"
ac_add_options --allow-addon-sideload ac_add_options --allow-addon-sideload
ac_add_options --enable-official-branding ac_add_options --enable-official-branding
ac_add_options --with-unsigned-addon-scopes=app,system
# System libraries # System libraries
ac_add_options --with-system-nspr ac_add_options --with-system-nspr
+11 -4
View File
@@ -15,12 +15,12 @@
<IsA>app:gui</IsA> <IsA>app:gui</IsA>
<Summary>Firefox Web Browser</Summary> <Summary>Firefox Web Browser</Summary>
<Description>It is more secure and faster to browse the web with Firefox web browser. You can personalize your web browser with many specifications that is not enough to explain in two sentences.</Description> <Description>It is more secure and faster to browse the web with Firefox web browser. You can personalize your web browser with many specifications that is not enough to explain in two sentences.</Description>
<Archive sha1sum="062bb3a3830e850d12b198eea1e3bed218c0ef96" type="tarxz">https://ftp.mozilla.org/pub/firefox/releases/90.0.1/source/firefox-90.0.1.source.tar.xz</Archive> <Archive sha1sum="bc8038e849f300623ffa868187d9d53ae655e31c" type="tarxz">https://ftp.mozilla.org/pub/firefox/releases/90.0.2/source/firefox-90.0.2.source.tar.xz</Archive>
<AdditionalFiles> <AdditionalFiles>
<!--Our main configure script. Configure paramters are stored here.--> <!--Our main configure script. Configure paramters are stored here.-->
<AdditionalFile target=".mozconfig" permission="0644">mozconfig</AdditionalFile> <!-- <AdditionalFile target=".mozconfig" permission="0644">mozconfig</AdditionalFile> -->
<!-- <AdditionalFile target="mozconfig-inst" permission="0644">mozconfig-inst</AdditionalFile> --> <AdditionalFile target="mozconfig-inst" permission="0644">mozconfig-inst</AdditionalFile>
<!-- <AdditionalFile target="mozconfig-opt" permission="0644">mozconfig-opt</AdditionalFile> --> <AdditionalFile target="mozconfig-opt" permission="0644">mozconfig-opt</AdditionalFile>
<AdditionalFile target="configure" permission="0755">configure</AdditionalFile> <AdditionalFile target="configure" permission="0755">configure</AdditionalFile>
<AdditionalFile target="browserconfig.properties" permission="0644">pisilinux/browserconfig.properties</AdditionalFile> <!--anasayfa ayarlaması--> <AdditionalFile target="browserconfig.properties" permission="0644">pisilinux/browserconfig.properties</AdditionalFile> <!--anasayfa ayarlaması-->
</AdditionalFiles> </AdditionalFiles>
@@ -558,6 +558,13 @@
</Package> </Package>
<History> <History>
<Update release="61">
<Date>2021-07-22</Date>
<Version>90.0.2</Version>
<Comment>Version bump and reenable PGO and LTO</Comment>
<Name>İdris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="60"> <Update release="60">
<Date>2021-07-19</Date> <Date>2021-07-19</Date>
<Version>90.0.1</Version> <Version>90.0.1</Version>