chiark / gitweb /
fdroidserver.git
8 years agomakebuildserver: make chef find the custom cache locations
Hans-Christoph Steiner [Tue, 26 Jan 2016 21:06:10 +0000 (22:06 +0100)]
makebuildserver: make chef find the custom cache locations

8 years agomake git pre-commit hook only test files to be committed
Hans-Christoph Steiner [Wed, 3 Feb 2016 13:48:40 +0000 (14:48 +0100)]
make git pre-commit hook only test files to be committed

Right now, the git pre-commit hook is pretty annoying to work with when
development since it tests every single file.  That means notes, incomplete
stuff, etc. will be run through the tests.  So all of the files need to be
clean in order to commit even a single trivial fix.  This commit changes it
so that the pre-commit hook is only run on the files staged to be committed.

8 years agolint: also check for trailing spaces in names
Daniel Martí [Sun, 31 Jan 2016 21:29:31 +0000 (21:29 +0000)]
lint: also check for trailing spaces in names

I was wrong - we don't check for trailing whitespaces on lines. That
would have to happen at parse time, not in the linter, so it would slow
things down and would become an error, not a warning. Not really worth
it.

8 years agoMerge branch 'authorregex' into 'master'
Daniel Martí [Sun, 31 Jan 2016 21:26:31 +0000 (21:26 +0000)]
Merge branch 'authorregex' into 'master'

lint: check whitespaces in "Author Name"

See merge request !94

8 years agolint: check whitespaces in "Author Name"
Boris Kraut [Sun, 31 Jan 2016 11:53:38 +0000 (12:53 +0100)]
lint: check whitespaces in "Author Name"

8 years agoMerge branch 'licenses' into 'master'
Daniel Martí [Sun, 31 Jan 2016 13:26:26 +0000 (13:26 +0000)]
Merge branch 'licenses' into 'master'

wp-fdroid: Linkify more licenses

See merge request !90

8 years agoMerge branch 'patch-1' into 'master'
Daniel Martí [Sun, 31 Jan 2016 13:25:03 +0000 (13:25 +0000)]
Merge branch 'patch-1' into 'master'

Support 'gpgkey' option as announced in sample config.

See merge request !93

8 years agoSupport 'gpgkey' option as announced in sample config.
Marvin W [Wed, 27 Jan 2016 15:51:03 +0000 (15:51 +0000)]
Support 'gpgkey' option as announced in sample config.

8 years agoTidy up/fix some vagrant issues
Ciaran Gultnieks [Tue, 26 Jan 2016 22:01:28 +0000 (22:01 +0000)]
Tidy up/fix some vagrant issues

1. It is packaged in modern versions of distros, update docs accordingly
2. 1.1 is hopelessly outdated - support 1.4 onwards
3. Check the version properly, and write a better config (previously it
   wrote the 1.1 config for 1.1 and 1.3+
4. Ensure that the default share from later versions is not present when
   building, it's only required for provisioning.

8 years agoHandle with invalid manifests better
Ciaran Gultnieks [Tue, 26 Jan 2016 22:00:00 +0000 (22:00 +0000)]
Handle with invalid manifests better

In other words, don't blow up and kill a whole checkupdates run just
because one version of one package has some invalid xml.

8 years agoMerge branch 'makebuildserver-jenkins-fixes' into 'master'
Daniel Martí [Tue, 26 Jan 2016 19:52:12 +0000 (19:52 +0000)]
Merge branch 'makebuildserver-jenkins-fixes' into 'master'

Makebuildserver jenkins fixes

more stuff related to the Debian jenkins build

See merge request !92

8 years agomakebuildserver: settable vm boot timeout, plus longer default
Hans-Christoph Steiner [Tue, 26 Jan 2016 16:35:25 +0000 (17:35 +0100)]
makebuildserver: settable vm boot timeout, plus longer default

On slow machines or VMs like the Debian jenkins box, the VM boot timeout
needs to be a lot longer, otherwise vagrant times out before setting up
the VM.

8 years agomakebuildserver: explicitly set debian_mirror by default
Hans-Christoph Steiner [Tue, 26 Jan 2016 12:33:53 +0000 (13:33 +0100)]
makebuildserver: explicitly set debian_mirror by default

There needs to be a default, otherwise it crashes.  I should have included
this in 8d66742dd7feec77aa30382bfb38da83f2b3e5a4

8 years agoMerge branch 'makebuildserver-caching-fixes' into 'master'
Daniel Martí [Tue, 26 Jan 2016 11:00:58 +0000 (11:00 +0000)]
Merge branch 'makebuildserver-caching-fixes' into 'master'

./makebuildserver CI fixes

These are fixes for caching and flexible config related to the work of getting `./makebuildserver` running on Debian's and Guardian Project's Jenkins boxes.  @mvdan and I have been working with h01lger to get that going, here's the latest build log: https://jenkins.debian.net/view/reproducible/job/reproducible_setup_fdroid_build_environment_profitbricks3/lastBuild/console

See merge request !91

8 years agomake all apt repos in build server use the configured debian mirror
Hans-Christoph Steiner [Fri, 22 Jan 2016 14:30:34 +0000 (15:30 +0100)]
make all apt repos in build server use the configured debian mirror

8 years agomakebuildserver: set debian mirror in config file only
Hans-Christoph Steiner [Fri, 22 Jan 2016 13:33:17 +0000 (14:33 +0100)]
makebuildserver: set debian mirror in config file only

Setting it in the config file was not working, and right now, all of the
options are in the config file and not as command line flags, so remove
--debian-mirror to keep that consistent.

8 years agomakebuildserver: use jessie32.box from cache, if present
Hans-Christoph Steiner [Fri, 22 Jan 2016 12:33:14 +0000 (13:33 +0100)]
makebuildserver: use jessie32.box from cache, if present

8 years agoscanner: Allow clojars.org maven repository
Daniel Martí [Sun, 24 Jan 2016 18:13:45 +0000 (18:13 +0000)]
scanner: Allow clojars.org maven repository

See https://github.com/inorichi/tachiyomi/issues/46.

8 years agowp-fdroid: Linkify more licenses
Boris Kraut [Sun, 24 Jan 2016 12:27:15 +0000 (13:27 +0100)]
wp-fdroid: Linkify more licenses

8 years agoMerge branch 'master' into 'master'
Hans-Christoph Steiner [Fri, 22 Jan 2016 10:27:54 +0000 (10:27 +0000)]
Merge branch 'master' into 'master'

Reproducibly build documentation

The two commits fix reproducibility problems detected by the Debian CI:

https://reproducible.debian.net/rb-pkg/unstable/amd64/fdroidserver.html

See merge request !84

8 years agoMerge branch 'makebuildserver-for-debian-jenkins' into 'master'
Daniel Martí [Thu, 21 Jan 2016 15:49:37 +0000 (15:49 +0000)]
Merge branch 'makebuildserver-for-debian-jenkins' into 'master'

Makebuildserver for debian jenkins

@mvdan and I worked out a plan with Holger, the Debian Developer running the reproducible builds jenkins build farm.  The idea is for that to just run `./makebuildserver` in the jenkins script.  Then we'll make sure that it works.  This also makes it easy for anyone to set up and run an FDroid build instance, which is important for things like the verification server and for people to be able to run reproducible builds on their own machine.

This does change some of the defaults, but they can all be overridden in the `makebs.config.py` for f-droid.org.

More comments in the commits.

See merge request !89

8 years agomakebuildserver: delete cached files with zero size
Hans-Christoph Steiner [Thu, 21 Jan 2016 14:41:26 +0000 (15:41 +0100)]
makebuildserver: delete cached files with zero size

If download fails to connect, it'll make a zero size file.  Then the next
run on ./makebuildserver will fail because the checksum will not be right.

8 years agomakebuildserver: cache defaults to ~/.cache/fdroidserver
Hans-Christoph Steiner [Thu, 21 Jan 2016 13:09:12 +0000 (14:09 +0100)]
makebuildserver: cache defaults to ~/.cache/fdroidserver

This also provides a config option to override that default.  ~/.cache is
a standard location on GNU/Linux machines for cached content.  It is also
good to have the cache outside of the git repo in case `git clean -fdx` is
run, which would delete all files in the directory that are not part of the
git repo, including buildserver/cache/

8 years agomakebuildserver: set defaults in script so it can run without config
Hans-Christoph Steiner [Wed, 20 Jan 2016 20:00:16 +0000 (21:00 +0100)]
makebuildserver: set defaults in script so it can run without config

This makes it so that ./makebuildserver will run without any config file,
using the defaults that are embedded in the script itself.  This is like
how `fdroid` works.

8 years agomakebuildserver: set default Debian mirror to http.debian.net
Hans-Christoph Steiner [Wed, 20 Jan 2016 19:40:25 +0000 (20:40 +0100)]
makebuildserver: set default Debian mirror to http.debian.net

This host automatically detects which is the closest mirror, then uses that
one.  It does so dynamically, so it'll work on machines that move too. Now
that we are pushing more people to run F-Droid build servers, the defaults
should take those use cases into account.

8 years agoname makebuildserver config the same as the script
Hans-Christoph Steiner [Wed, 20 Jan 2016 19:38:18 +0000 (20:38 +0100)]
name makebuildserver config the same as the script

This keeps the numbers of names down to a minimum, and since the config
is placed right next to the script, this keeps tab completion working
nicely when the config file is in place.

The old file name is still supported.

8 years agorun-tests: verbose output for `fdroid update` to aid debugging
Hans-Christoph Steiner [Wed, 16 Sep 2015 15:19:12 +0000 (17:19 +0200)]
run-tests: verbose output for `fdroid update` to aid debugging

I'm stumped by this stacktrace, hopefully debug logging will help:

Unknown exception found!
Traceback (most recent call last):
  File "./fdroidserver-0.4.0/fdroid", line 141, in <module>
    main()
  File "./fdroidserver-0.4.0/fdroid", line 119, in main
    mod.main()
  File "<http://localhost:18080/job/fdroidserver/ws/.testfiles/tmp.9hr9NiSmZs/fdroidserver-0.4.0/fdroidserver/update.py",> line 1146, in main
    apks, cachechanged = scan_apks(apps, apkcache, repodirs[0], knownapks)
  File "<http://localhost:18080/job/fdroidserver/ws/.testfiles/tmp.9hr9NiSmZs/fdroidserver-0.4.0/fdroidserver/update.py",> line 543, in scan_apks
    thisinfo['sig'] = getsig(os.path.join(os.getcwd(), apkfile))
  File "<http://localhost:18080/job/fdroidserver/ws/.testfiles/tmp.9hr9NiSmZs/fdroidserver-0.4.0/fdroidserver/update.py",> line 361, in getsig
    with zipfile.ZipFile(apkpath, 'r') as apk:
  File "/usr/lib/python2.7/zipfile.py", line 770, in __init__
    self._RealGetContents()
  File "/usr/lib/python2.7/zipfile.py", line 857, in _RealGetContents
    x._decodeExtra()
  File "/usr/lib/python2.7/zipfile.py", line 388, in _decodeExtra
    tp, ln = unpack('<HH', extra[:4])
struct.error: unpack requires a string argument of length 4

8 years agoApparently Python cannot handle Unicode
Daniel Martí [Thu, 14 Jan 2016 22:12:22 +0000 (23:12 +0100)]
Apparently Python cannot handle Unicode

I really hope I can revert this in the near future. Having to mutilate
my name just so that pip will work is a terrible workaround.

For better or worse, this only affects scripts defined in setup.py.

8 years agostats: use a stable sort that doesn't randomize
Daniel Martí [Mon, 11 Jan 2016 01:43:06 +0000 (02:43 +0100)]
stats: use a stable sort that doesn't randomize

Since we only sorted by count, ignoring the string, it meant that items
with the same count might be arranged in different manners. Hence the
`stats` behaviour was not predictable at all. Now it sorts first by
count, then by string.

8 years agobuild: don't add extra clean tasks
Daniel Martí [Mon, 11 Jan 2016 01:05:43 +0000 (02:05 +0100)]
build: don't add extra clean tasks

It is a good idea in theory, especially for extra tasks specified by the
user. But in practice, tasks specified by developers often don't have a
clean counterpart. So this just breaks the build.

8 years agometadata: fix text wrapping on unicode characters
Daniel Martí [Sun, 10 Jan 2016 16:54:38 +0000 (17:54 +0100)]
metadata: fix text wrapping on unicode characters

We were passing the utf-8 encoded string to textwrap, which took the
bytes as characters. Hence multi-byte unicode characters (in utf-8)
would count as multiple columns, which is clearly wrong.

8 years agofdroid: python2 doesn't like print()
Daniel Martí [Sat, 9 Jan 2016 12:24:13 +0000 (13:24 +0100)]
fdroid: python2 doesn't like print()

It just prints "()", which is stupid.

8 years agoAdd Gradle 2.10 to the BS
Daniel Martí [Tue, 5 Jan 2016 08:15:54 +0000 (09:15 +0100)]
Add Gradle 2.10 to the BS

8 years agometadata: Always use regex to verify values
Daniel Martí [Mon, 4 Jan 2016 12:44:00 +0000 (13:44 +0100)]
metadata: Always use regex to verify values

Lists can be made into regexes very easily. Major code simplification.
Also no need to construct sets to avoid iterating over lists.

8 years agoRemove redundant AntiFeatures bool check
Daniel Martí [Mon, 4 Jan 2016 12:26:48 +0000 (13:26 +0100)]
Remove redundant AntiFeatures bool check

8 years agoMerge branch 'master' into 'master'
Daniel Martí [Mon, 4 Jan 2016 08:29:17 +0000 (08:29 +0000)]
Merge branch 'master' into 'master'

Add Author Name and Author Email fields. (Closes: #90)

Adds the two new fields as discussed in issue #90. Both are optional.

Mind that the Wiki template needs to be extended before merging.

See merge request !87

8 years agoAdd Author Name and Author Email fields. (Closes: #90)
Dominik George [Sun, 3 Jan 2016 19:49:36 +0000 (20:49 +0100)]
Add Author Name and Author Email fields. (Closes: #90)

8 years agolint: warn about spaces in summaries too
Daniel Martí [Thu, 31 Dec 2015 10:21:47 +0000 (11:21 +0100)]
lint: warn about spaces in summaries too

8 years agoREADME: Note that Python 2.7.7+ is supported
Daniel Martí [Thu, 31 Dec 2015 09:11:41 +0000 (10:11 +0100)]
README: Note that Python 2.7.7+ is supported

8 years agogradle: stop trying to patch outputFile
Daniel Martí [Thu, 31 Dec 2015 08:37:08 +0000 (09:37 +0100)]
gradle: stop trying to patch outputFile

This often breaks since we're just removing a single line. Instead, use
a much more reliable way of finding output apks.

8 years agohandle Queue
NeroBurner [Thu, 17 Sep 2015 11:33:19 +0000 (13:33 +0200)]
handle Queue

8 years agoOctal numbers 0600 to 0o600
NeroBurner [Thu, 17 Sep 2015 11:29:06 +0000 (13:29 +0200)]
Octal numbers 0600 to 0o600

8 years agoexcept named exception handling
NeroBurner [Thu, 17 Sep 2015 11:25:08 +0000 (13:25 +0200)]
except named exception handling

8 years agoChange print-function to have brackets
NeroBurner [Wed, 16 Sep 2015 20:44:41 +0000 (22:44 +0200)]
Change print-function to have brackets

8 years agoAdd NonFreeAssets anti-feature
Daniel Martí [Tue, 29 Dec 2015 11:39:48 +0000 (12:39 +0100)]
Add NonFreeAssets anti-feature

8 years agoSmall gradle wrapper fix
Daniel Martí [Thu, 24 Dec 2015 22:08:31 +0000 (23:08 +0100)]
Small gradle wrapper fix

It broke on cases like:

if (gradle.gradleVersion >= "2.2") {

8 years agogradle: Completely get rid of gradlepluginver
Daniel Martí [Thu, 24 Dec 2015 15:41:39 +0000 (16:41 +0100)]
gradle: Completely get rid of gradlepluginver

We can support multiple output dirs without having to detect/infer the
plugin version. Much simpler and more robust too.

8 years agogradle: Never add lintOptions workaround
Daniel Martí [Thu, 24 Dec 2015 15:40:36 +0000 (16:40 +0100)]
gradle: Never add lintOptions workaround

This breaks on newer plugin versions. Instead of complicating this logic
even further to support them, upstream devs should instead use gradle
configs that actually work.

If their build fails because of lint, it's theirs to fix, not ours.

8 years agoFix issues spotted by older pyflakes
Daniel Martí [Wed, 16 Dec 2015 15:42:21 +0000 (16:42 +0100)]
Fix issues spotted by older pyflakes

8 years agoMerge branch 'docs' into 'master'
Daniel Martí [Thu, 10 Dec 2015 11:50:36 +0000 (11:50 +0000)]
Merge branch 'docs' into 'master'

docs: Add information on binary verification

I added a section about `Binaries:` metadata field. However, my information might be wrong or outdated, since I barely used it by now. Maybe even this field was left out on purpose...

See merge request !83

8 years agoMerge branch 'summarylength' into 'master'
Daniel Martí [Thu, 10 Dec 2015 11:47:48 +0000 (11:47 +0000)]
Merge branch 'summarylength' into 'master'

docs: Adjust summary length

See merge request !85

8 years agodocs: Adjust summary length
Boris Kraut [Thu, 10 Dec 2015 11:42:05 +0000 (12:42 +0100)]
docs: Adjust summary length

8 years agoOpen metadata files in only one place
Daniel Martí [Mon, 7 Dec 2015 19:31:23 +0000 (20:31 +0100)]
Open metadata files in only one place

Also get rid of the useless get_default_app_info func.

8 years agolint: optionally check format
Daniel Martí [Mon, 7 Dec 2015 19:12:26 +0000 (20:12 +0100)]
lint: optionally check format

8 years agolint: fix issue found by older version of pyflakes
Daniel Martí [Mon, 7 Dec 2015 12:58:29 +0000 (13:58 +0100)]
lint: fix issue found by older version of pyflakes

8 years agocheckupdates: fix --auto build copy
Daniel Martí [Mon, 7 Dec 2015 11:39:04 +0000 (12:39 +0100)]
checkupdates: fix --auto build copy

Also, remove origlines which hasn't been used in some time.

8 years agostats: fix a few dict accesses left over
Daniel Martí [Mon, 7 Dec 2015 11:33:24 +0000 (12:33 +0100)]
stats: fix a few dict accesses left over

8 years agoimport: fix get_default_app_info usage
Daniel Martí [Sat, 5 Dec 2015 18:20:41 +0000 (19:20 +0100)]
import: fix get_default_app_info usage

Closes #129

8 years agoscanner: remove jni check
Daniel Martí [Fri, 4 Dec 2015 18:32:01 +0000 (19:32 +0100)]
scanner: remove jni check

buildjni=no is the default. Moreover, some apps now run ndk-build via
gradle, so this was just in the way.

8 years agoSet all list defaults to an actual list
Daniel Martí [Thu, 3 Dec 2015 23:02:34 +0000 (00:02 +0100)]
Set all list defaults to an actual list

Iterating over the defaults will crash otherwise. Update pickle files.

8 years agoFix tests by not checking private attributes
Daniel Martí [Thu, 3 Dec 2015 18:31:20 +0000 (19:31 +0100)]
Fix tests by not checking private attributes

All attrs starting with '_' (e.g. _foo or __bar) are used internally, so
not very relevant for the metadata test anyway.

8 years agoAlso skip unmodified fields in the regex checks
Daniel Martí [Thu, 3 Dec 2015 15:49:35 +0000 (16:49 +0100)]
Also skip unmodified fields in the regex checks

Now it's close to 1s.

8 years agoKeep track of what attrs were modified in apps/builds
Daniel Martí [Thu, 3 Dec 2015 15:46:21 +0000 (16:46 +0100)]
Keep track of what attrs were modified in apps/builds

This allows us to run checks and fix types only on those that were
really modified. On our fdroiddata repo, with 2k apps with many unset
fields and flags, this reduces readmeta runtime from ~1.3s to ~1.1s.

8 years agoActually check that bools are valid
Daniel Martí [Thu, 3 Dec 2015 15:35:46 +0000 (16:35 +0100)]
Actually check that bools are valid

The metadata check was omitting booleans and lists, as it was only
taking strings. Fix this.

8 years agoRemove need for rstrip() of txt description
Daniel Martí [Thu, 3 Dec 2015 15:19:33 +0000 (16:19 +0100)]
Remove need for rstrip() of txt description

8 years agometadata: write strings directly to txt file
Daniel Martí [Thu, 3 Dec 2015 13:00:47 +0000 (14:00 +0100)]
metadata: write strings directly to txt file

8 years agoRename metafieldtype to fieldtype
Daniel Martí [Thu, 3 Dec 2015 12:53:49 +0000 (13:53 +0100)]
Rename metafieldtype to fieldtype

For consistency with flagtype. Also less redundant.

8 years agoUse dicts for field/flag types
Daniel Martí [Thu, 3 Dec 2015 12:52:53 +0000 (13:52 +0100)]
Use dicts for field/flag types

8 years agoSome more readability/performance tweaks
Daniel Martí [Thu, 3 Dec 2015 12:02:54 +0000 (13:02 +0100)]
Some more readability/performance tweaks

* Use set() instead of dict()
* No 'if foo: True else: False'
* Don't check for invalid fields twice

8 years agoUse constants for field/flag types
Daniel Martí [Thu, 3 Dec 2015 11:55:19 +0000 (12:55 +0100)]
Use constants for field/flag types

Avoids typos, such as one I just found which was 'strsng' isntead of
'string'. The static analyzer can catch those if they are constants.
Comparing ints is also faster than strings, which adds up in readmeta.

8 years agoAvoid conflicting func/var names
Daniel Martí [Thu, 3 Dec 2015 11:41:50 +0000 (12:41 +0100)]
Avoid conflicting func/var names

8 years agoMake text formatting faster via StringIO
Daniel Martí [Thu, 3 Dec 2015 11:02:47 +0000 (12:02 +0100)]
Make text formatting faster via StringIO

Avoid concatenating strings over and over. Also, the wiki formatting
wasn't necessary at all since it was just joining lines.

8 years agoRepresent multiline fields as str, not list
Daniel Martí [Thu, 3 Dec 2015 10:36:15 +0000 (11:36 +0100)]
Represent multiline fields as str, not list

Only keep lists in metadata files in the json format, since they don't
support multiline strings that are readable.

This makes the internal code easier, and a bit faster.

8 years agoFix tests
Daniel Martí [Thu, 3 Dec 2015 10:16:27 +0000 (11:16 +0100)]
Fix tests

8 years agoSome more txt parsing tweaks after profiling
Daniel Martí [Thu, 3 Dec 2015 10:06:27 +0000 (11:06 +0100)]
Some more txt parsing tweaks after profiling

8 years agoRemove duplicate build_flags check
Daniel Martí [Thu, 3 Dec 2015 09:58:12 +0000 (10:58 +0100)]
Remove duplicate build_flags check

It's already checked in set_flag

8 years agoRemove gradle=main
Daniel Martí [Thu, 3 Dec 2015 09:56:59 +0000 (10:56 +0100)]
Remove gradle=main

It was only supported in txt metadata, and was unused in fdroiddata
anyway.

8 years agoProperly close all metadata files once read
Daniel Martí [Thu, 3 Dec 2015 09:51:27 +0000 (10:51 +0100)]
Properly close all metadata files once read

8 years agoNever use exit/log in metadata
Daniel Martí [Wed, 2 Dec 2015 21:59:58 +0000 (22:59 +0100)]
Never use exit/log in metadata

8 years agoSpeed up metadata reading
Daniel Martí [Wed, 2 Dec 2015 21:38:40 +0000 (22:38 +0100)]
Speed up metadata reading

Total time for `fdroid readmeta` went down from ~1.6s to ~1.4s on my
machine.

8 years agoSimplify post_metadata_parse usage
Daniel Martí [Wed, 2 Dec 2015 21:29:31 +0000 (22:29 +0100)]
Simplify post_metadata_parse usage

8 years agometadata: properly store nums as strs and bools as bools
Daniel Martí [Wed, 2 Dec 2015 19:46:39 +0000 (20:46 +0100)]
metadata: properly store nums as strs and bools as bools

8 years agoPre-compile more regexes
Daniel Martí [Wed, 2 Dec 2015 19:38:55 +0000 (20:38 +0100)]
Pre-compile more regexes

8 years agolint: warn about target= in gradle builds
Daniel Martí [Wed, 2 Dec 2015 19:28:08 +0000 (20:28 +0100)]
lint: warn about target= in gradle builds

8 years agoFix default update= on ant builds
Daniel Martí [Wed, 2 Dec 2015 19:16:25 +0000 (20:16 +0100)]
Fix default update= on ant builds

8 years agoRework build into a class
Daniel Martí [Sat, 28 Nov 2015 16:55:27 +0000 (17:55 +0100)]
Rework build into a class

This simplifies usage, goes from

    build['flag']
to
    build.flag

Also makes static analyzers able to detect invalid attributes as the set
is now limited in the class definition.

As a bonus, setting of the default field values is now done in the
constructor, not separately and manually.

While at it, unify "build", "thisbuild", "info", "thisinfo", etc into
just "build".

8 years agogradle script: properly iterate over known versions
Daniel Martí [Wed, 2 Dec 2015 18:16:13 +0000 (19:16 +0100)]
gradle script: properly iterate over known versions

8 years agoAdd documentation to new App class
Daniel Martí [Sat, 28 Nov 2015 16:19:59 +0000 (17:19 +0100)]
Add documentation to new App class

8 years agoRework app into a class
Daniel Martí [Sat, 28 Nov 2015 12:09:47 +0000 (13:09 +0100)]
Rework app into a class

This simplifies usage, goes from

app['Foo']
to
app.Foo

Also makes static analyzers able to detect invalid attributes as the set
is now limited in the class definition.

As a bonus, setting of the default field values is now done in the
constructor, not separately and manually.

8 years agoHandle duplicate apps in a much cleaner way
Daniel Martí [Sat, 28 Nov 2015 11:16:23 +0000 (12:16 +0100)]
Handle duplicate apps in a much cleaner way

Don't log and exit in an inner metadata function. Handle it at a higher
level and do a proper exception. This also avoids unnecessary passing of
apps all around.

8 years agolint: more versatile /HEAD warning
Daniel Martí [Sat, 28 Nov 2015 10:32:46 +0000 (11:32 +0100)]
lint: more versatile /HEAD warning

Now catches many more github/gitlab/bitbucket links

8 years agolint: catch links at the beginning too
Daniel Martí [Sat, 28 Nov 2015 10:33:01 +0000 (11:33 +0100)]
lint: catch links at the beginning too

8 years agolint: also catch gitlab master links
Daniel Martí [Sat, 28 Nov 2015 08:52:55 +0000 (09:52 +0100)]
lint: also catch gitlab master links

8 years agoupdate: remove icons when removing disabled builds
Daniel Martí [Thu, 26 Nov 2015 23:23:59 +0000 (00:23 +0100)]
update: remove icons when removing disabled builds

They were just left there forever.

8 years agoupdate: move apk icons to and from archive too
Daniel Martí [Thu, 26 Nov 2015 23:13:30 +0000 (00:13 +0100)]
update: move apk icons to and from archive too

They all were stuck in repo/ for this reason. This resulted in apps that
were only in the archive to seem like they didn't have icons, when in
fact they did but were in the wrong dir.

8 years agoupdate: lower apps without apks logs to debug
Daniel Martí [Thu, 26 Nov 2015 22:47:22 +0000 (23:47 +0100)]
update: lower apps without apks logs to debug

If you run 'fdroid update', 6k+ warning messages are output. This is
definitely wrong. They can still be shown if one enables -v.

8 years agoDon't use paramiko with DEBUG
Daniel Martí [Sat, 21 Nov 2015 01:24:28 +0000 (17:24 -0800)]
Don't use paramiko with DEBUG

It outputs way, way too much info. Thousands of lines only when copying
the files over, which is not useful at all.

8 years agoFix ndk always being reinstalled
Daniel Martí [Sat, 21 Nov 2015 01:24:19 +0000 (17:24 -0800)]
Fix ndk always being reinstalled

8 years agoAdd gradle 2.9 to the BS
Daniel Martí [Fri, 20 Nov 2015 20:24:07 +0000 (12:24 -0800)]
Add gradle 2.9 to the BS

8 years agoInstall build-tools from the cache too
Daniel Martí [Fri, 20 Nov 2015 20:14:08 +0000 (12:14 -0800)]
Install build-tools from the cache too