Skip to content

APK processing for duplicate versionCodes and renaming

This is an update to the file processing part of fdroid update. First, this makes fdroid update support APKs that have duplicate packageName/versionCode pairs. APKs that have the same SHA-256 sum or the same packageName/versionCode/signingCertificate triplet are still considered duplicates. fdroidclient still cannot handle duplicate packageName/versionCode pairs, so they are still filtered out of index.xml. But once this is merged and a repo includes APKs with duplicate packageName/versionCode pairs, the index-v1.json will be incompatible with all fdroidclient 0.103 versions until this is fixed there. Basically, the database layer in fdroidclient enforces only one entry per packageName/versionCode. Since 0.103 is an extended beta, and it would be a lot of work to fix this there, in the meeting today there were no objections to this plan.

This also adds fdroid update --rename-apks to force the APKs in a repo into the standard F-Droid naming schemes (see common.APK_NAME_REGEX and common.STANDARD_FILE_NAME_REGEX).

@uniqx this is the fdroid update work to match your work on fdroid build. @grote fdroid update --rename-apks was designed around a use case from your upcoming travels

Merge request reports