chiark / gitweb /
Daniel Martí [Sun, 1 Jun 2014 14:37:33 +0000 (16:37 +0200)]
Add support for gitlab.com repos to import
Daniel Martí [Sun, 1 Jun 2014 13:40:33 +0000 (15:40 +0200)]
Store build comments by vercode, not version
vercodes are unique, versions aren't
Daniel Martí [Sun, 1 Jun 2014 13:38:11 +0000 (15:38 +0200)]
Don't allow for duplicate build entries
Daniel Martí [Sat, 31 May 2014 21:10:16 +0000 (23:10 +0200)]
Use ordered dicts for defaults in apps and builds
Daniel Martí [Sat, 31 May 2014 21:09:58 +0000 (23:09 +0200)]
Enable pep8 in pre-commit
Daniel Martí [Sat, 31 May 2014 21:00:27 +0000 (23:00 +0200)]
Fix pep8 warnings in makebuildserver
Daniel Martí [Fri, 30 May 2014 17:49:38 +0000 (19:49 +0200)]
Re-order app_defaults to match the writing order
Also fix a couple of issues:
* Update Check Name was never written to disk
* Maintainer Notes had no default and was used differently
Daniel Martí [Fri, 30 May 2014 16:51:59 +0000 (18:51 +0200)]
Simplify field/flag checking and bool flag usage
Daniel Martí [Fri, 30 May 2014 16:48:35 +0000 (18:48 +0200)]
Make unspecified license use regex
Daniel Martí [Thu, 29 May 2014 20:24:39 +0000 (20:24 +0000)]
Merge branch 'recent-bug-fixes' into 'master'
Recent bug fixes
Fix a couple of bugs from the tracker.
Hans-Christoph Steiner [Thu, 29 May 2014 19:29:57 +0000 (15:29 -0400)]
fixes #12: make `fdroid update -c` do complete update like `fdroid update`
Since the new metadata created by -c is added after the existing metadata
was already parsed, `fdroid update -c` was not doing a complete update of
the repo. This moves the metadata creation as early as possible, then
reruns the metadata parsing if new metadata was created.
refs #12 https://gitlab.com/fdroid/fdroidserver/issues/12
Hans-Christoph Steiner [Thu, 29 May 2014 17:40:06 +0000 (13:40 -0400)]
Fixes #8: if unknown APKs found, prompt to use -c or use --delete-unknown
This adds the option --delete-unknown for the current default behavior of
`fdroid update`: to delete any unknown APKs. Instead, it just outputs a
warning about the unknown APKs and suggests -c for adding it.
Fixes #8 https://gitlab.com/fdroid/fdroidserver/issues/8
Hans-Christoph Steiner [Thu, 29 May 2014 17:10:28 +0000 (13:10 -0400)]
fix PEP8 E128 continuation line under-indented for visual indent
Daniel Martí [Wed, 28 May 2014 07:33:14 +0000 (09:33 +0200)]
Fix some more pep8 warnings
Daniel Martí [Wed, 28 May 2014 07:30:55 +0000 (09:30 +0200)]
Fix E265 in config.py
Daniel Martí [Wed, 28 May 2014 07:28:28 +0000 (09:28 +0200)]
Add pre-commit hook with installer
Will enable pep8 once all the problems are gone
Daniel Martí [Tue, 27 May 2014 13:56:57 +0000 (15:56 +0200)]
Fix pyflakes errors in readmeta
Daniel Martí [Tue, 27 May 2014 13:17:37 +0000 (15:17 +0200)]
Make readmeta use srclibs and check for config.py too
Daniel Martí [Tue, 27 May 2014 08:10:15 +0000 (10:10 +0200)]
More strict string search regex
Daniel Martí [Tue, 27 May 2014 07:53:58 +0000 (09:53 +0200)]
Also use srclibs in checkupdates
Needed when Repo Type is srclib
Daniel Martí [Mon, 26 May 2014 06:09:22 +0000 (08:09 +0200)]
Warn about summaries that are not capitalized
Daniel Martí [Fri, 23 May 2014 07:47:11 +0000 (09:47 +0200)]
Fall back to launchable-activity label if application has none
This fixes apps like MiniZip not having a name
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.