Commit graph

3713 commits

Author SHA1 Message Date
Hans-Christoph Steiner
2d5770985f gitlab-ci: silence irrelevant bandit error
This SSH connection is only ever to the Vagrant VM on the same machine.

>> Issue: [B507:ssh_no_host_key_verification] Paramiko call with policy set to automatically trust the unknown host key.
   Severity: High   Confidence: Medium
   CWE: CWE-295 (https://cwe.mitre.org/data/definitions/295.html)
   More Info: https://bandit.readthedocs.io/en/1.7.6/plugins/b507_ssh_no_host_key_verification.html
   Location: ./fdroidserver/build.py:104:8
103	        sshs = paramiko.SSHClient()
104	        sshs.set_missing_host_key_policy(paramiko.AutoAddPolicy())
105	        sshs.connect(sshinfo['hostname'], username=sshinfo['user'],
2023-12-15 08:40:27 +01:00
Hans-Christoph Steiner
e2949cbd61 port to looseversion 2023-12-08 10:48:01 +01:00
Hans-Christoph Steiner
ad9cabdab9 add looseversion license information to vendored file 2023-12-08 10:42:29 +01:00
Hans-Christoph Steiner
a1a88d39cf download looseversion to vendor
e1a5a176a9/src/looseversion/__init__.py
2023-12-08 10:42:27 +01:00
Andrew Gunnerson
679ba6f552
Add support for Python 3.12
Python 3.12 completely removed the builtin `distutils` module. This
commit replaces its use with the `packaging` package, which is an
external dependency, but maintained by the Python developers.

Signed-off-by: Andrew Gunnerson <accounts+gitlab@chiller3.com>
2023-12-07 18:15:05 -05:00
Hans-Christoph Steiner
4536b130df index: add datatype checking to mirrors: and config/mirrors.yml 2023-12-07 17:25:15 +01:00
Hans-Christoph Steiner
6d541e3ef6
establish config/mirrors.yml as a way to set up mirrors
The mirrors: entry in config.yml is great for quick access and shorter
mirror lists.  Now that we are adding a lot more metadata to the mirrors,
including potentially the full text of the privacy policy, having this
in its own file should make these cases easier to manage.
2023-12-07 14:38:26 +01:00
Axel López
825f969652 Support Uri.create() syntax for maven repositories 2023-12-07 01:30:59 +00:00
linsui
2081a9f2d2 lint: remove check_bulletes_lists 2023-12-06 23:35:55 +08:00
linsui
e2e7782ef3 add --force to git deinit 2023-11-25 22:11:19 +08:00
Gregor Düster
b5424d40f1 [checkupdates] Remove UpdateCheckMode "RepoTrunk"
It's unclear whether this still works and we're not planning to maintain
it.
2023-11-21 07:18:17 +00:00
Gregor Düster
81fdba452a [checkupdates] Remove --gplay option
It's unclear whether this still works and we're not planning to maintain
it.
2023-11-21 07:18:17 +00:00
Hans-Christoph Steiner
3e9f27612e Revert "Clone without blobs to save space" !1382
This seems to make git ignore the _fsck skipList_ files.

This reverts commit 24ea1f6852.

closes #1177
fdroid-bootstrap-buildserver!34
!1408
2023-11-20 10:07:05 +01:00
linsui
f99f430e9e deinit git submodule 2023-11-14 01:06:49 +08:00
sim
24ea1f6852 Clone without blobs to save space 2023-11-09 12:13:29 +00:00
Gregor Düster
81fea25509
[docs] Remove unnecessary use of Union 2023-10-26 09:17:43 +02:00
Gregor Düster
02b855da5e
[docs] Start utilising intersphinx 2023-10-22 21:27:08 +02:00
Gregor Düster
f238470855
[docs] Put type annotations in type hints instead of docstring 2023-10-22 21:01:27 +02:00
Gregor Düster
5503a05ef6
[checkupdates] Add more docstrings 2023-10-22 19:19:56 +02:00
cvzi
af1c5d4e5d Fix typo in build.py
encoutered -> encountered
2023-10-10 12:14:20 +00:00
Jochen Sprickerhof
49c415424d
Ignore encoding errors in logs
Found while compiling io.privatestorage.privatestoragemobile_9:

Traceback (most recent call last):
  File "/home/fdroid/fdroidserver/fdroidserver/build.py", line 1053, in main
    if trybuild(app, build, build_dir, output_dir, log_dir,
  File "/home/fdroid/fdroidserver/fdroidserver/build.py", line 813, in trybuild
    build_server(app, build, vcs, build_dir, output_dir, log_dir, force)
  File "/home/fdroid/fdroidserver/fdroidserver/build.py", line 253, in build_server
    logging.debug("buildserver > " + str(line, 'utf-8').rstrip())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfa in position 8: invalid start byte
2023-09-27 17:41:26 +02:00
Jochen Sprickerhof
521ff4fe17 Add default locale for generated categories
The client expects at least a name to be set.

Regression of 2c566cf6.
2023-09-21 14:14:06 +00:00
Licaon_Kter
4d0117d54c fix lint 2023-09-21 13:16:49 +00:00
Licaon_Kter
4a9b69a720 Lint 'main' too 2023-09-21 13:16:49 +00:00
Hans-Christoph Steiner
3757add164 test_sdk_exists to be based on apksigner, that's the requirement
Before, lots of pieces of the Android SDK were required for fdroidserver to
operate, like aapt, zipalign, etc.  Now, apksigner is the only requirement.

%"support APK Signature v2+"
!889
2023-09-17 23:31:07 +02:00
Hans-Christoph Steiner
48559ecec5 category with no apps should be ignored, even if defined in config
https://gitlab.com/fdroid/fdroidclient/-/issues/2619#note_1421280589

The test needed to change because the test index files contained category
definitions that were not ever used in the "copy tests/repo, generate java/gpg
keys, update, and gpgsign" test in tests/run-tests.
2023-09-08 10:45:53 +02:00
Hans-Christoph Steiner
2c566cf68f update: add all categories in metadata files to repo definitions
!1366 makes it so categories are now defined by the repo. Categories can be
defined in the config so that lint has a list of categories to enforce. This
also provides a place for localization and icons for the categories. The old
way of defining categories was just listing them in app metadata files. This
restores that way of functioning when using index-v2.

closes #1137
2023-09-08 10:45:51 +02:00
Hans-Christoph Steiner
64b8ee772c throw useful error if a config YAML file is not a dict 2023-09-08 10:42:27 +02:00
Hans-Christoph Steiner
00aa595f37 deploy: give useful error if rsync is not installed 2023-09-08 10:42:27 +02:00
linsui
8188bb6bfa metadata: set mapping indentation to 2 2023-09-08 08:18:27 +00:00
Hans-Christoph Steiner
9df8caca07 log error if config file name is not known
The case of Anti-Features keys and filenames is quite confusing.  I was
confused to find out that config/antiFeatures.yml is correct, while
config/antifeatures.yml is nothing.  This throws an error message to make
that clear.
2023-07-25 14:31:09 +00:00
Hans-Christoph Steiner
4e28fad55a use constants for names used in the config dict
Hopefully this helps with the Anti-Features case confusion:
* antifeatures
* antiFeatures
* AntiFeatures
2023-07-25 14:31:09 +00:00
Hans-Christoph Steiner
190a95ab17 use consistent name for releaseChannels config file 2023-07-25 14:31:09 +00:00
Licaon_Kter
a756ce0b1a Import - add more template content 2023-07-12 13:45:10 +00:00
Hans-Christoph Steiner
132e953c8c update: use proper name for PIL image filter ANTIALIAS -> LANCZOS
ANTIALIAS was made an alias of LANCZOS in 2.7.0:
https://pillow.readthedocs.io/en/stable/releasenotes/2.7.0.html#antialias-renamed-to-lanczos

The ANTIALIAS alias was removed in Pillow 10.0.0:
https://pillow.readthedocs.io/en/stable/deprecations.html
2023-07-03 17:44:47 +02:00
Hans-Christoph Steiner
bc58959315 purge remnants of repo/categories.txt, which is long unused 2023-06-02 13:26:03 +02:00
Hans-Christoph Steiner
1c3a87e002 lint: get Categories from config 2023-06-02 13:26:03 +02:00
FC Stegerman
9ac7dfe452 update: fix regression for ArchivePolicy: 0
* https://gitlab.com/fdroid/fdroidserver/-/merge_requests/920#note_1413338920
* https://gitlab.com/fdroid/fdroidserver/-/merge_requests/920#note_1413344025
2023-06-01 20:31:24 +02:00
Jochen Sprickerhof
2ee3cccb60 Don't modify app dict when generating v2 antifeatures
Regression of: 061ca38a
Closes: #1103
2023-06-01 17:53:34 +00:00
Licaon_Kter
2a60f6c195 scanner - tgz is gzip 2023-06-01 07:43:42 +00:00
Gregor Düster
31791b44f3
fixup! metadata: Make ArchivePolicy an interger internally 2023-05-30 23:05:59 +02:00
Gregor Düster
337974cbed
metadata: Make ArchivePolicy an interger internally 2023-05-30 23:02:34 +02:00
Hans-Christoph Steiner
fac7ceffe3 metadata: remove non-values from Builds: entries 2023-05-29 16:50:28 +00:00
Hans-Christoph Steiner
689786eea4 metadata: refactor _builds_to_yaml to use dicts and _format functions
_builds_to_yaml does not use any features of the metadata.Build class, so
it can operate on plain dicts as well.  It also does not need to output
Build instances because those are converted to plain dicts when writing out
to YAML.
2023-05-29 16:50:28 +00:00
Hans-Christoph Steiner
b055559df7 metadata: remove STRING/INT conversion on output
The type conversion should all happen in post_parse_yaml_metadata whenever
possible.  Also, when `if` blocks end in `return`, it is clearer if no
`elif` or `else` is used.
2023-05-29 16:50:28 +00:00
Hans-Christoph Steiner
1bc9b41a2b metadata: YAML 1.2 handles gradle: off now, "off" isn't a boolean
Before switching to YAML 1.2, there needed to be special handling of values
that YAML parsed as booleans.
2023-05-29 16:50:28 +00:00
Hans-Christoph Steiner
d3521d7374 metadata: case-insensitive sort for AntiFeatures Categories 2023-05-29 16:50:28 +00:00
Hans-Christoph Steiner
2aa0403208 metadata: handle SHA-256 values that parse as decimal ints
https://gitlab.com/fdroid/fdroidserver/-/merge_requests/1350#note_1370665635
2023-05-25 16:53:02 +02:00
Hans-Christoph Steiner
642e444cfa metadata: _normalize_type_list for TYPE_LIST quirks and errors
This should reduce surprises when dealing with filenames in things like
`rm:`.  So any float/int/bool value can be used directly, without quoting.

* A plain str/int/float value is interpreted as a list of one string.
* Dictionaries as values throws error.
* A set is treated like a list.
2023-05-25 16:53:02 +02:00
Hans-Christoph Steiner
4711b632b8 metadata: _normalize_type_int to handle exceptions 2023-05-25 16:53:02 +02:00