Commit graph

13 commits

Author SHA1 Message Date
Hans-Christoph Steiner
c54f9ea4ca mirror: make _run_wget() return to the dir it started in
This kind of function should not change the working environment, especially
since so much of the fdroidserver code assumes the current working directory
is the root of an fdroid repo.

It is used in fdroidserver/mirror.py with absolute paths always, so it
shouldn't change any existing use.  I found this issue by using it in a
plugin.
2021-12-07 10:24:27 +01:00
Hans-Christoph Steiner
307cf8958c
run black to reformat code that does not have WIP merge requests 2021-06-28 18:57:56 +02:00
Benedikt Brückmann
1e943a22df rewrite docstrings to match numpy style guide 2021-06-25 06:28:47 +02:00
Hans-Christoph Steiner
77db3ea709 mirror: if index is verified, save a copy in the local mirror 2020-12-03 21:48:37 +01:00
Hans-Christoph Steiner
fede58a710 use ArgumentParser's own "usage" line in help output 2020-10-01 23:01:55 +02:00
Hans-Christoph Steiner
5c82956561
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.
2020-01-31 15:38:02 +01:00
Hans-Christoph Steiner
df7d7adf78
mirror: optionally fetch build logs and src tarballs 2020-01-14 11:36:11 +01:00
Hans-Christoph Steiner
bf09109c49 mirror: fix syntax error on Python 3.4
It seems that Python 3.5 is more flexible with * expansion, Python 3.4 says:

SyntaxError: only named arguments may follow *expression
https://travis-ci.org/f-droid/fdroidserver/jobs/309194065
2017-11-30 14:03:04 +01:00
Hans-Christoph Steiner
09a6b37ac0 mirror: fix downloading of graphics
It was downloading them all directly into the 'repo' folder.
2017-11-29 17:12:38 +01:00
Hans-Christoph Steiner
79a4c469b3 mirror: forward --verbose flag to wget to control output 2017-11-29 16:54:52 +01:00
Hans-Christoph Steiner
94e67a7623 mirror: verify index signature if fingerprint included in URL
This keeps the old handling without signature checks so that it works
without requiring Java/apksigner or the whole config.py parsing stuff.
2017-11-29 16:54:27 +01:00
Hans-Christoph Steiner
d5481927f2 mirror: show help if no URL is provided 2017-11-29 16:31:48 +01:00
Hans-Christoph Steiner
2162703a1a mirror: new command to make a mirror of a repo
This creates a mirror of a full repo by downloading all files listed in
the index, and the ones that are generated based on that data, e.g. icons
of different resolutions.  This could be useful for setting up mirrors of
small repositories, instead of having to learn and manage rsync or
something else for mirroring.  This just needs a working repo.

It uses wget in a batch mode with the aim as being as efficient as
possible.  wget mirroring over HTTP is always going to be less efficient
than rsync, but it shouldn't be so bad since it uses --continue to check
whether it has already downloaded a file.  I suppose it could be extended
to use ETags for a little more efficiency.

I developed this creating a test mirror of f-droid.org, which is now a bit
ironic, since I added a specific check to prevent people from using this
on f-droid.org.
2017-11-29 12:40:04 +01:00