chiark / gitweb /
Jan Berkel [Thu, 14 Dec 2017 23:29:38 +0000 (00:29 +0100)]
Add a simple test for scanner
Jan Berkel [Thu, 14 Dec 2017 20:58:06 +0000 (21:58 +0100)]
whitelist some open-source firebase libs
Hans-Christoph Steiner [Thu, 14 Dec 2017 15:56:01 +0000 (16:56 +0100)]
Merge branch 'fixFlavor' into 'master'
Regex only for flavor blocks: flavor { ... }
See merge request fdroid/fdroidserver!407
Hans-Christoph Steiner [Thu, 14 Dec 2017 15:52:02 +0000 (16:52 +0100)]
add Conversations as gradle flavor test case
Hans-Christoph Steiner [Thu, 14 Dec 2017 09:41:02 +0000 (10:41 +0100)]
jenkins-build-all: improve detection of working buildserver VM
If I manually run some steps of the process, not all of the normal cruft
might be left behind. I'm not really sure which of the multiple copies of
the images are actually required, but these both seem to work when present.
Hans-Christoph Steiner [Thu, 14 Dec 2017 08:50:10 +0000 (08:50 +0000)]
Merge branch '428-Signature-key-fingerprint-of-file-stats-publishsigkeys-jar-does-not-match-repo_key_sha256-in-config-py' into 'master'
jenkins test: clear singing-key-fingerpring from previous run
Closes #428
See merge request fdroid/fdroidserver!410
Michael Pöhn [Wed, 13 Dec 2017 16:39:55 +0000 (17:39 +0100)]
jenkins test: clear singing-key-fingerpring from previous run
Hans-Christoph Steiner [Tue, 12 Dec 2017 15:55:05 +0000 (16:55 +0100)]
Merge branch 'fdroidserver-liberapay' into 'master'
Add Liberapay support
See merge request fdroid/fdroidserver!408
Hans-Christoph Steiner [Tue, 12 Dec 2017 15:54:35 +0000 (16:54 +0100)]
fix metadata_v0 tests
The old metadata format didn't know anything of LiberapayID, so no need to
check for it.
Andrea Scarpino [Tue, 12 Dec 2017 09:53:34 +0000 (10:53 +0100)]
Add Liberapay support
Hans-Christoph Steiner [Mon, 11 Dec 2017 21:44:16 +0000 (21:44 +0000)]
Merge branch '1.0-polish' into 'master'
1.0 polish
Closes #424
See merge request fdroid/fdroidserver!405
Hans-Christoph Steiner [Thu, 7 Dec 2017 23:09:41 +0000 (00:09 +0100)]
remove XML files from bash completion, they are not supported anymore
Hans-Christoph Steiner [Thu, 7 Dec 2017 21:26:13 +0000 (22:26 +0100)]
build: `apt-get purge sudo` after using it for sudo= build field
Once `sudo` has been used to execute the commands in sudo=, then it should
be removed from the build VM. That prevents any other part of the build
from using sudo. That means that all commands run with `sudo` must be
committed to fdroiddata.git, making them very visible.
closes #424
Hans-Christoph Steiner [Thu, 7 Dec 2017 20:40:15 +0000 (21:40 +0100)]
metadata: error if .fdroid.txt exists, it is unsupported
Using .txt format has bugs when used embedded in an app's git repo, so
tell the user to use YAML or JSON.
#364
Hans-Christoph Steiner [Thu, 7 Dec 2017 14:56:09 +0000 (15:56 +0100)]
makebuildserver: quiet rsync for copy_caches_from_host
Hans-Christoph Steiner [Mon, 11 Dec 2017 20:27:06 +0000 (20:27 +0000)]
Merge branch 'rational-jarsigner-logging' into 'master'
handle jarsigner/apksigner output cleanly for rational logging
Closes #405
See merge request fdroid/fdroidserver!404
tobiasKaminsky [Mon, 11 Dec 2017 11:04:17 +0000 (12:04 +0100)]
regex only for flavor blocks: flavor { ... } and nothing else
Hans-Christoph Steiner [Fri, 8 Dec 2017 08:43:43 +0000 (09:43 +0100)]
Revert "makebuildserver: update SHA-256 for platform-27_r01.zip"
Looks like Google switched back to the old binary, which I guess is
good news?
https://issuetracker.google.com/issues/
70292819
This reverts commit
956660085a417989a0a1e35081071da6ab36b5c2.
!401
Hans-Christoph Steiner [Thu, 7 Dec 2017 23:10:18 +0000 (23:10 +0000)]
Merge branch 'yml_completion' into 'master'
bash completion: use correct yml suffix
See merge request fdroid/fdroidserver!406
Marcus Hoffmann [Thu, 7 Dec 2017 22:29:34 +0000 (23:29 +0100)]
bash completion: use correct yml suffix
Hans-Christoph Steiner [Thu, 7 Dec 2017 22:11:40 +0000 (22:11 +0000)]
Merge branch 'more-nightly' into 'master'
More `fdroid nightly` polish
Closes #423
See merge request fdroid/fdroidserver!402
Hans-Christoph Steiner [Thu, 7 Dec 2017 14:04:39 +0000 (15:04 +0100)]
nightly: replace / from fingerprint in SSH key filename, fixes #423
The SSH key fingerprint is used in the filename. The base64 used for SSH
key fingerprints includes /. Not all keys will end up having a / in them.
For those that do, this will crash since the ssh key filename ends up being
non-existent dirs:
$ fdroid nightly
Importing keystore /home/mhoffmann/.android/debug.keystore to /tmp/.cqswaeo8/.keystore.p12...
MAC verified OK
writing RSA key
CRITICAL: Unknown exception found!
Traceback (most recent call last):
File "/usr/lib/python3.6/shutil.py", line 544, in move
os.rename(src, real_dst)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/.cqswaeo8/.privkey' -> '/tmp/.cqswaeo8/debug_keystore_PZtS/4Tzk4dpzKiX9AAf1GrhAVi9U7UE1aYEHr6evKo_id_rsa'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/mhoffmann/projects/oss/fdroidserver/fdroid", line 156, in <module>
main()
File "/home/mhoffmann/projects/oss/fdroidserver/fdroid", line 132, in main
mod.main()
File "/home/mhoffmann/projects/oss/fdroidserver/fdroidserver/nightly.py", line 284, in main
privkey = _ssh_key_from_debug_keystore()
File "/home/mhoffmann/projects/oss/fdroidserver/fdroidserver/nightly.py", line 73, in _ssh_key_from_debug_keystore
shutil.move(privkey, ssh_private_key_file)
File "/usr/lib/python3.6/shutil.py", line 558, in move
copy_function(src, real_dst)
File "/usr/lib/python3.6/shutil.py", line 257, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "/usr/lib/python3.6/shutil.py", line 121, in copyfile
with open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/.cqswaeo8/debug_keystore_PZtS/4Tzk4dpzKiX9AAf1GrhAVi9U7UE1aYEHr6evKo_id_rsa'
Hans-Christoph Steiner [Wed, 6 Dec 2017 22:20:00 +0000 (23:20 +0100)]
nightly: prompt user to create a debug.keystore if its not there
#423
Hans-Christoph Steiner [Wed, 6 Dec 2017 21:42:11 +0000 (22:42 +0100)]
nightly: fix QR icon.png generation
Hans-Christoph Steiner [Wed, 6 Dec 2017 21:33:46 +0000 (22:33 +0100)]
update: do not replace Name/Summary from template unless blank
`fdroid nightly` needs this change so it can set the Summary using the
template.
Hans-Christoph Steiner [Wed, 6 Dec 2017 21:32:24 +0000 (22:32 +0100)]
nightly: create app metadata using template of parsed data
Marcus [Thu, 7 Dec 2017 20:31:09 +0000 (20:31 +0000)]
Merge branch 'remove-fd-commit' into 'master'
remove fd-commit, no active devs use it, and requires Auto Name/Name
See merge request fdroid/fdroidserver!392
Hans-Christoph Steiner [Thu, 7 Dec 2017 20:03:17 +0000 (20:03 +0000)]
Merge branch 'help_message_fix' into 'master'
metadata: make help for common -W option clearer
See merge request fdroid/fdroidserver!350
Marcus Hoffmann [Fri, 6 Oct 2017 15:42:01 +0000 (17:42 +0200)]
metadata: make help for metadata -W option clearer
specify possible choices and provide clearer help text
Hans-Christoph Steiner [Thu, 7 Dec 2017 16:32:14 +0000 (17:32 +0100)]
handle jarsigner/apksigner output cleanly for rational logging
These were both spamming the output with lots of confusing messages, even
when --verbose was not used. Jarsigner especially has confusing messages,
since it has warnings that do not pertain to APK signatures at all, like
the ones about timestamps and missing Certificate Authority.
closes #405
Hans-Christoph Steiner [Thu, 7 Dec 2017 14:17:25 +0000 (14:17 +0000)]
Merge branch 'syntaxfix' into 'master'
correct "usage" output (--help; see #405)
See merge request fdroid/fdroidserver!403
Izzy [Thu, 7 Dec 2017 13:51:27 +0000 (14:51 +0100)]
correct "usage" output (--help; see #405)
Hans-Christoph Steiner [Thu, 7 Dec 2017 10:52:10 +0000 (11:52 +0100)]
makebuildserver: fix join() syntax error, it needs a list/tuple
If only there was a way to test this without taking hours to run...
fixes
964ef996a01ceac8d6735668f2c9fd9119512346
relan [Thu, 7 Dec 2017 06:05:46 +0000 (06:05 +0000)]
Merge branch 'update-platform-27_r01' into 'master'
makebuildserver: update SHA-256 for platform-27_r01.zip
See merge request fdroid/fdroidserver!401
Hans-Christoph Steiner [Wed, 6 Dec 2017 21:48:08 +0000 (22:48 +0100)]
remove fd-commit, no active devs use it, and requires Auto Name/Name
fd-commit and checkupdates both require that there are two name fields,
AutoName: and Name:. This is only used for the commit messages. Since the
current devs do it manually, we can remove the fd-commit shell script, then
focus on checkupdates when revamping AutoName/Name.
https://botbot.me/freenode/fdroid-dev/msg/
82539152
Hans-Christoph Steiner [Wed, 6 Dec 2017 21:05:09 +0000 (22:05 +0100)]
makebuildserver: update SHA-256 for platform-27_r01.zip
Someone forgot to call this _r02.zip:
-ro.build.version.incremental=
4402310
+ro.build.version.incremental=
4458339
https://verification.f-droid.org/build-metadata/platform-27_r01.html
!364
Hans-Christoph Steiner [Wed, 6 Dec 2017 19:44:58 +0000 (19:44 +0000)]
Merge branch 'gitlab-ci-testing-xenial-fedora' into 'master'
gitlab CI runs on Debian/testing, Ubuntu/xenial, Fedora
See merge request fdroid/fdroidserver!398
Hans-Christoph Steiner [Wed, 6 Dec 2017 16:51:12 +0000 (17:51 +0100)]
gitlab-ci: move sdist test run to new fedora job
A full run of the test suite takes quite a bit of time. This removes one
of the 3 runs from the main 'tests' job, and puts it into the Fedora job.
That test run is mostly to make sure the setup.py and source tarball are
correctly, so that doesn't affect merge requests very often.
This also tests `pip install --user`, which was not really being tested
before.
Hans-Christoph Steiner [Wed, 6 Dec 2017 12:41:03 +0000 (13:41 +0100)]
init: fix test for aapt when no aapt has been found
Just give a proper error message rather than this stack trace:
Traceback (most recent call last):
File "/home/hans/code/fdroid/server/fdroid", line 156, in <module>
main()
File "/home/hans/code/fdroid/server/fdroid", line 132, in main
mod.main()
File "/export/share/code/fdroid/server/fdroidserver/init.py", line 148, in main
if os.path.isfile(aapt):
File "/usr/lib/python3.5/genericpath.py", line 30, in isfile
st = os.stat(path)
Hans-Christoph Steiner [Wed, 6 Dec 2017 08:47:08 +0000 (09:47 +0100)]
makebuildserver: make copy_caches_from_host do rsync like `fdroid build`
This rsync hung because of an SSH unknown key prompt. Since this is just
the vm host sshing to the vm guest, it is not essential to check the host
keys.
Hans-Christoph Steiner [Tue, 5 Dec 2017 15:11:10 +0000 (16:11 +0100)]
setup requires Babel aka python3-babel to compile translations
https://forum.f-droid.org/t/f-droid-server-building-error/1670
Hans-Christoph Steiner [Wed, 6 Dec 2017 09:13:45 +0000 (10:13 +0100)]
gitlab-ci: add `pip install` test on Arch Linux
Hans-Christoph Steiner [Mon, 4 Dec 2017 21:43:41 +0000 (22:43 +0100)]
gitlab-ci: add test runs on Ubuntu, Debian/testing, Fedora
Marcus Hoffmann [Sun, 3 Dec 2017 14:01:48 +0000 (15:01 +0100)]
common.testCase: fix find_sdk_tools when aapt is installed in /usr/bin
The testlogic was broken when having both aapt in /usr/bin and also as
part of the android sdk.
Hans-Christoph Steiner [Mon, 4 Dec 2017 11:10:46 +0000 (12:10 +0100)]
hooks/pre-commit: make ruby and dash tests optional
These are only used for checking syntax in buildserver/Vagrantfile.
Not requiring ruby makes doing CI tests on lots of distros easier
and faster. dash is an 'essential' package on Debian derivs, so
those tests will always be run somewhere.
Hans-Christoph Steiner [Mon, 4 Dec 2017 20:22:16 +0000 (21:22 +0100)]
common: aapt 24.0.0 (v0.2-
2964546) is now required
Without a recent aapt, the <uses-permission-sdk-23> tag will not be found.
Hans-Christoph Steiner [Wed, 6 Dec 2017 09:41:39 +0000 (09:41 +0000)]
Merge branch 'lint-fixes' into 'master'
Lint fixes, plus changing the standard link format in descriptions
See merge request fdroid/fdroidserver!397
Hans-Christoph Steiner [Wed, 6 Dec 2017 08:55:19 +0000 (08:55 +0000)]
Merge branch 'rsync_improvements' into 'master'
Rsync improvements
See merge request fdroid/fdroidserver!400
Hans-Christoph Steiner [Mon, 4 Dec 2017 19:54:06 +0000 (20:54 +0100)]
lint: greatly expand the list of link shorteners to ban
Since we are now getting credit for fighting trackers, might as well step
up the fight!
gleaned from these sources:
* https://bit.do/list-of-url-shorteners.php
* https://www.hashtags.org/featured/list-of-url-shorteners/
* http://l-lists.com/en/lists/gvaoif.html
Hans-Christoph Steiner [Mon, 4 Dec 2017 19:34:13 +0000 (20:34 +0100)]
lint: enforce HTTPS and shortener ban in descriptions as well
Hans-Christoph Steiner [Mon, 4 Dec 2017 19:33:42 +0000 (20:33 +0100)]
lint: switch links to plain URLS rather than mediawiki syntax
fdroidclient#1000
Hans-Christoph Steiner [Mon, 4 Dec 2017 19:28:57 +0000 (20:28 +0100)]
lint: add more VCS HTTPS checks
I manually checked that these work with HTTPS. fdroiddata!2710 should fix
all of these issues.
Marcus Hoffmann [Tue, 5 Dec 2017 20:37:04 +0000 (21:37 +0100)]
build: write out full rsync options
Also put target host:dir on one line to make it more readable
Marcus Hoffmann [Tue, 5 Dec 2017 20:31:55 +0000 (21:31 +0100)]
build: better logging output on rsync failures
Save rsync error output and combine that with the command invocation
into an FDroidException which can be logged to the wiki.
This additionally sets -q for rsync to only print errors.
Torsten Grote [Tue, 5 Dec 2017 17:42:57 +0000 (17:42 +0000)]
Merge branch 'nightly-fixes' into 'master'
more `fdroid nightly` polishing
See merge request fdroid/fdroidserver!399
Hans-Christoph Steiner [Tue, 5 Dec 2017 15:49:28 +0000 (16:49 +0100)]
fix `hg pull`, was stupid mistake in
7bba20c6626152abded6b1cd6bef4f72dcf865b6
fdroid/fdroidserver!396
Hans-Christoph Steiner [Tue, 5 Dec 2017 11:26:15 +0000 (12:26 +0100)]
jenkins-setup-build-environment: delete libvirt images before test run
profitbricks-build7-amd64 was running out of disk space when running this
job...
Hans-Christoph Steiner [Tue, 5 Dec 2017 08:13:19 +0000 (09:13 +0100)]
nightly: use shutil.move() only so all ops work across filesystems
https://gitlab.com/fdroid/fdroidserver/merge_requests/377#note_49998712
Hans-Christoph Steiner [Fri, 1 Dec 2017 13:08:42 +0000 (14:08 +0100)]
shutil.move() in apk_strip_signature() to work across filesystems
os.rename() only works if source and destination are on the same file
system, shutil.move() works across file systems.
OSError: [Errno 18] Invalid cross-device link: '/builds/eighthave/fdroidclient/app/build/outputs/apk/app-debug.apk' -> '/tmp/tmp966vh75f/tmp.apk'
Hans-Christoph Steiner [Fri, 1 Dec 2017 09:07:21 +0000 (10:07 +0100)]
nightly: only use read_config to load final, generated config.py
This needs to use the config loading routine to find Java `keytool`, but
since it doesn't need to fully load the config, isolate that usage in the
function. Then read_config() is only ever called once, as is it meant to
be used, once the config.py is generated.
Using `from . import common; common.config = foo` will not always work,
due to some oddities to how the `from` imports work. So the full module
has to be imported in order to make sure its always properly set.
Hans-Christoph Steiner [Thu, 30 Nov 2017 20:12:34 +0000 (21:12 +0100)]
nightly: resign APKs with provided debug.keystore
Rather than needing to run a command before and after the build, in order
to first install the debug.keystore, then after to fetch and publish the
APK, this makes `fdroid nightly` just resign the APK with the provided
debug.keystore. Then `fdroid nightly` can be run as the final step in a CI
build, and still ensure that the APKs are always signed by the provided
debug.keystore.
Hans-Christoph Steiner [Thu, 30 Nov 2017 20:10:41 +0000 (21:10 +0100)]
add common.sign_apk() for nighly as test for using in publish
Since the MD5 migration was quite a bit of work, it makes sense to start
on moving away from SHA1 as much as possible while it is easy to do. SHA256
will only work in APK signatures on android-18 (4.3) or newer. So if an
APK has a minSdkVersion of 18 or newer, then sign with SHA256.
https://issuetracker.google.com/issues/
36956587
https://android-review.googlesource.com/c/platform/libcore/+/44491
Hans-Christoph Steiner [Mon, 4 Dec 2017 18:48:24 +0000 (18:48 +0000)]
Merge branch 'CVE-2017-
1000117' into 'master'
block all SSH connections for VCS, for usabililty and security
See merge request fdroid/fdroidserver!396
Hans-Christoph Steiner [Mon, 4 Dec 2017 16:49:59 +0000 (17:49 +0100)]
block all SSH connections for VCS, for usabililty and security
If we allow SSH, then we'd have to manage known_hosts.
All VCS and submodule URLs should use HTTPS. SSH URLs have security vulns:
https://blogs.msdn.microsoft.com/devops/2017/08/15/git-vulnerability-with-submodules/
https://www.theregister.co.uk/2017/08/13/ssh_flaw_in_git_mercurial_svn/
CVE-2017-
1000117
I did a manual scan of the setup on jenkins.debian.net to see if I could
find any suspicious URLs. Looks good so far. This is what I used:
find . -type f -print0 |xargs -0 grep -Eo 'ssh[:+][svn/]+...................'
find . -type f -print0 |xargs -0 grep -Eo 'ssh://-[^ "]+'
Also, some ssh://_ URLs in submodules might still work, because of the URL
rewriting in
fdbfb4d1. But https://-oProxyCommand=pwnme does not really do
anything, unlike ssh://-oProxyCommand=pwnme
Marcus [Mon, 4 Dec 2017 16:29:11 +0000 (16:29 +0000)]
Merge branch 'submodules_ucm' into 'master'
checkupdates: don't fail when we can't init submodules
Closes #231
See merge request fdroid/fdroidserver!395
Marcus Hoffmann [Mon, 4 Dec 2017 14:10:21 +0000 (15:10 +0100)]
checkupdates: don't fail when we can't init submodules
Later revisions might have removed the submodules so we want to keep
going when there are no submodules present.
We still abort when there is an error initializing submodules.
Fixes fdroid/fdroidserver#231
Michael Pöhn [Sun, 3 Dec 2017 16:49:42 +0000 (16:49 +0000)]
Merge branch 'git_clone_fix' into 'master'
GitFetchFDroidPopen: don't change cwd when cloning
See merge request fdroid/fdroidserver!393
Marcus Hoffmann [Sun, 3 Dec 2017 13:18:18 +0000 (14:18 +0100)]
GitFetchFDroidPopen: don't change cwd per default
Fix for
ca24aa4ca85da123df613f7105249605764f1321.
For git clone we don't want to change cwd because clone actually
creates the repo dir.
Hans-Christoph Steiner [Sun, 3 Dec 2017 12:12:43 +0000 (13:12 +0100)]
stop `git clone` from hanging at prompts
Forgot this in
fdbfb4d1a2b4f97ff0e1b93739fee2f0c5652e63 !378
reviewed in person with @bubu @uniqx
relan [Sun, 3 Dec 2017 06:03:03 +0000 (06:03 +0000)]
Merge branch 'log_git' into 'master'
build: log vcs tools version on every build attempt
See merge request fdroid/fdroidserver!391
Marcus Hoffmann [Sat, 2 Dec 2017 21:41:08 +0000 (22:41 +0100)]
build: log vcs tools version on every build attempt
Hans-Christoph Steiner [Sat, 2 Dec 2017 20:51:24 +0000 (20:51 +0000)]
Merge branch 'metadataFlavours' into 'master'
Add flavour to metadata
See merge request fdroid/fdroidserver!370
Hans-Christoph Steiner [Sat, 2 Dec 2017 12:24:13 +0000 (13:24 +0100)]
build: hard exit on success to avoid hanging
Something is preventing `fdroid build --all` from exiting after a long
run. @bubu, @uniqx and I think it is because of the use of
AsynchronousFileReader, somehow it's thread does not exit. So the
workaround for now is to just try a hard exit instead of waiting for
things to finish cleanly with `sys.exit(0)`.
https://jenkins.debian.net/job/reproducible_fdroid_build_apps/94/console
Michael Pöhn [Sat, 2 Dec 2017 12:49:05 +0000 (12:49 +0000)]
Merge branch 'no_sleep' into 'master'
vmtools: remove old vagrant workaround
See merge request fdroid/fdroidserver!380
Marcus [Sat, 2 Dec 2017 12:34:27 +0000 (12:34 +0000)]
Merge branch 'sort-fdroid-build-all' into 'master'
sort `fdroid build --all` by most recent first
See merge request fdroid/fdroidserver!390
tobiasKaminsky [Sun, 12 Nov 2017 15:32:42 +0000 (16:32 +0100)]
add flavour to metadata
Hans-Christoph Steiner [Thu, 30 Nov 2017 09:14:38 +0000 (10:14 +0100)]
tests: use standard dir setup so all tests start in same dir
Hans-Christoph Steiner [Thu, 30 Nov 2017 08:59:02 +0000 (09:59 +0100)]
tests: name temp test dir after test function that used it
Hans-Christoph Steiner [Wed, 29 Nov 2017 21:03:26 +0000 (22:03 +0100)]
build: sort `fdroid build --all` by most recently changed first
Hans-Christoph Steiner [Thu, 30 Nov 2017 13:02:02 +0000 (14:02 +0100)]
mirror: fix syntax error on Python 3.4
It seems that Python 3.5 is more flexible with * expansion, Python 3.4 says:
SyntaxError: only named arguments may follow *expression
https://travis-ci.org/f-droid/fdroidserver/jobs/
309194065
Hans-Christoph Steiner [Thu, 30 Nov 2017 12:44:47 +0000 (13:44 +0100)]
Merge branch 'gradleFlavor' into 'master'
gradle file: use flavour specific versionCode/versionName, fall back to parsing line by line
See merge request fdroid/fdroidserver!389
Hans-Christoph Steiner [Thu, 30 Nov 2017 12:42:37 +0000 (13:42 +0100)]
PEP8 fixes
Hans-Christoph Steiner [Thu, 30 Nov 2017 12:28:28 +0000 (12:28 +0000)]
Merge branch 'polish-for-1.0' into 'master'
Polish for 1.0
Closes #421
See merge request fdroid/fdroidserver!388
tobiasKaminsky [Thu, 30 Nov 2017 10:12:18 +0000 (11:12 +0100)]
added test case
Hans-Christoph Steiner [Wed, 29 Nov 2017 19:04:18 +0000 (20:04 +0100)]
vmtools: in KVM mode, only call sudo hack when file is not readable
Hans-Christoph Steiner [Wed, 29 Nov 2017 12:24:19 +0000 (13:24 +0100)]
server: prevent crash when uploading to virustotal
Hans-Christoph Steiner [Tue, 28 Nov 2017 11:04:07 +0000 (12:04 +0100)]
init: handle case where keystore.jks is present but config.py is not
Hans-Christoph Steiner [Tue, 28 Nov 2017 09:40:11 +0000 (10:40 +0100)]
common: document read_pkg_args() and read_app_args()
It took me a long time to figure out how `fdroid build --all` builds the
whole list of apps...
Hans-Christoph Steiner [Tue, 28 Nov 2017 09:39:35 +0000 (10:39 +0100)]
build: set open file limit based on how many apps are being processed
When running `fdroid build --all` on a buildserver with thousands of apps,
it was frequently hitting the open file limit. This increases the open
file limit based on how many apps are being process. It is doubled to
provide a margin of safety.
There are probably open file leaks which ideally would be fixed, but this
is also useful to make things more resilient to all the random stuff apps
include in their build systems.
Hans-Christoph Steiner [Fri, 24 Nov 2017 08:21:28 +0000 (09:21 +0100)]
buildserver: include all Android SDK licenses in their exact format
I tried to clone the files I got from `sdkmanager --licenses`, byte for
byte.
Hans-Christoph Steiner [Mon, 27 Nov 2017 21:35:57 +0000 (22:35 +0100)]
nightly: automatically create and manage app metadata
This also allows the developer to edit the metadata in the *-nightly git
repo to customize it.
closes #421
Hans-Christoph Steiner [Mon, 27 Nov 2017 21:29:11 +0000 (22:29 +0100)]
nightly: fix QR code repo icon generation
Hans-Christoph Steiner [Mon, 27 Nov 2017 21:24:59 +0000 (22:24 +0100)]
nightly: include 'qrcode' as dependency
Hans-Christoph Steiner [Wed, 29 Nov 2017 10:21:34 +0000 (11:21 +0100)]
update: use KnownApks dates to check system clock on offline machines
KnownApks provides a reliable source of a relatively recent date.
Hans-Christoph Steiner [Wed, 29 Nov 2017 19:34:11 +0000 (19:34 +0000)]
Merge branch 's3cfg' into 'master'
server: allow user to specify custom s3cfg file
Closes #413
See merge request fdroid/fdroidserver!385
Hans-Christoph Steiner [Tue, 28 Nov 2017 11:07:51 +0000 (12:07 +0100)]
server: allow user to specify custom s3cfg file (closes #413)
This lets people do advanced S3 setups like CloudFront caching, and
anything else s3cmd lets you do.
Marcus [Wed, 29 Nov 2017 17:29:42 +0000 (17:29 +0000)]
Merge branch 'fdroid-mirror' into 'master'
mirror: new command to make a mirror of a repo
See merge request fdroid/fdroidserver!389
Hans-Christoph Steiner [Wed, 29 Nov 2017 16:12:38 +0000 (17:12 +0100)]
mirror: fix downloading of graphics
It was downloading them all directly into the 'repo' folder.
Hans-Christoph Steiner [Wed, 29 Nov 2017 15:54:52 +0000 (16:54 +0100)]
mirror: forward --verbose flag to wget to control output
Hans-Christoph Steiner [Wed, 29 Nov 2017 15:54:27 +0000 (16:54 +0100)]
mirror: verify index signature if fingerprint included in URL
This keeps the old handling without signature checks so that it works
without requiring Java/apksigner or the whole config.py parsing stuff.