chiark / gitweb /
Daniel Martí [Wed, 21 May 2014 09:44:36 +0000 (11:44 +0200)]
Add android targets 5, 6 and 9
They are nice to have, and will be needed to build support-v4 from source
Ciaran Gultnieks [Tue, 20 May 2014 21:44:47 +0000 (22:44 +0100)]
Centralise management of srclib metadata
Ciaran Gultnieks [Tue, 20 May 2014 21:14:19 +0000 (22:14 +0100)]
Restore friendly error messages
Use --verbose if you really want a full traceback with your 'you made a
typo in an package ID' messages.
It would be better to do this based on exception types (i.e. our own
exceptions - MetadataException, BuildException, VCSException) would not
print a traceback, but unexpected exceptions would. But the types are
not available at the 'fdroid' level currently.
Ciaran Gultnieks [Tue, 20 May 2014 20:07:54 +0000 (21:07 +0100)]
Lose the other unused read_metadata parameter
Ciaran Gultnieks [Tue, 20 May 2014 16:55:48 +0000 (17:55 +0100)]
Remove mysterious keyword arguments
Ciaran Gultnieks [Tue, 20 May 2014 16:48:45 +0000 (17:48 +0100)]
Fix several read_metadata-related issues
Various calls with the wrong parameters, and also an unused parameter on
the function itself.
Daniel Martí [Tue, 20 May 2014 14:40:43 +0000 (16:40 +0200)]
Add gradle 1.12 for the plugin version 0.10
Also, use https for the gradle.org links
Daniel Martí [Fri, 16 May 2014 11:04:31 +0000 (13:04 +0200)]
lint: warn about empty descriptions
If some app has the default description because it's not going to be published
or will never have a working build, the whole app should be disabled.
Ciaran Gultnieks [Thu, 15 May 2014 09:26:35 +0000 (10:26 +0100)]
Support https://code.google.com in fdroid import
Ciaran Gultnieks [Tue, 13 May 2014 21:14:19 +0000 (22:14 +0100)]
Minor manual typo fix
Ciaran Gultnieks [Tue, 13 May 2014 20:13:10 +0000 (21:13 +0100)]
Add documentation for Update Check Ignore
Ciaran Gultnieks [Tue, 13 May 2014 19:04:22 +0000 (20:04 +0100)]
Add ability to ignore updates based on version name matching
Ciaran Gultnieks [Mon, 12 May 2014 22:01:53 +0000 (23:01 +0100)]
Fix too long lines in publish
Ciaran Gultnieks [Mon, 12 May 2014 22:00:20 +0000 (23:00 +0100)]
Remove excess usage description from gpgsign
Ciaran Gultnieks [Mon, 12 May 2014 21:58:54 +0000 (22:58 +0100)]
Remove unused imports
Ciaran Gultnieks [Mon, 12 May 2014 21:57:23 +0000 (22:57 +0100)]
Correct logging output for gpgsign when already signed
Ciaran Gultnieks [Mon, 12 May 2014 20:55:59 +0000 (21:55 +0100)]
Add 'fdroid gpgsign' command
Creates detached gpg signatures for any apks that don't have them
yet. Relevant configuration fields need to be set first.
Daniel Martí [Mon, 12 May 2014 13:49:23 +0000 (15:49 +0200)]
Stop the gradle version searches once one is found
Ciaran Gultnieks [Sun, 11 May 2014 13:46:47 +0000 (14:46 +0100)]
Add proprietary samsung jar to usual suspects
Daniel Martí [Wed, 7 May 2014 14:13:22 +0000 (16:13 +0200)]
A few more PEP8 fixes
Ciaran Gultnieks [Wed, 7 May 2014 13:55:38 +0000 (13:55 +0000)]
Merge branch 'master' into 'master'
last PEP8 fixes (everything but E501 line too long and E123 close bracket indent)
These two commits fix all the rest of the PEP8 errors and warnings except for:
* E123 closing bracket does not match indentation of opening bracket's line
* E501 line too long (x > 79 characters)
Almost all of the fixed issues were these errors:
* E124 closing bracket does not match visual indentation
* E125 continuation line does not distinguish itself from next logical line
* E126 continuation line over-indented for hanging indent
* E127 continuation line over-indented for visual indent
* E128 continuation line under-indented for visual indent
* E226 missing whitespace around arithmetic operator
If you would like to make it run as part of the automated builds, it would just be a matter of adding this line to `jenkins-build`:
```
pep8 --ignore=E123,E501,W fdroid fdroidserver/*.py examples/*.py
```
Hans-Christoph Steiner [Tue, 6 May 2014 17:56:44 +0000 (13:56 -0400)]
fix PEP8 "E226 missing whitespace around arithmetic operator"
Hans-Christoph Steiner [Tue, 6 May 2014 17:50:52 +0000 (13:50 -0400)]
fix PEP8 E124/E125/126/127/128 indentation issues
* E124 closing bracket does not match visual indentation
* E125 continuation line does not distinguish itself from next logical line
* E126 continuation line over-indented for hanging indent
* E127 continuation line over-indented for visual indent
* E128 continuation line under-indented for visual indent
Ciaran Gultnieks [Tue, 6 May 2014 16:14:20 +0000 (16:14 +0000)]
Merge branch 'master' into 'master'
fix pyflakes error and a bunch of PEP8 fixes
lots of little fixes here, the first commit fixes the minor error that `pyflakes` raised, then the rest are all PEP8 fixes, as reported by the `pep8` command line tool.
Hans-Christoph Steiner [Fri, 2 May 2014 03:48:12 +0000 (23:48 -0400)]
fix PEP8 "E261 at least two spaces before inline comment"
Hans-Christoph Steiner [Fri, 2 May 2014 03:45:23 +0000 (23:45 -0400)]
fix PEP8 "W391 blank line at end of file"
Hans-Christoph Steiner [Fri, 2 May 2014 03:42:56 +0000 (23:42 -0400)]
fix PEP8 "E303 too many blank lines (2)"
Hans-Christoph Steiner [Fri, 2 May 2014 03:41:44 +0000 (23:41 -0400)]
fix PEP8 "E302 expected 1 blank lines, found 0"
Hans-Christoph Steiner [Fri, 2 May 2014 03:39:33 +0000 (23:39 -0400)]
fix PEP8 "E302 expected 2 blank lines, found 1"
Hans-Christoph Steiner [Fri, 2 May 2014 02:36:12 +0000 (22:36 -0400)]
fix PEP8 "E401 multiple imports on one line"
Hans-Christoph Steiner [Fri, 2 May 2014 02:32:54 +0000 (22:32 -0400)]
fix PEP8 "E712 comparison to True should be 'if cond is True:' or 'if cond:'"
Hans-Christoph Steiner [Fri, 2 May 2014 02:32:19 +0000 (22:32 -0400)]
fix PEP8 "E703 statement ends with a semicolon"
Hans-Christoph Steiner [Fri, 2 May 2014 02:30:44 +0000 (22:30 -0400)]
fix PEP8 "E225 missing whitespace around operator"
Hans-Christoph Steiner [Fri, 2 May 2014 02:28:46 +0000 (22:28 -0400)]
fix PEP8 "E228 missing whitespace around modulo operator"
Hans-Christoph Steiner [Fri, 2 May 2014 02:27:58 +0000 (22:27 -0400)]
fix PEP8 "E251 unexpected spaces around keyword / parameter equals"
Hans-Christoph Steiner [Fri, 2 May 2014 02:26:54 +0000 (22:26 -0400)]
fix PEP8 "W291 trailing whitespace"
Hans-Christoph Steiner [Fri, 2 May 2014 02:24:48 +0000 (22:24 -0400)]
fix PEP8 "E202 whitespace before ']' or '}'"
Hans-Christoph Steiner [Fri, 2 May 2014 02:21:47 +0000 (22:21 -0400)]
fix PEP8 "E201 whitespace after '(' or '[' or '{'"
Hans-Christoph Steiner [Fri, 2 May 2014 02:16:32 +0000 (22:16 -0400)]
fix PEP8 "E231 missing whitespace after ','"
Hans-Christoph Steiner [Fri, 2 May 2014 02:06:59 +0000 (22:06 -0400)]
fix PEP8 "E203 whitespace before ':' or ','"
Hans-Christoph Steiner [Fri, 2 May 2014 02:02:40 +0000 (22:02 -0400)]
fix PEP8 "E711 comparison to None should be 'if cond is None:'"
Hans-Christoph Steiner [Fri, 2 May 2014 02:46:51 +0000 (22:46 -0400)]
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.
Daniel Martí [Tue, 6 May 2014 14:19:05 +0000 (16:19 +0200)]
Add missing -q/--quiet completions
Daniel Martí [Tue, 6 May 2014 14:08:15 +0000 (16:08 +0200)]
Also pre-compile list regex warnings
Daniel Martí [Tue, 6 May 2014 13:54:34 +0000 (15:54 +0200)]
Warn about leading spaces in descriptions
Ciaran Gultnieks [Thu, 1 May 2014 22:33:17 +0000 (23:33 +0100)]
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.
Ciaran Gultnieks [Thu, 1 May 2014 22:24:54 +0000 (23:24 +0100)]
Remove some explicit references to the vagrant user
Ciaran Gultnieks [Thu, 1 May 2014 22:04:51 +0000 (23:04 +0100)]
Separate the VM setup process from the build
Ciaran Gultnieks [Thu, 1 May 2014 21:09:17 +0000 (22:09 +0100)]
Fix a few whitespace errors in build.py
Ciaran Gultnieks [Wed, 30 Apr 2014 22:23:57 +0000 (23:23 +0100)]
More PEP8 compliance (build.py, partial)
Ciaran Gultnieks [Wed, 30 Apr 2014 19:53:34 +0000 (20:53 +0100)]
Remove the rest of the PEP8 errors from stats.py
Ciaran Gultnieks [Wed, 30 Apr 2014 10:46:28 +0000 (11:46 +0100)]
Remove strange semicolons
Ciaran Gultnieks [Tue, 29 Apr 2014 14:33:20 +0000 (15:33 +0100)]
Cache aggregate stats to save time
Daniel Martí [Tue, 29 Apr 2014 14:06:24 +0000 (16:06 +0200)]
Also remove 'disable' from auto-update builds
Daniel Martí [Tue, 29 Apr 2014 10:00:03 +0000 (12:00 +0200)]
Run git submodule sync before git submodule update
Fixes changes in submodule urls
Daniel Martí [Tue, 29 Apr 2014 07:28:44 +0000 (09:28 +0200)]
Update 'fdroid build' args on bash-completion
Ciaran Gultnieks [Tue, 29 Apr 2014 06:41:48 +0000 (07:41 +0100)]
Add extra options to import completion
Daniel Martí [Mon, 28 Apr 2014 22:00:40 +0000 (00:00 +0200)]
Revert "Don't auto update apps with the latest build disabled"
This reverts commit
32ae8bc565fefe985c2ea1cdd831c2c5efc0932d.
Daniel Martí [Mon, 28 Apr 2014 21:48:12 +0000 (23:48 +0200)]
Small glob fix to fd-commit
Daniel Martí [Mon, 28 Apr 2014 21:36:32 +0000 (23:36 +0200)]
Add support for new files
Ciaran Gultnieks [Mon, 28 Apr 2014 20:32:00 +0000 (21:32 +0100)]
Add config entry for optional gpg key
Daniel Martí [Sun, 27 Apr 2014 12:26:03 +0000 (14:26 +0200)]
Merge branch 'master' of https://gitlab.com/eighthave/fdroidserver
Daniel Martí [Sun, 27 Apr 2014 12:14:49 +0000 (14:14 +0200)]
Slightly better summary/name warning message
Ciaran Gultnieks [Sun, 27 Apr 2014 08:30:26 +0000 (09:30 +0100)]
Show detached gpg sigs for apks in repo browser
Hans-Christoph Steiner [Sat, 26 Apr 2014 01:07:47 +0000 (21:07 -0400)]
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.
Hans-Christoph Steiner [Wed, 23 Apr 2014 23:55:53 +0000 (19:55 -0400)]
server: fix logging of file upload to awsbucket
Thanks to Adam Pritchard for reporting this
Hans-Christoph Steiner [Wed, 23 Apr 2014 23:52:37 +0000 (19:52 -0400)]
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.
Hans-Christoph Steiner [Wed, 23 Apr 2014 23:22:26 +0000 (19:22 -0400)]
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.
Hans-Christoph Steiner [Wed, 23 Apr 2014 23:21:22 +0000 (19:21 -0400)]
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.
Hans-Christoph Steiner [Wed, 23 Apr 2014 16:46:24 +0000 (12:46 -0400)]
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.
Hans-Christoph Steiner [Wed, 23 Apr 2014 16:44:37 +0000 (12:44 -0400)]
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.
Ciaran Gultnieks [Wed, 23 Apr 2014 07:31:56 +0000 (07:31 +0000)]
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.
Hans-Christoph Steiner [Fri, 18 Apr 2014 17:12:29 +0000 (13:12 -0400)]
add generic installation instructions to README
Hans-Christoph Steiner [Thu, 17 Apr 2014 22:20:36 +0000 (18:20 -0400)]
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
Hans-Christoph Steiner [Wed, 23 Apr 2014 03:11:58 +0000 (23:11 -0400)]
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`.
Hans-Christoph Steiner [Wed, 16 Apr 2014 02:41:28 +0000 (22:41 -0400)]
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
Hans-Christoph Steiner [Wed, 16 Apr 2014 00:47:03 +0000 (20:47 -0400)]
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.
Hans-Christoph Steiner [Wed, 16 Apr 2014 00:00:31 +0000 (20:00 -0400)]
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.
Hans-Christoph Steiner [Tue, 15 Apr 2014 03:44:20 +0000 (23:44 -0400)]
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.
Hans-Christoph Steiner [Thu, 17 Apr 2014 18:39:47 +0000 (14:39 -0400)]
if using crypto smartcard, remind user to plug it in
Hans-Christoph Steiner [Wed, 16 Apr 2014 03:48:48 +0000 (23:48 -0400)]
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.
Hans-Christoph Steiner [Tue, 15 Apr 2014 02:14:46 +0000 (22:14 -0400)]
update manual to use public https:// URLs to git repos
git@gitlab.com URLs require a gitlab login, https:// URLs do not
Hans-Christoph Steiner [Tue, 15 Apr 2014 02:11:36 +0000 (22:11 -0400)]
fix warnings in python files manifest
warning: no files found matching 'jenkins-build.sh'
warning: no files found matching 'buildserver/cookbooks'
Hans-Christoph Steiner [Mon, 14 Apr 2014 20:12:17 +0000 (16:12 -0400)]
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
Daniel Martí [Tue, 22 Apr 2014 09:39:29 +0000 (11:39 +0200)]
Support custom maven/gradle resource paths
Daniel Martí [Tue, 22 Apr 2014 09:22:53 +0000 (11:22 +0200)]
Run maven with jar.sign.skip=true too
Daniel Martí [Sun, 20 Apr 2014 17:15:40 +0000 (19:15 +0200)]
Reflect new summary char limit
Daniel Martí [Fri, 18 Apr 2014 21:56:25 +0000 (23:56 +0200)]
Properly complete partially written vercodes
Daniel Martí [Fri, 18 Apr 2014 19:17:06 +0000 (21:17 +0200)]
Count warnings and apps in lint
Daniel Martí [Fri, 18 Apr 2014 18:54:44 +0000 (20:54 +0200)]
Add summary-related lint warnings
Daniel Martí [Thu, 17 Apr 2014 19:05:18 +0000 (21:05 +0200)]
Only do the latest five tags when using UCM:Tags on git
Daniel Martí [Thu, 17 Apr 2014 18:45:36 +0000 (20:45 +0200)]
No longer use universal_newlines
It was added in an attempt to get git clone/fetch output, which did not
succeed.
Ciaran Gultnieks [Thu, 17 Apr 2014 11:12:50 +0000 (12:12 +0100)]
Fix donate/flattr links in web repo browser
Ciaran Gultnieks [Thu, 17 Apr 2014 10:40:13 +0000 (11:40 +0100)]
Change widget implementation to allow multiple instances
Ciaran Gultnieks [Thu, 17 Apr 2014 11:06:35 +0000 (11:06 +0000)]
Merge branch 'master' into 'master'
add Flattr button to app details pageMaster
Daniel Martí [Wed, 16 Apr 2014 19:06:24 +0000 (21:06 +0200)]
Also ignore .bzr when scanning
Daniel Martí [Tue, 15 Apr 2014 21:58:12 +0000 (23:58 +0200)]
Also glob the 'rm' field
Daniel Martí [Tue, 15 Apr 2014 21:53:44 +0000 (23:53 +0200)]
Glob scanignore and scandelete
These fields can still be used without globbing, but globbing can be very
useful in some cases.
Daniel Martí [Tue, 15 Apr 2014 21:33:54 +0000 (23:33 +0200)]
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
Daniel Martí [Tue, 15 Apr 2014 15:50:08 +0000 (17:50 +0200)]
Fix: some apks have a zip mimetype instead of a jar one