Commit Graph

36 Commits (926613ddae05307b3e15ceee3ea70ae122d1d274)

Author SHA1 Message Date
James Tucker 926613ddae
Makefile,Dockerfile,README.md: improve build dependency setup and documentation (#114)
- Teach Makefile to install an Android SDK and the components we need
- Make Dockerfile delegate to Makefile for Android SDK setup
- Detect Android Studio and other known SDK paths, and use them if found.
- Update documentation to more consistently point to Android Studio & make.
- Add a task that checks for the SDK components and produces a useful error.
- Build an APK by default.
- Allow TOOLCHAINDIR to be passed in, and strip the first go/ component
  so that it is the path a user would expect.

Updates #cleanup
1 year ago
Will Norris b68b3f2aeb Makefile: fix versionCode replacement and cleanup
I'm not sure why [[:digit:]] worked before but not now (BSD vs GNU sed
maybe?), but since we already have the old VERSIONCODE, just replace it
directly. Also cleanup the android/build.gradle.bak file.

Signed-off-by: Will Norris <will@tailscale.com>
1 year ago
Mihai Parparita e7efa7d1c2 Makefile: add tailscale_go to the set of build tags
We build with the tailscale Go toolchain, so we should pass in the
build tag that indicates that it's safe to use functionality contained
within it.

Updates tailscale/corp#9230
2 years ago
Denton Gentry 813b770cdf go.mod: update Gio, finish Go 1.20 support
Upstream Gio fixed https://todo.sr.ht/~eliasnaur/gio/473, which
we run into in https://github.com/tailscale/tailscale/issues/7255

https://github.com/tailscale/tailscale has moved to Go 1.20
- update go.mod to go 1.20
- go mod tidy -compat=1.20
- update go4.org/unsafe/assume-no-moving-gc

Skip over the build numbers used for 1.36.x

Fixes https://github.com/tailscale/tailscale/issues/7255

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
David Anderson 52a0509a5d go.mod: update to tailscale HEAD
And update build logic to account for the API change in
tailscale.com/version.

And apply the API change introduced by
tailscale/tailscale@04b57a371e

Signed-off-by: David Anderson <dave@natulte.net>
2 years ago
Denton Gentry e49241f40b go.mod: update from OSS.
Also update to Go 1.19 in go.mod.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 283dd77bcc Add a unit test for DnsConfig.intToInetString
adds JUnit dependencies and basic gradle support to run unit tests,
and a test for DnsConfig.intToInetString().

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
2 years ago
Denton Gentry 7203980ecc Disable vulkan.
Trying to resolve crashes on certain OpenGL hardware.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
3 years ago
Brad Fitzpatrick 1be9000a6a Makefile: add 'bumposs' target, run go mod tidy
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
3 years ago
Brad Fitzpatrick 3b6b9acf2b Makefile: clear GOROOT, add rundebug target
Nowadays basically nobody should set GOROOT. I still do for various
reasons, but that broke this build which then ran our custom toolchain
with a mismatched GOROOT. Clear GOROOT so the default GOROOT is used
(which is the path that matches the Go toolchain in use)

Also, add a "rundebug" target to control adb (phone or emulator)
3 years ago
Brad Fitzpatrick df09d74486 Makefile: make toolchain bootstrap work on darwin and arm64
It only worked on linux/amd64 before, but we support
{linux,darwin}/{amd64,arm64} for development elsewhere.

Fixes tailscale/tailscale#3669

Signed-off-by: Brad Fitzpatrick <brad@danga.com>
3 years ago
Brad Fitzpatrick 19822d0b94 go.mod: use Go toolchain rev from oss
And don't sha1-sum the Go toolchain cache.
Just see if its go binary works.

Updates tailscale/corp#3385
Updates tailscale/tailscale#3596
3 years ago
Denton Gentry 2d49c9ae30 Makefile: make toolchain sum not use absolute path.
This is intended as a quick fix of the immediate problem:
don't compute the checksum using absolute paths (i.e.
/home/dgentry), use relative paths.

In the future we may rationalize the versioning of the
toolchain to tie the Android toolchain to the one used
for building Linux/macOS/Windows/etc.

Fixes https://github.com/tailscale/tailscale/issues/3596

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
3 years ago
Brad Fitzpatrick 050f4a41d4 Makefile: add fdroid-like APK target 3 years ago
Brad Fitzpatrick f8176b47a9 Makefile: remove long-obsolete -tags=xversion
That build tag hasn't been used since tailscale/tailscale's 5088af68cf
(June 2nd, 2021, for 1.10.0)
3 years ago
Denton Gentry da175ba221 go.mod: update OSS
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
3 years ago
Denton Gentry c02078e41e Makefile: update toolchain version to use.
Signed-off-by: Denton Gentry <dgentry@tailscale.com>
3 years ago
Denton Gentry d81f8a03b6 Switch to Go 1.17.
Matches https://github.com/tailscale/tailscale at HEAD.
3 years ago
Denton Gentry bb0494637f Makefile: download Tailscale's Go toolchain
Tailscale maintains a patched Go toolchain, pulling in
fixes early. Download the toolchain and use it to build.

Fixes https://github.com/tailscale/tailscale/issues/2450
in a better way.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
3 years ago
Denton Gentry 7b2e61e80c Remove check for Tailscale toolchain.
Broke the F-Droid build.
Update Dockerfile to use Go 1.17rc1 to verify that as a fix.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
3 years ago
Denton Gentry 7ebedfd62a Require Tailscale go toolchain in $PATH.
Setting GOBIN was not sufficient, something deeper in
the build process is invoking the go tool without $GOBIN.
Instead, require it be first in $PATH.

This is necessary to fix
https://github.com/tailscale/tailscale/issues/2450
and (hopefully)
https://github.com/tailscale/tailscale/issues/2478
which are a SECCOMP crash in accept() which we have
patched in the Tailscale toolchain by pulling in
an early patch from go 1.17.

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
3 years ago
Denton Gentry 7a00ad639b Update to latest OSS & use prod toolchain.
Unstable release 1.11.150.

Enforce use of Tailscale production toolchain, mainly because
it pulls in a fix for https://github.com/tailscale/tailscale/issues/2450

Signed-off-by: Denton Gentry <dgentry@tailscale.com>
3 years ago
Elias Naur 47b732aaab Makefile,version: update versioning scheme to match main repository
Signed-off-by: Elias Naur <mail@eliasnaur.com>
3 years ago
Elias Naur 6d9d6786af Makefile: make sed invocations portable to macOS
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 96e2661764 version: determine tailscale.com version by cloning it and running version.sh
Updates tailscale/tailscale#1158

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 97a826d118 Makefile: extract version information from build.gradle
The tag_release target already writes the version into build.gradle.
Ensure the exact same version information is used for the Go build.

As a bonus, the F-Droid builder no longer needs a modern git installed
for determining the version string.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 7f6ccc9f88 Makefile: add tag_release target for bumping version and tagging
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 99d00e803c Makefile: separate target for generating ipn.aar
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 9c38bebfa9 android: create build flavor for omitting non-free Google dependency
The F-Droid app store don't support non-free dependencies. Create two build
flavors, "fdroid" for building without Google Sign-In, and "play" for including
it.

Modify Makefile to target the play flavor.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 5a581c1a9d version,Makefile: implement new Tailscale versioning scheme
The strategy is to ask `go list` for the tailscale.com module version, and then
use that as a tag in a `git ls-remote` query.

If the module version is a pseudo-version such as
"v1.1.1-0.20201030135043-eab6e9ea4e45", use the abbreviated commit directly
(git ls-remote only list remote refs, not commits).

Fixes tailscale/tailscale#883

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 42a327e5e5 Makefile: fix version name propagation, bump Android version code
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur a527c2abed Makefile,android: shorten version environment variable
Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur d56193f90c Makefile,mkversion.sh: set tailscale versions at build time
While here, set the gradle versionName from the Makefile as well.

Updates tailscale/tailscale#486

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 28c8a2e1e5 go.mod: change the module name to github.com/tailscale/tailscale-android
Makes it go-gettable.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 4ca298d19a Dockerfile,Makefile: add dockershell Makefile target for Docker builds
Fixes tailscale/tailscale#424

Signed-off-by: Elias Naur <mail@eliasnaur.com>
4 years ago
Elias Naur 5109987e18 all: initial commit
Signed-off-by: Elias Naur <mail@eliasnaur.com>
5 years ago