chiark / gitweb /
fdroidserver.git
8 years agoMerge branch 'fdroid-build-in-git-repo' into 'master'
Hans-Christoph Steiner [Wed, 23 Mar 2016 20:12:22 +0000 (20:12 +0000)]
Merge branch 'fdroid-build-in-git-repo' into 'master'

run `fdroid build` straight out of an app's git repo

This creates a new metadata file type that is meant to be included in the git repo of the app to be built.  It uses the same formats as `metadata/`, e.g. `.txt`, JSON, XML, YAML.  The filename is instead `.fdroid.(json|txt|xml|yml)`.  This metadata then lets the user run `fdroid build` directly in the git repo of the app, and it will run the build as any other fdroid build.

@mvdan @CiaranG @krt @pserwylo @NicoAlt @parmegv feedback, flames, comments wanted

Given the very raw state of testing Android apps with gitlab-ci, I think this is a great opportunity for fdroidserver to become the standard method for testing Android apps with gitlab-ci, starting with this merge request to provide fdroid metadata embedded in the project.  What still needs to added is something like `fdroid builddepends debian` and `fdroid builddepends android` which reads the metadata and dumps out a list to be fed to `apt-get install` and `android update sdk --no-ui --filter` respectively, so that a *.gitlab-ci.yml* can look like:

```
apt-get -y install fdroidserver
apt-get -y install `fdroid builddepends debian`
echo y | android update sdk --no-ui --all --filter `fdroid builddepends android`
fdroid build
```

Then that would become a template *.gitlab-ci.yml* that should work on most Android apps.

This was marked Work-In-Progress because it depends on !57

See merge request !62

8 years agostandardize on .yml as the file extension for YAML
Hans-Christoph Steiner [Mon, 21 Mar 2016 20:51:23 +0000 (21:51 +0100)]
standardize on .yml as the file extension for YAML

Though the YAML people recommend .yaml for the file extension, in Android
land it seems clear that .yml has won out:

* .travis.yml
* .gitlab-ci.yml
* .circle.yml
* Ansible main.yml

8 years agoimport app into fdroid directly from git clone
Hans-Christoph Steiner [Mon, 21 Mar 2016 20:00:12 +0000 (21:00 +0100)]
import app into fdroid directly from git clone

This adds a new method for `fdroid import` that will generate the fdroidserver
metadata based on a local git repo.  This new mode generates the metadata in
the new .fdroid.yaml format in the git repo itself.  It is intended as a quick
way to get starting building apps using the fdroidserver tools.

8 years agorename metadata.write_metadata() to match metadata.parse_*_metadata()
Hans-Christoph Steiner [Mon, 10 Aug 2015 20:29:17 +0000 (22:29 +0200)]
rename metadata.write_metadata() to match metadata.parse_*_metadata()

This changes the function name to include the format of the metadata file,
and also changes the order of the args to match the parse_*_metadata()
functions.

8 years agodocument new `fdroid build` behavior with .fdroid.* metadata
Hans-Christoph Steiner [Wed, 5 Aug 2015 13:19:14 +0000 (15:19 +0200)]
document new `fdroid build` behavior with .fdroid.* metadata

8 years agobuild: set default config for .fdroid.* metadata
Hans-Christoph Steiner [Wed, 5 Aug 2015 13:18:22 +0000 (15:18 +0200)]
build: set default config for .fdroid.* metadata

The default config for .fdroid.* metadata that is included in a git repo is
different than for the standard metadata/ layout because the expectations
are different.  In this case, the most common user will be the app
developer working on the latest update of the app on their own machine.

8 years agodo not require if config.py if using local metadata
Hans-Christoph Steiner [Wed, 5 Aug 2015 12:42:41 +0000 (14:42 +0200)]
do not require if config.py if using local metadata

Since you can have a .fdroid.* metadata file included directly in an
app's git repo, it seems annoying to force developers to also include
a blank config.py in order to run `fdroid build` from their git repo.

The next step after this is some kind of global config file for
setting paths and things that need to be customized that would apply
to all git repos, for example, to enable using a buildserver.

This also required moving all of the env setting for FDroidPopen into
a single place so that it is properly setup when using the local
metadata.

8 years agorefactor env handling for FDroidPopen to support .fdroid.* metadata
Hans-Christoph Steiner [Wed, 5 Aug 2015 12:39:58 +0000 (14:39 +0200)]
refactor env handling for FDroidPopen to support .fdroid.* metadata

The start up sequence of processes that are based on the .fdroid.* metadata
is a bit different, so this ensures that the environment variables get
properly initialized in all cases.

This also creates a single function where the environment is set.  Before
it was being set in multiple places across multiple files.

8 years agosupport .fdroid.* metadata file in source root of app being built
Hans-Christoph Steiner [Wed, 5 Aug 2015 08:55:54 +0000 (10:55 +0200)]
support .fdroid.* metadata file in source root of app being built

This allows app makers to include a .fdroid.(json|xml|yaml|txt) metadata
file in the root of the git repo of their app, then they can build it using
`fdroid build`.  This is useful for developers who want to maintain the
fdroid build recipe themselves, and run the fdroid build process for their
own builds.

8 years agoMerge branch 'master' into 'master'
Hans-Christoph Steiner [Mon, 21 Mar 2016 22:01:54 +0000 (22:01 +0000)]
Merge branch 'master' into 'master'

Remove extra blank lines in makebuildserver output

These seem to have appeared during the py3 conversion.

See merge request !114

8 years agoRemove extra blank lines in makebuildserver output
Ciaran Gultnieks [Mon, 21 Mar 2016 08:45:42 +0000 (08:45 +0000)]
Remove extra blank lines in makebuildserver output

These seem to have appeared during the py3 conversion.

8 years agoMerge branch 'ci-image' into 'master'
Daniel Martí [Thu, 17 Mar 2016 14:14:45 +0000 (14:14 +0000)]
Merge branch 'ci-image' into 'master'

CI: Bump image, now has -dev and gcc

Also, use a specific tag instead of "latest" to avoid breaking old
tags/commits when updating the image.

See merge request !111

8 years agoCI: Bump image, now has -dev and gcc
Daniel Martí [Mon, 14 Mar 2016 17:33:58 +0000 (17:33 +0000)]
CI: Bump image, now has -dev and gcc

Also, use a specific tag instead of "latest" to avoid breaking old
tags/commits when updating the image.

8 years agocheckupdates: don't ignore repeated tags
Daniel Martí [Wed, 16 Mar 2016 16:40:26 +0000 (16:40 +0000)]
checkupdates: don't ignore repeated tags

If multiple tags point at the same commit, limiting the regex search to
one tag per line would only catch one tag. This broke org.wikipedia's
update check.

8 years agoMerge branch 'master' into 'master'
Daniel Martí [Wed, 16 Mar 2016 13:06:31 +0000 (13:06 +0000)]
Merge branch 'master' into 'master'

py3 fixes for the buildserver

some fixes to get the buildserver working with the new py3 changes.  I'm assigning it to @mvdan since he did most of the py3 stuff, but @CiaranG will probably be the user of these changes.

See merge request !113

8 years agoupdate buildserver debian packages for py3
Hans-Christoph Steiner [Tue, 15 Mar 2016 19:04:50 +0000 (20:04 +0100)]
update buildserver debian packages for py3

8 years agojenkins-build-makebuildserver: com.amaze.filemanager instead of org.xcsoar
Hans-Christoph Steiner [Tue, 15 Mar 2016 12:47:56 +0000 (13:47 +0100)]
jenkins-build-makebuildserver: com.amaze.filemanager instead of org.xcsoar

org.xcsoar hosts its own git repo.  Self-hosted git repos can be flaky, and
they are blocked by the Guardian Project jenkins server, so use an app from
github.com instead.

8 years agojenkins-build-makebuildserver: throw error if app build fails
Hans-Christoph Steiner [Tue, 15 Mar 2016 12:37:06 +0000 (13:37 +0100)]
jenkins-build-makebuildserver: throw error if app build fails

8 years agofix py3 bug when running `fdroid build` with a buildserver
Hans-Christoph Steiner [Tue, 15 Mar 2016 12:21:19 +0000 (13:21 +0100)]
fix py3 bug when running `fdroid build` with a buildserver

File "/var/lib/jenkins/workspace/fdroidserver-makebuildserver/fdroidserver/build.py", line 1119, in main
    options.onserver, options.refresh):
  File "/var/lib/jenkins/workspace/fdroidserver-makebuildserver/fdroidserver/build.py", line 954, in trybuild
    build_server(app, build, vcs, build_dir, output_dir, force)
  File "/var/lib/jenkins/workspace/fdroidserver-makebuildserver/fdroidserver/build.py", line 403, in build_server
    output += get
TypeError: Can't convert 'bytes' object to str implicitly

closes #164 https://gitlab.com/fdroid/fdroidserver/issues/164

8 years agofix stab at a Cygwin port (aaaahh Windows!)
Hans-Christoph Steiner [Tue, 15 Mar 2016 10:30:27 +0000 (11:30 +0100)]
fix stab at a Cygwin port (aaaahh Windows!)

This gets `fdroid init` and `fdroid readmeta` working on Cygwin.

8 years agoMerge branch 'master' into 'master'
Daniel Martí [Mon, 14 Mar 2016 23:37:51 +0000 (23:37 +0000)]
Merge branch 'master' into 'master'

makebuildserver: buildserverid should always be a string

missed one subprocess issue in !110

See merge request !112

8 years agoFix python3 checkupdates crashes
Ciaran Gultnieks [Mon, 14 Mar 2016 22:13:58 +0000 (22:13 +0000)]
Fix python3 checkupdates crashes

8 years agoFix another python3 build crash
Ciaran Gultnieks [Mon, 14 Mar 2016 22:23:19 +0000 (22:23 +0000)]
Fix another python3 build crash

8 years agomakebuildserver: buildserverid should always be a string
Hans-Christoph Steiner [Mon, 14 Mar 2016 16:33:06 +0000 (17:33 +0100)]
makebuildserver: buildserverid should always be a string

8 years agoMerge branch 'master' into 'master'
Daniel Martí [Mon, 14 Mar 2016 12:54:10 +0000 (12:54 +0000)]
Merge branch 'master' into 'master'

post-py3 fixes

This is a collection of fixes related to running on py3 on various platforms.

See merge request !110

8 years agonot all UNIX `echo` commands support -n
Hans-Christoph Steiner [Mon, 14 Mar 2016 10:33:07 +0000 (11:33 +0100)]
not all UNIX `echo` commands support -n

FreeBSD and OSX's does not, for example, and the shell should just treat
the '\n' as white space in the command line.

8 years agoalways parse versions as strings, not bytes
Hans-Christoph Steiner [Mon, 14 Mar 2016 10:05:06 +0000 (11:05 +0100)]
always parse versions as strings, not bytes

Fixes a couple errors like:
  File "./makebuildserver", line 30, in vagrant
    out += line
  TypeError: Can't convert 'bytes' object to str implicitly

If universal_newlines=False, the default, then Popen will return bytes if
the newlines in the data do not match the system's newlines.  Setting it to
true enables auto-conversion, and then guarantees that the data is always
str.

"If universal_newlines is True, the file objects stdin, stdout and stderr
are opened as text streams in universal newlines mode, as described above
in Frequently Used Arguments, otherwise they are opened as binary streams."
https://docs.python.org/3/library/subprocess.html#subprocess.Popen

8 years agotravis-ci: move python deps to 3
Hans-Christoph Steiner [Mon, 14 Mar 2016 10:02:01 +0000 (11:02 +0100)]
travis-ci: move python deps to 3

8 years agojenkins-build-makebuildserver: make sure fdroiddata is on master
Hans-Christoph Steiner [Mon, 14 Mar 2016 08:35:23 +0000 (09:35 +0100)]
jenkins-build-makebuildserver: make sure fdroiddata is on master

on the GP jenkins, I got this:

+ git pull
From https://gitlab.com/fdroid/fdroiddata
   1df2d03..621ef4f  master     -> origin/master
You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.

    git pull <remote> <branch>

8 years agotravis-ci osx: make sure build-tools are always installed
Hans-Christoph Steiner [Fri, 11 Mar 2016 19:59:04 +0000 (20:59 +0100)]
travis-ci osx: make sure build-tools are always installed

It seems that sometimes build-tools packages will not be installed unless
the --all flag is specified.

8 years agoFix python2/makebuildserver breakage
Ciaran Gultnieks [Sun, 13 Mar 2016 20:49:38 +0000 (20:49 +0000)]
Fix python2/makebuildserver breakage

8 years agoMerge branch 'master' into 'master'
Daniel Martí [Fri, 11 Mar 2016 23:53:25 +0000 (23:53 +0000)]
Merge branch 'master' into 'master'

makebuildserver: support running VirtualBox in a VM

For debian.jenkins.net, our test environment is a kvm instance that does not expose the hardware virtualization instructions.  So this auto-detects whether the current machine, virtual or not, supports the hardware virtualization.  If not, it uses VirtualBox's software emulator, which should run everywhere, even in a kvm instance.

See merge request !108

8 years agoMerge branch 'py3' into 'master'
Daniel Martí [Fri, 11 Mar 2016 23:51:56 +0000 (23:51 +0000)]
Merge branch 'py3' into 'master'

Python 3

I tried to keep commits separate, so if anything causes trouble, it can be reverted or changed easily.

* pre-commit hooks pass
* all tests pass
* My use of `build`, `checkupdates`, `lint`, `import`, `publish` and `update` work as usual
* 2to3 does not report anything useful anymore (only useless parentheses and list() encapsulation of iterators)
* rewritemeta works exactly as usual

CC @eighthave

See merge request !88

8 years agoMerge branch 'checkupdates-speedup' into 'master'
Daniel Martí [Fri, 11 Mar 2016 20:50:59 +0000 (20:50 +0000)]
Merge branch 'checkupdates-speedup' into 'master'

checkupdates: sort tags by date in one go

This greatly speeds up checkupdates when UCM:Tags is used on git
repositories, especially on ones with lots of tags. The old method ran a
command per tag. The new method runs a single command and doesn't
require any sorting.

Test runs show that `fdroid checkupdates org.adaway` is down from ~13s
to ~10s on my laptop.

See merge request !109

8 years agoREADME: It's virtualenv that we want
Daniel Martí [Thu, 10 Mar 2016 11:17:04 +0000 (11:17 +0000)]
README: It's virtualenv that we want

virtualenv is the Debian package that holds the executables.

8 years agoCI: Use pip install to grab all deps
Daniel Martí [Tue, 1 Mar 2016 17:13:34 +0000 (17:13 +0000)]
CI: Use pip install to grab all deps

8 years agometadata: always open metadata files in UTF-8
Daniel Martí [Thu, 25 Feb 2016 00:12:23 +0000 (00:12 +0000)]
metadata: always open metadata files in UTF-8

For some reason, Python uses whatever encoding the system is using via a
locale. Since CI uses an ascii locale, stuff breaks. I can't find a way
to make all of fdroidserver ignore the locale and just use UTF-8, so for
now force it where it's bothering CI.

8 years agoFix issue related to creating fdroidvcs file
Daniel Martí [Fri, 15 Jan 2016 12:16:01 +0000 (13:16 +0100)]
Fix issue related to creating fdroidvcs file

8 years agogitignore: ignore all test-generated tmp dirs
Daniel Martí [Fri, 15 Jan 2016 11:39:37 +0000 (12:39 +0100)]
gitignore: ignore all test-generated tmp dirs

8 years agoFix detection of pyflakes3 found in Debian
Daniel Martí [Thu, 14 Jan 2016 23:19:11 +0000 (00:19 +0100)]
Fix detection of pyflakes3 found in Debian

8 years agometadata: slightly speed up post_metadata_parse
Daniel Martí [Mon, 11 Jan 2016 12:25:03 +0000 (13:25 +0100)]
metadata: slightly speed up post_metadata_parse

Iterating over all the fields and checking which are modified is slower
than just iterating over the modified ones.

8 years agometadata: Sorting builds twice is not necessary
Daniel Martí [Mon, 11 Jan 2016 12:22:13 +0000 (13:22 +0100)]
metadata: Sorting builds twice is not necessary

8 years agoUndo utf-8 text wrap workaround
Daniel Martí [Sun, 10 Jan 2016 17:35:06 +0000 (18:35 +0100)]
Undo utf-8 text wrap workaround

This was added to fix unicode support in Python2. No longer needed in
Python3.

8 years agoSwitch README and docs to indicate python 3
Daniel Martí [Mon, 4 Jan 2016 20:47:37 +0000 (21:47 +0100)]
Switch README and docs to indicate python 3

8 years agopep8: start obeying E226
Daniel Martí [Mon, 4 Jan 2016 20:42:34 +0000 (21:42 +0100)]
pep8: start obeying E226

We nearly did already anyway.

8 years agopep8: Don't ignore rules we already obey
Daniel Martí [Mon, 4 Jan 2016 20:38:22 +0000 (21:38 +0100)]
pep8: Don't ignore rules we already obey

8 years agoimport: switch to python3 urllib
Daniel Martí [Mon, 4 Jan 2016 20:35:17 +0000 (21:35 +0100)]
import: switch to python3 urllib

8 years agoupdate test: replace decode('hex') with unhexlify
Daniel Martí [Mon, 4 Jan 2016 20:31:22 +0000 (21:31 +0100)]
update test: replace decode('hex') with unhexlify

8 years agometadata test: load pickle in bytes, not str
Daniel Martí [Mon, 4 Jan 2016 20:22:06 +0000 (21:22 +0100)]
metadata test: load pickle in bytes, not str

8 years agoFix python headers in some source files
Daniel Martí [Mon, 4 Jan 2016 20:19:47 +0000 (21:19 +0100)]
Fix python headers in some source files

These were missing the python2 header, so they went under my radar when
doing the switch go python3.

8 years agotests: switch to python3
Daniel Martí [Mon, 4 Jan 2016 20:17:58 +0000 (21:17 +0100)]
tests: switch to python3

8 years agoupdate: fix encoding issues with the xml index
Daniel Martí [Mon, 4 Jan 2016 20:10:18 +0000 (21:10 +0100)]
update: fix encoding issues with the xml index

8 years agoupdate: get output bytes, not str, from keytool
Daniel Martí [Mon, 4 Jan 2016 18:02:21 +0000 (19:02 +0100)]
update: get output bytes, not str, from keytool

8 years agocommon: Introduce FDroidPopenBytes
Daniel Martí [Mon, 4 Jan 2016 17:59:19 +0000 (18:59 +0100)]
common: Introduce FDroidPopenBytes

* We can now get the output bytes directly if desired
* FDroidPopen remains with str output
* Ouptut is now buffered efficiently with a BytesIO instead of
  concatenating strings

8 years agoReplace iterkeys() with keys()
Daniel Martí [Mon, 4 Jan 2016 17:51:58 +0000 (18:51 +0100)]
Replace iterkeys() with keys()

8 years agoupdate: replace encode('hex') with hexlify
Daniel Martí [Mon, 4 Jan 2016 17:51:39 +0000 (18:51 +0100)]
update: replace encode('hex') with hexlify

8 years agopublish: fix hashing of strings
Daniel Martí [Mon, 4 Jan 2016 17:46:51 +0000 (18:46 +0100)]
publish: fix hashing of strings

8 years agoinit: fix writing into file
Daniel Martí [Mon, 4 Jan 2016 17:44:46 +0000 (18:44 +0100)]
init: fix writing into file

8 years agoReplace md5 with hashlib.md5
Daniel Martí [Mon, 4 Jan 2016 17:36:47 +0000 (18:36 +0100)]
Replace md5 with hashlib.md5

8 years agocommon: fix str fetching from manifest xml
Daniel Martí [Mon, 4 Jan 2016 17:24:58 +0000 (18:24 +0100)]
common: fix str fetching from manifest xml

8 years agoPort urllib and HTMLParser imports to python3
Daniel Martí [Mon, 4 Jan 2016 17:02:36 +0000 (18:02 +0100)]
Port urllib and HTMLParser imports to python3

8 years agoReplace remaining file() usage
Daniel Martí [Mon, 4 Jan 2016 16:59:47 +0000 (17:59 +0100)]
Replace remaining file() usage

8 years agoFDroidPopen: return str again
Daniel Martí [Mon, 4 Jan 2016 16:55:37 +0000 (17:55 +0100)]
FDroidPopen: return str again

In the future we might want to instead return bytes, but for now the
easiest for the port to python3 is to continue to return str.

8 years agoReplace itervalues() with values()
Daniel Martí [Mon, 4 Jan 2016 16:43:22 +0000 (17:43 +0100)]
Replace itervalues() with values()

8 years agoPort to python3's configparser
Daniel Martí [Mon, 4 Jan 2016 16:43:13 +0000 (17:43 +0100)]
Port to python3's configparser

8 years agolint: remove sets usage
Daniel Martí [Mon, 4 Jan 2016 16:40:21 +0000 (17:40 +0100)]
lint: remove sets usage

8 years agocommon: update base64 encoding of bytes
Daniel Martí [Mon, 4 Jan 2016 16:32:58 +0000 (17:32 +0100)]
common: update base64 encoding of bytes

8 years agoPort all imports to python3
Daniel Martí [Mon, 4 Jan 2016 16:37:35 +0000 (17:37 +0100)]
Port all imports to python3

8 years agoupdate: replace ord() with bytearray
Daniel Martí [Mon, 4 Jan 2016 16:29:40 +0000 (17:29 +0100)]
update: replace ord() with bytearray

8 years agoMake pre-commit hook pass after python3 switch
Daniel Martí [Mon, 4 Jan 2016 16:28:55 +0000 (17:28 +0100)]
Make pre-commit hook pass after python3 switch

8 years agoRun 2to3 on makebuildserver
Daniel Martí [Mon, 4 Jan 2016 16:24:57 +0000 (17:24 +0100)]
Run 2to3 on makebuildserver

Mostly just print conversion.

8 years agopre-commit: port to python3
Daniel Martí [Mon, 4 Jan 2016 16:24:40 +0000 (17:24 +0100)]
pre-commit: port to python3

8 years agoRemove import workarounds for Python2
Daniel Martí [Mon, 4 Jan 2016 16:19:28 +0000 (17:19 +0100)]
Remove import workarounds for Python2

8 years agoRemove code that worked around python2 unicode
Daniel Martí [Mon, 4 Jan 2016 16:17:14 +0000 (17:17 +0100)]
Remove code that worked around python2 unicode

8 years agoGet readmeta and rewritemeta running under python3
Daniel Martí [Mon, 4 Jan 2016 16:11:39 +0000 (17:11 +0100)]
Get readmeta and rewritemeta running under python3

8 years agoReplace basestring with str
Daniel Martí [Mon, 4 Jan 2016 16:03:42 +0000 (17:03 +0100)]
Replace basestring with str

8 years agoReplace iteritems() with items()
Daniel Martí [Mon, 4 Jan 2016 16:02:28 +0000 (17:02 +0100)]
Replace iteritems() with items()

8 years agoReplace execfile with open+compile+exec
Daniel Martí [Mon, 4 Jan 2016 16:01:37 +0000 (17:01 +0100)]
Replace execfile with open+compile+exec

8 years agoSwitch to io.StringIO
Daniel Martí [Mon, 4 Jan 2016 16:00:21 +0000 (17:00 +0100)]
Switch to io.StringIO

8 years agoFix imports in Python 3
Daniel Martí [Mon, 4 Jan 2016 15:57:57 +0000 (16:57 +0100)]
Fix imports in Python 3

Since common and metadata import each other, we must import via
"fdroidserver.*".

8 years agoSwitch all headers to python3
Daniel Martí [Mon, 4 Jan 2016 15:33:20 +0000 (16:33 +0100)]
Switch all headers to python3

8 years agomakebuildserver: use VB software virt if hardware is not available
Hans-Christoph Steiner [Thu, 10 Mar 2016 08:51:20 +0000 (09:51 +0100)]
makebuildserver: use VB software virt if hardware is not available

This checks the local CPU settings to see if it has the right virtualizing
CPU instructions, and only uses VirtualBox hardware virtualization on
setups where it is available.  VMs instances usually do not provide these
instructions.  Where the CPU features are not available, it will use VB's
software virtualization.

8 years agocorrected word order in release alias
Hans-Christoph Steiner [Thu, 18 Feb 2016 10:52:39 +0000 (11:52 +0100)]
corrected word order in release alias

8 years agoMerge branch 'jenkins-makebs' into 'master'
Hans-Christoph Steiner [Thu, 10 Mar 2016 11:27:15 +0000 (11:27 +0000)]
Merge branch 'jenkins-makebs' into 'master'

Jenkins makebs improvements

See merge request !105

8 years agojenkins: build a variety of apps
Daniel Martí [Thu, 25 Feb 2016 15:03:06 +0000 (15:03 +0000)]
jenkins: build a variety of apps

8 years agojenkins: only build one version per app
Daniel Martí [Thu, 25 Feb 2016 14:48:51 +0000 (14:48 +0000)]
jenkins: only build one version per app

Use a specific vercode instead of --latest since we want this to be as
stable as possible.

8 years agojenkins: update fdroiddata if existing
Daniel Martí [Thu, 25 Feb 2016 14:47:31 +0000 (14:47 +0000)]
jenkins: update fdroiddata if existing

Also, when cloning, no need to specify the branch and only download that
one. We already have only a single branch. And forcing master isn't
necessary.

8 years agocheckupdates: sort tags by date in one go
Daniel Martí [Wed, 2 Mar 2016 11:30:40 +0000 (11:30 +0000)]
checkupdates: sort tags by date in one go

This greatly speeds up checkupdates when UCM:Tags is used on git
repositories, especially on ones with lots of tags. The old method ran a
command per tag. The new method runs a single command and doesn't
require any sorting.

Test runs show that `fdroid checkupdates org.adaway` is down from ~13s
to ~10s on my laptop.

8 years agobuild: don't remove wrapper dir gradle/
Daniel Martí [Tue, 8 Mar 2016 23:50:14 +0000 (23:50 +0000)]
build: don't remove wrapper dir gradle/

The point of removing these was to make sure that gradlew wasn't used,
and that our gradle was used instead. Removing the scripts already
accomplishes this.

Removing gradle/ should be harmless, but some apps like I2P re-use this
directory to also hold other stuff that is actually needed. So be safer
and don't remove it at all.

8 years agolint: Also warn about gitlab links missing /issues
Daniel Martí [Mon, 7 Mar 2016 22:29:45 +0000 (22:29 +0000)]
lint: Also warn about gitlab links missing /issues

8 years agoREADME: Use new CI badge url
Daniel Martí [Mon, 7 Mar 2016 20:53:15 +0000 (20:53 +0000)]
README: Use new CI badge url

8 years agoMerge branch 'import' into 'master'
Daniel Martí [Sun, 6 Mar 2016 11:32:05 +0000 (11:32 +0000)]
Merge branch 'import' into 'master'

import: Fix usage of .git suffix for gitlab urls

See merge request !107

8 years agoimport: use .git suffix only for repo-url
Boris Kraut [Sun, 6 Mar 2016 10:14:14 +0000 (11:14 +0100)]
import: use .git suffix only for repo-url

8 years agoREADME: Fix CI badge
Daniel Martí [Sat, 5 Mar 2016 23:54:33 +0000 (23:54 +0000)]
README: Fix CI badge

The old /ci link no longer works. Use the builds page instead.

8 years agoCI: Install missing gcc and python-dev packages
Daniel Martí [Thu, 3 Mar 2016 15:21:14 +0000 (15:21 +0000)]
CI: Install missing gcc and python-dev packages

8 years agolint: error on `fdroid import` disable line
Daniel Martí [Thu, 3 Mar 2016 14:19:32 +0000 (14:19 +0000)]
lint: error on `fdroid import` disable line

8 years agoCI: No longer needed to install any deps
Daniel Martí [Mon, 29 Feb 2016 23:38:54 +0000 (23:38 +0000)]
CI: No longer needed to install any deps

All the deps come installed in the image now. This saves up a little
time (especially the apt-get update) and makes the CI script much
simpler.

8 years agoCI: Use our own image
Daniel Martí [Mon, 29 Feb 2016 19:56:02 +0000 (19:56 +0000)]
CI: Use our own image

8 years agoMerge branch 'p1' into 'master'
Daniel Martí [Sun, 28 Feb 2016 13:37:17 +0000 (13:37 +0000)]
Merge branch 'p1' into 'master'

Fix pubkey extraction on update

Replacement of !86.

Fix pubkey extraction in case of non-empty _JAVA_OPTIONS. Fixes #133.

I didn't actually run the test suite (it looks like there are some preparations to be done for that), but I checked the commands from `test_fdroid_popen_stderr_redirect` in ipython.

See merge request !103

8 years agoMerge branch 'faster-ci' into 'master'
Daniel Martí [Sun, 28 Feb 2016 13:35:57 +0000 (13:35 +0000)]
Merge branch 'faster-ci' into 'master'

CI: Install Android SDK only if necessary

See merge request !106