mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 14:32:28 +03:00
mirror: make .asc downloading opt-in with --pgp-signatures
Lots of third party repos do not use .asc PGP signatures at all, so having this optional prevents tons of 404 Not Found errors.
This commit is contained in:
parent
82a4817e8a
commit
5c82956561
2 changed files with 13 additions and 2 deletions
|
@ -253,7 +253,7 @@ __complete_btlog() {
|
||||||
|
|
||||||
__complete_mirror() {
|
__complete_mirror() {
|
||||||
opts="-v"
|
opts="-v"
|
||||||
lopts="--archive --output-dir"
|
lopts="--all --archive --build-logs --pgp-signatures --src-tarballs --output-dir"
|
||||||
__complete_options
|
__complete_options
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,16 +46,26 @@ def main():
|
||||||
parser.add_argument("url", nargs='?',
|
parser.add_argument("url", nargs='?',
|
||||||
help=_('Base URL to mirror, can include the index signing key '
|
help=_('Base URL to mirror, can include the index signing key '
|
||||||
+ 'using the query string: ?fingerprint='))
|
+ 'using the query string: ?fingerprint='))
|
||||||
|
parser.add_argument("--all", action='store_true', default=False,
|
||||||
|
help=_("Mirror the full repo and archive, all file types."))
|
||||||
parser.add_argument("--archive", action='store_true', default=False,
|
parser.add_argument("--archive", action='store_true', default=False,
|
||||||
help=_("Also mirror the full archive section"))
|
help=_("Also mirror the full archive section"))
|
||||||
parser.add_argument("--build-logs", action='store_true', default=False,
|
parser.add_argument("--build-logs", action='store_true', default=False,
|
||||||
help=_("Include the build logs in the mirror"))
|
help=_("Include the build logs in the mirror"))
|
||||||
|
parser.add_argument("--pgp-signatures", action='store_true', default=False,
|
||||||
|
help=_("Include the PGP signature .asc files in the mirror"))
|
||||||
parser.add_argument("--src-tarballs", action='store_true', default=False,
|
parser.add_argument("--src-tarballs", action='store_true', default=False,
|
||||||
help=_("Include the source tarballs in the mirror"))
|
help=_("Include the source tarballs in the mirror"))
|
||||||
parser.add_argument("--output-dir", default=None,
|
parser.add_argument("--output-dir", default=None,
|
||||||
help=_("The directory to write the mirror to"))
|
help=_("The directory to write the mirror to"))
|
||||||
options = parser.parse_args()
|
options = parser.parse_args()
|
||||||
|
|
||||||
|
if options.all:
|
||||||
|
options.archive = True
|
||||||
|
options.build_logs = True
|
||||||
|
options.pgp_signatures = True
|
||||||
|
options.src_tarballs = True
|
||||||
|
|
||||||
if options.url is None:
|
if options.url is None:
|
||||||
logging.error(_('A URL is required as an argument!') + '\n')
|
logging.error(_('A URL is required as an argument!') + '\n')
|
||||||
parser.print_help()
|
parser.print_help()
|
||||||
|
@ -152,7 +162,8 @@ def main():
|
||||||
if not os.path.exists(f) \
|
if not os.path.exists(f) \
|
||||||
or (f.endswith('.apk') and os.path.getsize(f) != package['size']):
|
or (f.endswith('.apk') and os.path.getsize(f) != package['size']):
|
||||||
urls.append(_append_to_url_path(section, f))
|
urls.append(_append_to_url_path(section, f))
|
||||||
urls.append(_append_to_url_path(section, f + '.asc'))
|
if options.pgp_signatures:
|
||||||
|
urls.append(_append_to_url_path(section, f + '.asc'))
|
||||||
if options.build_logs and f.endswith('.apk'):
|
if options.build_logs and f.endswith('.apk'):
|
||||||
urls.append(_append_to_url_path(section, f[:-4] + '.log.gz'))
|
urls.append(_append_to_url_path(section, f[:-4] + '.log.gz'))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue