Update Fennec F-Droid to 81.1.1
Merge request reports
Activity
Wow, thanks again @relan
What are those AS srclibs?
Older versions of appropriate libraries. Android Components and Application Services mutually depend on each other. So I had to build two versions of AC and Glean to bootstrap the needed versions of AC and AS.
What does UpstreamNonFree cover?
I had to remove some proprietary dependencies from Fenix, see https://gitlab.com/relan/fennecbuild/-/blob/master/fenix-liberate.patch.
- Resolved by Marcus
And if they are removed...why it this an antifeature?
@licaon-kter Because this is how the upstreamNonFree antifeature is defined. (It's a useful bit of information, as it communicates that F-Droid is responsible for fixing upstream's mess here and thus things might lag behind more or might sometimes break. Another option would be mozilla maintaining a foss build flavour themselves, which would always just work, no antifeature then.)
Right, I do understand that we need to inform on it, but this feels odd (albeit antifeatures toggle does nothing now, right?) to mark the result as "bad". I'd rather have this as a note if "However, functionality may be missing" as the AF descriptions says.
Ref: https://f-droid.org/en/docs/Build_Metadata_Reference/#AntiFeatures
/PS: Should I open an issue for fdroiddata then?
Edited by Licaon_KterDo you mind updating the description alongside this MR?
I will be away for two days, so I'd like to merge this now (unless you notice a critical issue) and do all improvements later.
I'd rather have this as a note if "However, functionality may be missing" as the AF descriptions says.
BTW push notifications are missing because I removed Firebase.
assigned to @Bubu
@relan The ndk is set to r20b here: https://gitlab.com/relan/fennecbuild/blob/77066dd2f4224f88d976404f947141a9fb5b8e97/prebuild.sh#L188
But the fdroid metadata specifies ndk
r21d
. Are both ndks needed?I'm working on top of fdroidserver!762 (closed), which doesn't support provisioning multiple ndk versions currently. Is that a thing that should be supported?
I patched the srclib to always use ndk r21d, now it fails with the following error:
d21-clang++ 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:03.92 checking for vcs source checkout... hg 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:03.97 checking for a shell... /bin/sh 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.00 checking for host system type... x86_64-pc-linux-gnu 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.00 checking for target system type... aarch64-unknown-linux-android 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.36 checking whether cross compiling... yes 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.45 checking for the Android toolchain directory... /tmp/android-ndk-r21d/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.46 checking for Python 3... /home/vagrant/build/srclib/MozFennec/obj/_virtualenvs/init_py3/bin/python (3.8.5) 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.46 checking for hg... /usr/bin/hg 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.53 checking for Mercurial version... 4.0 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.58 DEBUG: Executing: `/usr/bin/hg config` 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.58 DEBUG: The command returned non-zero exit status 255. 2020-09-26 12:54:21,303 DEBUG: buildserver > 0:04.58 DEBUG: Its error output was: 2020-09-26 12:54:21,304 DEBUG: buildserver > 0:04.58 DEBUG: | abort: repository requires features unknown to this Mercurial: sparserevlog! 2020-09-26 12:54:21,304 DEBUG: buildserver > 0:04.58 DEBUG: | (see https://mercurial-scm.org/wiki/MissingRequirement for more information) 2020-09-26 12:54:21,304 DEBUG: buildserver > 0:04.58 ERROR: Command `/usr/bin/hg config` failed with exit status 255. 2020-09-26 12:54:21,304 DEBUG: buildserver > 0:04.64 *** Fix above errors and then restart with\ 2020-09-26 12:54:21,304 DEBUG: buildserver > 0:04.64 "./mach build" 2020-09-26 12:54:21,304 DEBUG: buildserver > 0:04.64 client.mk:111: recipe for target 'configure' failed 2020-09-26 12:54:21,304 DEBUG: buildserver > 0:04.64 make: *** [configure] Error 1 2020-09-26 12:54:21,304 DEBUG: buildserver > Config object not found by mach. 2020-09-26 12:54:21,304 DEBUG: buildserver > ==== detail end ====
Urgh, this is probably because my host mercurial is a lot newer than the buildserver one :-/
Downgraded the repo... trying again...
Edited by MarcusFound this, which we might want to look into.
2020-09-26 13:34:15,945 DEBUG: buildserver > 0:06.15 WARNING: could not find Node.js executable later than 10.21; ensure `node` or `nodejs` is in PATH or set NODEJS in environment to point to an executable. 2020-09-26 13:34:15,945 DEBUG: buildserver > 0:06.15 Executing `mach bootstrap --no-system-changes` should 2020-09-26 13:34:15,945 DEBUG: buildserver > 0:06.15 install a compatible version in ~/.mozbuild on most platforms. 2020-09-26 13:34:15,945 DEBUG: buildserver > 0:06.15 If you believe this is a bug, <https://mzl.la/2vLbXAv> is a good way 2020-09-26 13:34:15,945 DEBUG: buildserver > 0:06.15 to file. More details: <https://bit.ly/2BbyD1E> 2020-09-26 13:34:15,945 DEBUG: buildserver > 0:06.15 WARNING: (This will become an error in the near future.) 2020-09-26 13:34:15,945 DEBUG: buildserver > 0:06.15 ... no
But the fdroid metadata specifies ndk r21d. Are both ndks needed?
Yes. GeckoView needs r20, other libraries r21. GeckoView NDK is set here: https://gitlab.com/relan/fennecbuild/-/blob/master/prebuild.sh#L189
All NDKs are available, you can always reference them in pre/build.
- export ANDROID_NDK=$HOME/android-ndk/rXXx
This is an implementation detail of the current buildserver provisioning scripts... (on of) the goal of my work in fdroidserver!762 (closed) is to explicitly not have all ndks available to get the buildserver image to a managable size and only install the ones requrested by the app.
Right, in the mean time we cant use this, say if you can**'t** adapt code to the proper ndk version
/LE: meant can't
Edited by Licaon_Kter