-
Notifications
You must be signed in to change notification settings - Fork 1.3k
F-Droid #162
Comments
I think the main problem here will be that the app uses several Maven repositories we (F-Droid) don't trust: Line 27 in 9255962
|
How is that solved in Fennec build? No untrusted repos? Sorry, couldn't decipher its build.gradle... |
I think Fennec includes the Gecko source in the repository (instead of fetching prebuilt JAR files like Fenix) so we build everything from source. |
Is considered meanwhile provide nightly f-droid repository (something similiar to unofficial Firefox Beta repository?) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Can we make a list of issues that prevent releasing Fenix to F-Droid and attack them one-by-one? |
The problem here is that our policy only allows dependencies built from source or fetched from a trusted repository. So the solution to this would be for us to build these dependencies (mostly android-components) entirely from source, but this could be a lot of work. (And some of these components also use custom repositories and non-free dependencies...)
Fenix uses the non-free PS: Of course, Mozilla could also provide their own F-Droid repository with non-free builds. |
This comment has been minimized.
This comment has been minimized.
@Rudloff could you use (and whitelist) the direct download links for all of those prebuilt dependences? GeckoView mainly. You haven't to whitelist the whole maven repo in this case. |
Fenix requires several dozen libraries hosted on https://maven.mozilla.org/, downloading all these manually would be very tedious (and against our policy). |
What's wrong with Maven, again? |
The problem is not Maven itself but the fact that Fenix uses a Maven repository that is not trusted by the the F-Droid build server. (And the F-Droid contributors decided not to whitelist it.) To sum up, the situation is currently stuck unless one the following things happen:
|
I suppose this requires some significant amount of work but doesn't seem unrealistic though. 😅 |
Can we get a Mozilla contributor here to talk about this? Seems we need their opinion. |
@bbinto added this to a milestone. I assume that means they're going to do it. Right? |
@poperigby I can't speak for Mozilla, but this issue seems solvable for me. Fenix is in beta state for now so team is focusing on building (fast) high quality product but I believe that after releasing stable version this issue will have more attention. I think we need some to make some investigation to split this task onto smaller ones and make them easier to contribute to. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This allows to specify flags at build time that will allow to enable/disable specific features from fenix. The first use-case for this is to produce a variant of fenix without proprietary components such as gms. For instance, passing the "-Porg.mozilla.fenix.enableFeatureXYZ=false" will disable the XYZ feature from the build.
As Google's library for showing licences isn't open-source, this commit reimplements its main Activity. This is in prevision to having an OSS flavor of fenix. We chose to not introduce dependencies to third-party libraries such as AboutLibraries for now, and we'll stick to using Google's gradle plugin for the dependencies extraction. Fixes #7584 See also #162
F-Droid dev here. I've been working on Fenix inclusion for the past couple of months. Here is a recipie and a set of scripts. In short, it eliminates Mozilla Maven repository and builds GeckoView, Glean, Android Components and Application Services from source (without proprietary components). Fenix itself is heavily patched to remove non-free stuff; the removal of play-services-oss-licenses and flags for other proprietary dependencies are very appreciated, @gilbsgilbs. Fenix F-Droid is still a work-in-progress, but all the heavy lifting is done and it will eventually replace the old good Fennec F-Droid. Thanks to everyone working on this task! |
@gilbsgilbs #13767 was merged. |
@relan sorry I probably missed this discussion - but what was the reason again that you can't depend on our Maven repo? Is there anything we can do? |
Nothing specific to the Mozilla repo. F-Droid aims at building everything from source to make sure that binaries correspond to the source code. Currently we allow some widespread repositories like Maven Central, JCenter, JitPack, etc. but in the future we'd like to get rid of this legacy.
My wishlist :) to all upstream developers:
|
Just wanted come by here and say that there is a fork of Fenix, and the developer is trying to get it in F-Droid https://github.com/interfect/fenix/issues/26. @relan you might be interested |
Meanwhile, another proprietary library (com.google.android.play:core) was added in 365d101. 😞 |
Was it added with a build flag to exclude it? If not, is this something the Fenix team could take care to keep in mind for the future? Proprietary dependencies should be added with a build flag so that it is easy to build a free flavour without them. Edit: (at least, that's the impression I've got from the conversation above.) |
FYI, I'm not able to keep up with my work on the build flags just yet. If somebody wants to push #13857 forward, I'll happily give write access to my repo or they can open their own PR. If not, I'll probably come back to it at some point. |
Looks like there was an ongoing MR that got merged recently: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/7448 @relan I thank you so much for the hard work. |
the F-Droid repo still offers the old version |
I have no idea how to say this eloquently, but I believe Fennec should be archived and Fenix should be a new package. |
@pwd-github If I am not mistaking, making Fenix a new package would disallow Mozilla to provide it as an update from fennec through Play Store. |
https://forum.f-droid.org/t/welcome-a-new-fennec-f-droid/11113/16 |
Well, to be clear, the Fennec will share the same signing key as the old one (and all F-droid apps). Only a temporary test key for the test version. |
Non correct. |
Surely creating a new package just makes all the sense. Especially given the drastic UI change the limited add-on support. Move Fennec to F-Droid Archive and support org.mozilla.fenix-fdroid in the main repo. |
It would be great to keep the Fennec name as it is, due to the reputation that this build variant gained over the years and as mentioned here. Adding fenix as a tag would be enough. |
@relan Firefox does not allow turning off the google safe browsing feature on mobile. Will Fennec-Fenix allow this? |
This should be closed https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/ |
I think this checklist is still important to achieve. #162 (comment) @relan seemed to appreciate the benefits. |
This shipped. Thanks to @relan and anyone else involved with the f-droid Fennec/Fenix project. It is better to track tasks about upstreaming any useful code in new issues. This one is far too messy to be of much use. |
Would be nice to have this browser available in the F-Droid repository, when it'll be released (I hope soon). That's why I should ask, do you support this idea?
┆Issue is synchronized with this Jira Task
The text was updated successfully, but these errors were encountered: