Commit Graph
6639 Commits
Author SHA1 Message Date
Hans-Christoph Steiner bb77d7a6d2 buildserver: standardize SDK install location /opt/android-sdk
_/opt/android-sdk_ was chosen for a number of reasons:
* _/opt_ is [standardized][1] for packages like the Android SDK, which has its own directory layout.
* _android-sdk_ is used rather than the upstream directory name from the ZIP (e.g. _android-sdk-linux_) so that the path is the same on all platforms.
* On platforms without official _/opt_ support ([macOS][2], [Windows][3], [FreeBSD][4], etc.), it does not conflict with any existing system directory.

[1]: https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s13.html
[2]: https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html#//apple_ref/doc/uid/TP40010672-CH2-SW7
[3]: https://en.wikipedia.org/wiki/Directory_structure#Windows_10
[4]: https://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7&format=html
2021-05-25 17:30:32 +02:00
Hans-Christoph Steiner 07da062a34 buildserver: fix ssh BatchMode config 2021-05-25 17:21:26 +02:00
Hans-Christoph Steiner be9036b1f1 Merge branch 'auto-install-ndk' into 'master'
auto-download missing NDKs if they're known and can be verified

Closes #369 and #717

See merge request fdroid/fdroidserver!919
2021-05-25 15:12:03 +00:00
Hans-Christoph Steiner 9d44fa7919 gitlab-ci: auto-generate merge request when NDK release found
Following the pattern of the gradle bot, this will check the transparency
log for any new NDK release.  If there are any, it will make a merge
request from @fdroid-bot.
2021-05-25 17:06:30 +02:00
Hans-Christoph Steiner ec2cace222 buildserver: trim pre-installed NDK list down to the bare minimum
This keeps the Long Term Support release and the latest release installed.
r10e was kept in because it needs a special extraction method, since it is
a .bin file, not a .zip.  r12b is kept in because it is the old default.
Here is a survey of the NDK versions used in the most recent Builds entry
in each app that uses the NDK:

{'r10e': 6,
 'r12b': 93,
 'r13b': 4,
 'r14b': 5,
 'r15c': 7,
 'r16b': 14,
 'r17b': 4,
 'r17c': 7,
 'r18b': 9,
 'r19c': 17,
 'r20': 1,
 'r20b': 22,
 'r21': 3,
 'r21d': 56,
 'r21e': 65,
 'r22': 9,
 'r22b': 15,
 'r9b': 1}

#517


import glob
import os
import yaml

try:
    from yaml import CSafeLoader as SafeLoader
except ImportError:
    from yaml import SafeLoader

ndks = dict()
for f in glob.glob('metadata/*.yml'):
    with open(f) as fp:
        app = yaml.load(fp, Loader=SafeLoader)
        if app.get('Disable'):
            continue
        build = app.get('Builds', [])[-1]
        if build.get('disabled'):
            continue
        ndk = build.get('ndk')
        if ndk and ndk[1] == '9':
            print(f, build)
        elif ndk and int(ndk[2:3]) < 18:
            print(f, build)
        if ndk:
            print(f, ndk)
            if ndk not in ndks:
                ndks[ndk] = 0
            ndks[ndk] += 1

import pprint

pprint.pprint(ndks)
2021-05-25 17:06:28 +02:00
Hans-Christoph Steiner 9fc2a23713 build: remove default NDK, closes #717 2021-05-25 17:06:26 +02:00
Hans-Christoph Steiner 69fcd6a024 build: auto-download missing NDKS if they're known and can be verified
refs #517 #717
2021-05-25 17:06:24 +02:00
Hans-Christoph Steiner 7a7ecbf9dc move sha256sum() and sha256base64() to common 2021-05-25 17:06:23 +02:00
Hans-Christoph Steiner 0fbd04f1c2 remove redundant imports and pointless code 2021-05-25 17:06:19 +02:00
Hans-Christoph Steiner 95af082082 Merge branch 'gradle-release-checksums.py' into 'master'
update to gradle v7.0.2

See merge request fdroid/fdroidserver!924
2021-05-17 17:11:02 +00:00
fdroid-bot 927aa95cd8 gradle v7.0.2 2021-05-17 16:59:55 +00:00
Hans-Christoph Steiner e4a7726033 gitlab-ci: fix archlinux docker image 2021-05-13 17:20:41 +02:00
Hans-Christoph Steiner 72cef85201 Merge branch 'fix_autoname' into 'master'
Don't return Gradle variables as string

See merge request fdroid/fdroidserver!909
2021-05-13 13:05:17 +00:00
Jochen Sprickerhof 84b6617faf Don't return Gradle variables as string
This is used in checkupdates and currently sets the AutoName to
something like ${displayName}:

https://gitlab.com/fdroid/fdroiddata/-/commit/4ae415f73c7e70ca41139746c1425c1d59d7d4a5
2021-05-13 12:53:19 +00:00
Hans-Christoph Steiner a1dfd69392 Merge branch 'disabled_needsupdated' into 'master'
[status_json] Don't list disabled builds as needs updated

Closes #898

See merge request fdroid/fdroidserver!917
2021-05-13 12:42:46 +00:00
Jochen Sprickerhof 31c0078b53 [status_json] Add list of archivePolicy0 2021-05-13 12:30:53 +00:00
Jochen Sprickerhof 33fa918a69 [status_json] Don't list disabled builds as needs updated
Closes: #898
2021-05-13 12:30:53 +00:00
Hans-Christoph Steiner 1bad5b5c6c Merge branch 'gradle-release-checksums.py' into 'master'
update to gradle v7.0.1

See merge request fdroid/fdroidserver!918
2021-05-13 12:13:33 +00:00
fdroid-bot e0f825d636 gradle v7.0.1 2021-05-13 12:02:17 +00:00
Hans-Christoph Steiner 01947e0c30 Merge branch 'disabled_logs' into 'master'
Don't remove logs of disabled builds

See merge request fdroid/fdroidserver!907
2021-05-13 12:01:34 +00:00
Jochen Sprickerhof 22c32752de Don't remove logs of disabled builds
We need them to debug problems.
2021-05-13 11:49:55 +00:00
Hans-Christoph Steiner 58ff81e7b5 Merge branch 'sphinx' into 'master'
set up docs based on docstrings and publish HTML versions

See merge request fdroid/fdroidserver!911
2021-05-10 14:34:59 +00:00
Benedikt Brückmann 6791c3a550 Only publish pages on default branch 2021-05-10 14:31:51 +00:00
Benedikt Brückmann 245aeec972 Publish docu to GL Pages 2021-05-10 14:31:51 +00:00
Benedikt Brückmann bdcd843d75 Publish docu to GL Pages 2021-05-10 14:31:51 +00:00
Benedikt Brückmann 47cd1dd055 Add missing index.rst 2021-05-10 14:31:51 +00:00
Benedikt Brückmann a15581faa9 Draft: set up docs based on docstrings and publish HTML versions 2021-05-10 14:31:51 +00:00
Hans-Christoph Steiner 022d0796d8 gitlab-ci: use latest alpine/bandit to fix CVE flagged by safety 2021-05-10 16:05:59 +02:00
fdroid-bot 2b21584b35 gradle v7.0 2021-05-10 06:48:16 +00:00
Jochen Sprickerhof 3c7a135c20 Merge branch 'fix-year-in-changelog' into 'master'
Fix: Changelog.md dates incorrect year

Closes #896

See merge request fdroid/fdroidserver!910
2021-05-10 06:47:32 +00:00
Benedikt Brückmann b220ddc555 Fix: Changelog.md dates incorrect year
closes fdroid/fdroidserver#896
2021-05-03 09:59:29 +02:00
Jochen Sprickerhof a99bebbb5e Merge branch 'keep-failed-build-in-test-mode' into 'master'
`fdroid build --test` keeps unsigned APKs in tmp/ that fail to reproduce

See merge request fdroid/fdroidserver!904
2021-04-16 08:18:47 +00:00
Hans-Christoph Steiner 0b0bc803b7 build: --test now keeps unsigned APKs in tmp/ that fail to reproduce
Before, whenever an unsigned APK failed to reproduce, it was just deleted.
That makes debugging hard.  This makes it keep the unsigned APK, which is
written in tmp/ when using --test.

@jspricke this is related to !864
2021-04-16 09:46:23 +02:00
Hans-Christoph Steiner 6097caef91 build: fix typo in regex for Binaries: verification 2021-04-16 09:40:21 +02:00
Hans-Christoph Steiner 3d69e767d8 common: test abs and rel paths in get_all_gradle_and_manifests() 2021-04-16 09:40:19 +02:00
Hans-Christoph Steiner 634864f206 gitlab-ci: document jobs 2021-04-16 09:40:12 +02:00
Hans-Christoph Steiner 184d2f97d2 jenkins-build-all: stop deleting previous builds results 2021-04-15 16:52:54 +02:00
Hans-Christoph Steiner 760fdf3bd2 jenkins-build-all: fix failure when trying to rm a dir
+ for f in metadata/*/signatures/*
++++ dirname metadata/de.schildbach.wallet/signatures/370
+++ dirname metadata/de.schildbach.wallet/signatures
++ basename metadata/de.schildbach.wallet
Wed 14 Apr 2021 11:50:34 PM UTC - cleanup in progress...
Wed 14 Apr 2021 11:50:34 PM UTC - cleanup done.
+ appid=de.schildbach.wallet
++ basename metadata/de.schildbach.wallet/signatures/370
+ versionCode=370
+ rm -f repo/de.schildbach.wallet_427.apk repo/de.schildbach.wallet_427.apk.asc repo/de.schildbach.wallet_427.log.gz repo/de.schildbach.wallet_test repo/de.schildbach.wallet_test_427.apk repo/de.schildbach.wallet_test_427.apk.asc repo/de.schildbach.wallet_test_427.log.gz 'archive/de.schildbach.wallet_*' 'unsigned/de.schildbach.wallet_*'
rm: cannot remove 'repo/de.schildbach.wallet_test': Is a directory
2021-04-15 09:22:11 +02:00
Jochen Sprickerhof f149be7296 Merge branch 'bump_metadata' into 'master'
Bump METADATA_VERSION for apksigner transition

See merge request fdroid/fdroidserver!905
2021-04-14 22:21:16 +00:00
Jochen Sprickerhof f01a3caf77 Bump METADATA_VERSION for apksigner transition
We switched to apksigner in 50f0534d but old apks where still verified
with jarsigner (or an old apksigner version). Bumping the
METADATA_VERSION to force a rebuild of apkcache.
Hopefully this resolves de.chagemann.regexcrossword getting the
KnownVuln, DisabledAlgorithm tags.
2021-04-14 22:08:26 +00:00
Jochen Sprickerhof e2214ebc4b Merge branch 'fix-metadata_find_signing_files' into 'master'
fix metadata_find_signing_files()

See merge request fdroid/fdroidserver!906
2021-04-14 22:04:46 +00:00
Felix C. Stegerman b08d54cb90 fix metadata_find_signing_files() 2021-04-14 23:52:13 +02:00
Hans-Christoph Steiner c43581eb82 Merge branch 'apksigcopier' into 'master'
* origin/master:
  gitlab-ci: prevent dualing linters: pyflakes vs mypy
  jenkins-build-all: refocus on building reproducible apps first
  publish: rename vars to match naming in JAR Signature docs
  common.py: update copyrights
  apksigcopier: remove exclude_all_meta logic
  apksigcopier: purge main() to avoid confusion
  force apksigcopier "AUTO"  to select sigs by available files
  publish: add test for reproduble builds with signatures
  vendor & use apksigcopier v0.4.0-12-g93d8e14
  use subclass hack for better ZIP cloning

fdroid/fdroidserver!893
2021-04-14 23:28:07 +02:00
Hans-Christoph Steiner 5346ea3c19 gitlab-ci: prevent dualing linters: pyflakes vs mypy
* pyflakes says: "typing.Dict' imported but unused"
* mypy says: "Name 'Dict' is not defined"
2021-04-14 23:18:05 +02:00
Hans-Christoph Steiner 0c807275a2 jenkins-build-all: refocus on building reproducible apps first
This also deletes the reproducible APKs each time to test that they are
still being built reproducibly.

!893
fdroidserver#891
2021-04-14 23:01:47 +02:00
Hans-Christoph Steiner 2946c90dd4 publish: rename vars to match naming in JAR Signature docs
https://docs.oracle.com/javase/tutorial/deployment/jar/intro.html

closes #892
2021-04-14 23:01:47 +02:00
Hans-Christoph Steiner 416790306f common.py: update copyrights 2021-04-14 23:01:47 +02:00
Hans-Christoph Steiner 4308a48717 apksigcopier: remove exclude_all_meta logic
This option is unneeded and unused in fdroidserver, and confusing.

https://github.com/obfusk/apksigcopier/pull/36

# Conflicts:
#	fdroidserver/apksigcopier.py
#	fdroidserver/common.py
2021-04-14 23:01:47 +02:00
Hans-Christoph Steiner f5792d4f49 apksigcopier: purge main() to avoid confusion 2021-04-14 23:01:47 +02:00
Hans-Christoph Steiner d28c1c0441 force apksigcopier "AUTO" to select sigs by available files 2021-04-14 23:01:47 +02:00