From e6210b924966c0437b558de8f76d93f6e7ab6121 Mon Sep 17 00:00:00 2001 From: Ruslan Boitsov Date: Wed, 10 Jun 2020 08:44:05 +0000 Subject: [PATCH] Update Firefox Klar, build Geckoview --- metadata/org.mozilla.klar.yml | 238 +++++++++++++++++++++++++++++++++- srclibs/MozFennec.yml | 2 + srclibs/MozGlean.yml | 2 + 3 files changed, 240 insertions(+), 2 deletions(-) create mode 100644 srclibs/MozFennec.yml create mode 100644 srclibs/MozGlean.yml diff --git a/metadata/org.mozilla.klar.yml b/metadata/org.mozilla.klar.yml index 0f680c734c..9f969bc8db 100644 --- a/metadata/org.mozilla.klar.yml +++ b/metadata/org.mozilla.klar.yml @@ -498,6 +498,240 @@ Builds: antifeatures: - KnownVuln + - versionName: 8.4.0 + versionCode: 241 + commit: v8.4.0 + timeout: 28800 + subdir: app + sudo: + - apt-get update || apt-get update + - apt-get install -y libgmp-dev libmpfr-dev libmpc-dev + - apt-get remove -y mercurial + - echo 'deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-10 main' >> + /etc/apt/sources.list + - curl -JL http://llvm.org/apt/llvm-snapshot.gpg.key | apt-key add - + - apt-get update || apt-get update + - apt install -y clang-10 llvm-10 lld-10 + - update-alternatives --install /usr/bin/clang clang /usr/bin/clang-10 100 + - update-alternatives --install /usr/bin/lld lld /usr/bin/lld-10 100 + - update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-10 + 100 + gradle: + - klar + - aarch64 + srclibs: + - MozFennec@FIREFOX_77_0_1_RELEASE + - rustup@1.21.1 + - MozAndroidComponents@v44.0.1 + - MozGlean@v29.1.1 + prebuild: + - $ANDROID_HOME/tools/bin/sdkmanager 'emulator' + - sed -i -E -e '/focusImplementation/d' build.gradle + - sed -i -e '/The Google Play Store does not allow multiple APKs/d' build.gradle + - sed -i -e '/maven {/,/}$/d' -e 's/jcenter()/jcenter()\nmavenLocal()/g' ../build.gradle + - cp -r $$MozAndroidComponents$$ ../MozAndroidComponents + - cp -r $$MozGlean$$ ../MozGlean + - cp -r $$MozFennec$$ ../MozFennec + - sed -i -e '/maven {/,/}$/d' -e 's/jcenter()/jcenter()\nmavenLocal()/g' ../MozAndroidComponents/build.gradle + - sed -i -e '/maven {/,/}$/d' -e 's/repositories {/repositories {\nmavenLocal()/g' + ../MozAndroidComponents/components/support/migration/build.gradle ../MozAndroidComponents/components/support/sync-telemetry/build.gradle + ../MozAndroidComponents/components/lib/crash/build.gradle ../MozAndroidComponents/components/browser/engine-gecko/build.gradle + ../MozAndroidComponents/components/browser/engine-gecko-beta/build.gradle + - rm -rf ../MozAndroidComponents/components/browser/engine-gecko-nightly + - rm -rf ../MozAndroidComponents/components/lib/push-firebase + - rm -rf ../MozAndroidComponents/components/lib/push-amazon + - rm -rf ../MozAndroidComponents/samples + - rm -R ../MozAndroidComponents/docs/api/package-list + - rm -rf ../MozAndroidComponents/components/tooling/glean-gradle-plugin + - sed -i -e '/maven {/,/}$/d' -e 's/repositories {/repositories {\nmavenLocal()/g' + ../MozGlean/build.gradle + - echo "rust.targets=arm64" >> ../MozGlean/local.properties + - cd ../MozGlean + - gradle "Bootstrap_CONDA_'Miniconda3'" + - cd ../MozFennec + - sed -i -e 's/default=default_elfhack/default=False/g' toolkit/moz.configure + - sed -i -e '/gmp-provider/d' mobile/android/app/mobile.js + - echo 'pref("media.gmp-provider.enabled", false);' >> mobile/android/app/mobile.js + - echo 'pref("media.gmp-manager.url.override", "data:text/plain,");' >> mobile/android/app/mobile.js + - sed -i -e '/gmp-gmpopenh264.enabled/d' mobile/android/app/mobile.js + - sed -i -e '/gmp-gmpopenh264.visible/d' mobile/android/app/mobile.js + - echo 'pref("media.gmp-gmpopenh264.enabled", false);' >> mobile/android/app/mobile.js + - sed -i -e "s/HEALTHREPORT\', True/HEALTHREPORT\', False/g" mobile/android/moz.configure + - sed -i -e '/crashreporter/d' Cargo.toml + - sed -i -e '/.variant.name}AndroidTest/d' mobile/android/gradle.configure + - sed -i -e 's/raise MissingFileError(/self.logger.log(logging.INFO, "IGNORED + "+/g' python/mach/mach/main.py + - sed -i -e '/testing\/talos/d' toolkit/toolkit.mozbuild + - sed -i -e '/test\/mochitest/d' -e '/test\/unit\/xpcshell/d' modules/libjar/moz.build + - sed -i -e '/test\/unit\/xpcshell/d' toolkit/components/mediasniffer/moz.build + - sed -i -e '/tests\/xpcshell/d' -e '/tests\/SearchTestUtils/d' toolkit/components/search/moz.build + - sed -i -e '/tests\/unit\/xpcshell/d' -e '/unit\/TelemetryArchiveTesting.jsm/d' + toolkit/components/telemetry/moz.build + - rm mobile/android/geckoview/src/androidTest/assets/moz.build + - sed -i -e '/src\/androidTest\/assets/d' mobile/android/moz.build + - sed -i -e '/tests\/mochitest.ini/d' dom/file/moz.build + - sed -i -e '/test\/forms\/mochitest.ini/d' -e '/test\/mochitest.ini/d' -e '/test\/forms\/chrome.ini/d' + -e '/test\/chrome.ini/d' -e '/test\/browser.ini/d' dom/html/moz.build + - sed -i -e '/identity\/mochitest.ini/d' -e '/test\/mochitest.ini/d' dom/media/moz.build + - sed -i -e '/test\/mochitest.ini/d' dom/media/mediasource/moz.build dom/workers/moz.build + dom/serviceworkers/moz.build + - sed -i -e '/test\/browser.ini/d' dom/workers/moz.build + - sed -i -e '/tests\/mochitest.ini/d' -e '/tests\/browser.ini/d' dom/xhr/moz.build + - sed -i -e '/crashtest\/crashtests.list/d' -e '/reftests/d' layout/moz.build + - sed -i -e '/test\/unit_ipc\/xpcshell/d' -e '/test\/unit\/xpcshell/d' -e '/mochitest.ini/d' + -e '/test\/chrome/d' -e '/test\/navigation/d' -e '/test\/browser/d' docshell/moz.build + - sed -i -e '/test\/mochitest/d' toolkit/components/extensions/moz.build + - sed -i -e '/addons-mlbf.bin/d' services/settings/dumps/blocklists/moz.build + - rm -R third_party/rust/winapi-*-pc-windows-gnu/lib/*.a + - rm -R tools/update-packaging/test/ + - rm -R third_party/rust/miniz_oxide/tests/ + - sed -i -e 's/,"tests\/[^:]*:"[^"]*"//g' third_party/rust/miniz_oxide/.cargo-checksum.json + - rm -R third_party/rust/sha2/tests/ + - sed -i -e 's/,"tests\/[^:]*:"[^"]*"//g' third_party/rust/sha2/.cargo-checksum.json + - rm -R third_party/python/pipenv/pipenv/patched/notpip/_vendor/distlib/*.exe + - rm -R third_party/python/pipenv/pipenv/vendor/pip9/_vendor/distlib/*.exe + - rm -R modules/libmar/tests/ + - rm -R config/tests/test.manifest.jar + - rm -R third_party/rust/sha-1/tests/ + - sed -i -e 's/,"tests\/[^:]*:"[^"]*"//g' third_party/rust/sha-1/.cargo-checksum.json + - rm -R third_party/rust/deflate/tests/ + - sed -i -e 's/,"tests\/[^:]*:"[^"]*"//g' third_party/rust/deflate/.cargo-checksum.json + - rm -R third_party/rust/rust_cascade/test_data/ + - sed -i -e 's/,"tests\/[^:]*:"[^"]*"//g' -e 's/,"test_data\/[^:]*:"[^"]*"//g' + third_party/rust/rust_cascade/.cargo-checksum.json + - rm -R modules/libjar/test/ + - rm -R toolkit/mozapps/extensions/test/ + - rm -R toolkit/mozapps/update/tests/ + - rm -R toolkit/components/telemetry/tests/search/ + - rm -R toolkit/components/telemetry/tests/unit/ + - rm -R toolkit/components/mediasniffer/test/unit/ + - rm -R toolkit/components/reputationservice/test/unit/data/signed_win.exe + - rm -R toolkit/components/search/tests/ + - rm -R toolkit/components/crashes/tests/ + - rm -R toolkit/crashreporter/test/unit/ + - rm -R toolkit/crashreporter/breakpad-client/mac/handler/testcases/ + - rm -R toolkit/crashreporter/google-breakpad/src/tools/windows/ + - rm -R testing/raptor/raptor/profiler/dump_syms_mac + - rm -R testing/web-platform/ + - rm -R testing/talos/talos/ + - rm -R docshell/test/ + - rm services/settings/dumps/blocklists/addons-bloomfilters/addons-mlbf.bin + - rm devtools/client/debugger/packages/devtools-wasm-dwarf/wasm/dwarf_to_json.wasm + - rm -R devtools/client/debugger/test/ + - rm -R security/nss/cmd/bltest/tests/ + - rm -R security/nss/cmd/samples/ + - rm -R security/nss/tests/ + - rm -R security/manager/ssl/osclientcerts/test/ + - rm -R media/webrtc/trunk/webrtc/test/ + - rm -R intl/icu/source/test/testdata/ + - rm -R layout/reftests/ + - rm -R other-licenses/nsis/nsisui.exe + - rm -R other-licenses/7zstub/src/bin + - rm -R build/pymake/tests/ + - rm -R dom/html/test/ + - rm -R dom/security/test/ + - rm -R dom/tests/ + - rm -R dom/xhr/tests/ + - rm -R dom/base/test/ + - rm -R dom/media/test/ + - rm -R dom/media/mediasource/test/ + - rm -R xpcom/tests/ + - rm -R browser/branding/*/dsstore + - rm -R browser/components/migration/tests/unit/ + - rm -R netwerk/test/unit/data/signed_win.exe + - rm -R security/manager/ssl/tests/unit/test_cert_storage_preexisting/data.safe.bin + - rm -R security/manager/ssl/tests/unit/test_cert_storage_preexisting_crlite/data.safe.bin + - echo "ac_add_options --enable-application=mobile/android" >> .mozconfig + - echo "ac_add_options --enable-linker=lld" >> .mozconfig + - echo "ac_add_options --disable-tests" >> .mozconfig + - echo "ac_add_options --disable-debug" >> .mozconfig + - echo "ac_add_options --disable-nodejs" >> .mozconfig + - echo "ac_add_options --disable-updater" >> .mozconfig + - echo "ac_add_options --disable-crashreporter" >> .mozconfig + - echo "ac_add_options --with-branding=mobile/android/branding/unofficial" >> + .mozconfig + - echo "export MOZ_INSTALL_TRACKING=" >> .mozconfig + - echo "export MOZ_NATIVE_DEVICES=" >> .mozconfig + - echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj" >> .mozconfig + - echo "ac_add_options --with-gradle=$(which gradle)" >> .mozconfig + - echo "ac_add_options --target=aarch64-linux-android" >> .mozconfig + - echo "ac_add_options --with-android-min-sdk=21" >> .mozconfig + - echo "ac_add_options --with-android-ndk=\"$$NDK$$\"" >> .mozconfig + - echo "ac_add_options --with-android-sdk=\"$$SDK$$\"" >> .mozconfig + - echo "ac_add_options --with-libclang-path=$$NDK$$/toolchains/llvm/prebuilt/linux-x86_64/lib64/" + >> .mozconfig + - sed -i -e 's/r20/r20b/g' python/mozboot/mozboot/android.py + - pushd mobile/android/branding/unofficial/ + - sed -i -e '/ANDROID_PACKAGE_NAME/d' -e '/MOZ_APP_DISPLAYNAME/d' configure.sh + - echo 'ANDROID_PACKAGE_NAME=org.mozilla.fennec_fdroid' >> configure.sh + - echo 'MOZ_APP_DISPLAYNAME="Fennec F-Droid"' >> configure.sh + - echo 'MOZ_APP_ANDROID_VERSION_CODE=770020' >> configure.sh + - sed -i -e 's/Mozilla Fennec/Fennec F-Droid/g' locales/en-US/brand* + - popd + - perl -0777 -i -pe 's/repositories {\n\s+gradle.mozconfig.substs.GRADLE_MAVEN_REPOSITORIES.each + { repository ->\n\s+maven {\n\s+url repository\n\s+}\n\s+}\n\s+}/repositories + {\nmavenLocal()\ngoogle()\njcenter()\nmaven {\nurl \"https:\/\/plugins.gradle.org\/m2\/\"\n}\n}/g' + build.gradle + - cd ../app + scanignore: + - MozAndroidComponents/publish.gradle + - MozAndroidComponents/components/lib/publicsuffixlist/src/main/assets/publicsuffixes + - MozFennec/mobile/android/geckoview/build.gradle + - MozFennec/substitute-local-geckoview.gradle + build: + - $$rustup$$/rustup-init.sh -y + - source $HOME/.cargo/env + - rustup default 1.43.1 + - rustup target add aarch64-linux-android + - cargo install --force --vers 0.14.2 cbindgen + - pushd ../MozFennec + - ./mach build + - gradle publishWithGeckoBinariesReleasePublicationToMavenLocal + - popd + - pushd ../MozGlean + - gradle publishToMavenLocal + - popd + - pushd ../MozAndroidComponents + - sed -i -e 's/Gecko.geckoview_release/"org.mozilla.geckoview:geckoview-default:77.0+"/g' + components/browser/engine-gecko/build.gradle + - sed -i -e 's/Gecko.geckoview_beta/"org.mozilla.geckoview:geckoview-default:77.0+"/g' + components/browser/engine-gecko-beta/build.gradle + - sed -i -e 's/Gecko.geckoview_nightly/"org.mozilla.geckoview:geckoview-default:77.0+"/g' + components/lib/crash/build.gradle + - gradle browser-engine-gecko:publishToMavenLocal + - gradle browser-domains:publishToMavenLocal + - gradle browser-errorpages:publishToMavenLocal + - gradle browser-search:publishToMavenLocal + - gradle browser-session:publishToMavenLocal + - gradle browser-state:publishToMavenLocal + - gradle concept-engine:publishToMavenLocal + - gradle concept-fetch:publishToMavenLocal + - gradle feature-customtabs:publishToMavenLocal + - gradle lib-crash:publishToMavenLocal + - gradle lib-fetch-httpurlconnection:publishToMavenLocal + - gradle service-telemetry:publishToMavenLocal + - gradle service-fretboard:publishToMavenLocal + - gradle support-ktx:publishToMavenLocal + - gradle support-utils:publishToMavenLocal + - gradle ui-autocomplete:publishToMavenLocal + - gradle ui-colors:publishToMavenLocal + - gradle support-base:publishToMavenLocal + - gradle lib-state:publishToMavenLocal + - gradle concept-storage:publishToMavenLocal + - gradle ui-icons:publishToMavenLocal + - gradle browser-menu:publishToMavenLocal + - gradle browser-toolbar:publishToMavenLocal + - gradle feature-session:publishToMavenLocal + - gradle feature-intent:publishToMavenLocal + - gradle concept-menu:publishToMavenLocal + - gradle concept-toolbar:publishToMavenLocal + - gradle feature-search:publishToMavenLocal + - popd + - echo 'ext { generatedVersionCode = $$VERCODE$$ }' > ../tools/gradle/versionCode.gradle + - sed -i -e 's/"org.mozilla.geckoview:geckoview:$gecko_release_version"/"org.mozilla.geckoview:geckoview-default:77.0+"/g' + -e '/versionCode = versionCode +/d' build.gradle + ndk: r20b + MaintainerNotes: |- Cannot use AUM/UCM because version code is not updated, see https://github.com/mozilla-mobile/focus-android/issues/1528. @@ -507,5 +741,5 @@ MaintainerNotes: |- AutoUpdateMode: None UpdateCheckMode: None -CurrentVersion: 8.0.15 -CurrentVersionCode: 232 +CurrentVersion: 8.4.0 +CurrentVersionCode: 241 diff --git a/srclibs/MozFennec.yml b/srclibs/MozFennec.yml new file mode 100644 index 0000000000..23ca06a538 --- /dev/null +++ b/srclibs/MozFennec.yml @@ -0,0 +1,2 @@ +RepoType: hg +Repo: https://hg.mozilla.org/releases/mozilla-release/ \ No newline at end of file diff --git a/srclibs/MozGlean.yml b/srclibs/MozGlean.yml new file mode 100644 index 0000000000..857e54280c --- /dev/null +++ b/srclibs/MozGlean.yml @@ -0,0 +1,2 @@ +RepoType: git +Repo: https://github.com/mozilla/glean.git \ No newline at end of file