From 7af7297ca8a3b0a38ec22baad190b37a36b5dc84 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 10 Jan 2017 10:54:21 +0100 Subject: [PATCH 1/3] buildserver: support installing packages from Debian/testing Sometimes, a build process requires newer versions of build tools than are available in Debian/stable. Oftentimes, using the package straight from Debian/testing works fine when a package is not available as a backport. libtool 2.4.6 is needed for building VLC, so it is one example of this. The preferences file sets up the apt "pinning" so that all updates are not installed from testing, only the packages that are requested by adding "/testing" after then package name. closes #224 --- buildserver/provision-apt-get-install | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/buildserver/provision-apt-get-install b/buildserver/provision-apt-get-install index 8f2a9b58..a60cdb99 100644 --- a/buildserver/provision-apt-get-install +++ b/buildserver/provision-apt-get-install @@ -16,6 +16,8 @@ printf 'APT::Acquire::Retries "20";\n' \ if grep --quiet jessie /etc/apt/sources.list; then echo "deb $debian_mirror jessie-backports main" > /etc/apt/sources.list.d/backports.list + echo "deb $debian_mirror testing main" > /etc/apt/sources.list.d/testing.list + printf "Package: *\nPin: release o=Debian,a=testing\nPin-Priority: -300\n" > /etc/apt/preferences.d/debian-testing fi dpkg --add-architecture i386 @@ -59,8 +61,8 @@ packages=" libsaxonb-java libssl-dev libstdc++6:i386 - libtool - libtool-bin + libtool/testing + libtool-bin/testing make maven mercurial From 948689281a09b640c20a61d6af8acea99454d3c2 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 11 Jan 2017 22:42:41 +0100 Subject: [PATCH 2/3] ensure fdroiddata metadata file overrides .fdroid.yml in source If the already parsed App instance from metadata/*.* has a field, then the value coming from .fdroid.yml should not override it. --- fdroidserver/metadata.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index c70b1642..9af8a107 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -996,7 +996,11 @@ def parse_metadata(metadatapath, check_vcs=False): vcs.gotorevision('HEAD') # HEAD since we can't know where else to go if os.path.isfile(metadata_in_repo): logging.debug('Including metadata from ' + metadata_in_repo) - app.update(parse_metadata(metadata_in_repo)) + # do not include fields already provided by main metadata file + app_in_repo = parse_metadata(metadata_in_repo).field_dict() + for k, v in app_in_repo.items(): + if k not in app.field_dict(): + app.set_field(k, v) post_metadata_parse(app) From 4741f75f03d3a4a11d10fdea20676025941dce20 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 12 Jan 2017 10:19:38 +0100 Subject: [PATCH 3/3] buildserver: update android_m2repository to latest (r41) --- makebuildserver | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/makebuildserver b/makebuildserver index 59f7dddf..81af4f2d 100755 --- a/makebuildserver +++ b/makebuildserver @@ -123,8 +123,8 @@ if config['apt_package_cache']: cachefiles = [ ('https://dl.google.com/android/repository/tools_r25.2.2-linux.zip', '10d5185af8fee80a7ee093585bf84962d0a877b92a8fef489e2030e910f6a360'), - ('https://dl.google.com/android/repository/android_m2repository_r40.zip', - 'be4c20cdecba6186d046b4a499895a9a8be1955427dc3f3e7495fa9dcc392d29'), + ('https://dl.google.com/android/repository/android_m2repository_r41.zip', + 'db680c430fb0b851a2c66bf0bbf07b86dcbd60b48abc14859a054d347fe8f2a2'), ('https://dl.google.com/android/repository/android-1.5_r04-linux.zip', '85b6c8f9797e56aa415d3a282428bb640c96b0acb17c11d41621bb2a5302fe64'), ('https://dl.google.com/android/repository/android-1.6_r03-linux.zip',