Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Be in F-Droid #26

Open
interfect opened this issue Aug 28, 2020 · 106 comments
Open

Be in F-Droid #26

interfect opened this issue Aug 28, 2020 · 106 comments
Labels
enhancement New feature or request help wanted Extra attention is needed todo Task queue

Comments

@interfect
Copy link
Collaborator

Here's how to get into F-Droid.

We should be able to use most of https://gitlab.com/relan/fennecbuild/ and https://github.com/interfect/fenix/blob/5387b7464ed88051b159d417153d7286229ac7ce/org.mozilla.fenix_fdroid.yml from Mozilla Fenix's packaging and get in.

Someone has to work through the procedure, make sure the local fdroid build bot can build it, make sure it knows to build the right release type (forkRelease for us) and make an MR over on Gitlab.

@interfect interfect added enhancement New feature or request help wanted Extra attention is needed labels Aug 28, 2020
@TheEvilSkeleton
Copy link

I opened an issue in the F-Droid RFP repository. I hope one of them will be able to help you

@TheEvilSkeleton
Copy link

Hints to the maintainer:

  • make a flavor that comes without proprietary dependencies (here: Firebase)
  • make sure to only use trusted maven repos – what's not available from any of those can be established either as git submodule or srclib (check our fdroiddata repo for already existing srclibs to see what's covered)

Thanks for reaching out to us, and best luck in solving the "deal breakers"!

https://gitlab.com/fdroid/rfp/-/issues/1459#note_404173201

@TheEvilSkeleton
Copy link

@interfect feel free to talk with the F-Droid maintainers: https://gitlab.com/fdroid/rfp/-/issues/1459

@esmoak
Copy link

esmoak commented Aug 30, 2020

I know Izzy chimed in on the F-Droid request thread, but I wonder if he might pick this up for his repo:

https://gitlab.com/IzzyOnDroid/repo

@interfect
Copy link
Collaborator Author

I think the F-Droid PR is blocked on getting all the telemetry stuff ripped out.

I want to apply https://gitlab.com/relan/fennecbuild/-/blob/master/fenix-liberate.patch but it's in an AGPL repo, so I opened https://gitlab.com/relan/fennecbuild/-/issues/4 about getting permission to use it in an MPL project without having to AGPL the result.

If that isn't forthcoming, we can duplicate the work using the patch as a guide to what needs to be touched, or else just duplicate the way the patch is applied at build time in the Fenix F-Droid build in whatever build script we use.

@jaytohe
Copy link

jaytohe commented Sep 3, 2020

Any progress on getting this up on F-Droid?

@TheEvilSkeleton
Copy link

TheEvilSkeleton commented Sep 3, 2020

Any progress on getting this up on F-Droid?

Yes, @interfect applied the Liberate patch in Iceweasel: https://github.com/interfect/fenix/issues/25, but I am not sure if it is actually working: https://github.com/interfect/fenix/issues/60

@TheEvilSkeleton
Copy link

@interfect it'd be better if we move the chat to GitLab: https://gitlab.com/fdroid/rfp/-/issues/1459

@goodevilgenius
Copy link

In case y'all are unaware, it should be noted that Mozilla is working on this for Fenix Firefox itself: mozilla-mobile#162

Any changes they make there towards F-Droid compliance should be less work for Iceweasel.

@TheEvilSkeleton
Copy link

unknown maven repo should be a hint :)

https://gitlab.com/fdroid/rfp/-/issues/1459#note_407705270

@relan
Copy link

relan commented Sep 5, 2020

Note that you can always run your own F-Droid repository or ask Izzy to grab APKs from the releases page into his repo.

@CharmCityCrab
Copy link

CharmCityCrab commented Sep 5, 2020

In case y'all are unaware, it should be noted that Mozilla is working on this for Fenix Firefox itself: mozilla-mobile#162

Any changes they make there towards F-Droid compliance should be less work for Iceweasel.

This is good news and probably ensures IceWeasel can eventually get in, if there was any doubt to begin with.

However, I do think there is still a first-mover advantage here that IceWeasel can grab by getting into F-Droid first with it's own code.

If IceWeasel can beat Firefox in, any F-Droid enthusiasts who don't use Google Play but who do want a Gecko-based browser that has updates beyond the end of Fennec, are extremely likely to give IceWeasel a chance if it's there when they are looking for it, and then when Firefox hits the stage, so to speak, may stay with IceWeasel because they are happy with it, or switch to Firefox but be very aware of the IceWeasel alternative in the event that they should find themselves dissatisfied with Firefox. Ultimately, this would result in IceWeasel having a much bigger slice of the F-Droid Gecko-based pie than it will have of the overall Android Gecko-pie or on other platforms where Firefox struck first.

Of course, I assume relan's unbranded Fenix-based F-Droid compatible project (Which I understand to be a relatively straight forward clone of Firefox without the Firefox branding, with necessary modifications made to be listed in F-Droid. I could be wrong about those specifics.) will either beat us in or land at a similar time, and that's fair enough. I still think there is an advantage in getting to F-Droid second to his browser relative to being third or beyond after Firefox, which is the real heavy hitter that F-Droid users who search and see at the top of the list may not look beyond in many cases, lands.

I really do view all three projects as important strategic allies in a lot of ways. Relan's code for his fork and help has been very important to IceWeasel's efforts here, as I understand the situation, anyway, and of course we rely heavily on Firefox for code on an on-going basis. The more of these projects, the better. All these browsers are also in the "trying to preserve a non-Chromium web rendering engine option that has good web compatibility" thing together.

Last I checked IceWeasel was using Firefox-Fenix's user agent string, which is probably just to make sure users are being fed the appropriately formatted web pages while browsing, but also may be a way of helping Mozilla out by combining our marketshare the way some outlets measure marketshare, and hoping that gives them the influence to have a say in standards instead of Google just deciding everything by fiat and then getting it rubberstamped later as the official standard after it's already been made the defacto standard. Of course, I wouldn't mind a separate user-agent string for IceWeasel either to help determine this browser's specific following, but I have no strong opinion to that effect (Probably if IceWeasel did adopt it's own UA string, just from a practical perspective, it'd have to have an override in place for sites that lock it out or feed it an incompatible page, where it revert to tell such sites it was Firefox, essentially).

However, I don't view minor strategic considerations like trying to get on F-Droid before Firefox by a decent margin as being not in the spirit of that- we're not slowing done Mozilla's efforts in any way, shape, or form. In fact, they could of course adopt the code developed here under it's open-source licenses and get in the day after us if they really wanted to (I doubt they will, because they seem to prefer to develop their own code, but they could, and they'd have every right to just as IceWeasel has every right to keep using Mozilla's code.).

Later, when and if Firefox becomes compatible, IceWeasel could then evaluate whether it makes more sense to rip out it's own code and use the Mozilla code to stay closer to upstream and make it easier to maintain, or whether it's own code is better overall even with the on-going added maintenance burden taken into consideration (Remember, Firefox is ultimately going to have telemetry, what they'd be doing is getting rid of proprietary telemetry, so anything based on hypothetical Firefox official F-Droid code is still going to have stuff in that IceWeasel is probably going to want to remove or not adopt on general principle, even though it'd comply with F-Droid guidelines in this hypothetical.). Any potential switch from the IC code to FF code after IC has entered FD would simply be an update, invisible to any end-user not reading the update notes or studying the code- it shouldn't make a difference to the browsing experience of the end-user.

Of course, the maintainers/developers are the appropriate ones to figure all this out, not just because they are in charge, but also because it's their time that's being devoted to writing code that may be redundant later. So, they have to decide if that's worthwhile for them or not, which is not a call I can make, both because I don't know how much extra work it is, and because I don't know how highly they value the strategic importance of being first and so on and so forth. I also don't know how far along they already are with this (Obviously, "nearly finished" is a different calculus than "10% down, 90% to go").

However, I did want to jump in here and at least say the words "first-mover advantage" to make sure it was being considered. :)

Once I have brought something to the attention of the people who make the decisions, in some respects, my work is done. ;) They can decide what they want to do based on the information provided and their personal expert knowledge of the coding and technical maintenance side of the equation. :)

@CharmCityCrab
Copy link

Also, literally as I was writing the above, relan posted the following over in the Mozilla issue surrounding getting Firefox added to F-Droid:

"Meanwhile, another proprietary library (com.google.android.play:core) was added in 365d101. 😞"

Our devs may want to make sure they exclude that when porting over the latest updates from Mozilla if possible, so we don't set our progress back on this issue.

@bbigam
Copy link

bbigam commented Sep 6, 2020

Also, literally as I was writing the above, relan posted the following over in the Mozilla issue surrounding getting Firefox added to F-Droid:

"Meanwhile, another proprietary library (com.google.android.play:core) was added in 365d101. disappointed"

Our devs may want to make sure they exclude that when porting over the latest updates from Mozilla if possible, so we don't set our progress back on this issue.

And good relan has already updated the liberate patch to exclude the new dependency!
https://gitlab.com/relan/fennecbuild/-/commit/d8a40373afa8c117dd4a10c445617c17fa309b0e

@bbigam
Copy link

bbigam commented Sep 7, 2020

I'm trying to patch out the new Play Store dependency and do a little more cleanup based on relan's work, but please check my work carefully because it's my first ever PR: #76

@bbigam
Copy link

bbigam commented Sep 10, 2020

PR #76 was merged and now there's no Play Store dependency.

@abhijitvalluri
Copy link
Collaborator

Is the current state of this fork acceptable for inclusion in F-droid or should more be done?

@abhijitvalluri
Copy link
Collaborator

Also, it looks like the Fennec browser in F-droid uses a recolored version of the official Firefox logo. Is that allowed? If so, we could probably do something similar rather than the IceWeasel logo, which I am not a fan of.

@rugk
Copy link

rugk commented Sep 14, 2020

Fennec browser in F-droid uses a recolored version of the official Firefox logo. Is that allowed?

https://www.mozilla.org/en-US/foundation/trademarks/policy/

I'd say, no:

Choose branding, logos, and trademarks that denotes your own unique identity so as to clearly signal to users that there is no affiliation with or endorsement by Mozilla.

(etc.)

@cleanerspam
Copy link

@interfect
Please make it available on IzzyOnDroid Repo
As the creator of repo summarises

it holds open-source-apps that for some reason didn’t make it into the official F-Droid repo or are no longer updated there. Those reasons usually have to do with proprietary dependencies introduced into the apps.
 as an F-Droid maintainer put it, it also serves as a **stepping stone for projects wanting to be included in the official repo**, but yet have to solve such dependencies. Once they’re done with that job and listed on the official repo, they’re usually removed from IzzyOnDroid’s again (mostly to avoid confusion due to signature mismatches).
 if you know a fitting app that’s neither in this nor in the official repo, you can visit IzzyOnDroid Repo’s Repo at GitLab and let me know, so I can include it if possible.

@interfect
Copy link
Collaborator Author

Is the current state of this fork acceptable for inclusion in F-droid or should more be done?

I think we've gotten all the closed source stuff ripped out, and the fennec-build build scripts seem to be in a state where they can be adapted to work for us pretty easily. (We need them because we depend on a bunch of code, like android-components, not in this repo, and they know how to build all that stuff.)

Someone just has to sit down, figure out how F-Droid really works, set up a build driven by (a version of?) those scripts, test it, and MR it into F-Droid.

@interfect interfect added the todo Task queue label Sep 25, 2020
@ildar
Copy link

ildar commented Sep 25, 2020 via email

@interfect
Copy link
Collaborator Author

OK, I have an F-Droid YAML that is at least starting to work:

https://gitlab.com/interfect/fdroiddata/-/tree/iceraven

To use it you have to:

  1. sudo apt-get install -y g++ python-setuptools tcl gyp ninja-build libffi-dev libsqlite3-dev mercurial llvm-6.0
  2. Clone this and current master fdroidserver
  3. Put frdoidserver repo root on yout PATH
  4. fdroid init
  5. Make sure $ANDROID_HOME is set
  6. ${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin/sdkmanager "ndk;21.3.6528147"
  7. Edit config.py and point ndk 21d at $ANDROID_SDK_ROOT/ndk/21.3.6528147
  8. fdroid build -v -l io.github.forkmaintainers.iceraven

Currently it gets stuck because the current version of the liberate patch in https://gitlab.com/relan/fennecbuild/-/blob/master/fenix-liberate.patch can't apply on our codebase. The already-applied hunks are not a problem, but some hunks actually become "FAILED". We need to tweak our code so those hunks look already applied, according to patch.

@physkets
Copy link

Well, looks like the Fennec will be updated to the new Fenix:
https://forum.f-droid.org/t/welcome-a-new-fennec-f-droid/11113

@interfect
Copy link
Collaborator Author

interfect commented Mar 6, 2021 via email

@iamtalhaasghar
Copy link

Just installed iceraven through "FFUpdater" but it would be awesome to have iceraven on fdroid.

@CrazyBoyFeng
Copy link

CrazyBoyFeng commented Jul 20, 2021

f-droid requires strict open source. Because fenix contains proprietary dependencies, it is not possible to be in f-droid simply. modifying these dependencies would be a lot of work and would not be easy to synchronize with updates of fenix. The simple solution is to migrate iceraven's changes to fenix to a fennec-based fork. If you don't want to go through that trouble, then maybe it would be a better idea to consider push to google play first, as it is much simpler.

The developer seems to complain about the lack of financial support. If this is a problem for the project, it might be worth considering paid search and home page icon promotion. They doesn't break the user experience while bringing in revenue.

@S1ngl3-x
Copy link

any progress on this?

@OmlineEditor
Copy link

any progress on this?

as you can see, several years have passed and there is no progress, the program is not on the site f-droid.
I think this program will never be there, the problems will never be solved.

@goodevilgenius
Copy link

@S1ngl3-x @OmlineEditor

If your primary concern is about getting a FOSS fork of Firefox that's available on F-Droid, you may consider Mull instead.

It has the benefit of being updated more frequently than Iceraven, and being more fully FOSS.

On the other hand, it has the same default available Add-ons that standard Firefox Mobile has, which are pretty limited. So, Iceraven has a huge number of additional add-ons easily available, to its advantage. But, you can work around that on both Mull and standard FF by using a custom Add-on collection. That does require a bit more setup, though.

@KaKi87
Copy link

KaKi87 commented Jul 11, 2022

How is Mull "more fully FOSS" than Fennec ?

@bitsper2nd
Copy link

more Fully Free and Open Source Software is when your FOSS app is on fdroid. :v

@KaKi87
Copy link

KaKi87 commented Jul 11, 2022

Which is why I'm asking what's the difference between Mull and Fennec, because the latter is also a Firefox fork available on F-Droid.

@OmlineEditor
Copy link

Which is why I'm asking what's the difference between Mull and Fennec, because the latter is also a Firefox fork available on F-Droid.

difference between Mull and Fennec and other browser:
https://divestos.org/index.php?page=browsers
https://privacytests.org/android.html

@interfect
Copy link
Collaborator Author

interfect commented Jul 12, 2022 via email

@txyyh
Copy link

txyyh commented Aug 8, 2022

If it's difficult to make it available on F-Droid or IzzyOnDroid, you can choose to build you own F-Droid repo.

F-Droid repo can host on GitHub and it's possible to make it automatically with GitHub Action.

I have just build a F-Droid repo for my organization with features I said above, You can get my GitHub Action yml here and here if you want a reference.

@bhankas
Copy link

bhankas commented Aug 8, 2022

If it's difficult to make it available on F-Droid or IzzyOnDroid, you can choose to build you own F-Droid repo.

While I personally prefer (and trust) f-droid builds more, this would be a decent stop-gap solution.

@KaKi87
Copy link

KaKi87 commented Aug 8, 2022

Personally I'm only interested in automated updates, so I don't mind which repo it's in.

@Tobi823
Copy link

Tobi823 commented Aug 8, 2022

I'm using the Docker version of repomaker (https://gitlab.com/fdroid/repomaker/tree/master/docker) to create/update the F-Droid repository for FFUpdater. Ping me, if you are stuck :)

The F-Droid repository itself can be stored as a GitHub or GitLab git repository. Repomaker will generate a SSH key which must be added to the GitHub/GitLab user.

@S1ngl3-x
Copy link

S1ngl3-x commented Aug 8, 2022

I think everyone would appreciate automated updates via its own F-Droid repo. The lack of integrated automated updates solution is possibly the project's biggest drawback.

@Universalizer
Copy link

Universalizer commented Dec 10, 2022

Some Helpful Highlights Matters :-

  1. Both 'Mull and Fennec F-Droid' are probably mostly compile from source code, 'NOT a automated Build Released'.

For kind information :-

  1. 'Mull and Fennec both are on Latest Version 107.2.0' have ONLY two Trackers, 'ONLY with Exceptional Clause Exclusively Mentioned and Highlighted in their repo' ; namely 1) ²?Sentry (io.sentry) and 2) Mozilla Telemetry,

  2. While 'FF Nightly for Android' version 109.0a1 (2015920585)
    has 6 Trackers,

  3. 'TOR for Android' version 102.2.1-Release (12.0) (2015889737),
    has 5 Trackers,

  4. You Dev. Team can verify this on Latest Version for Android.

Another Note :-

  1. Previously when 'Amaze File Manager' app was prohibited 'for short time' from F-Droid, they took help and guidance of IzzyOnDroid F-Droid.

Hopefully, Helpful.

@Universalizer
Copy link

Just a query and suggestion ?,

For automated build updates ?,

Consider a point of view ?,

Can you Build New Another Fork of 'Tor For Android' ? Probably ESR.

Reason :-

  1. about:config, if applicable,

  2. more add-ons, if required,

  3. ultimate Privacy focused / security concern (for anonymous) Browser.

automated build updates, if this is possible ; by your any new project, thank you.

@ildar
Copy link

ildar commented Dec 10, 2022 via email

@Universalizer
Copy link

On Mon, Aug 8, 2022 at 12:37 PM txyyh wrote: If it's difficult to make it available on <..> IzzyOnDroid
Why's that? did you ask @IzzyOnDroid ?

First read carefully,

Excuse me, I'm new on GitHub,

That (IzzyOnDroid) is one of the probably custom repo in F-Droid, just an Example ; like Custom Self Repo of 'Guardian Project Official Releases' for Tor project apps.

I gave an example of 'Amaze file manager app development', that had been helped by IzzyOnDroid, when for short time while prohibited by main F-Droid.

I had just gave examples and suggestions, nothing else.

@Universalizer
Copy link

Iceraven-1.18.4 (2015913649), Latest,

Trackers 4 = Classes 1282,

Adjust
Google AdMob
²?Sentry
Mozilla Telemetry

*Adjust
5com.adjust.sdk.

*Google AdMob
2com.google.android.gms.ads.

*Mozilla Telemetry
328mozilla.telemetry.glean.
14org.mozilla.fenix.components.metrics
524org.mozilla.fenix.GleanMetrics

*²?Sentry
409io.sentry

These may be the reason, that F-Droid probably may concern ; Two Ad Networks 1) AdMob and 2) Adjust.

Even Firefox itself is unavailable in F-Droid.

@Universalizer
Copy link

My previous comments (neutral and natural facts); to make you aware, that your innocent FOSS Project need to self-inspect and consider the matters to overcome this situation.

Well wishes.

@seniordevel
Copy link

seniordevel commented Apr 5, 2023

I think everyone would appreciate automated updates via its own F-Droid repo. The lack of integrated automated updates solution is possibly the project's biggest drawback.

You could use ffupdater available at f-droid. It supports automated updates for iceraven too.
https://f-droid.org/packages/de.marmaro.krt.ffupdater/

It automatically detects installed Firefox forks and works seamlessly. However, updates won't come from f-fdroids repo.

@KaKi87
Copy link

KaKi87 commented Apr 5, 2023

I've recently discovered Obtainium, an app that allows automatically updating apps from source when unavailable on any store, which also works with Iceraven.

To use it, just specify this repository's URL in the App Source URL field of the Add App section.

@marek22k
Copy link

Is there any news in the meantime?

@sankhababu
Copy link

Any progress sir?

@sankhababu
Copy link

sankhababu commented Sep 19, 2024

For the last two update cycles, Iceraven is ahead from other FF forks.
No serious bug experienced by me in last 6 months with regular power use.
Chromium based forks like Kiwi, Vivaldi, Brave and good one Cromite facing ad blocking challenges with MV3.

Isn't the time for official release of Iceraven and omit disclaimers about security, vulnerability etc. from GH readme page?

What are the opinion of yours, respected developers and contributes?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed todo Task queue
Projects
None yet
Development

No branches or pull requests