chiark / gitweb /
fdroidserver.git
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 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 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

8 years agoCI: Install Android SDK only if necessary
Daniel Martí [Sat, 27 Feb 2016 19:56:32 +0000 (19:56 +0000)]
CI: Install Android SDK only if necessary

8 years agocommon: make jdk detection more strict
Daniel Martí [Tue, 23 Feb 2016 12:42:47 +0000 (12:42 +0000)]
common: make jdk detection more strict

We weren't using ^ and $, so stuff like java-8-openjdk-i386 would match
both the Arch and the Debian regexes. A list with one regex per line in
the same format is also easier to read and maintain.

This might be why java8 isn't being detected properly on our Debian
stable buildserver.

8 years agoconfig.buildserver.py: use new java_paths keys
Daniel Martí [Tue, 23 Feb 2016 12:26:00 +0000 (12:26 +0000)]
config.buildserver.py: use new java_paths keys

8 years agobuild: don't error on .fdroid* files in fdroiddata
Daniel Martí [Tue, 23 Feb 2016 12:03:26 +0000 (12:03 +0000)]
build: don't error on .fdroid* files in fdroiddata

This avoids the following incorrect error:

fdroidserver.common.FDroidException: Only one local metadata file allowed! Found: .fdroid.keystorepass.txt .fdroid.keypass.txt

8 years agoMerge branch 'scanner-repos' into 'master'
Daniel Martí [Sat, 20 Feb 2016 07:29:12 +0000 (07:29 +0000)]
Merge branch 'scanner-repos' into 'master'

Allow commonsware and gradle plugin repos

This is in a MR because I'm uneasy about adding a semi-random AWS url to the list. But seems like the commonsware guy only publishes jars there, which doesn't make any sense to me.

Any idea @eighthave?

See merge request !102

8 years agodocs: add missing maven repos
Daniel Martí [Sat, 20 Feb 2016 06:21:17 +0000 (07:21 +0100)]
docs: add missing maven repos

8 years agoMerge branch 'p2' into 'master'
Daniel Martí [Thu, 18 Feb 2016 13:35:33 +0000 (13:35 +0000)]
Merge branch 'p2' into 'master'

Fix update crash in case of unset dates in APK; add an option to use APK's entry date

I encountered an error when I tried to add [TrackID APK](https://play.google.com/store/apps/details?id=com.sonyericsson.trackid) (files in the APK don't have dates set): as far as I can remember `datetime(*manifest.date_time)` was raising `ValueError`.

Also add an option to use date from APK as this APK's entry date (may be useful in case of a simple binary repo): `fdroid update --use-date-from-apk`.

I should have split this commit, but I hope this would be OK too.

See merge request !104

8 years agoAdd '--use-date-from-apk' option to bash-completion
Dmitriy Bogdanov [Thu, 18 Feb 2016 12:11:18 +0000 (16:11 +0400)]
Add '--use-date-from-apk' option to bash-completion

8 years agoAdd an option to use dates from APK
Dmitriy Bogdanov [Thu, 18 Feb 2016 12:41:43 +0000 (16:41 +0400)]
Add an option to use dates from APK

8 years agoFix update crash in case of unset dates in APK
Dmitriy Bogdanov [Thu, 18 Feb 2016 12:40:51 +0000 (16:40 +0400)]
Fix update crash in case of unset dates in APK

8 years agosetup.py: fix missing comma in classifiers 0.6.0
Hans-Christoph Steiner [Thu, 18 Feb 2016 10:47:02 +0000 (11:47 +0100)]
setup.py: fix missing comma in classifiers

8 years ago`python setup.py release` alias for making official releases
Hans-Christoph Steiner [Thu, 18 Feb 2016 10:40:47 +0000 (11:40 +0100)]
`python setup.py release` alias for making official releases

8 years agoBump to 0.6.0
Daniel Martí [Thu, 18 Feb 2016 09:15:47 +0000 (09:15 +0000)]
Bump to 0.6.0

8 years agoAdd FDroidPopen usage test
Dmitriy Bogdanov [Wed, 17 Feb 2016 20:45:06 +0000 (00:45 +0400)]
Add FDroidPopen usage test

8 years agoFix pubkey extraction on update
Dmitriy Bogdanov [Wed, 17 Feb 2016 18:22:57 +0000 (22:22 +0400)]
Fix pubkey extraction on update

Fix pubkey extraction in case of non-empty _JAVA_OPTIONS

8 years agoChange can't update category name - closes #80
Ciaran Gultnieks [Wed, 17 Feb 2016 14:37:46 +0000 (14:37 +0000)]
Change can't update category name - closes #80

8 years agoAllow commonsware and gradle plugin repos
Daniel Martí [Wed, 17 Feb 2016 13:00:05 +0000 (13:00 +0000)]
Allow commonsware and gradle plugin repos

8 years agoMerge branch 'debian-import-freeze' into 'master'
Daniel Martí [Wed, 17 Feb 2016 11:40:12 +0000 (11:40 +0000)]
Merge branch 'debian-import-freeze' into 'master'

Debian import freeze

These are the issues as discussed in today's meeting.  More in the commit messages, and mostly, in the related issues.

See merge request !101

8 years agomake "Current Version Code" default to most recent APK
Hans-Christoph Steiner [Tue, 16 Feb 2016 23:11:22 +0000 (00:11 +0100)]
make "Current Version Code" default to most recent APK

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

8 years agoadded 'mirrors' option to config for giving official mirror URLs
Hans-Christoph Steiner [Tue, 16 Feb 2016 22:43:23 +0000 (23:43 +0100)]
added 'mirrors' option to config for giving official mirror URLs

serverwebroot has long supported uploading to multiple servers, this bit of
metadata communicates those official mirrors to the client so that it can
automatically do something useful with that information.

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

8 years agouse utf-8 as default encoding for config.py
Hans-Christoph Steiner [Tue, 16 Feb 2016 22:36:27 +0000 (23:36 +0100)]
use utf-8 as default encoding for config.py

This makes it easy to add all languages to the description.

8 years agoMerge branch 'full-bsd-osx-port' into 'master'
Hans-Christoph Steiner [Mon, 15 Feb 2016 22:09:55 +0000 (22:09 +0000)]
Merge branch 'full-bsd-osx-port' into 'master'

Full BSD/OSX port

This finishes up the OSX port by getting the full test suite running on OSX.  It also sets up an OSX CI job travis-ci.org, run as part of the github mirror here: https://github.com/f-droid/fdroidserver  You can see those CI builds here: https://travis-ci.org/f-droid/fdroidserver

This should translate entirely to *BSD since OSX's user land is merged with FreeBSD.

See merge request !100

8 years agotravis-ci: make pip install deps based on setup.py
Hans-Christoph Steiner [Mon, 15 Feb 2016 22:06:23 +0000 (23:06 +0100)]
travis-ci: make pip install deps based on setup.py

8 years agoPEP8 fix E225 missing whitespace around operator
Hans-Christoph Steiner [Mon, 15 Feb 2016 19:22:17 +0000 (20:22 +0100)]
PEP8 fix E225 missing whitespace around operator

8 years agotravis-ci: run test suite on OSX and GNU/Linux
Hans-Christoph Steiner [Mon, 15 Feb 2016 13:00:52 +0000 (14:00 +0100)]
travis-ci: run test suite on OSX and GNU/Linux

8 years agoinit: check if examples/ exists in layout before using the path
Hans-Christoph Steiner [Mon, 15 Feb 2016 18:58:05 +0000 (19:58 +0100)]
init: check if examples/ exists in layout before using the path

There is definitely some odd stuff that happens in all these paths, so
let's just check that examples/ exists, and move on from there.

8 years agopre-commit: make pyflakes optional to support older platforms
Hans-Christoph Steiner [Mon, 15 Feb 2016 15:25:43 +0000 (16:25 +0100)]
pre-commit: make pyflakes optional to support older platforms

Travis-CI defaults to Ubuntu/precise, which has a very old version of
pyflakes that throws false positives.

8 years agosupport BSD and GNU sed in tests
Hans-Christoph Steiner [Mon, 15 Feb 2016 15:17:24 +0000 (16:17 +0100)]
support BSD and GNU sed in tests

8 years agorun-tests: use OSX/BSD compatible `mktemp -d`
Hans-Christoph Steiner [Mon, 15 Feb 2016 14:29:11 +0000 (15:29 +0100)]
run-tests: use OSX/BSD compatible `mktemp -d`

-d requires an arg on BSD

8 years agoonly test ./gendocs on GNU/Linux
Hans-Christoph Steiner [Mon, 15 Feb 2016 13:33:27 +0000 (14:33 +0100)]
only test ./gendocs on GNU/Linux

This helps with getting the tests running on OSX and other platforms.

8 years agocomplete-ci-tests: exit with error if setup is not correct
Hans-Christoph Steiner [Mon, 15 Feb 2016 10:40:35 +0000 (11:40 +0100)]
complete-ci-tests: exit with error if setup is not correct

8 years agoForgot to remove the output= debug prints
Daniel Martí [Mon, 15 Feb 2016 13:49:12 +0000 (13:49 +0000)]
Forgot to remove the output= debug prints

8 years agopre-commit: fix multiple file issue
Daniel Martí [Mon, 15 Feb 2016 12:01:43 +0000 (12:01 +0000)]
pre-commit: fix multiple file issue

When using -z, you should always quote. If not, stuff like this happens:

.git/hooks/pre-commit: line 10: [: too many arguments

8 years agooutput= is now a glob path and can do gradle
Daniel Martí [Mon, 15 Feb 2016 12:01:38 +0000 (12:01 +0000)]
output= is now a glob path and can do gradle

8 years agoAdd gradle 2.11
Daniel Martí [Mon, 15 Feb 2016 11:44:07 +0000 (11:44 +0000)]
Add gradle 2.11

8 years agogradle wrapper script: add plugin 1.5
Daniel Martí [Mon, 15 Feb 2016 11:37:56 +0000 (11:37 +0000)]
gradle wrapper script: add plugin 1.5

8 years agoMerge branch 'master' into 'master'
Daniel Martí [Fri, 12 Feb 2016 09:13:53 +0000 (09:13 +0000)]
Merge branch 'master' into 'master'

a couple fixes

these are three fixes, one related to my previous merge request, as discussed with @mvdan in IRC

See merge request !99

8 years agofix PEP9 E713 test for membership should be 'not in'
Hans-Christoph Steiner [Thu, 11 Feb 2016 23:39:54 +0000 (00:39 +0100)]
fix PEP9 E713 test for membership should be 'not in'

8 years agofix errors in pre-commit hook when run in test suite
Hans-Christoph Steiner [Thu, 11 Feb 2016 23:27:17 +0000 (00:27 +0100)]
fix errors in pre-commit hook when run in test suite

8 years agobuild: check that metadata is present before creating tmp dirs
Hans-Christoph Steiner [Tue, 4 Aug 2015 14:09:44 +0000 (16:09 +0200)]
build: check that metadata is present before creating tmp dirs

Before, `fdroid build` would create some subdirs, then fail when it could
not read the metadata via metadata.read_metadata().  This checks before
whether there is any metadata available, and warns the user accordingly.

8 years agocommon: do not crash if the java_paths are not what is expected
Hans-Christoph Steiner [Thu, 11 Feb 2016 22:49:54 +0000 (23:49 +0100)]
common: do not crash if the java_paths are not what is expected

Many commands work without the JDK installed, and it is also possible that
someone is using only JDK 8 or 9.

8 years agocommon: add regexp for arch oracle paths
Daniel Martí [Thu, 11 Feb 2016 21:48:51 +0000 (21:48 +0000)]
common: add regexp for arch oracle paths

8 years agocommon: fix JDK detection on latest arch
Daniel Martí [Thu, 11 Feb 2016 21:34:44 +0000 (21:34 +0000)]
common: fix JDK detection on latest arch

8 years agoMerge branch 'auto-detect-java-homes' into 'master'
Hans-Christoph Steiner [Thu, 11 Feb 2016 20:47:29 +0000 (20:47 +0000)]
Merge branch 'auto-detect-java-homes' into 'master'

Auto detect java homes

There are a wide variety of possible JDKs (OpenJDK, Oracle, OSX, etc.) as well as standard paths for the JDK.  This includes code to look in standard paths for various platforms and enumerate the installed JDKs (e.g. 6, 7, 8, 9).  That is then used for `JAVA[6-9]_HOME` env vars and the path for `jarsigner` and `keytool`.

See merge request !98

8 years agouse jarsigner and keytool from same JDK as is being set in JAVA7_HOME
Hans-Christoph Steiner [Thu, 11 Feb 2016 19:43:55 +0000 (20:43 +0100)]
use jarsigner and keytool from same JDK as is being set in JAVA7_HOME

Using the same JDK throughout should prevent weird bugs where a setup might
use Java8's jarsigner and Java7's keytool.  This also allows the user to
set java_paths and have jarsigner and keytool used from that specified JDK.

This incorporates almost all of the patch that is in the Debian package
that forces fdroidserver to use the default JDK on that Debian release.

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

8 years agoautomatically detect various installed JDKs and set JAVA[6-9]_HOME
Hans-Christoph Steiner [Fri, 5 Feb 2016 23:29:07 +0000 (00:29 +0100)]
automatically detect various installed JDKs and set JAVA[6-9]_HOME

This checks for which JDKs are installed in common locations, then sets the
JAVA[6-9]_HOME env vars needed by some build environments.

8 years agomakebuildserver: add workaround to Ubuntu/trusty's old paramiko
Hans-Christoph Steiner [Thu, 4 Feb 2016 07:42:53 +0000 (08:42 +0100)]
makebuildserver: add workaround to Ubuntu/trusty's old paramiko

Ubuntu trusty 14.04's paramiko does not work with jessie's openssh's
default settings, so they need to be tweaked in order to provide working
ssh to the instance.

https://stackoverflow.com/questions/7286929/paramiko-incompatible-ssh-peer-no-acceptable-kex-algorithm/32691055#32691055

8 years agoMerge branch 'jmastr/use_tag_if_version_name_is_unknown' into 'master'
Daniel Martí [Thu, 11 Feb 2016 19:06:22 +0000 (19:06 +0000)]
Merge branch 'jmastr/use_tag_if_version_name_is_unknown' into 'master'

use tag if version name is unknown

If we don't find the version name neither in the AndroidManifest.xml nor
in the build.grade file, we fallback to the tag the user specified to
search for.

That way we have a better version name than 'Unknown'.

See merge request !97

8 years agouse tag if version name is unknown
Julian Strobl [Thu, 11 Feb 2016 18:50:16 +0000 (19:50 +0100)]
use tag if version name is unknown

If we don't find the version name neither in the AndroidManifest.xml nor
in the build.grade file, we fallback to the tag the user specified to
search for.

That way we have a better version name than 'Unknown'.

8 years agoMerge branch 'prevo' into 'master'
Daniel Martí [Wed, 10 Feb 2016 15:57:19 +0000 (15:57 +0000)]
Merge branch 'prevo' into 'master'

Add libexpat1-dev and libglib2.0-dev to the default recipe

These are needed to build the PrevoDB srcdep of
uk.co.busydoingnothing.prevo.

See merge request !96

8 years agoAdd libexpat1-dev and libglib2.0-dev to the default recipe
Neil Roberts [Wed, 10 Feb 2016 14:50:50 +0000 (14:50 +0000)]
Add libexpat1-dev and libglib2.0-dev to the default recipe

These are needed to build the PrevoDB srcdep of
uk.co.busydoingnothing.prevo.

8 years agoMerge branch 'jenkins-makebuildserver-works' into 'master'
Daniel Martí [Mon, 8 Feb 2016 16:07:27 +0000 (16:07 +0000)]
Merge branch 'jenkins-makebuildserver-works' into 'master'

Jenkins ./makebuildserver works!

These commits get `./makebuildserver` running in a Jenkins job. It builds the whole setup from scratch every time, including the vagrant and virtualbox setups.

Also, this modifies the git pre-commit hook to only run on the files being committed when called by git.

See merge request !95

8 years agotest ./makebuildserver by running a build in jenkins
Hans-Christoph Steiner [Wed, 3 Feb 2016 21:02:50 +0000 (22:02 +0100)]
test ./makebuildserver by running a build in jenkins

8 years agoscript to run ./makebuildserver on Jenkins instances
Hans-Christoph Steiner [Wed, 3 Feb 2016 21:00:48 +0000 (22:00 +0100)]
script to run ./makebuildserver on Jenkins instances

This is being used to run it on both Guardian Project's and Debian's
Jenkins instances.

8 years agomakebuildserver: default memory to 1024MB, so it runs on normal machines
Hans-Christoph Steiner [Thu, 28 Jan 2016 12:00:18 +0000 (13:00 +0100)]
makebuildserver: default memory to 1024MB, so it runs on normal machines

4 gigs is still a common amount of RAM these days for laptops, if the VM
takes almost all of that, it makes the machine drag to almost a halt. Most
apps build fine in 1gig of RAM, indeed that's the default for most CI
instances, like travis-ci and gitlab-ci.

8 years agoallow setting up an apt package cache for the build server setup
Hans-Christoph Steiner [Tue, 26 Jan 2016 10:21:21 +0000 (11:21 +0100)]
allow setting up an apt package cache for the build server setup

This creates a cache folder which will store the apt cache from the VM.

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