Commit Graph

9487 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
2b1bb74865 Merge branch 'add_dns_info' into 'master'
Add DNS results when building repo index

See merge request fdroid/fdroidserver!1786
2026-03-11 11:05:11 +00:00
Hans-Christoph Steiner
67831d6608 add tests 2026-03-11 11:54:47 +01:00
mnbogner
099eaa3052 added a dns lookup while building the index so those results can be used to bypass dns queries at runtime 2026-03-11 11:54:47 +01:00
linsui
c223344689 Merge branch 'hg-placeholder-vcs' into 'master'
build: use placeholder vcs() instance for 'hg' til its purged

See merge request fdroid/fdroidserver!1791
2026-03-10 11:11:59 +00:00
Hans-Christoph Steiner
f7790e75cd build: use placeholder vcs() instance for 'hg' til its purged
There are a couple of active apps that use `RepoType: hg`, but they are
both no longer developed. `setup_vcs()` is called before the check whether
the build actually needs to run.  So it needs to return a `vcs()` instance
or it will try to run the build again.

follow up from !1662
2026-03-10 11:24:33 +01:00
Michael Pöhn
5518cd7d0a Merge branch 'ditch-extraneous-namedtuple' into 'master'
refactor out cruft structures; move torwards index-v2 as internal struct

See merge request fdroid/fdroidserver!1604
2026-03-09 09:44:48 +00:00
Hans-Christoph Steiner
e5630f0717 test YAML 1.2 for config
This disables pycodestyle's "W291 trailing whitespace" because these tests
need a trailing whitespace in the YAML string to represent null.  Black
handles this fine.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
b6ad69080b reset apkcache to move data to new internal format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
0c3ab11c2d purge utf8 tricks that date back to Python 2.7 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
c8d04e38f0 move 'signer' into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
f5e0599571 move repo["timestamp"] to internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
97ecf27eee move PackageAddedCache to update.py, it is only used there 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
a1ea7cf325 move 'added' to internal index-v2 format
This ended up being a refactoring of the whole KnownApks setup.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
78aec37622 port 'added' integration test to JSON for clarity of purpose 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
69995e5b33 move 'apkName' field into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
ff903ca675 use standard common.get_file_extension() 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
bea377f183 move 'versionName' field to internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
cd9c6a9231 minSdkVersion/targetSdkVersion/maxSdkVersion into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
6b16cd1024 init 'features' only when it is needed 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
f0eedc3ade move 'nativecode' field into internal index-v2 format 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
bf81f9f149 test_update: simplify scan_apk() tests 2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
5f180465de 'manifest' in internal struct; remove single use of namedtuple
Everywhere else, just plain data structures are used, like dict, list, etc.
Plus even the code that accesses these namedtuples is not using the features
of the namedtuple.

These are steps towards refactoring the code so that index-v2 is the
internal data structure of fdroid update.  Then ultimately, we'll be
able to remove the whole convert_version() function and streamline
other parts of the code.  Then the data structure conversions will
only need to happen in the code that generates the old index files.
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
e12103528a update test APK to include one required <uses-feature>
cd tests/repo
    apktool d duplicate.permisssions_9999999.apk
    # edit duplicate.permisssions_9999999/AndroidManifest.xml
    export PATH="/opt/android-sdk/build-tools/35.0.0:$PATH"
    apktool build duplicate.permisssions_9999999.apk
    unzip duplicate.permisssions_9999999/dist/duplicate.permisssions_9999999.apk AndroidManifest.xml
    zip duplicate.permisssions_9999999.apk AndroidManifest.xml
    mv duplicate.permisssions_9999999.apk ../unsigned/
    cd ..
    ../fdroid publish duplicate.permisssions
2026-03-09 08:54:24 +00:00
Hans-Christoph Steiner
b2d010f92a Merge branch 'drop_vcs' into 'master'
Drop support for hg

See merge request fdroid/fdroidserver!1662
2026-03-06 14:35:21 +00:00
Jochen Sprickerhof
ff135e132e Drop support for Mercurial (hg) 2026-03-06 15:23:53 +01:00
Hans-Christoph Steiner
01ca7db544 Merge branch 'remove-RepoType-bzr-support' into 'master'
purge support for deprecated RepoType: bzr svn

See merge request fdroid/fdroidserver!1783
2026-03-05 19:05:55 +00:00
Hans-Christoph Steiner
c04ea16882 actually implement VCSException when git-svn includes username
Back in 2015, 49549f4ca attempted to throw an error if a username was added
to a git-svn `Repo:` URL.  But it tested the function self.repotype itself
rather than executing it.  This fixes that and adds a test.
2026-03-05 18:52:13 +00:00
Hans-Christoph Steiner
b628d53a02 purge support for deprecated RepoType: bzr svn
* bzr is no longer developed
* svn was long ago replaced by git-svn

!1662
2026-03-05 18:52:13 +00:00
Hans-Christoph Steiner
28217d4411 Merge branch 'fix-scanner-exit-code' into 'master'
🐛 fix --exit-code in scanner.py

See merge request fdroid/fdroidserver!1776
2026-02-20 03:49:59 +00:00
Michael Pöhn
8024876f53 🐛 fix --exit-code in scanner.py
There's a code path in scanner.py where scanner --exit-code can find problems but will not terminate with an error code. So here's a fix for that.
2026-02-19 18:51:18 +00:00
Hans-Christoph Steiner
bc3d22f4b2 Merge branch 'trixie-repos-cleanup' into 'master'
buildserver: cleanups for trixie

See merge request fdroid/fdroidserver!1781
2026-02-16 08:12:29 +00:00
relan
32d101bebc buildserver: ensure no custom apt sources
Remove all apt package sources configuration files before setting up the
standard set of sources (trixie, trixie-updates, trixie-backports,
trixie-security) to make sure that only those are present by default.
2026-02-15 12:13:33 +00:00
relan
fba41d3231 buildserver: switch to debian.sources
Since trixie debian.sources is recommended instead of sources.list. See

    https://wiki.debian.org/SourcesList

Fixes the following warning on apt-get update:

    W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/debian.sources:1
    W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:1 and /etc/apt/sources.list.d/debian.sources:1
    W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/debian.sources:1
    W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list:3 and /etc/apt/sources.list.d/debian.sources:1
2026-02-15 12:13:33 +00:00
relan
edce40ec25 buildserver: remove HTTPS enforcement for sources.list
Debian Docker images now use HTTPS for apt sources. See

    https://github.com/debuerreotype/docker-debian-artifacts/issues/15
2026-02-15 12:13:33 +00:00
Michael Pöhn
5cb47ea0d9 Merge branch 'push-support-RepoType-srclib' into 'master'
push: support RepoType: srclib

See merge request fdroid/fdroidserver!1747
2026-02-12 15:26:50 +00:00
Hans-Christoph Steiner
2937c4508b push: support RepoType: srclib 2026-02-12 15:25:54 +00:00
Hans-Christoph Steiner
68139582ea Merge branch 'better-test-for-gpg-agent' into 'master'
better test for gpg-agent to restrict test case

See merge request fdroid/fdroidserver!1782
2026-02-09 20:22:21 +00:00
Hans-Christoph Steiner
1aab64e090 better test for gpg-agent to restrict test case
This test case needs both gpg and gpg-agent, but gpg can be installed
without gpg-agent.  The CI for some of the Ansible stuff needs gpg without
gpg-agent, so switch this test to gpg-agent.

https://gitlab.com/fdroid/ansible-role-install-fdroidserver-dependencies/-/merge_requests/13
2026-02-09 15:45:23 +01:00
Hans-Christoph Steiner
b18c146839 Merge branch 'fix_ci' into 'master'
Fix ci

See merge request fdroid/fdroidserver!1773
2026-01-22 21:46:15 +00:00
Hans-Christoph Steiner
333bd43fe7 ignore locale tests on macOS, localization is not yet used there 2026-01-22 22:15:03 +01:00
Jochen Sprickerhof
1ad5fad707 compile locales to test on Debian/testing 2026-01-22 22:14:42 +01:00
Jochen Sprickerhof
033c57efbc CI: ignore existing directory 2026-01-22 20:07:51 +01:00
Jochen Sprickerhof
0708f33671 Merge branch 'debian-trixie64-box' into 'master'
makebuildserver: switch to debian/trixie64 box

See merge request fdroid/fdroidserver!1775
2026-01-22 03:23:17 +00:00
Hans-Christoph Steiner
b8819ebc92 makebuildserver: switch to debian/trixie64 box 2026-01-21 22:20:21 +01:00
Jochen Sprickerhof
bca7829eaf Merge branch 'lint' into 'master'
lint: disable trailing-spaces in yamllint

See merge request fdroid/fdroidserver!1771
2026-01-19 15:25:26 +00:00
linsui
c6d156ac24 lint: disable trailing-spaces in yamllint
ruamel.yaml produces this
2026-01-19 23:12:05 +08:00
linsui
0fcd4285d6 Merge branch 'trixieupdate' into 'master'
Use latest Trixie images for makebuildserver

See merge request fdroid/fdroidserver!1697
2026-01-19 14:22:32 +00:00
linsui
5887c5e8db update ruamel.yaml version restriction 2026-01-19 22:10:02 +08:00
linsui
14573e7ccb fix B105 hardcoded_password_string 2026-01-19 21:53:43 +08:00
linsui
54a1bceff8 docker: update to trixie 2026-01-19 21:53:43 +08:00