Commit Graph

46 Commits

Author SHA1 Message Date
Hans-Christoph Steiner e659a5353d
provision-apt-get-install: gpg needs to come from stretch-backports
https://gitlab.com/eighthave/fdroiddata/-/jobs/611438997
Otherwise it fails to install:

```
  gpg : Depends: gpgconf (= 2.2.20-1~bpo9+1)
        Depends: libassuan0 (>= 2.5.0) but 2.4.3-2 is to be installed
        Depends: libgpg-error0 (>= 1.35) but 1.26-2 is to be installed
```

* 7e8c244473
* !769
2020-06-25 18:08:31 +02:00
Hans-Christoph Steiner 7e8c244473 provision-apt-get-install: ensure gpg is installed
The basebox installs gpg, but when this script is used to provision
a GitLab CI Runner, gpg was missing.  It is used in some builds.
2020-06-24 21:43:58 +02:00
Hans-Christoph Steiner 1ed4ed61c7 buildserver: explicitly include sudo as a dependency
The basebox currently provides sudo, but that may not always be the case.
This makes the sudo dependency explicit, so that this provisioning script
can also be used in other settings, like GitLab CI.
2020-05-27 22:09:52 +02:00
Licaon_Kter 9e8aef6771 Add stretch-backports-sloppy repo too 2020-03-30 07:10:51 -04:00
Hans-Christoph Steiner bfe8f05de6
fix syntax error from ae86dc3d38
fdroid/fdroidserver!713

[skip ci]
2020-02-11 12:48:42 +01:00
Hans-Christoph Steiner ae86dc3d38 buildserver: set quiet options to stop apt-get spamming build logs
https://gitlab.com/fdroid/fdroidserver/issues/636#note_266483988
2020-02-05 20:36:25 +01:00
Michael Pöhn 67731470cc Revert "Merge branch 'write-yaml-overhaul' into 'master'"
This reverts merge request !630
2019-04-01 10:24:00 +00:00
Michael Pöhn 63afc0acb5 use pyyaml for writing metadata instead of ruamel 2019-03-18 22:45:35 +01:00
Hans-Christoph Steiner d6545732e4 buildserver: disable all automatic apt-get updates
Prevents errors due to:
dpkg: error: dpkg status database is locked by another process

closes #437
2018-12-12 17:38:26 +01:00
Hans-Christoph Steiner fa7c59eea1 buildserver: include disorderfs to avoid sudo: in metadata
Right now, the only thing that Briar needs in sudo: in order to be built
reproducibly is `apt-get install disorderfs`.  This includes it in the
standard image to make it easy to spread that technique to many builds.

@grote
2018-12-06 21:55:02 +01:00
Marcus Hoffmann 13431fe54e provision-apt: don't run dist-upgrade
It might be a breaking operation with certain package configurations.
Package updates that require this (kernel) should come through the
basebox
2018-11-28 18:58:14 +01:00
Marcus Hoffmann 51accbd1d2 provision-apt: also run dist-upgrade
This ensures the kernel is upgraded as well with security fixes.
2018-11-27 18:14:50 +01:00
Marcus Hoffmann ffb78afd0b provision-apt: add assumeyes config
closes #600
2018-11-27 18:13:33 +01:00
Marcus Hoffmann 90a1703ccc makebuildserver: remove packages that should be installed per app
Or these are otherwise old cruft
2018-11-27 14:47:36 +01:00
Marcus Hoffmann 3c1a5873ab provision-apt: don't use automake/libtool from testing
This was set up when running jessie and shouldn;t be requried for now.
2018-11-27 14:47:17 +01:00
Marcus Hoffmann 85b90ee266 provision-apt: add DEBIAN_FRONTEND=noninteractive
This should fix #591 and related issues.
2018-11-27 14:47:08 +01:00
Michael Pöhn 201240e603 simplify debian mirror setup 2018-11-27 14:07:19 +01:00
Hans-Christoph Steiner e2e63c9ac3 buildserver: include pip for both Python 2.x and 3.x
`pip install` is a relatively common thing for app builds to use in sudo=,
so it should be built into the buildserver.  This then builds in the trust
relationship to pypi, since it comes from Debian rather than some random
pip download/install process.
2018-11-20 12:10:40 +01:00
Marcus Hoffmann 10e3165e41 provisioners: work around apt-get update problem 2018-10-24 13:06:27 +02:00
Hans-Christoph Steiner ee509782a2 buildserver: apt-transport-https needs ca-certificates
ca-certificates is set as Recommends: but for our use cases it is required
since without it, standard CA-signed certs fail to validate.
2018-09-19 16:48:00 +02:00
Michael Pöhn 98806d7c01 configure headless openjdk to run without gtk accessability dependencies 2018-09-13 11:11:18 +02:00
Michael Pöhn a5ef08f57d more general regex for updating debian repo urls in buildserver provisions 2018-09-13 11:11:18 +02:00
Michael Pöhn aa86e56338 updated buildserver provisions to stretch 2018-09-13 11:11:18 +02:00
Hans-Christoph Steiner cf4c9cb4ee buildserver now needs python3-defusedxml
4d13a904f3 means that defusedxml is required
to be installed on the buildserver guest.
2018-09-03 22:56:08 +02:00
Hans-Christoph Steiner f0940540ee buildserver: include python3-git for future use
We should be replacing all our custom git shell commands with python3-git,
since it is a common library for doing that.  It will receive a lot more
attention and maintenance than our code for doing it.  For example, we
should not ever use shell=True, since that opens up a lot of security
risks.
2018-01-26 10:18:41 +01:00
Hans-Christoph Steiner 62ddab7edd buildserver: remove Qt installer, its huge, outdated, and being replaced
The currently included Qt has known security issues and is outdated.  This
can now be replaced by downloading and installing the Qt installer using
the sudo= build field.  @relan's provisioner system will also replace this
once that's done.  There are only two apps that currently use the Qt stuff:

* csd.qtproject.minesweeper
* org.openorienteering.mapper
2018-01-23 20:28:26 +01:00
Hans-Christoph Steiner cd3e531731 buildserver: force no auto updates of package lists or upgrades 2018-01-22 13:49:10 +01:00
Hans-Christoph Steiner c45264b190 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.
2017-11-23 23:27:59 +01:00
Michael Pöhn cdec1a5b80 add ruamel yaml to buildserver depenencies 2017-07-04 11:51:08 +02:00
Andrew Patrikalakis 61553a8e93 Add required packages for linphone 3.1.0 build 2017-05-23 21:20:10 -07:00
Boris Kraut fec2f677bf buildserver: use hg 3.9 from backports 2017-05-10 18:55:38 +02:00
Michael Pöhn 82bc71fa6f provision missing pyasn1 dependency to build server 2017-04-13 00:44:53 +02:00
Hans-Christoph Steiner 580a9eb058 buildserver: support HTTPS Debian mirrors
The ever troublesome gpjenkins box needs to use HTTPS mirrors.  Plus it
improves the security of the buildserver, since there have been CVEs that
HTTPS would protect against:
https://www.debian.org/security/2016/dsa-3733
2017-03-16 15:06:35 +01:00
Hans-Christoph Steiner 1eb65c7087 buildserver: use automake and cmake from jessie-backports
These should be reasonably backwards compatible, and there is already
automake1.11 for those that need a version that old.  As for cmake, there
are five apps that seem to it:

com.amaze.filemanager
org.dolphinemu.dolphinemu
org.navitproject.navit
org.yabause.android
org.videolan.vlc

It looks like VLC is the only app that is currently building and using
cmake in the most recent releases.  Some of them used to use cmake, but no
longer.
2017-02-07 10:47:20 +01:00
Hans-Christoph Steiner 4929349555 buildserver: add openjdk-8-jdk-headless depends from backports 2017-02-06 14:59:15 +01:00
Hans-Christoph Steiner 7af7297ca8 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
2017-01-10 10:56:03 +01:00
Hans-Christoph Steiner 8caf98a00b buildserver: install gettext from jessie-backports
In order to install a package from jessie-backports, apt-get has to be told
to get it from there rather than the main archive.  It will not use
jessie-backports by default even if it is added as an apt source.

closes #224
2017-01-03 22:24:38 +01:00
Boris Kraut c788774d85 buildserver: install nodejs 2016-11-07 22:54:47 +01:00
Hans-Christoph Steiner 3651e7eb9a buildserver: retry apt-get downloads 20 times
Try harder before failing the whole buildserver setup.
2016-09-19 16:33:12 +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
huss 261fde8ac7 Add buildserver lxml requirement for pEp 2016-08-28 12:47:12 +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 998c016925 bs: add sqlite3 and asn1c 2016-07-23 19:14:28 +02:00
Hans-Christoph Steiner 4e787cc750 buildserver: make provision scripts output name to log 2016-07-04 23:54:52 +02:00
Hans-Christoph Steiner aafad6b909 buildserver: move apt setup to a shell script
This makes it so there is only a single `apt-get install` command run,
instead of one command per-package like with the chef script.  It also adds
`apt-get upgrade` to make sure that the base box is fully up-to-date.
2016-07-04 23:54:52 +02:00