Commit Graph

464 Commits

Author SHA1 Message Date
proletarius101 2fc9564ebe
use full base docker image 2024-03-14 13:14:40 +01:00
Licaon_Kter 5733545972
fine tune purge 2024-03-14 13:14:40 +01:00
Licaon_Kter 27206162d4
Upgrade Buildserver VM to latest Debian (Bookworm) 2024-03-14 13:14:39 +01:00
Licaon_Kter d31856b6c7
Upgrade Buildserver VM to latest Debian (Bookworm) 2024-03-14 13:14:35 +01:00
Licaon_Kter f30dcf5069
Upgrade Buildserver VM to latest Debian (Bookworm) 2024-03-14 13:14:34 +01:00
Andrew Gunnerson f4f1de941c
buildserver: Add python3-packaging dependency
Signed-off-by: Andrew Gunnerson <accounts+gitlab@chiller3.com>
2023-11-15 18:43:58 -05:00
Hans-Christoph Steiner 8aad2dd0c3 allow gradle/sdkmanager to install extras;android;m2repository
closes #1169
2023-11-09 12:25:33 +00:00
Hans-Christoph Steiner 48be7c3b25
buildserver: fix apt Acquire::Retries syntax
Acquire is its own group, not a subgroup of APT:
https://manpages.debian.org/buster/apt/apt.conf.5.en.html#THE_ACQUIRE_GROUP
2023-04-11 16:33:14 +02:00
Hans-Christoph Steiner c1342ab9d6 stop pre-installing the ndk 2022-11-15 13:25:19 +00:00
Jochen Sprickerhof 5b7c186e4a
Fix locale on buildserver to C.UTF-8
Regression of 817a156ea.
2022-11-14 16:06:31 +01:00
Jochen Sprickerhof a2050a72fa Disable man-db auto-update (as done by sbuild) 2022-11-03 17:21:16 +00:00
Hans-Christoph Steiner 2bf706ebe6
buildserver: clean up dirs from purged packages 2022-11-03 13:27:20 +01:00
Hans-Christoph Steiner d6008cdb2a
convert examples/makebuildserver.config.py to Vagrantfile.yaml
Also, tests/androguard_test.py was removed long ago
2022-11-03 13:27:18 +01:00
Hans-Christoph Steiner abf535aabe
buildserver: move config to buildserver/Vagrantfile.yaml 2022-11-03 13:27:16 +01:00
Hans-Christoph Steiner e2fcd633fc
buildserver: hard code basebox name and version
This is not user-configurable, so it should not be setup to be.  This
process is only tested on the one basebox, and devs can just edit
Vagrantfile directly to test other base boxes.

# Conflicts:
#	makebuildserver
2022-11-03 13:27:15 +01:00
Hans-Christoph Steiner 21ea1c1c89
makebuildserver: purge apt_package_cache feature
This is unmaintained, lightly used, a tangled mess, and can be replaced by
things like the vagrant-cachier plugin or #418
2022-11-03 13:27:11 +01:00
Hans-Christoph Steiner 7976ecc12a buildserver: mark fdroidserver deps as manual
This lets build steps use `apt-get autoremove` and still have a working
fdroidserver.
2022-10-25 19:48:27 +02:00
Hans-Christoph Steiner 817a156ea5 buildserver: strip extraneous packages installed in Vagrant base box
The official Debian Vagrant box seems to be a "batteries included" kind of
thing.  The buildserver should be as small as possible, so this removes all
the extraneous packages I could find in the Vagrant basebox.
2022-10-25 19:47:31 +02:00
Hans-Christoph Steiner 1dd480405e
buildserver: let `vagrant package ` handle insecure private key
This script was overwriting the provisioning that `vagrant package` does
already, and breaking `vagrant ssh`.  It should have been removed in !1099

closes #990
    fdroid-bootstrap-buildserver#12
    !1012
    !1099
c6f5956537
2022-10-20 17:42:53 +02:00
Hans-Christoph Steiner 9089750277 buildserver: show informative message if Vagrant is not configed 2022-10-13 13:56:56 +00:00
Hans-Christoph Steiner bdc10caa57 add missing build-tools and platforms 2022-10-12 20:57:55 +02:00
Hans-Christoph Steiner daa5ad152e buildserver: install default SDK packages using fdroid/sdkmanager
fdroid/sdkmanager provides a root of trust to verify all the packages it
downloads, so it fully replaces what makebuildserver was doing.

closes #927
2022-10-12 20:57:55 +02:00
Jochen Sprickerhof 300278e7c2 remove transitional apt-transport-https package 2022-10-12 18:57:23 +00:00
Hans-Christoph Steiner fd9b911a42 Dockerfile: apt-mark manual fdroidserver dependencies
Then apt-get does not warn about unneeded deps that could be autoremoved.
2022-10-12 18:57:23 +00:00
Hans-Christoph Steiner 759fa3b40a
buildserver: fix apksigner install
Adding /bullseye-backports confuses things apparently.  Without it, apt
will look in bullseye-backports automatically, including for deps.  But it
will not look for deps in bullseye-backports if /bullseye-backports is used.

!1205
2022-10-11 16:23:45 +02:00
linsui 47cbc47346 Pre-install git-svn and mercurial 2022-10-11 13:31:51 +00:00
Hans-Christoph Steiner b58eaa224b buildserver: include apksigner for Binaries: verification
Verification of Binaries: happens in the buildserver VM first, so it needs
a matching version of apksigner as the rest of the process.  This fixes:
https://gitlab.com/fdroid/fdroidserver/-/jobs/3154772374
2022-10-11 12:03:55 +00:00
Hans-Christoph Steiner e192eb4a32
buildserver: prevent fdroidserver deps from being purged in Docker 2022-10-11 10:52:54 +02:00
Hans-Christoph Steiner a0ea27632e buildserver: use HTTPS for security.debian.org
It is now officially supported:
https://guardianproject.info/2021/12/08/debian-over-https/
2022-10-10 21:22:59 +02:00
Hans-Christoph Steiner c6f5956537 install Vagrant insecure_private_key into buildserver box
Vagrant uses the "insecure private key" to establish the first SSH
connection to a new VM based on a clean public box.  In theory, the
`vagrant package` command should do that automatically.  This process
is still using custom code instead of `vagrant package`, hence this
script.

This public key can be generated on any Vagrant install using:
  ssh-keygen -y -f  ~/.vagrant.d/insecure_private_key

https://www.vagrantup.com/docs/vagrantfile/ssh_settings#config-ssh-private_key_path
fdroid-bootstrap-buildserver#12
!1012
!1099
2022-10-10 21:22:59 +02:00
Jochen Sprickerhof 046d3c8dcf Use ssh_config.d 2022-10-10 21:22:59 +02:00
Jochen Sprickerhof c208582e75 Drop old java_paths 2022-10-10 21:22:59 +02:00
Hans-Christoph Steiner dbaa3f6ec2 Stop installing ConstraintLayout
sdkmanager does not work anymore with Java 11 and these can be installed in
the app's build metadata.
2022-10-10 21:22:59 +02:00
Jochen Sprickerhof f03e812a13 Drop obsolete apt-transport-https 2022-10-10 21:22:59 +02:00
Jochen Sprickerhof d762f423ce Install patch and rsync (required by fdroidserver) 2022-10-10 21:22:59 +02:00
Jochen Sprickerhof cb2c3a34bb remove hack to disable GNOME.Accessibility for minimal deps
This is commented out by default on all OpenJDK packages since Java 8.
https://gitlab.com/fdroid/fdroidserver/-/merge_requests/1012?diff_id=263085985#note_726457435

root@sid:/# grep Accessibility /etc/java-*-openjdk/accessibility.properties
/etc/java-11-openjdk/accessibility.properties:#assistive_technologies=org.GNOME.Accessibility.AtkWrapper
/etc/java-17-openjdk/accessibility.properties:#assistive_technologies=org.GNOME.Accessibility.AtkWrapper
/etc/java-18-openjdk/accessibility.properties:#assistive_technologies=org.GNOME.Accessibility.AtkWrapper
/etc/java-8-openjdk/accessibility.properties:assistive_technologies=org.GNOME.Accessibility.AtkWrapper
2022-10-10 21:22:59 +02:00
FestplattenSchnitzel be5aefd3ee Install required packages for fdroidserver automatically 2022-10-10 21:22:59 +02:00
FestplattenSchnitzel cc641b5470 Stop adding i386 architecture to dpkg 2022-10-10 21:22:59 +02:00
FestplattenSchnitzel df46eb86c3 Upgrade Buildserver VM
Use Vagrant boxes built with cloud-team/debian-vagrant-images instead of fdroid/basebox,
Use Debian Bullseye (11) instead of Debian Stretch (9)
2022-10-10 21:22:59 +02:00
Hans-Christoph Steiner 53a507d7c4 buildserver: default to HTTPS for apt sources
Debian Docker images will soon default to HTTPS for apt sources, so force
it now:
https://github.com/debuerreotype/docker-debian-artifacts/issues/15
2022-09-08 18:55:17 +02:00
linsui 5472cf88b8 Update preinstalled NDK to r23c 2022-06-14 11:03:42 +00:00
Hans-Christoph Steiner 6ef60f0d6b
scanner: include dexdump in buildserver for APK analysis
This scanner feature is not yet ready for the production buildserver but it
is already useful in CI.
2022-05-19 15:45:26 +02:00
Licaon_Kter e678df14ce
buildserver: remove old LTS NDK and only pre-install current LTS 2022-04-26 10:25:31 +02:00
Hans-Christoph Steiner c6fddebecd buildserver: disable flutter dev/build analytics globally
The Flutter dev tools includes opt-out analytics, with a config option to
opt out.  We can at least try to disable them in the buildserver. That
config option is unfortunately not even guaranteed to work:
https://github.com/flutter/flutter/issues/19304
https://github.com/flutter/flutter/issues/45369

issuebot#21
issuebot!49
https://github.com/flutter/flutter/issues/73657
2022-04-21 15:38:48 +02:00
linsui 3f62e0ebde update preinstalled ndk to r23b 2022-02-10 16:47:03 +08:00
Hans-Christoph Steiner 5d09e70330
buildserver: give names to all provisioners 2022-01-13 21:22:23 +01:00
Hans-Christoph Steiner 97553c516f
provision-android-ndk: let script work when no NDKs will be installed
The other form of find gave:

# find $NDK_BASE -type f -executable -print0 | xargs -0 chmod a+x
chmod: missing operand after ‘a+x’
Try 'chmod --help' for more information.
2022-01-13 21:22:21 +01:00
Hans-Christoph Steiner 5514000376
buildserver: include packages in Dockerfile that Vagrant boxes have
The goal is to have the Docker base image and the Vagrant base box have the
same setup.
2022-01-13 21:22:20 +01:00
Hans-Christoph Steiner 7535d75b40
buildserver: run provision scripts in Dockerfile
fdroidserver#119
2022-01-13 21:22:15 +01:00
Hans-Christoph Steiner f20d3d249a
add Dockerfile to build a docker buildserver image
This is just the first step to getting full Docker support for everywhere
the buildserver is used.  This will at least let us replace the hacks that
are separately maintained in fdroid/ci-images-base and
fdroid/ci-images-client.
2022-01-13 21:21:17 +01:00