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

4988 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
fccb990521 fix PEP8 "E711 comparison to None should be 'if cond is None:'" 2014-05-06 11:45:02 -04:00
Hans-Christoph Steiner
d564c37c35 fix "fdroidserver/build.py:41: redefinition of unused 'paramiko' from line 39"
pyflakes gave this error based on the `paramiko = None` statement. I used
a different way to test whether paramiko was successfully imported that is
directly based on the relevant Exceptions.
2014-05-06 11:45:02 -04:00
Daniel Martí
17b7f192b5 Add missing -q/--quiet completions 2014-05-06 16:19:05 +02:00
Daniel Martí
42bfe13be4 Also pre-compile list regex warnings 2014-05-06 16:08:53 +02:00
Daniel Martí
65205a6ec3 Warn about leading spaces in descriptions 2014-05-06 16:08:53 +02:00
Ciaran Gultnieks
225c644b3e Remove the other explicit vagrant references
Aside from the VM setup (which is now self-contained) the build process
only cares that it's handed a clean VM that it can access via ssh, given
a host/port/user/pubkey combination. There's no dependency outside the
getvm/releasevm functions on what kind of vm it is, what user the build
runs as, etc.
2014-05-01 23:33:17 +01:00
Ciaran Gultnieks
ee157b7c83 Remove some explicit references to the vagrant user 2014-05-01 23:24:54 +01:00
Ciaran Gultnieks
6db75545ef Separate the VM setup process from the build 2014-05-01 23:04:51 +01:00
Ciaran Gultnieks
d7cee19c02 Fix a few whitespace errors in build.py 2014-05-01 22:09:17 +01:00
Ciaran Gultnieks
2f6ce712f5 More PEP8 compliance (build.py, partial) 2014-04-30 23:23:57 +01:00
Ciaran Gultnieks
bd34fc2530 Remove the rest of the PEP8 errors from stats.py 2014-04-30 20:53:34 +01:00
Ciaran Gultnieks
5849b43e02 Remove strange semicolons 2014-04-30 11:46:28 +01:00
Ciaran Gultnieks
2a5c8a4aa2 Cache aggregate stats to save time 2014-04-29 15:33:34 +01:00
Daniel Martí
63ce679a9d Also remove 'disable' from auto-update builds 2014-04-29 16:06:24 +02:00
Daniel Martí
13af519069 Run git submodule sync before git submodule update
Fixes changes in submodule urls
2014-04-29 12:00:03 +02:00
Daniel Martí
965c767d8b Update 'fdroid build' args on bash-completion 2014-04-29 09:28:44 +02:00
Ciaran Gultnieks
73c73db0e9 Add extra options to import completion 2014-04-29 07:41:48 +01:00
Daniel Martí
bb4211b0be Revert "Don't auto update apps with the latest build disabled"
This reverts commit 32ae8bc565.
2014-04-29 00:00:40 +02:00
Daniel Martí
b2ef2b1b65 Small glob fix to fd-commit 2014-04-28 23:48:12 +02:00
Daniel Martí
83557583cb Add support for new files 2014-04-28 23:36:49 +02:00
Ciaran Gultnieks
a0dbddc6da Add config entry for optional gpg key 2014-04-28 21:32:32 +01:00
Daniel Martí
bfb549d101 Merge branch 'master' of https://gitlab.com/eighthave/fdroidserver 2014-04-27 14:26:03 +02:00
Daniel Martí
4592cece2f Slightly better summary/name warning message 2014-04-27 14:14:49 +02:00
Ciaran Gultnieks
fdd7123c55 Show detached gpg sigs for apks in repo browser 2014-04-27 09:30:26 +01:00
Hans-Christoph Steiner
5e93b6c80b update: report signing key fingerprint in same format as client
fdroidclient now uses SHA256 fingerprints internally, and they are shown in
the repo details view.  This changes the digest algorithm to SHA256 and
changes the format to match what is shown in the repo details view.
2014-04-25 21:07:47 -04:00
Hans-Christoph Steiner
a66bf2037c server: fix logging of file upload to awsbucket
Thanks to Adam Pritchard for reporting this
2014-04-23 20:10:02 -04:00
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