Opened 12 months ago

Last modified 5 weeks ago

#28704 new defect

Compile Tor and dependencies on our own for Android

Reported by: gk Owned by: tbb-team
Priority: High Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-mobile, tbb-rbm, TorBrowserTeam201901, tbb-parity
Cc: sisbell, hans@… Actual Points:
Parent ID: Points: 0
Reviewer: Sponsor:

Description

Currently we are building just Orbot in tor-browser-build and fetching the dependencies as we need them. We should at least build Tor and its dependencies on our own, integrating Android specific build logic into our projects we already have (like OpenSSL, Libevent etc.).

This is the parent ticket for that task.

Child Tickets

TicketStatusOwnerSummaryComponent
#28763newtbb-teamCreate Tor-Android ProjectApplications/Tor Browser
#28764needs_revisiontbb-teamOpenSSL Build for AndroidApplications/Tor Browser
#28765newtbb-teamLibEvent Build for AndroidApplications/Tor Browser
#28766newtbb-teamTor Build for AndroidApplications/Tor Browser
#32200newtbb-teamonly include required bits of OpenSSL in Android buildsApplications/Tor Browser

Change History (8)

comment:1 Changed 12 months ago by gk

Cc: sisbell added
Keywords: TorBrowserTeam201812 added
Priority: MediumHigh

comment:2 Changed 10 months ago by gk

Keywords: TorBrowserTeam201901 added; TorBrowserTeam201812 removed

Moving tickets to Jan 2019.

comment:3 Changed 8 months ago by gk

Keywords: tbb-parity added

tbb-parity items.

comment:4 Changed 2 months ago by eighthave

Cc: hans@… added

comment:5 Changed 2 months ago by eighthave

It seems that Android is moving to clang, and clang has more limited options for reproducibility. I think GCC support is still there, but deprecated. I found some specific issues on what is missing from clang here:
https://reproducible-builds.org/docs/build-path/

comment:6 Changed 8 weeks ago by eighthave

I have a barebones build job for GitLab-CI for this, you can see a test run here:
https://gitlab.com/eighthave/tor/-/jobs/301739923

And the code here:
https://gitlab.com/eighthave/tor/blob/0f2d18708609a52eccd4240409d2c219274e5e55/.gitlab-ci.yml#L56

I'll submit the .gitlab-ci.yml changes for inclusion once its ready.

comment:7 Changed 5 weeks ago by sysrqb

Points: 0

comment:8 Changed 5 weeks ago by eighthave

I justed looked through it, you could get rid of tor-android in TBB if you build libevent, openssl, lzma, zstd, and tor. The build configuration for each of those can be taken from https://github.com/guardianproject/tor-android, especially after this merge request, which should simplify things a bunch:

https://github.com/guardianproject/tor-android/pull/21

Note: See TracTickets for help on using tickets.