Commit cb44254b authored by Nico Alt's avatar Nico Alt

Merge branch 'docs-update' into 'master'

Docs update

See merge request !118
parents 472ff406 7561c7cf
Pipeline #11665319 passed with stages
in 31 minutes and 58 seconds
......@@ -441,9 +441,19 @@ configuration to the build. These are (roughly in order of application):
source is cloned. Submodules are reset and cleaned like the main app
repository itself before each build.
`sudo=xxxx`
: Specifies a script to be run using `sudo bash -x -c "xxxx"` in the
buildserver VM guest. This script is run with full root privileges,
but the state will be reset after each build. The vast majority of
apps build using the standard Debian/stable base environment. This
is useful for setting up the buildserver for complex builds that
need very specific things that are not appropriate to install for
all builds, or for things that would conflict with other builds.
`init=xxxx`
: As for ’prebuild’, but runs on the source code BEFORE any other
: Like ’prebuild’, but runs on the source code BEFORE any other
processing takes place.
You can use \$\$SDK\$\$, \$\$NDK\$\$, \$\$MVN3\$\$ and \$\$QT\$\$ to
......@@ -729,6 +739,11 @@ configuration to the build. These are (roughly in order of application):
is correct. This takes away a useful level of sanity checking, and
should only be used if the values can’t be extracted.
`antifeatures=<antifeature1>[,<antifeature2>,...]`
: List of Anti-Features for this specific build. They are described
in [AntiFeatures](#AntiFeatures).
Another example, using extra parameters:
‘Build Version:1.09.03,10903,45,subdir=Timeriffic,oldsdkloc=yes’
......
......@@ -235,37 +235,46 @@ fdroid:~/fdroiddata$ ~/fdroidserver/fdroid build org.fdroid.fdroid -l --server
## Optionally using QEMU/KVM/libvirt instead of VirtualBox
It is also possible to QEMU/KVM guest VMs via libvirt instead of the default VirtualBox. VirtualBox is still the recommended setup since that is what is used by f-droid.org, but there are cases where it is not possible to run VirtualBox, like on a machine that is already running QEMU/KVM guests.
```bash
It is also possible to QEMU/KVM guest VMs via libvirt instead of the
default VirtualBox. VirtualBox is still the recommended setup since
that is what is used by f-droid.org, but there are cases where it is
not possible to run VirtualBox, like on a machine that is already
running QEMU/KVM guests. In order to make the libvirt image files
directly readable by `vagrant package`, _libvirt_'s QEMU needs to be
configured to always set the ownership to `libvirt.libvirt`.
```console
root:~# apt-get install vagrant vagrant-mutate vagrant-libvirt ebtables dnsmasq-base \
libvirt-clients libvirt-daemon libvirt-daemon-system qemu-kvm qemu-utils git
root:~# cat << EOF > /etc/polkit-1/localauthority/50-local.d/50-libvirt-virsh-access.pkla
[libvirt Management Access]
Identity=unix-group:libvirt
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes
EOF
python3-libvirt libvirt-clients libvirt-daemon-system qemu-kvm qemu-utils git
root:~# cat << EOF >> /etc/libvirt/qemu.conf
user = "libvirt"
group = "libvirt"
dynamic_ownership = 1
EOF
root:~# service libvirtd restart
root:~# adduser fdroid libvirt
```
Then create a _makebuildserver.config.py_ and add:
Then create a _makebuildserver.config.py_ next to _makebuildserver_
and add:
```python
vm_provider = 'libvirt'
```
##### Debian/stretch and Ubuntu/xenial
```console
root:~# adduser fdroid libvirt
root:~# adduser fdroid libvirt-qemu
```
##### older Debian and Ubuntu
```console
root:~# adduser fdroid libvirtd
root:~# adduser fdroid kvm
```
### Advanced nested KVM Setup:
This section is not relevant for using F-Droid in a normal setup. If you
......
......@@ -8,11 +8,15 @@ redirect_from:
This is a list of all signing keys used for F-Droid releases.
## FDroid app for Android
## F-Droid client app for Android
- git repo: <https://gitlab.com/fdroid/fdroidclient>
- git tags signed by "Daniel Martí \<mvdan@mvdan.cc>" aka
- git tags signed by "Hans-Christoph Steiner
\<hans@guardianproject.info>" aka "Hans-Christoph Steiner
\<hans@eds.org>" aka "Hans-Christoph Steiner
\<hans@at.or.at>" with fingerprint: <br />
`EE66 20C7 136B 0D2C 456C 0A4D E9E2 8DEA 00AA 5556`
- or previously signed by "Daniel Martí \<mvdan@mvdan.cc>" aka
"Daniel Martí \<mvdan@fsfe.org>" with fingerprint: <br
/>`A9DA 13CD F7A1 4ACD D3DE E530 F4CA FFDB 4348
041C`
......@@ -75,7 +79,12 @@ Be8=
## fdroidserver
- git repo: <https://gitlab.com/fdroid/fdroidserver>
- git tags signed by "Daniel Martí \<mvdan@mvdan.cc>" aka
- git tags signed by "Hans-Christoph Steiner
\<hans@guardianproject.info>" aka "Hans-Christoph Steiner
\<hans@eds.org>" aka "Hans-Christoph Steiner
\<hans@at.or.at>" with fingerprint: <br />
`EE66 20C7 136B 0D2C 456C 0A4D E9E2 8DEA 00AA 5556`
- or previously "Daniel Martí \<mvdan@mvdan.cc>" aka
"Daniel Martí \<mvdan@fsfe.org>" with fingerprint: <br
/>`A9DA 13CD F7A1 4ACD D3DE E530 F4CA FFDB 4348 041C`
- release command: `git tag -s`
......@@ -87,7 +96,7 @@ Be8=
\<hans@at.or.at>" with fingerprint: <br />
`EE66 20C7 136B 0D2C 456C 0A4D E9E2 8DEA 00AA 5556`
or previously <br />`5E61 C878 0F86 295C E17D 8677 9F0F E587 374B BE81`
- release command: `python setup.py sdist upload --sign`
- release command: `python3 setup.py sdist upload --sign`
- official Debian package: <https://packages.debian.org/fdroidserver>
- package source:
......
---
layout: page
title: Release Process
---
For each piece of the F-Droid ecosystem, there is a specific release
process. They generally follow the same patterns, but all have unique
steps. The official signing keys are listed in
[Release Channels and Signing Keys](../Release_Channels_and_Signing_Keys).
## fdroidclient
1. pull in latest commits from Weblate into a local branch called
_weblate_
2. run `./tools/check-format-strings.py` and
`./tools/remove-unused-and-blank-translations.py` and commit
changes
3. rebase the _weblate_ branch on the latest commits in _master_ of
https://gitlab.com/fdroid/fdroidclient and fix any conflicts
4. push local _weblate_ branch to your fork create a merge request,
and tag it with the _localization_ label
5. make sure all tests pass before merging, including all _android-10_
emulator tests
6. set _versionCode_ in _app/build.gradle_
7. add new entry in _metadata/en-US/changelogs/_
8. copy that new entry to _CHANGELOG.md_
9. add git signed tag named after the exact version name (no
preceeding __v__)
10. add new `Build:` entry to
[metadata file](https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/org.fdroid.fdroid.txt)
### major release
If it is a major release, then a new stable branch (e.g. _stable-v1.0_
or _stable-v1.1_) should be created first. The incomplete
translations should be removed using
`./tools/trim-incomplete-translations-for-release.py`. This has to
happen in the stable branch only, since it will remove the incomplete
translations. If the incomplete translations are remove from
_master_, then Weblate will sync with that, and remove them there as
well.
## fdroidserver
1. pull in latest commits from Weblate into a local branch called
_weblate_
3. rebase the _weblate_ branch on the latest commits in _master_ of
https://gitlab.com/fdroid/fdroidclient and fix any conflicts
4. push local _weblate_ branch to your fork create a merge request,
and tag it with the _localization_ label
5. make sure all tests pass before merging
6. set `version=''` in _setup.py_
7. add git signed tag named after the exact version name (no
preceeding __v__), using the exact same string as `version=''`
8. upload to pypi.python.org using `python3 setup.py sdist upload --sign`
## privileged-extension
1. pull in latest commits from Weblate into a local branch called
_weblate_
2. run `./tools/check-format-strings.py` and
`./tools/remove-unused-and-blank-translations.py` and commit
changes
3. rebase the _weblate_ branch on the latest commits in _master_ of
https://gitlab.com/fdroid/fdroidclient and fix any conflicts
4. push local _weblate_ branch to your fork create a merge request,
and tag it with the _localization_ label
5. make sure all tests pass before merging
6. set _versionCode_ in _app/src/main/AndroidManifest.xml_
7. add new entry in _metadata/en-US/changelogs/_
8. copy that new entry to _CHANGELOG.md_
9. add git signed tag named after the exact version name (no
preceeding __v__)
10. If the OTA update ZIP should be updated, add new `Build:` entry to
[metadata file](https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/org.fdroid.fdroid.privileged.ota.txt)
11. The APK should auto-update based on the signing tag. Double-check
that in that
[metadata file](https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/org.fdroid.fdroid.privileged.txt)
......@@ -59,6 +59,7 @@ the main repository.
* [Whitelabel Builds](Whitelabel_Builds) custom builds of F-Droid
* [Privileged Extension](https://gitlab.com/fdroid/privileged-extension/blob/master/README.md#f-droid-privileged-extension) How to use F-Droid Privileged Extension as a user and rom developer
* [Deploying the Website](Deploying_the_Website) How [fdroid-website.git](https://gitlab.com/fdroid/fdroid-website) becomes [f-droid.org](https://f-droid.org)
* [Release Process](Release_Process) All the steps needed to make official release of F-Droid projects.
* [Maintaining the Forum](Maintaining_the_Forum) Useful information for administrators of [F-Droid's forum](https://forum.f-droid.org)
* [Work in Progress](https://f-droid.org/wiki/page/Work_in_Progress) Feel free to add your own topics and link to others.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment