chiark / gitweb /
tobiasKaminsky [Wed, 29 Nov 2017 07:32:55 +0000 (08:32 +0100)]
gradle file: use flavour specific versionCode/versionName, fall back to parsing line by line
Hans-Christoph Steiner [Tue, 28 Nov 2017 11:03:39 +0000 (12:03 +0100)]
jenkins-test: make new keystore on each test so the password is known
Hans-Christoph Steiner [Mon, 27 Nov 2017 14:54:48 +0000 (15:54 +0100)]
Bump to 0.9.1 for release process fixes
Hans-Christoph Steiner [Mon, 27 Nov 2017 15:35:58 +0000 (16:35 +0100)]
rename test files to work round filename length limits
It seems a lot of things like tar, Windows, some filesystems, etc. do not
handle long filenames. #416
Hans-Christoph Steiner [Mon, 27 Nov 2017 14:23:02 +0000 (15:23 +0100)]
check git is on correct tag before making a release
Hans-Christoph Steiner [Mon, 27 Nov 2017 15:58:24 +0000 (15:58 +0000)]
Merge branch 'tests-fedora' into 'master'
tests: fix pycodestyle lookup
See merge request fdroid/fdroidserver!386
relan [Mon, 27 Nov 2017 13:32:41 +0000 (16:32 +0300)]
tests: fix pycodestyle lookup
Pycodestyle is available as /usr/bin/pycodestyle-3 on Fedora.
Hans-Christoph Steiner [Mon, 27 Nov 2017 12:08:04 +0000 (13:08 +0100)]
Bump to 1.0.dev0
Hans-Christoph Steiner [Mon, 27 Nov 2017 12:02:33 +0000 (13:02 +0100)]
Bump to 0.9
Hans-Christoph Steiner [Mon, 27 Nov 2017 12:28:35 +0000 (12:28 +0000)]
Merge branch 'weblate' into 'master'
Weblate
See merge request fdroid/fdroidserver!384
Hans-Christoph Steiner [Mon, 27 Nov 2017 12:28:34 +0000 (12:28 +0000)]
Weblate
Hans-Christoph Steiner [Mon, 27 Nov 2017 09:41:08 +0000 (10:41 +0100)]
nightly: fix PEP8 E722 do not use bare except
Hans-Christoph Steiner [Mon, 27 Nov 2017 09:06:47 +0000 (10:06 +0100)]
jenkins: require successful `git fetch` before running tests
Hans-Christoph Steiner [Mon, 27 Nov 2017 08:58:51 +0000 (09:58 +0100)]
jenkins-setup-build-env: actually run tests in the new buildserver VM
Oops, this has been failing, since it was running the build on the vm host,
not in the buildserver VM.
Hans-Christoph Steiner [Mon, 27 Nov 2017 08:36:01 +0000 (09:36 +0100)]
jenkins-test: don't overwrite `fdroid init` config.py and rm test files
Hans-Christoph Steiner [Sun, 26 Nov 2017 21:45:04 +0000 (22:45 +0100)]
jenkins-test: force new repo setup for each build
jenkins-build-all just sets `build_server_always = True`, these tests need
a whole keystore setup. So just delete the existing config, and let
`fdroid init` do the rest.
Hans-Christoph Steiner [Sun, 26 Nov 2017 21:50:24 +0000 (21:50 +0000)]
Merge branch 'rsync' into 'master'
build: rsync instead of sftp dirs to the buildserver
Closes #227
See merge request fdroid/fdroidserver!379
Hans-Christoph Steiner [Sun, 26 Nov 2017 21:48:04 +0000 (21:48 +0000)]
Merge branch 'ndk' into 'master'
makebuildserver: add ndk r16
See merge request fdroid/fdroidserver!383
Marcus Hoffmann [Sun, 26 Nov 2017 16:08:26 +0000 (17:08 +0100)]
makebuildserver: add ndk r16
Hans-Christoph Steiner [Sat, 25 Nov 2017 17:10:43 +0000 (17:10 +0000)]
Merge branch 'vm-provider-lookup-flaw' into 'master'
fix vm provider lookup flaw
See merge request fdroid/fdroidserver!382
Hans-Christoph Steiner [Sat, 25 Nov 2017 16:43:44 +0000 (16:43 +0000)]
Merge branch 'no_rm' into 'master'
common: use python instead of calling out to 'rm'
See merge request fdroid/fdroidserver!381
Michael Pöhn [Sat, 25 Nov 2017 16:30:15 +0000 (17:30 +0100)]
fix vm provider lookup flaw
Marcus Hoffmann [Fri, 24 Nov 2017 21:41:06 +0000 (22:41 +0100)]
build: rsync instead of sftp dirs to the buildserver
Sending many small files with paramiko's sftp implementation is quite
slow. There seems to be no way around this, other projects (ansible)
recommend to use rsync in this case.
Our sourcecode directories sometimes have a LOT of files, it can take
up to an hour to copy all required things inside the buildserver.
Instead we just use rsync with the ssh options we get from vagrant.
For rsync specific options we use:
* sync permissions as before
* sync symlinks (was done partially before)
* don't sync hardlinks and ownership as these don't make for things
coming from a VCS
Closes fdroid/fdroidserver#227.
Marcus Hoffmann [Sat, 25 Nov 2017 02:05:59 +0000 (03:05 +0100)]
common: use python instead of calling out to 'rm'
Be platform agnostic by not calling other utilities.
Hans-Christoph Steiner [Sat, 25 Nov 2017 10:25:52 +0000 (10:25 +0000)]
Merge branch 'stop-hanging-on-git-ssh' into 'master'
Stop hanging on git ssh
See merge request fdroid/fdroidserver!378
Hans-Christoph Steiner [Thu, 23 Nov 2017 20:19:45 +0000 (21:19 +0100)]
never wait for SSH prompts when running git commands
We never allow git via SSH or password/key access, and right now, this
causes things to hang forever. This sets things up to fail quickly
with invalid ssh connections.
BatchMode=yes - passphrase/password querying will be disabled.
StrictHostKeyChecking=yes - never automatically prompt, or add host keys to
the ~/.ssh/known_hosts file, and refuse to connect to hosts whose host key
has changed.
Hans-Christoph Steiner [Thu, 23 Nov 2017 16:08:57 +0000 (17:08 +0100)]
build: stop git from waiting forever at username/password prompts
If a git fetch/clone/submodule URL points to gitlab, github, bitbucket, etc
and that repo does not exist any more, those services will prompt the user
for a username/password so that the service can check if its a private
repo. Private repos show up the same as non-existent repos. This employs
two techniques for making sure that git never waits at those prompts. It
instead should just fail immediately. The buildserver has been hanging on
these prompts forever, until manually killed. This change will apply to
updates both on the buildserver host, and the buildserver guest vm.
This uses the "insteadOf" git config option to rewrite URLs to always use
HTTPS and then include a fake username/password so that git will use those
in the prompts and fail immediately. This trick has been in use on the
verification server for a long while and has been working well. It has
also been used on jenkins.debian.net in the host.
https://f-droid.org/en/docs/Verification_Server/
It also includes GIT_TERMINAL_PROMPT, which also prevents the bad behavior,
which was added in git 2.3.
https://github.com/blog/1957-git-2-3-has-been-released
Hans-Christoph Steiner [Thu, 23 Nov 2017 20:21:06 +0000 (21:21 +0100)]
buildserver: use git from jessie-backports to get better workflow
A number of key features around username/password handling where added in
2.3, like GIT_SSH_COMMAND and GIT_TERMINAL_PROMPT.
Hans-Christoph Steiner [Thu, 23 Nov 2017 22:13:42 +0000 (22:13 +0000)]
Merge branch 'nightly' into 'master'
nightly: new command to setup nightly builds in CI systems
See merge request fdroid/fdroidserver!377
Hans-Christoph Steiner [Wed, 22 Nov 2017 22:27:07 +0000 (23:27 +0100)]
nightly: new command to setup nightly builds in CI systems
This lets people using CI systems easily setup a nightly build repo hosted
for free in github or gitlab.
https://github.com/zom/Zom-Android/pull/355
https://gitlab.com/fdroid/fdroidclient/merge_requests/594
environment variables:
* https://docs.gitlab.com/ce/ci/variables/README.html
* https://docs.travis-ci.com/user/environment-variables
* https://circleci.com/docs/1.0/environment-variables
Hans-Christoph Steiner [Wed, 22 Nov 2017 10:19:03 +0000 (11:19 +0100)]
rename test file to fit within eCryptfs filename limits (closes #416)
Hans-Christoph Steiner [Mon, 20 Nov 2017 14:54:00 +0000 (15:54 +0100)]
make common.local_rsync() method for pre-configured local rsyncs
Hans-Christoph Steiner [Fri, 17 Nov 2017 14:48:45 +0000 (15:48 +0100)]
common.get_examples_dir() to get path to fdroidserver examples
Hans-Christoph Steiner [Mon, 13 Nov 2017 12:08:22 +0000 (13:08 +0100)]
tests: new tests for stacktraces caused by translated help strings
Hans-Christoph Steiner [Fri, 10 Nov 2017 14:22:25 +0000 (15:22 +0100)]
remove --create-key from completion, its only for migrations
If people want to create repos, they should be using `fdroid init`. This
flag is for very specific cases: migrating old unsigned repos to signed.
It shouldn't be promoted for anything else since there are better tools for
those tasks.
Hans-Christoph Steiner [Mon, 20 Nov 2017 08:36:07 +0000 (08:36 +0000)]
Merge branch 'gradle-platform-install' into 'master'
Allow Gradle to install new platforms
See merge request fdroid/fdroidserver!373
Hans-Christoph Steiner [Mon, 20 Nov 2017 08:30:37 +0000 (08:30 +0000)]
Merge branch 'remove-ubuntu-trusty-paramiko-hack' into 'master'
buildserver: remove special sshd setup for Ubuntu 14.04
See merge request fdroid/fdroidserver!374
relan [Fri, 17 Nov 2017 18:15:18 +0000 (21:15 +0300)]
buildserver: remove special sshd setup for Ubuntu 14.04
Now that fdroidserver requires Python 3, there's no need to tune sshd for
an old version of Paramiko because Ubuntu 14.04 does not have
python3-paramiko package in its repositories:
https://packages.ubuntu.com/search?keywords=python3-paramiko
We can safely assume that Ubuntu 14.04 users have installed a more recent
version of Paramiko from PIP.
relan [Tue, 14 Nov 2017 09:38:48 +0000 (12:38 +0300)]
buildserver: add new android-sdk-license hash
The old hash does not work anymore, at least for platform-27. Where this
new one comes from:
1. Download command line tools from
https://developer.android.com/studio/index.html#command-tools
2. Unzip the package
3. Run ./tools/bin/sdkmanager --licenses
4. Read and accept licenses
5. Find the hash in ./licenses/android-sdk-license
Marcus [Tue, 14 Nov 2017 12:27:00 +0000 (12:27 +0000)]
Merge branch 'gradle-4.3.1' into 'master'
makebuildserver: add Gradle 4.3.1
See merge request fdroid/fdroidserver!372
relan [Tue, 14 Nov 2017 09:29:21 +0000 (12:29 +0300)]
buildserver: allow gradle/sdkmanager to install new platforms
Google releases new API SDKs quite rarely (about 2 times a year), but when
they do this, many apps quickly start using it. Allow downloading new API
SDKs to avoid waiting for the next buildserver rebuild.
relan [Tue, 14 Nov 2017 07:36:12 +0000 (10:36 +0300)]
makebuildserver: add Gradle 4.3.1
Marcus [Tue, 14 Nov 2017 01:38:19 +0000 (01:38 +0000)]
Merge branch 'master' into 'master'
Changed setup.py +x for easy invocation
Closes #410
See merge request fdroid/fdroidserver!371
Benji Wiebe [Tue, 14 Nov 2017 01:09:51 +0000 (19:09 -0600)]
Changed setup.py +x for easy invocation
Marcus [Sun, 12 Nov 2017 17:18:22 +0000 (17:18 +0000)]
Merge branch 'build-tools_r26.0.3' into 'master'
makebuildserver: add build-tools_r26.0.3
See merge request fdroid/fdroidserver!369
relan [Sun, 12 Nov 2017 07:48:00 +0000 (10:48 +0300)]
makebuildserver: add build-tools_r26.0.3
relan [Sun, 12 Nov 2017 07:44:22 +0000 (07:44 +0000)]
Merge branch 'master' into 'master'
makebuildserver: add build-tools_r27.0.1
See merge request fdroid/fdroidserver!368
Hans-Christoph Steiner [Fri, 10 Nov 2017 21:08:31 +0000 (22:08 +0100)]
jenkins: some reliability fixes to the test scripts
Sergey Eremin [Fri, 10 Nov 2017 15:38:58 +0000 (18:38 +0300)]
makebuildserver: add build-tools_r27.0.1
Hans-Christoph Steiner [Fri, 10 Nov 2017 08:29:50 +0000 (09:29 +0100)]
jenkins-test: ./run-tests won't work with only unsigned APKs
Hans-Christoph Steiner [Thu, 9 Nov 2017 14:02:10 +0000 (15:02 +0100)]
README: add new jenkins.debian.net test
Hans-Christoph Steiner [Thu, 9 Nov 2017 13:07:28 +0000 (14:07 +0100)]
tests: only test `fdroid build` if the right build-tools is installed
Hans-Christoph Steiner [Thu, 9 Nov 2017 12:11:31 +0000 (13:11 +0100)]
tests: fix `fdroid build` test with Debian gradle
Hans-Christoph Steiner [Wed, 8 Nov 2017 12:51:03 +0000 (13:51 +0100)]
fix tests to work when only Debian Android SDK is installed
jenkins.debian.net only had `apt install android-sdk`, it does not have any
of Google's packages installed.
Hans-Christoph Steiner [Wed, 8 Nov 2017 12:50:08 +0000 (13:50 +0100)]
jenkins-test: tame debug output to keep logs at a reasonable length
Hans-Christoph Steiner [Wed, 8 Nov 2017 12:35:35 +0000 (13:35 +0100)]
update: improve help strings
Hans-Christoph Steiner [Wed, 8 Nov 2017 12:14:44 +0000 (13:14 +0100)]
jenkins-test: ./run-tests needs ANDROID_HOME
Hans-Christoph Steiner [Wed, 8 Nov 2017 11:39:59 +0000 (12:39 +0100)]
hooks: add new jenkins scripts to syntax checker
Hans-Christoph Steiner [Wed, 8 Nov 2017 11:03:24 +0000 (12:03 +0100)]
jenkins: make test script executable
Hans-Christoph Steiner [Wed, 8 Nov 2017 08:40:10 +0000 (09:40 +0100)]
jenkins: rename scripts based on jenkins.debian.net names
Make things self-documenting by reusing the exact same names everywhere.
Hans-Christoph Steiner [Wed, 8 Nov 2017 08:38:02 +0000 (09:38 +0100)]
jenkins: move tests to separate job
The setup and build_all jobs take a very long time to run, so its really
annoying when they are marked as failed just because one small thing in the
test suite failed. So move the test suite to its own job that can be run
more frequently.
Hans-Christoph Steiner [Wed, 1 Nov 2017 18:47:28 +0000 (19:47 +0100)]
README: add Weblate badge for translation status
Hans-Christoph Steiner [Tue, 7 Nov 2017 15:24:39 +0000 (16:24 +0100)]
jenkins-build-makebuildserver: bump cpus to 2 and memory to 6144
profitbricks-build7-amd64 has 8 gigs of RAM and 2 cores, so might as well
use them!
Hans-Christoph Steiner [Tue, 7 Nov 2017 14:53:59 +0000 (15:53 +0100)]
jenkins-build: clean / fix paths to buildserver base box setup
[skip ci]
Marcus [Sun, 5 Nov 2017 10:10:59 +0000 (10:10 +0000)]
Merge branch 'build-tools_r27' into 'master'
makebuildserver: add build-tools_r27
See merge request fdroid/fdroidserver!367
relan [Sun, 5 Nov 2017 07:59:01 +0000 (10:59 +0300)]
makebuildserver: add build-tools_r27
Hans-Christoph Steiner [Fri, 3 Nov 2017 13:16:13 +0000 (13:16 +0000)]
Merge branch 'vcs-info' into 'master'
build: raise VCS client version logging level
See merge request fdroid/fdroidserver!366
Hans-Christoph Steiner [Fri, 3 Nov 2017 13:15:11 +0000 (13:15 +0000)]
Merge branch 'gradle-4.3' into 'master'
makebuildserver: add Gradle 4.3
See merge request fdroid/fdroidserver!365
Hans-Christoph Steiner [Fri, 3 Nov 2017 13:14:16 +0000 (13:14 +0000)]
Merge branch 'platform-27_r01' into 'master'
makebuildserver: add platform-27_r01
See merge request fdroid/fdroidserver!364
relan [Thu, 2 Nov 2017 05:47:48 +0000 (08:47 +0300)]
build: raise VCS client version logging level
Debug logging is not saved in buildserver logs. Also move this line into
build.py's main() to avoid duplication: common.setup_vcs(app) may be
called from parse_metadata() too.
relan [Tue, 31 Oct 2017 14:19:57 +0000 (17:19 +0300)]
makebuildserver: add Gradle 4.3
relan [Tue, 31 Oct 2017 14:15:06 +0000 (17:15 +0300)]
makebuildserver: add platform-27_r01
Add Android 8.1.0 SDK platform.
Hans-Christoph Steiner [Mon, 30 Oct 2017 14:35:47 +0000 (15:35 +0100)]
README: better build status layout
Hans-Christoph Steiner [Mon, 30 Oct 2017 14:23:24 +0000 (15:23 +0100)]
add HTML Anchor Name for linking straight to build status badges
Hans-Christoph Steiner [Mon, 30 Oct 2017 09:27:05 +0000 (10:27 +0100)]
README: add status badges for jenkins.debian.net builds
[skip ci]
Hans-Christoph Steiner [Fri, 27 Oct 2017 19:51:13 +0000 (19:51 +0000)]
Merge branch 'add-ulimit-debugging-to-jenkins-build-scirpt' into 'master'
add ulimit debugging to jenkins build script
See merge request fdroid/fdroidserver!363
Michael Pöhn [Fri, 27 Oct 2017 19:21:56 +0000 (21:21 +0200)]
add ulimit debugging to jenkins build script
Hans-Christoph Steiner [Fri, 27 Oct 2017 07:14:15 +0000 (09:14 +0200)]
sort Anti-Features before writing them to the wiki
This avoids silly updates to the wiki where the sort order of the Anti-
Features is the only change:
−{{AntiFeature|KnownVuln}}
{{AntiFeature|DisabledAlgorithm}}
+{{AntiFeature|KnownVuln}}
https://f-droid.org/wiki/index.php?title=info.guardianproject.browser&curid=517&diff=189655&oldid=188037
Hans-Christoph Steiner [Fri, 27 Oct 2017 07:11:50 +0000 (07:11 +0000)]
Merge branch 'more-1.0-polishing' into 'master'
More 1.0 polishing
Closes #402
See merge request fdroid/fdroidserver!362
Ciaran Gultnieks [Tue, 24 Oct 2017 20:11:13 +0000 (22:11 +0200)]
update bombs out when no icons (closes #402)
Hans-Christoph Steiner [Tue, 24 Oct 2017 14:47:53 +0000 (16:47 +0200)]
metadata: make all strings translatable
Hans-Christoph Steiner [Thu, 19 Oct 2017 19:03:39 +0000 (21:03 +0200)]
update: make all strings translatable
Hans-Christoph Steiner [Tue, 24 Oct 2017 14:48:42 +0000 (16:48 +0200)]
make _ always be the gettext function, nothing else
This avoids hard bugs where the _() function gets overidden by a str or
something else.
Hans-Christoph Steiner [Fri, 20 Oct 2017 20:07:28 +0000 (22:07 +0200)]
preserve metadata when copying APK signatures
Since this code was not setting the "create system" and "compress type",
Python uses it's defaults. Those will be different than what the Android
tools produces if this is run on UNIX. The Android tools uses the bare
bones "Windows" ZIP format, e.g. no permissions, etc.
For example:
https://verification.f-droid.org/eu.siacs.conversations_234.apk.diffoscope.html
Hans-Christoph Steiner [Fri, 20 Oct 2017 09:51:59 +0000 (11:51 +0200)]
tests: pre-set failfast as reminder of a handy time saver
Hans-Christoph Steiner [Fri, 20 Oct 2017 09:35:48 +0000 (11:35 +0200)]
choose the most recent available version of Java
This came about testing on OSX, where there are often multiple versions of
the JDK installed. This was choosing the oldest version. It should
choose the most recent version.
Hans-Christoph Steiner [Fri, 20 Oct 2017 06:59:56 +0000 (08:59 +0200)]
travis-ci: only run one round of the test suite on OSX
The OSX tests seem to run slower, they often timeout. So only run
the test suite with the installed version of fdroid, instead of the
three rounds that ./complete-ci-tests does.
Hans-Christoph Steiner [Wed, 25 Oct 2017 20:39:31 +0000 (22:39 +0200)]
Revert "scanner: promote jar and aar files present in the repo to errors"
This reverts commit
5f5d3ea896183260258f653f971c01896ec20ddf.
These new scanner rules for JARs causes most builds on fdroiddata to
break. For example, at least the past 20 releases of
org.fdroid.fdroid. fdroiddata needs to be cleaned up and prepared for
this before we can include
5f5d3ea896183260258f653f971c01896ec20ddf
I'm running fdroid scanner on the whole archive now, I'll post the log
to an issue once its done. Ignoring test files would eliminate some
of these build failures, at least for most org.fdroid.fdroid builds.
refs #!325
Marcus [Wed, 25 Oct 2017 12:41:25 +0000 (12:41 +0000)]
Merge branch 'makebuildserver/default_memory' into 'master'
makebuildserver: change mem default 4 GB
See merge request fdroid/fdroidserver!358
Marcus Hoffmann [Fri, 20 Oct 2017 13:20:51 +0000 (15:20 +0200)]
makebuildserver: change mem default 2 GB
1 GB is not enough for a modern android toolchain, so we change it to
something actually usable.
Hans-Christoph Steiner [Tue, 24 Oct 2017 13:40:53 +0000 (13:40 +0000)]
Merge branch 'patch-1' into 'master'
HTTP, HTTPS
See merge request fdroid/fdroidserver!360
Marcus Hoffmann [Tue, 24 Oct 2017 13:19:38 +0000 (15:19 +0200)]
common: check file existence before opening manifest
This fixes a problem when there is a broken symlink with the name
AndroidManifest.xml which will then lead to a crash when trying to open
it for trying to remove the debuggable flag.
Hans-Christoph Steiner [Mon, 23 Oct 2017 10:27:22 +0000 (10:27 +0000)]
Merge branch 'deploy-localization-support' into 'master'
Deploy localization support
See merge request fdroid/fdroidserver!356
Allan Nordhøy [Sun, 22 Oct 2017 06:43:18 +0000 (06:43 +0000)]
HTTP, HTTPS
Hans-Christoph Steiner [Fri, 20 Oct 2017 19:54:50 +0000 (19:54 +0000)]
Merge branch 'remove_basebox_ref' into 'master'
makebuildserver: remove reference to f-droid.org/jessie64.box
See merge request fdroid/fdroidserver!357
Marcus Hoffmann [Fri, 20 Oct 2017 02:38:39 +0000 (04:38 +0200)]
makebuildserver: remove reference to f-droid.org/jessie64.box
Also improve error message when the initial vagrant up fails, this is
most likely due to the missing jessie64.box file.
Hans-Christoph Steiner [Thu, 19 Oct 2017 20:48:38 +0000 (22:48 +0200)]
fix egg-link and easy_install support for Python3
Wow, this is hacky and weird, but its been there for a long time. I
don't know if its even relevant anymore, but is isolated so it
shouldn't hurt anything. Plus there is a test for it in
tests/complete-ci-tests, so it seems worth fixing.
Hans-Christoph Steiner [Thu, 19 Oct 2017 20:36:19 +0000 (22:36 +0200)]
fix finding translation files when installed
Hans-Christoph Steiner [Thu, 19 Oct 2017 20:13:52 +0000 (22:13 +0200)]
add some context to some strings that are confusing to translators
Hans-Christoph Steiner [Thu, 19 Oct 2017 19:07:50 +0000 (21:07 +0200)]
standardize on "build-tools" as the name of that Android SDK component