Standalone Vagrantfile @mvdan @CiaranG as a follow up on our work moving to a 64-bit build server VM, this moves the buildserver config to a standalone YAML file and commits a static _Vagrantfile_ to git. This makes it a lot easier to work with, especially for people who normally use git. The buildserver config is already a Python _dict_, and its trivial to export a _dict_ to a YAML file. _Vagrantfile_ is a Ruby script, where its trivial to load a YAML file. This moves some of the logic into _Vagrantfile_ itself. This means that someone can mess with _Yagrantfile.yaml_ and/or _Vagrantfile_ to work on the buildserver setup, without having to run `./makebuildserver`. Then once something is working, it can be ported to the current `./makebuildserver` setup that generates _Vagrantfile.yaml_. This is important for working on getting this whole thing running in a KVM instance like jenkins.debian.net and elsewhere. From what I read, VirtualBox in KVM is only possible if VirtualBox is running in 32-bit mode, so that's a dead end for us. We need to be able to run the buildserver as KVM in KVM #190. This merge request doesn't get us there yet, but it makes the process a lot easier. This also moves everything but Kivy to provisioning shell scripts, since the existing chef scripts were really just shell scripts wrapped in Chef wrapped in Vagrant wrapped in `./makebuildserver`. This passes the gpjenkins CI build that creates the buildserver from scratch, then builds F-Droid and AdAway: http://qssio5fppcrojdh3.onion:8080/job/fdroidserver-makebuildserver-eighthave/602/ I tried adding Amaze and Retrolambda as test apps for the buildserver too, we'll see how that goes: http://qssio5fppcrojdh3.onion:8080/job/fdroidserver-makebuildserver-eighthave See merge request !144 |
||
|---|---|---|
| .pylint-plugins | ||
| buildserver | ||
| completion | ||
| docs | ||
| examples | ||
| fdroidserver | ||
| hooks | ||
| tests | ||
| wp-fdroid | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .travis.yml | ||
| fd-commit | ||
| fdroid | ||
| jenkins-build | ||
| jenkins-build-makebuildserver | ||
| LICENSE | ||
| makebuildserver | ||
| MANIFEST.in | ||
| README.md | ||
| setup.cfg | ||
| setup.py | ||
F-Droid Server
Server for F-Droid, the Free Software repository system for Android.
The F-Droid server tools provide various scripts and tools that are used to maintain the main F-Droid application repository. You can use these same tools to create your own additional or alternative repository for publishing, or to assist in creating, testing and submitting metadata to the main repository.
For documentation, please see the docs directory.
Alternatively, visit https://f-droid.org/manual/.
What is F-Droid?
F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device.
Installing
Note that only Python 3 is supported. We recommend version 3.4 or later.
The easiest way to install the fdroidserver tools is on Ubuntu, Mint or other
Ubuntu based distributions, you can install using:
sudo apt-get install fdroidserver
For older Ubuntu releases or to get the latest version, you can get
fdroidserver from the Guardian Project PPA (the signing key
fingerprint is 6B80 A842 07B3 0AC9 DEE2 35FE F50E ADDD 2234 F563)
sudo add-apt-repository ppa:guardianproject/ppa
sudo apt-get update
sudo apt-get install fdroidserver
On OSX, fdroidserver is available from third party package managers,
like Homebrew, MacPorts, and Fink:
brew install fdroidserver
For Arch-Linux is a package in the AUR available. If you have installed
yaourt or something similiar, you can do:
yaourt -S fdroidserver
For any platform where Python's easy_install is an option (e.g. OSX
or Cygwin, you can use it:
sudo easy_install fdroidserver
Python's pip also works:
sudo pip3 install fdroidserver
The combination of pyvenv and pip is great for testing out the
latest versions of fdroidserver. Using pip, fdroidserver can
even be installed straight from git. First, make sure you have
installed the python header files, venv and pip. They should be
included in your OS's default package manager or you can install them
via other mechanisms like Brew/dnf/pacman/emerge/Fink/MacPorts.
For Debian based distributions:
apt-get install python3-dev python3-pip python3-venv libjpeg-dev zlib1g-dev
Then here's how to install:
git clone https://gitlab.com/fdroid/fdroidserver.git
cd fdroidserver
pyvenv env/
source env/bin/activate
pip3 install -e .
python3 setup.py install