Commit Graph

8276 Commits

Author SHA1 Message Date
Gregor Düster b9c7e8f63a Fix "fdroid --version"
Fixes https://gitlab.com/fdroid/fdroidserver/-/issues/1164 .

Helpful resource:
https://packaging.python.org/en/latest/guides/single-sourcing-package-version/
2024-01-25 12:00:05 +00:00
Hans-Christoph Steiner 7ade08e46d Merge branch 'updatesuss' into 'master'
Update default suss

See merge request fdroid/fdroidserver!1431
2024-01-25 11:40:32 +00:00
Hans-Christoph Steiner 1d9ec42758 scanner: update test counts based on new default rules
The new rules announce more things.
2024-01-25 12:31:05 +01:00
Hans-Christoph Steiner 681392d8c2 scanner: script to update default rules from SUSS 2024-01-25 11:51:22 +01:00
Licaon_Kter ac6a08e10f Update default suss 2024-01-25 11:05:55 +01:00
Michael Pöhn d60f36c30e Merge branch 'serverwebroot-as-dict' into 'master'
config: convert serverwebroot: to list-of-dicts format

See merge request fdroid/fdroidserver!1430
2024-01-24 10:46:04 +00:00
Hans-Christoph Steiner 810387a009 deploy: update_serverwebroots() for testable logic
This moves all of the serverwebroot: logic into a function, and adds tests.
I did this because I ran into issues in the logic in main():

Traceback (most recent call last):
  File "/builds/eighthave/fdroidserver/fdroid", line 22, in <module>
    fdroidserver.__main__.main()
  File "/builds/eighthave/fdroidserver/fdroidserver/__main__.py", line 230, in main
    raise e
  File "/builds/eighthave/fdroidserver/fdroidserver/__main__.py", line 211, in main
    mod.main()
  File "/builds/eighthave/fdroidserver/fdroidserver/deploy.py", line 753, in main
    s = serverwebroot.rstrip('/').split(':')
AttributeError: 'dict' object has no attribute 'rstrip'
2024-01-23 18:49:12 +01:00
Hans-Christoph Steiner fbf097d390 deploy: update_serverwebroot() works w/o options/config
Since update_serverwebroot() is part of the public API, this function should
work without setting `fdroidserver.deploy.options` or
`fdroidserver.deploy.config`.
2024-01-23 17:48:47 +01:00
Hans-Christoph Steiner 7a656d45e3 config: convert serverwebroot: to list-of-dicts format
This allows for more metadata about the server and deploy mode.
2024-01-22 22:11:49 +01:00
Hans-Christoph Steiner 3f50372d8d config: test cases for serverwebroot: with string and list 2024-01-22 22:11:49 +01:00
Michael Pöhn 5983962107 Merge branch 'biplist' into 'master'
gitlab-ci: install biplist if available, otherwise skip test_parse_ipa

See merge request fdroid/fdroidserver!1429
2024-01-11 16:21:32 +00:00
Hans-Christoph Steiner dc7170e709 gitlab-ci: install biplist if available, otherwise skip test_parse_ipa
Fedora does not have a biplist package.
2024-01-11 16:02:06 +01:00
Hans-Christoph Steiner 6eee83db47 run black on new .ipa test cases 2024-01-11 16:02:06 +01:00
Hans-Christoph Steiner 22d3ba81dd Merge branch 'ipa-support' into 'master'
minimal IPA support

Closes #1067

See merge request fdroid/fdroidserver!1413
2024-01-11 11:13:48 +00:00
Michael Pöhn 8b5a61bb25 ⛰️ make ipa related test cases more robust 2024-01-11 12:02:53 +01:00
Michael Pöhn 881943a0db 🥔 install biplist for ci tests
biplist is an optional python dependency required for processing iOS
apps. (.ipa files)
2024-01-11 12:02:52 +01:00
Michael Pöhn 7211e9f9b4 🍲 add unit test for update.scan_repo_for_ipas 2024-01-11 11:34:21 +01:00
Michael Pöhn 995118bcd2 🥔 add strapped IPA file and test for parse_ipa 2024-01-11 11:34:21 +01:00
Michael Pöhn c288317530 🪨 version string conversion: error handling+tests 2024-01-11 11:34:21 +01:00
Michael Pöhn 3ee91d1777 🧴 force android package names for IPAs for now 2024-01-11 11:34:21 +01:00
Michael Pöhn ea9374ecf6 🛠️ update.py: finish minimal IPA support
This add a few missing pieces to get IPA support working. (added and
lastUpdated dates + caching for ipa files)
2024-01-11 11:34:05 +01:00
Jochen Sprickerhof 60371093e2 Make python3-biplist optional 2024-01-11 11:34:00 +01:00
Jochen Sprickerhof e3d319f30b Update with suggestions 2024-01-11 11:33:25 +01:00
Jochen Sprickerhof 7d06608531 Move version_string_to_int into separate function 2024-01-11 11:33:25 +01:00
Jochen Sprickerhof dfbb2df839 Use CFBundleShortVersionString for version code 2024-01-11 11:33:25 +01:00
Jochen Sprickerhof a987341c37 ipa: add Usage permissions 2024-01-11 11:33:25 +01:00
Jochen Sprickerhof 77daf6feb6 Add Apple ipa support (Closes: #1067) 2024-01-11 11:33:25 +01:00
Hans-Christoph Steiner 11d21d6b18
gitlab-ci: bump base commit in metadata_v0 job to get rev-parse fix
!1427
2024-01-11 11:33:00 +01:00
Hans-Christoph Steiner 50aa35772b Merge branch 'fix-ci-pycountry' into 'master'
gitlab-ci: include pycountry in all master-only jobs

See merge request fdroid/fdroidserver!1428
2024-01-10 17:46:53 +00:00
Hans-Christoph Steiner 69ccce0644
gitlab-ci: include pycountry in all master-only jobs
follow up from !1418
2024-01-09 16:53:25 +01:00
Hans-Christoph Steiner 79bb763986 Merge branch 'fix_git_describe' into 'master'
Use git rev-parse instead of describe

See merge request fdroid/fdroidserver!1427
2024-01-09 14:04:26 +00:00
Hans-Christoph Steiner 0849e664e7 metadata_v0: use `git rev-parse` instead of `git describe` 2024-01-09 14:54:38 +01:00
Jochen Sprickerhof d3abb74c88
Use git rev-parse instead of describe
We only want the hash.
2024-01-09 13:15:23 +01:00
Hans-Christoph Steiner 252af24cc3 Merge branch 'lint-config-files' into 'master'
lint config files

See merge request fdroid/fdroidserver!1418
2024-01-09 09:41:35 +00:00
Hans-Christoph Steiner d7a673523d "field will be in random order" only applies to config.py
YAML only has lists, no sets or tuples, so this warning can only ever make
any sense when config.py is the active config file.
2024-01-09 09:32:37 +00:00
Hans-Christoph Steiner a1d9d9d885 switch to loading mirrors.yml with ruamel to get YAML 1.2 support 2024-01-09 09:32:37 +00:00
Hans-Christoph Steiner 96fc49d7fc lint: check syntax of countryCode: fields for mirrors 2024-01-09 09:32:37 +00:00
Hans-Christoph Steiner 4511da68b9 lint: support linting config files 2024-01-09 09:32:37 +00:00
Hans-Christoph Steiner 3f35b0b361 lint: do yamllint install check once globally 2024-01-09 09:32:37 +00:00
Hans-Christoph Steiner a3b7c5ad12 Merge branch 'parse-srclibs' into 'master'
handle all cases of @ in srclibs, and remove duplicate code

See merge request fdroid/fdroidserver!1424
2024-01-08 15:02:34 +00:00
Hans-Christoph Steiner 6faaae9431 always parse srclib entries with parse_srclib_spec()
Remove duplicated code.
2024-01-07 10:50:29 +01:00
Hans-Christoph Steiner 15b983f48d handle all cases of @ in srclibs
expands on fdroidserver!1422
2024-01-07 10:50:29 +01:00
Hans-Christoph Steiner 599bd5a3a1 Merge branch 'srclib' into 'master'
allow @ in srclib tag

See merge request fdroid/fdroidserver!1422
2024-01-06 21:46:33 +00:00
linsui 2331bcfe15 all @ in srclib tag 2023-12-19 15:49:17 +08:00
Hans-Christoph Steiner 83cd04f3b6 Merge branch 'macOS' into 'master'
GitLab CI: add shellcheck, androguard <4, silence irrelevant bandit error, enable macOS job

See merge request fdroid/fdroidserver!1421
2023-12-15 08:47:42 +00:00
Hans-Christoph Steiner 8c8b9021f5 tests/run-tests: disable nightly.TestCase on non-Linux until its ported 2023-12-15 09:15:19 +01:00
Hans-Christoph Steiner 52f27aea75 tests/run-tests: temp disable git mirror test on non-Linux
I looked into this but couldn't figure it out.  It is the only failing
test on macOS, so it seemed worth just adding this single quirk for now.
2023-12-15 09:15:19 +01:00
Hans-Christoph Steiner d9288c8613 gitlab-ci: add macOS job based on only Travis job 2023-12-15 09:14:50 +01:00
Hans-Christoph Steiner 2f84ce36da androguard 4 came out, and has breaking changes 2023-12-15 08:40:27 +01:00
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