Hans-Christoph Steiner
5635815898
Merge branch 'import' into 'master'
...
import: use pathlib and support Windows
See merge request fdroid/fdroidserver!938
2021-06-08 11:10:17 +00:00
linsui
d6eece6395
import.py: use pathlib and support Windows
2021-06-08 18:33:22 +08:00
Jochen Sprickerhof
7ddcbb3e80
Merge branch 'lint_tag_UpdateCheckData' into 'master'
...
[lint] only check for https with UpdateCheckMode HTTP
See merge request fdroid/fdroidserver!944
2021-06-07 17:07:43 +00:00
Jochen Sprickerhof
49248ba3a9
[lint] only check for https with UpdateCheckMode HTTP
...
With 133b626b
UpdateCheckMode is now also allowed with Tags but it uses
the files from the local repo.
2021-06-07 18:55:42 +02:00
Jochen Sprickerhof
b6233fa2ce
Merge branch 'fix_check_tags' into 'master'
...
[checkupdates] handle non matching regex
See merge request fdroid/fdroidserver!943
2021-06-07 16:12:19 +00:00
Jochen Sprickerhof
a74922f56e
[checkupdates] handle non matching regex
2021-06-07 17:59:43 +02:00
Jochen Sprickerhof
15a15420f7
Merge branch 'pathlib' into 'master'
...
fix tests for !935
See merge request fdroid/fdroidserver!942
2021-06-07 15:45:34 +00:00
linsui
84b74d481e
fix tests for !935
2021-06-07 15:33:57 +00:00
Jochen Sprickerhof
3acaa7ede5
Merge branch 'pathlib' into 'master'
...
checkupdates.py: use pathlib and support Windows
See merge request fdroid/fdroidserver!935
2021-06-07 13:38:21 +00:00
linsui
92ec6265a3
checkupdates.py: use pathlib and support Windows
2021-06-07 21:02:03 +08:00
Jochen Sprickerhof
023319efbb
Merge branch 'tag_UpdateCheckData' into 'master'
...
Tag update check data
See merge request fdroid/fdroidserver!937
2021-06-07 12:00:22 +00:00
Jochen Sprickerhof
ed2da42eff
Support hex in versionCode with UCM RepoManifest
...
Same a b83c3c9e
.
2021-06-07 13:47:18 +02:00
Jochen Sprickerhof
133b626b22
Support UpdateCheckData in check_tags
2021-06-07 13:47:18 +02:00
Jochen Sprickerhof
ba2b236e7b
Drop unused package id check
2021-06-07 13:47:18 +02:00
Hans-Christoph Steiner
d05ff9db1d
easy changes to black code format in test cases
...
This does not change areas of code that should be manually reformatted.
2021-06-07 11:53:58 +02:00
Hans-Christoph Steiner
d95a3029a8
Merge branch 'master' into 'master'
...
tests/ndk-release-checksums.py: fix parsing of NDK r10e
See merge request fdroid/fdroidserver!941
2021-06-07 08:10:43 +00:00
Hans-Christoph Steiner
cb09a16133
tests/ndk-release-checksums.py: fix parsing of NDK r10e
...
This wasn't finding r10e properly, so it would submit merge requests
to remove r10e from _fdroidserver_.
* !940
* !930
2021-06-07 09:58:12 +02:00
Hans-Christoph Steiner
d060a8c691
Merge branch 'yashpalgoyal1304-master-patch-36117' into 'master'
...
Added missing linebreak
See merge request fdroid/fdroidserver!936
2021-06-07 07:37:46 +00:00
Teen
faa15f336c
Added missing linebreak
2021-06-04 17:29:56 +00:00
Hans-Christoph Steiner
2a259552d3
Merge branch 'master' into 'master'
...
fix broken NDK extraction routine to correctly name resulting dir
See merge request fdroid/fdroidserver!934
2021-06-01 12:46:45 +00:00
Hans-Christoph Steiner
28a4f9481a
provision-android-ndk: do all configuration via args
...
This makes it so it is easy to reuse this script in other contexts, like
in Docker, GitLab CI, etc.
2021-06-01 14:33:41 +02:00
Hans-Christoph Steiner
d6c8ecc3bc
fix broken NDK extraction routine to correctly name resulting dir
...
If there were other NDKs installed, this just tried to rename the first
installed NDK. Now it tries to rename all NDKs that are not named after
the NDK version.
!926
!927
2021-06-01 14:33:39 +02:00
Jochen Sprickerhof
bf4feab877
Merge branch 'mode_version' into 'master'
...
Support AutoUpdateMode: Version without pattern
See merge request fdroid/fdroidserver!931
2021-06-01 12:11:09 +00:00
Jochen Sprickerhof
185da60d93
Support AutoUpdateMode: Version without pattern
...
Since 24dd6740
UpdateCheckMode: Tags uses the found tag instead of
regenerating it from the AutoUpdateMode pattern making the pattern
superfluous. This adds support for dropping the pattern and a test case.
2021-06-01 13:59:49 +02:00
Hans-Christoph Steiner
4c339b4ef4
Merge branch 'fix_tests' into 'master'
...
Fix ruamel round_trip_dump will be removed
See merge request fdroid/fdroidserver!932
2021-06-01 11:57:36 +00:00
Jochen Sprickerhof
19e1e5f438
Fix ruamel round_trip_dump will be removed
...
4b91cd7e82
/#diff-1
2021-05-30 12:41:20 +02:00
Hans-Christoph Steiner
a6210dd7b4
Merge branch 'basebox-0.6.1' into 'master'
...
add checksums for basebox 0.6.1
See merge request fdroid/fdroidserver!928
2021-05-28 09:07:22 +00:00
Michael Pöhn
af088c9c91
add checksums for basebox 0.6.1
2021-05-28 08:55:43 +00:00
Hans-Christoph Steiner
0f3c91555e
Merge branch 'master' into 'master'
...
NDK fixups
See merge request fdroid/fdroidserver!929
2021-05-28 08:54:30 +00:00
Hans-Christoph Steiner
52ac0f0176
ndk-release-checksums.py: fix crash, there is no version here
2021-05-28 10:32:09 +02:00
Hans-Christoph Steiner
153b5d4392
stop modifying default_config when running fill_config_defaults()
...
dicts and lists are passed by reference in assignments, so this needs to
copy them instead.
2021-05-28 10:24:58 +02:00
Hans-Christoph Steiner
45bd89b3a2
build: missing NDK is now a warning not a critical error
2021-05-28 10:24:56 +02:00
Hans-Christoph Steiner
adafd4560c
provision-android-sdk: ensure ANDROID_HOME parent dir is accessible by all
...
https://gitlab.com/fdroid/fdroidserver/-/merge_requests/926#note_586778883
2021-05-28 10:24:55 +02:00
Hans-Christoph Steiner
6eb895a700
makebuilserver: only install most recent two releases
2021-05-28 10:24:53 +02:00
Hans-Christoph Steiner
22c83c9142
Merge branch 'modernize-ndk-handling' into 'master'
...
buildserver: standardize SDK install location /opt/android-sdk
Closes #902
See merge request fdroid/fdroidserver!927
2021-05-28 07:35:38 +00:00
Hans-Christoph Steiner
09fa49a7a3
make get_android_tools_versions() search ndk_paths from config
2021-05-28 09:13:38 +02:00
Hans-Christoph Steiner
7a1d236c8d
only support zipballs in NDK provisioning
...
Since I discovered there is an r10e zipball, this can now get all NDKs
in zipball form.
fdroid/android-sdk-transparency-log@447fea86e7
closes #902
2021-05-28 09:13:36 +02:00
Hans-Christoph Steiner
9f77044d0d
auto-detect NDKs installed in standard paths
...
'ndk_paths' will be automatically filled out from well known sources
like $ANDROID_HOME/ndk-bundle and $ANDROID_HOME/ndk/*. If a required
version is missing in the buildserver VM, it will be automatically
downloaded and installed into the standard $ANDROID_HOME/ndk/
directory. Manually setting it here will override the auto-detected
values. The keys can either be the "release" (e.g. r21e) or the
"revision" (e.g. 21.4.7075529).
https://developer.android.com/studio/projects/configure-agp-ndk#agp_version_41
* sdkmanager installs "ndk;12.3.4567890" into $ANDROID_SDK_ROOT/ndk/
* sdkmanager installs "ndk-bundle" into $ANDROID_SDK_ROOT/ndk-bundle/
2021-05-28 09:13:34 +02:00
Hans-Christoph Steiner
4686c06f62
metadata: allow ndk:
to be str or list of release or revision
...
There are two version numbers used for NDKs: the "release" and the
"revision". The "release" is used in the download URL and zipball and the
"revision" is used in the source.properties and the gradle ndkVersion field.
Also, there are some builds which need multiple NDKs installed, so this
makes it possible to have a list of release/revision entries in build.ndk.
This does not yet add full support since _fdroidserver/build.py_ will also
need changes.
2021-05-28 09:13:27 +02:00
Hans-Christoph Steiner
096532dddb
Merge branch 'standardize-sdk-ndk-paths' into 'master'
...
buildserver: standardize SDK and NDK install locations
See merge request fdroid/fdroidserver!926
2021-05-28 06:57:44 +00:00
Hans-Christoph Steiner
93145a43fb
buildserver: use standardized paths for the NDKs
...
This should help with reproducibility since some tools like Python still
include the build paths in the binaries.
https://gitlab.com/fdroid/fdroidserver/-/merge_requests/919#note_578180986
The default ANDROID_SDK_ROOT base dir of /opt/android-sdk is hard-coded in
buildserver/Vagrantfile. The $ANDROID_HOME/ndk subdir is where Android
Studio will install the NDK into versioned subdirs.
https://developer.android.com/studio/projects/configure-agp-ndk#agp_version_41
2021-05-26 09:21:52 +02:00
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