Fennec F-Droid: prepare for 61.0

master
relan 2018-06-28 08:41:57 +03:00
parent 1823e60ee3
commit d59eb8941e
2 changed files with 103 additions and 1 deletions

View File

@ -4542,6 +4542,105 @@ Build:60.0.2,600210
zip -d obj/dist/fennec-$$VERSION$$.multi.android-*-unsigned-unaligned.apk 'META-INF/*.*'
ndk=r15c
Build:61.0,610000
commit=FENNEC_61_0_RELEASE
timeout=28800
sudo=apt update && \
apt install -y g++ libgmp-dev libmpfr-dev libmpc-dev proguard-cli/testing libproguard-java/testing
output=obj/dist/fennec-$$VERSION$$.multi.android-*-unsigned-unaligned.apk
srclibs=MozLocales@03e502fcd96a5cd64cb57a0b8cb1e39ee17b9ef1,pyenv@v1.2.4
prebuild=bash $$MozLocales$$/prebuild.sh && \
echo "ac_add_options --target=arm-linux-androideabi" >> .mozconfig && \
echo "ac_add_options --with-android-min-sdk=16" >> .mozconfig && \
echo "ac_add_options --with-android-ndk=\"$$NDK$$\"" >> .mozconfig && \
echo "ac_add_options --with-android-sdk=\"$$SDK$$\"" >> .mozconfig && \
echo "ac_add_options --enable-application=mobile/android" >> .mozconfig && \
echo "ac_add_options --with-branding=mobile/android/branding/unofficial" >> .mozconfig && \
echo "ac_add_options --with-libclang-path=$$NDK$$/toolchains/llvm/prebuilt/linux-x86_64/lib64/" >> .mozconfig && \
echo "ac_add_options --with-clang-path=$$NDK$$/toolchains/llvm/prebuilt/linux-x86_64/bin/clang" >> .mozconfig && \
echo "mk_add_options 'export PROGUARD_JAR=/usr/share/java/proguard.jar'" >> .mozconfig && \
echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj" >> .mozconfig && \
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=$$VERCODE$$' >> configure.sh && \
sed -i -e 's/Mozilla Fennec/Fennec F-Droid/g' locales/en-US/brand* && \
popd
build=export I_PREFER_A_SUBOPTIMAL_MERCURIAL_EXPERIENCE=1 && \
curl https://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz | tar -x -J && \
mkdir gcc && \
pushd gcc-6.4.0 && \
./configure --enable-languages=c,c++ --disable-multilib --prefix="$PWD/../gcc" && \
make -j`nproc` && \
make install && \
popd && \
export PATH="$PWD/gcc/bin:$PATH" && \
export LD_LIBRARY_PATH="$PWD/gcc/lib64" && \
export PYENV_ROOT="$(realpath '$$pyenv$$')" && \
export PATH="$PYENV_ROOT/bin:$PATH" && \
eval "$(pyenv init -)" && \
pyenv install 3.5.5 && \
pyenv global 3.5.5 && \
mkdir rust && \
curl https://static.rust-lang.org/dist/rust-1.25.0-`uname -m`-unknown-linux-gnu.tar.xz | tar -x -J -C rust --strip-components 2 && \
curl https://static.rust-lang.org/dist/rust-std-1.25.0-armv7-linux-androideabi.tar.xz | tar -x -J -C rust --strip-components 2 && \
PATH=$PATH:$PWD/rust/bin ./mach build && \
cat used-locales | xargs -I % ./mach build chrome-% && \
make -C obj package AB_CD=multi && \
zip -d obj/dist/fennec-$$VERSION$$.multi.android-*-unsigned-unaligned.apk 'META-INF/*.*'
ndk=r15c
Build:61.0,610010
commit=FENNEC_61_0_RELEASE
timeout=28800
sudo=apt update && \
apt install -y g++ libgmp-dev libmpfr-dev libmpc-dev proguard-cli/testing libproguard-java/testing
output=obj/dist/fennec-$$VERSION$$.multi.android-*-unsigned-unaligned.apk
srclibs=MozLocales@03e502fcd96a5cd64cb57a0b8cb1e39ee17b9ef1,pyenv@v1.2.4
prebuild=bash $$MozLocales$$/prebuild.sh && \
echo "ac_add_options --target=i386-linux-androideabi" >> .mozconfig && \
echo "ac_add_options --with-android-min-sdk=16" >> .mozconfig && \
echo "ac_add_options --with-android-ndk=\"$$NDK$$\"" >> .mozconfig && \
echo "ac_add_options --with-android-sdk=\"$$SDK$$\"" >> .mozconfig && \
echo "ac_add_options --enable-application=mobile/android" >> .mozconfig && \
echo "ac_add_options --with-branding=mobile/android/branding/unofficial" >> .mozconfig && \
echo "ac_add_options --with-libclang-path=$$NDK$$/toolchains/llvm/prebuilt/linux-x86_64/lib64/" >> .mozconfig && \
echo "ac_add_options --with-clang-path=$$NDK$$/toolchains/llvm/prebuilt/linux-x86_64/bin/clang" >> .mozconfig && \
echo "mk_add_options 'export PROGUARD_JAR=/usr/share/java/proguard.jar'" >> .mozconfig && \
echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj" >> .mozconfig && \
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=$$VERCODE$$' >> configure.sh && \
sed -i -e 's/Mozilla Fennec/Fennec F-Droid/g' locales/en-US/brand* && \
popd
build=export I_PREFER_A_SUBOPTIMAL_MERCURIAL_EXPERIENCE=1 && \
curl https://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.xz | tar -x -J && \
mkdir gcc && \
pushd gcc-6.4.0 && \
./configure --enable-languages=c,c++ --disable-multilib --prefix="$PWD/../gcc" && \
make -j`nproc` && \
make install && \
popd && \
export PATH="$PWD/gcc/bin:$PATH" && \
export LD_LIBRARY_PATH="$PWD/gcc/lib64" && \
export PYENV_ROOT="$(realpath '$$pyenv$$')" && \
export PATH="$PYENV_ROOT/bin:$PATH" && \
eval "$(pyenv init -)" && \
pyenv install 3.5.5 && \
pyenv global 3.5.5 && \
mkdir rust && \
curl https://static.rust-lang.org/dist/rust-1.25.0-`uname -m`-unknown-linux-gnu.tar.xz | tar -x -J -C rust --strip-components 2 && \
curl https://static.rust-lang.org/dist/rust-std-1.25.0-i686-linux-android.tar.xz | tar -x -J -C rust --strip-components 2 && \
export PATH="$PATH:$PWD/rust/bin" && \
./mach build && \
cat used-locales | xargs -I % ./mach build chrome-% && \
make -C obj package AB_CD=multi && \
zip -d obj/dist/fennec-$$VERSION$$.multi.android-*-unsigned-unaligned.apk 'META-INF/*.*'
ndk=r15c
Maintainer Notes:
Updating/Versioning:
@ -4553,7 +4652,8 @@ Updating/Versioning:
** Example: 550021 = Firefox 55.0 for ARMv8, second revision
* Builds for different architectures target different Android API levels: 16 for 32-bit (ARMv7 and x86) and 21 for 64-bit (ARMv8).
* Required SDK and NDK versions: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build#Required_Android_SDK_and_NDK_versions
* Required Rust versions: https://wiki.mozilla.org/Oxidation#Supported_Rust_versions_for_Firefox_builds
* Required Rust versions: https://wiki.mozilla.org/Rust_Update_Policy_for_Firefox#Schedule
* Firefox 61 requires at least Python 3.5 and GCC 6.1. We have to install Python and GCC from source because their versions in Debian Jessie are too old. This should be dropped once the build VM is upgraded to Debian Stretch.
Reroute Feedback:
* about:feedback links to the Play Store for rating the app. While with F-Droid installed, we can intercept the intent and open the page in F-Droid client instead, there is no way to rate the app. If F-Droid is not installed (or Play is configured to be used always), no app info page is displayed at all: Our package id is not in Play Store! Some options:

2
srclibs/pyenv.txt Normal file
View File

@ -0,0 +1,2 @@
Repo Type:git
Repo:https://github.com/pyenv/pyenv