Support for publishing signed binaries from elsewhere

Done after verifying that they match ones built using a recipe.
Everything in the metadata should be the same as normal, with the
addition of the Binaries: directive to specify where (with pattern
substitution) to get the binaries from.

Publishing only takes place if there is a proper match. (Which seems
very unlikely to be the case unless the exact same toolchain is used, so
I would imagine that unless the person building and signing the incoming
binaries uses fdroidserver to build them, probably the exact same
buildserver id, they will not match. But at least we have the
functionality to support that.)
This commit is contained in:
Ciaran Gultnieks 2014-10-24 21:04:15 +01:00
parent 311ec604f8
commit 8568805866
4 changed files with 154 additions and 72 deletions

View file

@ -57,6 +57,7 @@ app_defaults = OrderedDict([
('Requires Root', False),
('Repo Type', ''),
('Repo', ''),
('Binaries', ''),
('Maintainer Notes', []),
('Archive Policy', None),
('Auto Update Mode', 'None'),
@ -197,6 +198,11 @@ valuetypes = {
["Repo Type"],
[]),
FieldValidator("Binaries",
r'^http[s]?://', None,
["Binaries"],
[]),
FieldValidator("Archive Policy",
r'^[0-9]+ versions$', None,
["Archive Policy"],
@ -851,6 +857,8 @@ def write_metadata(dest, app):
if app['Repo Type']:
writefield('Repo Type')
writefield('Repo')
if app['Binaries']:
writefield('Binaries')
mf.write('\n')
for build in app['builds']: