1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-12 18:20:11 +01:00
Commit Graph

4272 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
14de399bb7 buildserver: remove Kivy, unused since 2013 and out of date
This is the last thing using Chef, which adds a lot of time to the time it
takes to fully provision the buildserver.  This slows down development on
the things we are actually using, like running all builds on
jenkins.debian.net.

#210 #165
2016-09-12 14:58:08 +02:00
Hans-Christoph Steiner
91c1e8313f buildserver: download apt package first to increase reliability
This does not have the careful result rechecking that chef has, when it
installs each package in the list one at a time.  So to help with failures
caused by a package failing to download, first try downloading all the
package, then run the install.  The install pass will try to download any
missing packages.

Really, this should use ansible or perhaps chef again since those include
lots of tricks around this stuff.
2016-09-12 14:58:08 +02:00
Hans-Christoph Steiner
7b64bdcf0b buildserver: only specify lib*-dev to future proof package list
Using libssl-dev will work on all releases of Debian, but Debian/stretch
does not have libssl1.0.0.
2016-09-12 14:58:08 +02:00
Hans-Christoph Steiner
73947092fa buildserver: test build of Checkey and old F-Droid
The buildserver should still be able to build old versions of apps, and
Checkey is a verified, reproducible build.
2016-09-12 14:58:08 +02:00
Hans-Christoph Steiner
b717271c61 buildserver: force a known-good version of chef
This forces the release channel and version of chef-solo to install on the
guest VM.  I was getting really massive, odd stacktraces without specifying
this, and chef is only used for Kivy now anyway.
2016-09-12 14:58:08 +02:00
Hans-Christoph Steiner
dc2f53b48c buildserver: vagrant-cachier conflicts with custom apt cache
The technique where /var/cache/apt is mounted as a shared folder conflicts
with vagrant-cachier's workings.  Therefore, ignore vagrant-cachier if the
user selects ./makebuildserver's custom apt cache.  The shared folder way
has the advantage for CI builds of storing the cache outside of
VAGRANT_HOME, which is set to be in the git project.  That gets wiped by
`git clean -fdx` on each CI build.
2016-09-12 14:58:08 +02:00
Hans-Christoph Steiner
d522988d8c make metadata exceptions optional based on CLI flag
In many cases, there are times where metadata errors need to be ignored, or
at least not stop the command from running.  For example, there will
inevitably be new metadata fields added, in which case a packaged version
of fdroidserver will throw errors on each one.  This adds a standard -W
flag to customize the response: ignore, default, or error.

* by default, the errors are still errors
* `fdroid readmeta -W` will just print errors
* `fdroid readmeta -Wignore` will not even print errors

https://gitlab.com/fdroid/fdroidserver/issues/150
2016-09-12 12:55:48 +02:00
Daniel Martí
34f451361f Bump to 0.7.0 2016-09-11 11:52:11 +02:00
Daniel Martí
9f88bc6324 Merge branch 'updates' into 'master'
all: bump to build-tools 24.0.2

Update the docker image to include it there too.

See merge request !163
2016-09-10 10:06:44 +00:00
Daniel Martí
fd7a8c83c8 all: bump to build-tools 24.0.2
Update the docker image to include it there too.
2016-09-10 11:45:39 +02:00
Hans-Christoph Steiner
12d0fbf8c5 Merge branch 'buildserver-fixes' into 'master'
buildserver fixes

updates to the Android SDK packages used by `./makebuildserver`

See merge request !162
2016-09-05 08:48:49 +00:00
Hans-Christoph Steiner
91ceb5aff3 update to platform-24_r02 in ./makebuildserver 2016-08-30 19:48:07 +02:00
Hans-Christoph Steiner
d831ccab20 add build-tools_r24.0.2-linux.zip to ./makebuildserver 2016-08-30 19:17:30 +02:00
Hans-Christoph Steiner
bf1dff7986 new build-tools_r24.0.1.zip sha256, Google keeps changing it
I validated this versus the Google repository XML downloaded from two
separate paths from:
https://dl.google.com/android/repository/repository-12.xml

Using their SHA1:
84f18c392919a074fcbb9b1d967984e6b2fef8b4
2016-08-30 19:16:31 +02:00
Hans-Christoph Steiner
0bcd4f958b Merge branch 'patch-1' into 'master'
Add buildserver lxml requirement for pEp



See merge request !161
2016-08-30 16:09:10 +00:00
huss
261fde8ac7 Add buildserver lxml requirement for pEp 2016-08-28 12:47:12 +00:00
Daniel Martí
b92ee2b5c6 Merge branch 'fix-push-requests' into 'master'
Fix push requests

Two bug fixes found in the process of implementing the client side of the push requests in https://gitlab.com/fdroid/fdroidclient/merge_requests/386

This is related to !156.

See merge request !160
2016-08-26 22:26:17 +00:00
Hans-Christoph Steiner
c98ce54991 make build reproducible by fixing sort order in docs
From Debian https://bugs.debian.org/835463
 Description: Make the build reproducible
 Author: Chris Lamb <lamby@debian.org>
 Last-Update: 2016-08-26
2016-08-26 13:41:14 +02:00
Hans-Christoph Steiner
6126b55136 rename server request from "delete" to "uninstall"
This matches the Android API's current Intent action for this, rather than
the deprecated one:

https://gitlab.com/fdroid/fdroidclient/blob/v0.101-alpha5/app/src/main/java/org/fdroid/fdroid/installer/DefaultInstallerActivity.java#L147
https://developer.android.com/reference/android/content/Intent.html#ACTION_UNINSTALL_PACKAGE
https://developer.android.com/reference/android/content/Intent.html#ACTION_DELETE
2016-08-24 23:05:34 +02:00
Hans-Christoph Steiner
a6a8d34528 sanitize mirror URLs to prevent path segments from being removed
urllib.parse.urljoin() will strip off the last path segment before joining
if that last path segment does not end with /.  That's a "feature" to make
it easy to replace file names.  Here it was stripping off the essential
'fdroid' segment, making URLs like:

https://foo.com/repo

when they should be

https://foo.com/fdroid/repo
2016-08-24 23:05:34 +02:00
Daniel Martí
1c49c3af1d Merge branch 'ci-bump' into 'master'
CI: bump docker image



See merge request !159
2016-08-22 09:25:19 +00:00
Daniel Martí
a006f277bc CI: bump docker image 2016-08-21 11:11:01 +02:00
Daniel Martí
baea79f739 makebs: add gradle 3.0 2016-08-18 17:53:27 +02:00
Daniel Martí
8bcaed37a1 makebs: bump m2repository to r36 (24.2.0) 2016-08-18 17:48:01 +02:00
Daniel Martí
8d6375b1bb makebs: bump tools to r25.2.1 2016-08-18 17:47:49 +02:00
Daniel Martí
b5fcea73c5 gradle: plugins 2.2 and 2.1.3 require 2.14.1 2016-08-18 17:38:36 +02:00
Hans-Christoph Steiner
62c59c8534 Merge branch 'push-install' into 'master'
set up install/delete lists for "push" commands from server

It is now possible for the server operator to specify lists of apps that must be installed or deleted on the client (aka "push installs).  If
the user has opted in, or the device is already setup to respond to these requests, then fdroidclient will automatically install/delete
the packageNames listed.  This is protected by the same signing key as the app index metadata.

It generates single XML elements with the data set in the attributes. This keeps the XML compact and easily extensible, e.g. for adding versionCode, signingKey, etc as attributes:

```xml
    <install packageName="com.fsck.k9"/>
    <install packageName="at.bitfire.davdroid"/>
    <delete packageName="com.facebook.orca"/>
```

See merge request !156
2016-08-17 09:18:31 +00:00
Hans-Christoph Steiner
85632ba00e set up install/delete lists for "push" commands from server
It is now possible for the server operator to specify lists of apps that
must be installed or deleted on the client (aka "push installs).  If
the user has opted in, or the device is already setup to respond to
these requests, then fdroidclient will automatically install/delete
the packageNames listed.  This is protected by the same signing key
as the app index metadata.

It generates single XML elements with the data set in the attributes. This
keeps the XML compact and easily extensible, e.g. for adding versionCode,
signingKey, etc as attributes:

    <install packageName="com.fsck.k9"/>
    <install packageName="at.bitfire.davdroid"/>
    <delete packageName="com.facebook.orca"/>

Copyright: 2016 Blue Jay Wireless
Signed-off-by: Hans-Christoph Steiner <hans@eds.org>

closes #177
2016-08-16 21:02:15 +02:00
Daniel Martí
329e0247d5 Merge branch 'ndk11' into 'master'
Add ndk r11c

NDK11 is required by some apps (some versions of VLC) which will not build with r10e or r12b. As always, please test this before merging: I havent added a NDK before.

See merge request !155
2016-08-14 09:15:04 +00:00
Daniel Martí
76ecacc693 makebs: add automake
Version 1.14 is needed for k9 and some other apps.
2016-08-14 09:57:29 +02:00
Boris Kraut
815961acc5 Add ndk r11c 2016-08-14 00:59:31 +02:00
Daniel Martí
ec685342a4 Merge branch 'gradle-2.14.1' into 'master'
Add gradle 2.14.1

I hope verything is doen correctly, didnt add any gradle versions since moving from chef.. (or at all?)

See merge request !154
2016-08-12 20:36:35 +00:00
Boris Kraut
840cafd151 Add gradle 2.14.1 2016-08-12 20:25:38 +02:00
Hans-Christoph Steiner
abb4c5587f Merge branch 'java-home-lookup' into 'master'
Fix JDK lookup

Fix two cases when JDK path lookup could fail (found those issues on my Fedora 24 box).

See merge request !153
2016-08-09 15:44:06 +00:00
Hans-Christoph Steiner
911297272c Merge branch 'permission-parsing' into 'master'
Parse maxSdkVersion and -23 permission tags

Parse maxSdkVersion and uses-permission-sdk-23 tags and insert them into the index.

AndroidManifest:
```xml
    <uses-permission android:name="android.permission.READ_CALENDAR" />

    <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="18" />

    <uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION" />
```

new index format:
```xml
<package>
            <version>1.0</version>
            <versioncode>1</versioncode>
            <apkname>maxmin.apk</apkname>
            <hash type="sha256">526eb6d643050c3fae42fb6c001c704006046db52e98998b21f7646ecae3dae5
            </hash>
            <sig>893fc1f22301c902d05c938b29d21648</sig>
            <size>8681</size>
            <sdkver>14</sdkver>
            <targetSdkVersion>24</targetSdkVersion>
            <added>2016-08-01</added>
            <permissions>READ_EXTERNAL_STORAGE,READ_CALENDAR,WRITE_EXTERNAL_STORAGE</permissions>
                <uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"
                    maxSdkVersion="18" />
                <uses-permission name="android.permission.READ_CALENDAR" />
                <uses-permission name="android.permission.READ_EXTERNAL_STORAGE" />
                <uses-permission-sdk-23 name="android.permission.ACCESS_FINE_LOCATION" />
</package>
```

old format:
```xml
<permissions>READ_CALENDAR,ACCESS_FINE_LOCATION,WRITE_EXTERNAL_STORAGE</permissions>
```

This generates both formats for backward compatibility with old clients.

Also increase version of index format.

This is a proposal for the issues discussed in https://gitlab.com/fdroid/fdroidclient/issues/704

@eighthave @mvdan 

See merge request !150
2016-08-09 15:33:19 +00:00
Dominik Schürmann
cb965dcb07 Parse maxSdkVersion and -23 permission tags
Parse maxSdkVersion and uses-permission-sdk-23
tags and insert them into the index, e.g.,
<package>
 <permissions>READ_EXTERNAL_STORAGE,READ_CALENDAR,WRITE_EXTERNAL_STORAGE</permissions>
  <uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"
   maxSdkVersion="18" />
  <uses-permission name="android.permission.READ_CALENDAR" />
  <uses-permission name="android.permission.READ_EXTERNAL_STORAGE" />
  <uses-permission-sdk-23 name="android.permission.ACCESS_FINE_LOCATION" />
</package>

Also increase version of index format
2016-08-09 10:14:57 +02:00
relan
162808a4cc Check javac existence when looking for JDK
Empty JDK directories can remain from previous JDK installations. For
example in RHEL/Fedora when RPM upgrades a package it can leave modified
files (usually configs) and, consequently, their directories. So we could
end up selecting a bad JDK path.
2016-08-08 07:25:26 +03:00
Ciaran Gultnieks
83951d0ed5 Merge branch 'fix-ndk' into 'master'
Re-add NDK r12b and fix build-tools 24.0.1



See merge request !152
2016-08-04 09:16:43 +00:00
relan
07660fdb13 Fix JAVA_HOME environment variable handling
Append JAVA_HOME to pathlist as a string, not as a list of characters.
2016-08-03 08:21:46 +03:00
Daniel Martí
4b5b1fca6f makebs: work around build-tools 24.0.1 version bug
The zip contains 24.0.0 as the version, which means our magic was
installing 24.0.0 twice and skipping 24.0.1.
2016-08-02 18:08:48 +02:00
Daniel Martí
662aa2c938 all: switch to build-tools 24.0.1 as default 2016-08-02 11:12:01 +02:00
Daniel Martí
059d216aff Re-add NDK r12b, now fixed. 2016-08-02 11:10:31 +02:00
Ciaran Gultnieks
bf153ec247 Revert "all: add NDK r12b and set it as default"
This reverts commit 82d09560c6.

It doesn't work - the setup scripts are expecting a ".bin" file (which
is apparently a 7z archive), but what's actually got is a ".zip".

Conflicts:
	buildserver/provision-android-ndk
2016-08-01 12:38:52 +01:00
Ciaran Gultnieks
e99454868a Catch another case of invalid wiki page names 2016-08-01 12:25:22 +01:00
Daniel Martí
5e6b986c40 Merge branch 'bump-ci' into 'master'
CI: bump docker image



See merge request !151
2016-08-01 06:07:26 +00:00
Daniel Martí
70777233d0 CI: bump docker image 2016-08-01 00:57:32 +02:00
Daniel Martí
690711e7f8 Merge branch 'pep' into 'master'
bs: add sqlite3 and asn1c

Ref: https://gitlab.com/fdroid/fdroiddata/merge_requests/1557

See merge request !149
2016-07-31 17:15:58 +00:00
Daniel Martí
e46debe12e common: extra checks for NDK in local.props
The previous commit fixed it in local setups, this fixes it in broken
buildservers too and makes it more reliable.
2016-07-28 08:26:51 +02:00
Daniel Martí
957f01f1d6 makebs: fix config crash
Without this, running makebuildserver from a clean master results in the
following:

	 $ ./makebuildserver
	Traceback (most recent call last):
	  File "./makebuildserver", line 74, in <module>
	    del(config['__builtins__'])  # added by compile/exec
	KeyError: '__builtins__'

This is because a clean checkout has no config, thus exec is never
actually ran.
2016-07-27 11:20:17 +02:00
Daniel Martí
7b36ffa2a6 wp-fdroid: add 7.0 (24) to the versions list 2016-07-25 14:56:54 +02:00