chiark / gitweb /
Boris Kraut [Fri, 26 May 2017 14:54:06 +0000 (16:54 +0200)]
makebs: update to ndk-r14b and build-tools-25.0.3
Hans-Christoph Steiner [Thu, 25 May 2017 18:49:14 +0000 (18:49 +0000)]
Merge branch 'master' into 'master'
Don't pass root_dir to scan_source
See merge request !276
mimi89999 [Thu, 25 May 2017 18:11:14 +0000 (20:11 +0200)]
Don't pass root_dir to scan_source
Torsten Grote [Thu, 25 May 2017 14:00:36 +0000 (14:00 +0000)]
Merge branch 'modernize-pylint' into 'master'
modernize pylint
See merge request !252
Hans-Christoph Steiner [Wed, 24 May 2017 10:57:21 +0000 (10:57 +0000)]
Merge branch 'linphone-packages' into 'master'
Add required packages for linphone 3.1.0 build
See merge request !274
Andrew Patrikalakis [Wed, 24 May 2017 04:19:13 +0000 (21:19 -0700)]
Add required packages for linphone 3.1.0 build
Hans-Christoph Steiner [Thu, 13 Apr 2017 09:58:56 +0000 (11:58 +0200)]
fix pylink 'dict' has no member 'keystore'
Hans-Christoph Steiner [Thu, 13 Apr 2017 10:30:04 +0000 (12:30 +0200)]
fix pylint unused-argument
Hans-Christoph Steiner [Thu, 13 Apr 2017 09:57:02 +0000 (11:57 +0200)]
update outdated pylint setup
The logilab-astng lib is dead, replaced by python-astroid. The crazy astng
plugin is no longer needed also.
#281
Hans-Christoph Steiner [Tue, 23 May 2017 18:38:57 +0000 (18:38 +0000)]
Merge branch 'python-vagrant-copy-caches' into 'master'
complete staging buildserver setup on jenkins.debian.net using nested KVM instances
See merge request !176
Hans-Christoph Steiner [Tue, 23 May 2017 09:59:53 +0000 (11:59 +0200)]
makebuildserver: make config['domain'] local var where its needed
Michael Pöhn [Tue, 23 May 2017 10:53:07 +0000 (12:53 +0200)]
refactored vm related code from build.py to vmtools.py
Michael Pöhn [Tue, 23 May 2017 09:37:09 +0000 (11:37 +0200)]
removed unused buildserver code
Hans-Christoph Steiner [Mon, 22 May 2017 13:50:32 +0000 (15:50 +0200)]
leave VirtualBox `vagrant package` as it was originally
We only need Vagrantfile hacks for KVM.
Michael Pöhn [Tue, 25 Apr 2017 12:45:41 +0000 (14:45 +0200)]
restart builder vm when ssh connection fails
Hans-Christoph Steiner [Tue, 25 Apr 2017 08:27:09 +0000 (10:27 +0200)]
build: delete bad builder/ symlinks
If builder/ is a symlink but is not detected as a directory by
os.path.isdir(), then it is a broken symlink.
Michael Pöhn [Fri, 14 Apr 2017 13:58:16 +0000 (15:58 +0200)]
wait a sec after suspending
Michael Pöhn [Thu, 13 Apr 2017 16:41:50 +0000 (18:41 +0200)]
reset buildserver vm if vagrant uuid not present
Michael Pöhn [Thu, 13 Apr 2017 10:49:14 +0000 (12:49 +0200)]
makebuildserver vbox logmessage fix
Michael Pöhn [Wed, 12 Apr 2017 20:06:21 +0000 (22:06 +0200)]
use uuid for vbox snapshots again
Michael Pöhn [Wed, 12 Apr 2017 15:07:50 +0000 (17:07 +0200)]
removed useless vm validity check; attempted to fix vbox support
Michael Pöhn [Sun, 9 Apr 2017 13:36:31 +0000 (15:36 +0200)]
deal with outdated box images in libvirt storage pool
Michael Pöhn [Sat, 8 Apr 2017 22:57:59 +0000 (00:57 +0200)]
makebuildserver deal with apt cache lock
Hans-Christoph Steiner [Mon, 22 May 2017 15:53:12 +0000 (17:53 +0200)]
build server use up instead or resume; logging
Hans-Christoph Steiner [Mon, 22 May 2017 15:53:47 +0000 (17:53 +0200)]
test script for vmtools
Michael Pöhn [Thu, 6 Apr 2017 09:42:35 +0000 (11:42 +0200)]
revised build server creation
Michael Pöhn [Sat, 1 Apr 2017 10:27:26 +0000 (12:27 +0200)]
auto-lookup vm provider based on available executables; more fault tolerant vagrant package
Hans-Christoph Steiner [Mon, 22 May 2017 15:17:01 +0000 (17:17 +0200)]
fixed reading libvirt box image size
Michael Pöhn [Wed, 29 Mar 2017 15:36:04 +0000 (17:36 +0200)]
vmtools debug logging for check_output calls
Hans-Christoph Steiner [Mon, 22 May 2017 15:14:48 +0000 (17:14 +0200)]
added box handling to vmtools
Hans-Christoph Steiner [Mon, 22 May 2017 15:12:34 +0000 (17:12 +0200)]
refactored kvm_package to vmtools
Hans-Christoph Steiner [Mon, 22 May 2017 15:29:12 +0000 (17:29 +0200)]
added makebuildserver option for keeping vagrant box
This is very useful for debugging this process, and also for people
who might want to keep a working copy of the box.
Michael Pöhn [Sun, 26 Mar 2017 01:34:29 +0000 (03:34 +0200)]
fix virsh destroy parameters
Michael Pöhn [Sun, 26 Mar 2017 01:15:33 +0000 (03:15 +0200)]
use configured vm provider in when calling destroy in makebuildserver
Michael Pöhn [Sun, 26 Mar 2017 00:51:28 +0000 (01:51 +0100)]
use overhauled mv destroy code in build.py
Michael Pöhn [Sun, 26 Mar 2017 00:41:39 +0000 (01:41 +0100)]
overhauled and moved destroying builder vm to vmtools.py
Michael Pöhn [Sat, 25 Mar 2017 03:19:36 +0000 (04:19 +0100)]
fdroid build: added sleep after destroy/undefine
Michael Pöhn [Sat, 25 Mar 2017 02:50:22 +0000 (03:50 +0100)]
makebuildserver added sleep after destroy/undefine
Michael Pöhn [Sat, 25 Mar 2017 01:48:00 +0000 (02:48 +0100)]
makebuildserver more robust codepath for vagrant destroy
Michael Pöhn [Sat, 25 Mar 2017 01:37:08 +0000 (02:37 +0100)]
makebuildserver added failsafe when destroy vagrant vm
Michael Pöhn [Sat, 25 Mar 2017 01:19:15 +0000 (02:19 +0100)]
makebuildserver use virsh instead of libvirt for forcing domain off
Michael Pöhn [Sat, 25 Mar 2017 00:56:20 +0000 (01:56 +0100)]
makebuildserver debug logging when initial provisioning fails
Michael Pöhn [Sat, 25 Mar 2017 00:40:41 +0000 (01:40 +0100)]
overhauled makebuildserver libvirt vm cleanup
Michael Pöhn [Fri, 24 Mar 2017 19:04:50 +0000 (20:04 +0100)]
makebuildserver debugging log details
Michael Pöhn [Fri, 24 Mar 2017 03:16:30 +0000 (04:16 +0100)]
makebuildserver prune gloabal vagrant status when purging broken VMs
Michael Pöhn [Fri, 24 Mar 2017 02:15:35 +0000 (03:15 +0100)]
delete .vagrant dir when cleaning up buildserver vm
Michael Pöhn [Thu, 23 Mar 2017 23:49:02 +0000 (00:49 +0100)]
jenkins makebuildserver fail if vagrant box was not created
Hans-Christoph Steiner [Mon, 22 May 2017 14:57:47 +0000 (16:57 +0200)]
calculate correct size for buildserver-box in makebuildserver
https://gitlab.com/fdroid/fdroidserver/issues/238#note_24000153
"Our hard-coded image size meta-data (1000) is for some interpreted as less
than the size of the box-image by my kvm setup. This makes grub/initrd
refuse to boot. So I've changed the metadata size to 9999 which resulted in
an actually booting vm. I can log in on the builder-vm via virt-manager
and virsh.
Michael Pöhn [Tue, 14 Mar 2017 23:12:01 +0000 (00:12 +0100)]
auto-reset broken builder vm
Michael Pöhn [Thu, 9 Mar 2017 12:30:30 +0000 (13:30 +0100)]
scan vm provider again after re-creating builder vm
Michael Pöhn [Wed, 8 Mar 2017 11:29:18 +0000 (12:29 +0100)]
added some debug listings to jenkins makebuildserver script
Michael Pöhn [Tue, 7 Mar 2017 14:14:10 +0000 (15:14 +0100)]
delete associated libvirt domain/image when destroying builder vm
Michael Pöhn [Mon, 6 Mar 2017 01:57:07 +0000 (02:57 +0100)]
build: fixed kvm snapshot support; makebuildserver: setup kvm ssh credentials
Michael Pöhn [Thu, 23 Feb 2017 04:51:05 +0000 (05:51 +0100)]
added libvirt vm-provider support to build.py
Hans-Christoph Steiner [Tue, 14 Feb 2017 21:58:35 +0000 (22:58 +0100)]
makebuildserver: package up KVM VM as a vagrant box
`vagrant package` does not work with KVM, so we have to hack together our
own until someone implements it (suppose we should do it). This is a hacked
up version based on:
https://github.com/vagrant-libvirt/vagrant-libvirt/blob/
d7d440ea8f24f698a93a4c5b9a5149acef469579/tools/create_box.sh
#238
Hans-Christoph Steiner [Tue, 27 Sep 2016 06:26:33 +0000 (02:26 -0400)]
buildserver: make --clean destroy reliably
This prevents v.destroy() from running if Vagrantfile.yaml does not exist,
since that is required for vagrant to run: is the core config including the
name of the box, etc. Otherwise, it would exit with an error.
This also does complete cleanup when using libvirt.
Hans-Christoph Steiner [Mon, 26 Sep 2016 09:22:05 +0000 (05:22 -0400)]
buildserver: consolidate boxfile export code into one block
This is just for clarity, and moving more code into the main() function.
Hans-Christoph Steiner [Thu, 23 Jun 2016 15:12:06 +0000 (17:12 +0200)]
buildserver: add copy_caches_from_host config option
For people using slow, expensive, and/or flaky internet, liberal use of
caching can make a huge difference. The restricted environment of the
gpjenkins box has been a good test environment for this (Tor-only,
whitelist of allowed IPs to visit, home internet connection).
Hans-Christoph Steiner [Thu, 23 Jun 2016 14:38:39 +0000 (16:38 +0200)]
buildserver: run_via_vagrant_ssh() to run cmds via python-vagrant
This moves the last vagrant call in a subprocess.
Hans-Christoph Steiner [Sun, 25 Sep 2016 16:55:29 +0000 (18:55 +0200)]
buildserver: move code into main() method to always stop thread
By running the whole program in a main() function, it can be wrapped in
try/finally in order to stop the background display thread. This is also
done in ./fdroid, its standard practice for Python CLI utilities.
Hans-Christoph Steiner [Mon, 20 Jun 2016 09:33:46 +0000 (11:33 +0200)]
buildserver: display verbose logging in a background tail
Hans-Christoph Steiner [Tue, 27 Sep 2016 06:49:32 +0000 (08:49 +0200)]
buildserver: replace custom code with python-vagrant
I ran into some annoying issues with UTF-8 output in the vagrant logs, and
it was hard to solve. So I switched to using python-vagrant, which handles
it all for us. Its been around since 2012, has a number of contributors,
and is still actively maintained, so it seems like a good bet. I also
packaged it for Debian, including a backport in jessie-backports.
On Debian/jessie, do `apt-get install python3-vagrant/jessie-backports`
Hans-Christoph Steiner [Fri, 17 Jun 2016 11:03:01 +0000 (13:03 +0200)]
include class like UNIX `tail -f` for displaying logs
This allows fdroidserver to easily log activity while displaying it at the
same time.
Hans-Christoph Steiner [Mon, 22 May 2017 15:36:18 +0000 (17:36 +0200)]
move bulk of reproducible_fdroid_build_apps.sh to jenkins-build
This lets us quickly and frequently test things.
Hans-Christoph Steiner [Mon, 22 May 2017 20:50:54 +0000 (20:50 +0000)]
Merge branch 'exceptions' into 'master'
Replace sys.exit() in non-main functions by exceptions
See merge request !273
Torsten Grote [Mon, 22 May 2017 19:33:52 +0000 (16:33 -0300)]
Replace sys.exit() in non-main functions by exceptions
Also move all exceptions into one module
Michael Pöhn [Sat, 25 Mar 2017 22:50:10 +0000 (23:50 +0100)]
fix calling vagrant global-status
Michael Pöhn [Mon, 24 Apr 2017 10:19:37 +0000 (12:19 +0200)]
use stable version of priv ext instead of latest when testing in makebuildserver
Hans-Christoph Steiner [Wed, 26 Oct 2016 12:24:14 +0000 (14:24 +0200)]
jenkins-build-makebuildserver: retry `git fetch` until it works
It seems that gitlab gives 500 errors a bit too frequently, so keep
retrying the `git pull` until it works so that there isn't a error email
sent out over failed pulls.
Hans-Christoph Steiner [Mon, 22 May 2017 09:32:39 +0000 (09:32 +0000)]
Merge branch 'indexing-fixes' into 'master'
indexing fixes
Closes #303
See merge request !270
Hans-Christoph Steiner [Thu, 18 May 2017 15:20:24 +0000 (17:20 +0200)]
update: find aapt when it is not in the PATH
This is some very messy logic built up since 2010. This will all go away
once we have a python3 version of androguard available.
The removed imports and `dir(APK)` is to silence pyflakes
closes #303
Hans-Christoph Steiner [Tue, 16 May 2017 10:25:42 +0000 (12:25 +0200)]
update: fix fastlane scraping, it uses a subdir called 'images'
https://commons.wikimedia.org/wiki/File:GetChromium_FeatureGraphic_1024x500.png
Hans-Christoph Steiner [Mon, 15 May 2017 18:11:41 +0000 (20:11 +0200)]
update: skip packages without metadata in index V1
If a package does not have a matching "app" metadata file, then it should
not be added to the index. index V0 already does this properly.
Hans-Christoph Steiner [Mon, 15 May 2017 17:48:20 +0000 (19:48 +0200)]
update: improved logging
the aapt warnings were very verbose, and the other now includes the
file name type for screenshots, rather than the filename twice.
Hans-Christoph Steiner [Mon, 15 May 2017 17:47:31 +0000 (19:47 +0200)]
update: allow repo files to use _ in the file names
_ is a valid character for Java package names, so it should also work in
the repo file naming scheme. This makes it so it only splits the file
name based on the last _.
Hans-Christoph Steiner [Mon, 15 May 2017 15:27:48 +0000 (17:27 +0200)]
metadata: switch from deprecated cgi.escape to html.escape
cgi.escape is deprecated in Python 3.x and has security issues:
https://bugs.python.org/issue26398
html.escape() differs from cgi.escape() by its defaults to quote=True:
s = html.escape( """& < " ' >""" ) # s = '& < " ' >'
Torsten Grote [Wed, 17 May 2017 22:47:56 +0000 (22:47 +0000)]
Merge branch 'cdn-git-mirror' into 'master'
Fix double pushing on remote git-mirror
See merge request !272
thez3ro [Wed, 17 May 2017 21:08:25 +0000 (23:08 +0200)]
fix double pushing on remote
Hans-Christoph Steiner [Wed, 17 May 2017 20:29:33 +0000 (20:29 +0000)]
Merge branch 'cdn-git-mirror' into 'master'
Use Gitlab Pages as mirror instead of Raw
Closes #293
See merge request !271
thez3ro [Wed, 17 May 2017 18:37:49 +0000 (20:37 +0200)]
Use gitlab pages as mirror
Hans-Christoph Steiner [Wed, 10 May 2017 17:22:15 +0000 (17:22 +0000)]
Merge branch 'hg39' into 'master'
buildserver: use hg 3.9 from backports
See merge request !266
Boris Kraut [Wed, 10 May 2017 16:55:38 +0000 (18:55 +0200)]
buildserver: use hg 3.9 from backports
Hans-Christoph Steiner [Fri, 5 May 2017 09:10:32 +0000 (09:10 +0000)]
Merge branch 'master' into 'master'
replace aapt with androguard
See merge request !234
Michael Pöhn [Fri, 5 May 2017 08:35:44 +0000 (08:35 +0000)]
Merge branch 'yaml' into 'master'
basic support for YAMLin `fdroid rewritemeta`
Closes #285 and #169
See merge request !260
thez3ro [Thu, 13 Apr 2017 12:18:48 +0000 (14:18 +0200)]
use androguard if aapt isn't found
Hans-Christoph Steiner [Tue, 2 May 2017 19:12:41 +0000 (19:12 +0000)]
Merge branch 'download-index-etag' into 'master'
Support ETag when downloading repository index
See merge request !264
Torsten Grote [Tue, 2 May 2017 15:05:48 +0000 (12:05 -0300)]
Support ETag when downloading repository index
Hans-Christoph Steiner [Thu, 27 Apr 2017 18:40:08 +0000 (20:40 +0200)]
fix white space trimming when writing .txt format
Some of the internal data format changes somehow broke the white space
trimming when writing out .txt.
closes #285
Hans-Christoph Steiner [Fri, 25 Nov 2016 14:20:19 +0000 (15:20 +0100)]
use pyyaml for rewriting .yml metadata files
This replaces the broken, custom code with the standard YAML lib.
In rewritemeta, do not call app.metadatapath since it will be deleted when
the dict is cleaned up for outputing. metadatapath is only used internally
and should not be written out.
closes #169
refs #290
Michael Pöhn [Tue, 2 May 2017 07:39:51 +0000 (07:39 +0000)]
Merge branch 'libvirt-support' into 'master'
Check for libvirt specific shutoff message
See merge request !262
Torsten Grote [Mon, 1 May 2017 17:59:59 +0000 (17:59 +0000)]
Merge branch 'pre-0.103-alpha4-rename' into 'master'
downcase all 'localized' key names to match the rest of index-v1
See merge request !261
Andrew Patrikalakis [Sun, 30 Apr 2017 01:38:44 +0000 (18:38 -0700)]
Check for libvirt specific shutoff message
Hans-Christoph Steiner [Thu, 27 Apr 2017 19:12:49 +0000 (21:12 +0200)]
downcase all 'localized' key names to match the rest of index-v1
This is a little omission. keys that are used in metadata/*.yml all start
with an UpperCase letter, but in fdroidserver, index-v1.json, and
fdroidclient, it is all camelCase with lowercase first letter. The keys
from the 'localized' section are currently never in metadata/*.yml, so
these keys never get downcase. This change will break fdroidclient
versions that do not also have this change, but since we're in alpha, that
should be fine.
If support for a 'localized' section is added to metadata/*.yml, then the
keys there should probably be UpperCase CamelCase to match the other keys.
Hans-Christoph Steiner [Mon, 24 Apr 2017 21:24:07 +0000 (21:24 +0000)]
Merge branch 'git-identity-file' into 'master'
Make git server mirror upload honor config['identity_file'] option
See merge request !259
Torsten Grote [Mon, 24 Apr 2017 19:22:33 +0000 (16:22 -0300)]
Make git server mirror upload honor config['identity_file'] option
Hans-Christoph Steiner [Mon, 24 Apr 2017 18:50:58 +0000 (18:50 +0000)]
Merge branch '148-no-verify-logs-on-split-build-publish-infrastructure' into 'master'
compare apk with Binaries from metadata right after building
Closes #148
See merge request !247
Michael Pöhn [Sun, 23 Apr 2017 09:33:51 +0000 (11:33 +0200)]
remove build output when not reproducible
Michael Pöhn [Sat, 22 Apr 2017 10:04:32 +0000 (12:04 +0200)]
unified method for naming build output
Michael Pöhn [Thu, 20 Apr 2017 10:44:22 +0000 (12:44 +0200)]
check meld config for manual apk diffs
Michael Pöhn [Thu, 20 Apr 2017 10:38:50 +0000 (12:38 +0200)]
use verify_apks for checking build output