declare stable functions as part of the public API
@uniqx proposed declaring static functions directly in the fdroidserver package to declare the functions where we won't break backwards compatibility. This is just a first small step to making fdroidserver provide an API. The idea is to start small, without being comprehensive, and just declare aliases in fdroidserver/__init__.py
repomaker uses these functions from fdroidserver:
fdroid/repomaker $ grep --no-filename -Eo '([^a-zA-Z0-9](common|index|update|server|net|metadata)\.[a-zA-Z0-9_]+)' `grep -rF fdroidserver --files-with-matches *`| cut -b2-222 | sort -u
common.KnownApks
common.STANDARD_FILE_NAME_REGEX
common.SdkToolsPopen
common.fill_config_defaults
common.find_command
common.genkeystore
common.genpassword
common.set_command_in_config
common.verify_apk_signature
index.VerificationException
index.download_repo_index
index.get_mirror_service_urls
index.make
metadata.App
net.http_get
server.update_awsbucket
server.update_servergitmirrors
server.update_serverwebroot
update.apply_info_from_latest_apk
update.get_all_icon_dirs
update.get_cache
update.get_icon_bytes
update.make_categories_txt
update.process_apks
update.scan_apk
update.scan_repo_files
update.sha256sum
update.write_cache
I propose declaring these in fdroidserver:
FDroidException
MetaDataException
VerificationException
fdroidserver.verify_apk_signature --> common.verify_apk_signature
fdroidserver.generate_keystore --> common.genkeystore
fdroidserver.download_repo_index --> index.download_repo_index
fdroidserver.get_mirror_service_urls --> index.get_mirror_service_urls
fdroidserver.make_index --> index.make
fdroidserver.process_apk --> update.process_apk
fdroidserver.process_apks --> update.process_apks
fdroidserver.scan_apk --> update.scan_apk
fdroidserver.scan_repo_files --> update.scan_repo_files
fdroidserver.update_awsbucket --> server.update_awsbucket
fdroidserver.update_servergitmirrors --> server.update_servergitmirrors
fdroidserver.update_serverwebroot --> server.update_serverwebroot
@grote @Bubu @altnico pinging you since you've thought about fdroidserver as an API.