9504 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
5e0b6a8515 Merge branch 'patch-3' into 'master'
Conform to PEP 639

See merge request fdroid/fdroidserver!1793
2026-03-19 17:56:06 +00:00
Benson Muite
c47c39794f Conform to PEP 639
- Use full SPDX license identifier
- Add link to license file
- Remove outdated license specifier
2026-03-19 17:55:13 +00:00
Hans-Christoph Steiner
b28f5945fd Merge branch 'jvm-download' into 'master'
disable gradle jvm auto download

See merge request fdroid/fdroidserver!1798
2026-03-18 08:33:11 +00:00
linsui
7723311b44 disable gradle jvm auto download 2026-03-18 04:12:57 +08:00
Hans-Christoph Steiner
0aa48bbe23 Merge branch 'fix-mirrors-dns-entries' into 'master'
index: make sure DNS records are in the "mirrors" list

See merge request fdroid/fdroidserver!1797
2026-03-13 22:09:37 +00:00
Hans-Christoph Steiner
b20d505347 index: make sure DNS records are in the "mirrors" list
fdroidclient!1626
https://gitlab.com/fdroid/fdroidclient/-/work_items/2948#note_3157998787
fdroidclient#2717
fdroidclient#2948
2026-03-13 22:58:07 +01:00
Hans-Christoph Steiner
9f6f6e9d93 Merge branch 'lint-flag-share.google' into 'master'
lint: add share.google to list of link shorteners

See merge request fdroid/fdroidserver!1790
2026-03-13 15:56:32 +00:00
Hans-Christoph Steiner
9a1a682581 lint: add share.google to list of link shorteners 2026-03-13 15:55:42 +00:00
Hans-Christoph Steiner
1fffaaaf36 Merge branch 'dns_tests' into 'master'
Added check for IPv6 support to DNS tests

See merge request fdroid/fdroidserver!1794
2026-03-12 21:20:29 +00:00
Hans-Christoph Steiner
2e4b8c8d15 fix Fedora check in macOS job
platform.freedesktop_os_release() requires that /etc/os-release or
/usr/lib/os-release is present.
2026-03-12 22:00:04 +01:00
mnbogner
b7714db4f6 added check foripv6 suppot to dns tests 2026-03-12 22:00:02 +01:00
Hans-Christoph Steiner
36b3394959 Merge branch 'v1-add-nativecode' into 'master'
index_v1: restore nativecode field

Closes #1327

See merge request fdroid/fdroidserver!1796
2026-03-12 20:42:48 +00:00
Alexander Martinz
0577be66d5 test: test_index: test_make_v1: ensure nativecode exists
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2026-03-12 20:32:10 +01:00
Alexander Martinz
313b8d0171 tests: test_index: add test_make_v1
Test index creation for index_v1.
This is based on test_make_v0 and uses the existing
org.dyndns.fules.ck test app.

The metadata was imported from fdroiddata.

Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2026-03-12 20:32:10 +01:00
Alexander Martinz
1cd849f3df index_v1: restore nativecode field
This got removed with commit f0eedc3ade
which results in issues with clients using index v1.

These clients may end up offering the wrong arch for the device.

Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2026-03-12 18:50:13 +01:00
Hans-Christoph Steiner
534fe8009e Merge branch 'patch-2' into 'master'
Update to a supported Fedora version

Closes #1271

See merge request fdroid/fdroidserver!1641
2026-03-11 16:17:58 +00:00
Benson Muite
a3d928f94b Update to a supported Fedora version
- use OpenJDK21
- Install python-oscrypto
- Enable weak ciphers when running tests
- Add Androguard dependency
- Skip gpg test on Fedora
- Ensure zlib not zlib-ng is used on Fedora
2026-03-11 14:46:23 +00:00
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