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