1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-04 14:30:11 +01:00
Commit Graph

8273 Commits

Author SHA1 Message Date
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
Hans-Christoph Steiner
865673964e gitlab-ci: enable shellcheck on tests/run-tests 2023-12-15 08:40:01 +01:00
Hans-Christoph Steiner
9d8c098f74 gitlab-ci: add shellcheck to gradlew-fdroid checks 2023-12-15 08:39:13 +01:00
Hans-Christoph Steiner
45d1363a0e tests/run-tests: use $sed var for all calls that need GNU sed
FreeBSD, macOS, and others come with BSD sed, which does not support all
the things that GNU sed does.  Also, BSD rmdir does not have any extended
options like --ignore-fail-on-non-empty.
2023-12-13 22:30:19 +01:00