1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-09 00:40:11 +01:00
Commit Graph

2612 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
21769e9f0a server: test using config.get() in case dict value is None
If a key 'foo' is set to None, `if config.get('foo'):` will be false while
`if 'foo' in config:` will be true.  A None value is not useful here, so
config.get() is the better check.

Thanks to Adam Pritchard for the suggestion.
2014-04-23 20:10:02 -04:00
Hans-Christoph Steiner
ef7c9d89d2 init: --no-prompt to skip sdk_path prompt
For running the tests and in other scripted setups, the user prompt is an
annoying. Using --no-prompt means the script can test for failure.
2014-04-23 20:10:02 -04:00
Hans-Christoph Steiner
66df02d5f8 init: --android-home for forcing the path to the Android SDK
This allows the user to set the path to their Android SDK from the command
line. This option is named after the standard env var ANDROID_HOME, as used
in the build.xml generated by `android update project`.  --android-home
takes precendence over the ANDROID_HOME env var if it is set.
2014-04-23 19:33:10 -04:00
Hans-Christoph Steiner
cc089b49b1 init: only overwrites config.py, so run even if repo/ exists
Previously, `fdroid init` would exit if a repo/ subdir existed.  Since it
only changes config.py, that test just caused confusion. Now, only exit if
config.py exists, and if repo/ does not exist, create it.
2014-04-23 19:33:01 -04:00
Hans-Christoph Steiner
186aec46ba init: split out defconfig and sdk test to run before config is loaded
`fdroid init` runs before any config.py exists, but it still needs to have
the default config and the SDK path tests.  So split those two bits out of
common.read_config() so that they can be run separately before config.py
is in place.
2014-04-23 19:32:04 -04:00
Ciaran Gultnieks
088b7dfa2a Merge branch 'master' into 'master'
support cloud storage, and assorted other improvements

I just finished support for `fdroid server update` to push to Amazon AWS S3 cloud store. It uses libcloud, so there could be lots of other cloud storage services added.  This would be used for alternative hosting locations for repos.  For example, for the Guardian Project repo, we'd include the URLs to various cloud storage options like https://s3.amazonaws.com/guardianproject/fdroid/repo
Services like https://s3.amazonaws.com/ are often not blocked when other things are.

It does not need to be Amazon-specific.  I went with libcloud because it supports like 10 cloud storage and is under active development.  What is there is just the start. I'm new to cloud stuff, so I just started based on a script that Adam Prichart of psiphon gave me. I had to do a fair amount of packaging work to get the python-libcloud Debian package updated. I almost have the 0.14.1 update done, I hope that'll be in Debian tonight.

Lots more info in the commit messages.
2014-04-23 07:31:56 +00:00
Hans-Christoph Steiner
c429751a1e add generic installation instructions to README 2014-04-22 23:13:38 -04:00
Hans-Christoph Steiner
7248432d2d make awsbucket upload only new or changed files, ignore existing
Since it is possible to check the file size and MD5 hash of the file up on
the AWS S3 bucket, `fdroid server update` can check that a file needs to be
updated before actually deleting and uploading the new file.

fixes #3137 https://dev.guardianproject.info/issues/3137
2014-04-22 23:13:38 -04:00
Hans-Christoph Steiner
98033f3270 if the AWS S3 bucket does not exist, create it
This makes the AWS S3 setup dead simple: just put in a awsbucket name of
your choosing, set the AWS credentials, and it'll do the rest, whether the
bucket exists already or not.  S3 buckets are trivial to delete too, in
case of error: `s3cmd rb s3://mybadbucketname`.
2014-04-22 23:13:38 -04:00
Hans-Christoph Steiner
f0def08add support cloud storage with libcloud, starting with Amazon AWS S3
apache-libcloud enables uploading to basically any cloud storage service.
This is the first implementation that allows `fdroid server` to push a repo
up to a AWS S3 'bucket'.  Supporting other cloud storage services should
mostly be a matter of finding the libcloud "Provider" and setting the
access creditials.

fixes #3137 https://dev.guardianproject.info/issues/3137
2014-04-22 23:13:37 -04:00
Hans-Christoph Steiner
d1cd817759 implement -q and -v for fdroid server
The --quiet and --verbose options that are standard with the fdroid tools
were not implemented yet with the `server` command.
2014-04-22 22:59:27 -04:00
Hans-Christoph Steiner
5ce3b61a2a reorg fdroid server to allow for multiple server types
Right now, ssh+rsync is the only supported server upload type.  Things like
cloud storage services are useful storage bins for fdroid repos since they
are often not blocked while specific websites like Google Play are.
2014-04-22 22:59:27 -04:00
Hans-Christoph Steiner
6b65257516 make fdroid server check whether serverwebroot is set
Having serverwebroot optional in `fdroid server` means that it can support
multiple methods of hosting, like cloud storage services.  `fdroid server`
can also then support multiple repo hosting options at the same time.
2014-04-22 22:59:27 -04:00
Hans-Christoph Steiner
1ca7949bb1 if using crypto smartcard, remind user to plug it in 2014-04-22 22:59:27 -04:00
Hans-Christoph Steiner
a7d1d9a54d overwrite password files if they exist
The .fdroid.*.txt password files are only meant to be a conduit for the
passwords, so blow them away everytime.  The canonical password is stored
in config.py.

It might makes sense to replace these files with env vars using
-storepass:env and -keypass:env.  I figured that the passwords are already
in a file, config.py, so adding more files in the same location with the
same perms would not increase the risk at all.
2014-04-22 22:59:27 -04:00
Hans-Christoph Steiner
0cbe9690c9 update manual to use public https:// URLs to git repos
git@gitlab.com URLs require a gitlab login, https:// URLs do not
2014-04-22 22:59:27 -04:00
Hans-Christoph Steiner
e59e900a64 fix warnings in python files manifest
warning: no files found matching 'jenkins-build.sh'
    warning: no files found matching 'buildserver/cookbooks'
2014-04-22 22:59:27 -04:00
Hans-Christoph Steiner
6f6c074a6b when running pip install tests, cache downloads from pypi
Since this runs frequently without much change, it makes sense to cache the
downloaded source packages as much as possible.  There are probably better
ways to do this, but this is really easy.

https://stackoverflow.com/questions/4806448/how-do-i-install-from-a-local-cache-with-pip
2014-04-22 22:59:27 -04:00
Daniel Martí
82e88fbcf6 Support custom maven/gradle resource paths 2014-04-22 11:39:29 +02:00
Daniel Martí
5b10409967 Run maven with jar.sign.skip=true too 2014-04-22 11:22:53 +02:00
Daniel Martí
b2406c3b57 Reflect new summary char limit 2014-04-20 19:15:40 +02:00
Daniel Martí
cd666bb8e8 Properly complete partially written vercodes 2014-04-18 23:56:25 +02:00
Daniel Martí
2f3a92cd29 Count warnings and apps in lint 2014-04-18 21:17:06 +02:00
Daniel Martí
6d8dd4bed2 Add summary-related lint warnings 2014-04-18 20:54:44 +02:00
Daniel Martí
00fa44e916 Only do the latest five tags when using UCM:Tags on git 2014-04-17 21:05:18 +02:00
Daniel Martí
3736da3761 No longer use universal_newlines
It was added in an attempt to get git clone/fetch output, which did not
succeed.
2014-04-17 20:47:13 +02:00
Ciaran Gultnieks
181fc3d07b Fix donate/flattr links in web repo browser 2014-04-17 12:12:50 +01:00
Ciaran Gultnieks
4e90e002f0 Change widget implementation to allow multiple instances 2014-04-17 12:06:16 +01:00
Ciaran Gultnieks
11e5cc1b03 Merge branch 'master' into 'master'
add Flattr button to app details pageMaster
2014-04-17 11:06:35 +00:00
Daniel Martí
f79ded4a26 Also ignore .bzr when scanning 2014-04-16 21:06:24 +02:00
Daniel Martí
559ad9ef5b Also glob the 'rm' field 2014-04-15 23:58:12 +02:00
Daniel Martí
d4f9f341ed Glob scanignore and scandelete
These fields can still be used without globbing, but globbing can be very
useful in some cases.
2014-04-15 23:53:44 +02:00
Daniel Martí
8f0f896d91 Rewrite much of the source scanner
* Group apk, jar and zip files in the same case
* Use regex to support more patterns and be more flexible
* Only check for usual suspects in jar files (saves time)
* Also catch unknown zip-like files as warnings
2014-04-15 23:33:54 +02:00
Daniel Martí
b92b722c6d Fix: some apks have a zip mimetype instead of a jar one 2014-04-15 17:50:08 +02:00
Daniel Martí
5c483a5484 Fix apk path on gradle builds with many subdirs 2014-04-15 11:50:02 +02:00
Ciaran Gultnieks
a520076331 Merge branch 'master' into 'master'
Updated manual with gitlab repo links
2014-04-13 18:57:05 +00:00
viccuad
64e5e1dd9d updated gitorious repo links to gitlab repo links 2014-04-12 17:07:31 +02:00
Torsten Grote
05b61cc57d remove border around Flattr button 2014-04-12 13:33:07 +02:00
Torsten Grote
0e09686405 add Flattr button to app details page 2014-04-12 13:27:34 +02:00
Daniel Martí
5f2c348b40 Support gradle variables without an equals sign 2014-04-12 01:00:59 +02:00
Daniel Martí
67054c7c6f Fix counting of scanner problems 2014-04-12 00:18:20 +02:00
Ciaran Gultnieks
81e6fb8eb5 Point wiki current/history links to gitlab 2014-04-11 16:44:33 +01:00
Ciaran Gultnieks
c3a9b1b0c5 Merge branch 'master' into 'master'
fix tests

this fixes the copying of APKs in the test script
2014-04-10 16:46:17 +00:00
Hans-Christoph Steiner
49387b7108 use FDroid-standard naming when copying APKs for tests
This makes sure that there are no APKs with duplicate version codes.
2014-04-10 12:37:07 -04:00
Hans-Christoph Steiner
234736f306 move run-tests to /bin/bash so we can use bashisms 2014-04-10 12:31:23 -04:00
Daniel Martí
f4ee767013 Fix Categories: default value 2014-04-10 17:27:53 +02:00
Ciaran Gultnieks
5b21f86af2 Add buildserver details to AndroidManifest.xml 2014-04-10 13:59:17 +01:00
Ciaran Gultnieks
f95eccf307 Put commit hash of fdroidserver in use onto buildserver 2014-04-10 13:58:42 +01:00
Ciaran Gultnieks
b7420192eb Support different identity file structures
Something to do with vagrant/paramiko versioning.
2014-04-10 13:57:16 +01:00
Ciaran Gultnieks
8fdfc47f84 Fix snapshot logging error 2014-04-10 13:56:45 +01:00