make it really easy to upgrade unsigned repos to signed
As a key step to removing support for unsigned repos from fdroidclient (https://gitlab.com/fdroid/fdroidclient/issues/12), this merge request makes `fdroid update` require a signing key. If there is no keystore, it'll prompt the user to create one using `fdroid update --create-key`.
This closes#13
See merge request !48
This provides the final option in this series, allowing the user to just
add --create-key to `fdroid update, and thereby upgrade an unsigned repo to
a proper signed repo. It also might be useful
closes#13https://gitlab.com/fdroid/fdroidserver/issues/13
This moves the method for generating a new keystore for the repo signing
key to a common function so that it can be used in more subcommands beyond
`fdroid init`. The immediate idea is to make `fdroid update --create-key`
upgrade unsigned repos to signed ones so we can make fdroidclient only use
signed repos.
This makes `fdroid init` create a complete, self-contained repo in a single
folder. That makes it easily transferable, backupable, etc. It also means
that `fdroid update` can add a keystore to an existing unsigned repo
without having to worry about finding the right folder or overwriting any
other existing files.
Otherwise, the test process can pick up lots and lots of APKs from various
places like a ~/fdroid folder or various ~/workspace/fdroidserver Jenkins
projects.
For use cases where there is a web server running on the same machine where
the `fdroid update` is being run, allow plain paths in the serverwebroot
list. This is useful for debug repos from build servers, like:
https://dev.guardianproject.info/fdroid
In order to keep things working as much as possible during the update, the
rsync should only delete the obsolete APKs after it has finished uploading
the new APKs.
Fix project.properties dependency issue
Correctly place scrlib references also
in the case there is no project.properties file
present in the original repository.
This commit fixes a problem, which was introduced with
021df3c424: If no
project.properties file exists in the original
project's source repo, place_srclib will not place
a dependency --- even if there should be one:
> if not os.path.isfile(proppath):
> return
Example app: fdroiddata/metadata/org.berlin_vegan.bvapp.txt
See merge request !47
Correctly place scrlib references also
in the case there is no project.properties file
present in the original repository.
This commit fixes a problem, which was introduced with
021df3c424: If no
project.properties file exists in the original
project's source repo, place_srclib will not place
a dependency --- even if there should be one:
> if not os.path.isfile(proppath):
> return
Example app: fdroiddata/metadata/org.berlin_vegan.bvapp.txt
Importer: Fix duplicated urls
Importer uses provided URL for the "website" as default. If "sourcecode" is set to the same, this causes a lint error. For Github the website is now empty while Gitlab's sourcecode is no longer the bas project url.
See merge request !46
Update readme
Updated the main README file to include a list of dependencies.
Forgot to update my e-mail address, so I closed Merge Request !44 first.
See merge request !45