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

Submit Status to F-Droid #1125

Closed
step21 opened this issue Apr 29, 2017 · 22 comments
Closed

Submit Status to F-Droid #1125

step21 opened this issue Apr 29, 2017 · 22 comments

Comments

@step21
Copy link

step21 commented Apr 29, 2017

Some work as been done to be able to publish to F-Droid, but still we have some google dependencies left:

#8512 (comment)

This task would involve finding out those dependencies and how/why they are pulled in so that those strings don't show in the build anymore, and we should get a green light for F-Droid.

More details on:

#8512

@jakubgs can assist with the details

Old issue

Note: this issue has been edited

Acceptance criteria

  1. Identify obstacles for F-Droid Inclusion
  2. Create issues and prioritize them
  3. Submit proposal to be included

4 (possibly orthogonal/enhancement): Reproducible builds

Original issue

Just fyi, I opened an issues on f-droid to ask for inclusion of status (https://gitlab.com/fdroid/rfp/issues/121). I assume this is fine as this in the Todo/on the Readme anyway. (under 'Give me Binaries') This is subject anyway to their system being fine with Gradle and no external/proprietary libraries/jars being included or other issues that would go against their inclusion policy (https://f-droid.org/wiki/page/Inclusion_Policy).

@0xc1c4da
Copy link
Contributor

the important thing is to state that it is alpha software.

as for externalities it's about building status-go first and referencing that in gradle.

@0xc1c4da
Copy link
Contributor

0xc1c4da commented Apr 30, 2017

I'm curious why you created the issue on fdroid but didn't fill out their requirements properly? could you please close the issue so we can make a correct submission.

Ideally we only submit to F-Droid with everything ready to go

@step21
Copy link
Author

step21 commented May 2, 2017

Well, sure, you could always state it is alpha, they do not have a policy against that. I filled out their requirements to the best of my knowledge at the time. Of course if you would only want to submit once everything is ready I do not want to interfere with that, just thought I'd see how far I would get.

@mulles
Copy link

mulles commented Jun 18, 2018

As the app is still in alpha the above seems to be still valid. Looking forward to future f-droid submission, so one does not need to install from "unknown sources" anymore.

@status-github-bot
Copy link

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@status-github-bot
Copy link

This issue has been automatically closed. Please re-open if this issue is important to you.

@leafcutterant
Copy link

leafcutterant commented Nov 17, 2018

Request for re-open. Bad bot, by the way. It's erroneous to close issues based on (the lack of) recent activity. Signal has been doing the same, very annoying.

This IS a very important issue. One has to make a pilgrimage or build from source to get access to Status outside Google Play. Sorry, but this is ridiculous. Status says it wants to become the operating system of the web3.0. I support that vision, but then please, mean it.

Conforming to walled gardens and excluding users won't propagate that vision.

@mulles
Copy link

mulles commented Nov 27, 2018

Sharing the opinion of @leafcutterant. An app sharing FOSS ethics, should try to be distributed openly. And including it in F-droid or providing an F-droid repository seems to be mandatory for this right now.

Moreover, the App is now in Beta, does this mean we are ready or one step further to: "Ideally we only submit to F-Droid with everything ready to go" ?

@oskarth
Copy link
Contributor

oskarth commented Nov 27, 2018

Agree with both of you, thanks for being vocal about this! Reopening.

In order to be on F-Droid IIRC we need deterministic builds (this might be wrong though?). This is a challenge but it's definitely needed in order to be a trust-minimized OS. Here's the most recent state of deterministic builds: https://github.com/status-im/swarms/blob/master/ideas/282-deterministic-builds.md (though AFAIK not much has happened lately).

Pinging @jakubgs @mandrigin @corpetty @Graeme-Code about this for most recent state.

EDIT: Looking at https://gitlab.com/fdroid/rfp/issues/121 I don't see determinstic build as requirement, so it might be a slightly orthogonal problem. Scanning inclusion criteria briefly, there might be some stuff re use of Firebase for push notifications (though we explicitly removed analytics package from this).

GitHub
Swarm Home. New, completed and in-progress features for Status - status-im/swarms

@oskarth oskarth reopened this Nov 27, 2018
@status-github-bot status-github-bot bot removed the stale label Nov 27, 2018
@oskarth oskarth changed the title FYI: f-droid inclusion Submit Status to F-Droid Nov 27, 2018
@0xc1c4da
Copy link
Contributor

0xc1c4da commented Nov 27, 2018

This is an opportune time to revisit this, since we need, deterministic builds is necessary for us to get our dependencies in check and actually care about allowing other people to build Status.

@mandrigin
Copy link
Contributor

@oskarth @jarradh I'm 100% up for that. do we know the exact steps on what needs to be done to be included or should I research it?

@oskarth
Copy link
Contributor

oskarth commented Nov 27, 2018

Swarm linked above did initial investigation and had some kick off call. It isn’t clear to me what happened after this or where this was documented (this was around the time we moved from Slack).

@jakubgs
Copy link
Member

jakubgs commented Nov 30, 2018

Yeah, it all happened shortly before the hackathon and there were so many things going on the swarm was kinda forgotten. Now we can go back to working on this I guess.
As I remember it the first step was to make status-go builds deterministic, which was supposed to be easy because Go was supposed to ship with functionality for doing that soon. I'm not sure where to find info on that feature and whether it was already released or not. I can research.

@mandrigin
Copy link
Contributor

@jakubgs it would be awesome! can you keep us updated on your research in this issue?

@Graeme-Code
Copy link

Graeme-Code commented Dec 3, 2018 via email

@mandrigin
Copy link
Contributor

@Graeme-Code so, I think @jakubgs is right and we can start with just making status-go deterministic, it wouldn't hurt anyway.

@jakubgs jakubgs self-assigned this Dec 6, 2018
@jakubgs
Copy link
Member

jakubgs commented Jan 20, 2019

I found a pretty sweet tool here:
https://reproducible-builds.org/tools/
Which is:
https://salsa.debian.org/reproducible-builds/diffoscope
It can generate diff reports on various formats, including APK files.

Example diff between two builds of the same commit(and) generated with:

diffoscope --debug \
  --max-report-size=0 --html-dir=40aff1 \
  --jquery='https://code.jquery.com/jquery-3.3.1.min.js' \
  StatusIm-190112-031332-40aff1-nightly.apk \
  StatusIm-190113-032212-40aff1-nightly.apk

https://examples.status.im/diffs/40aff1/

I intend to make an automation that will generate comparisons of build artifacts in PRs.

@mandrigin
Copy link
Contributor

@jakubgs didn't we submit it at least once? :)

@jakubgs
Copy link
Member

jakubgs commented Feb 26, 2019

@mandrigin no clue.

@pedropombeiro
Copy link
Contributor

The Android build (both status-react and status-go) have been deterministic since Q2 2019, so I think we have what we need to move forward on this.

@jakubgs
Copy link
Member

jakubgs commented Nov 11, 2019

I spent a fair bit researching how to build for F-Droid in #8512 but their tooling is pretty trash, as is their documentation. I'll get back to it eventually.

@flexsurfer
Copy link
Member

https://f-droid.org/en/packages/im.status.ethereum/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests