fdroidserver.up module¶
Create dedicated VM/container to run single build, destroying any existing ones.
The ApplicationID:versionCode argument from the command line should be used as the unique identifier. This is necessary so that the other related processes (push, pull, destroy) can find the dedicated container/VM without there being any other database or file lookup.
Since this is an internal command, the strings are not localized.
- fdroidserver.up.get_virt_cpus_opt(cpus)¶
Read options and deduce number of requested CPUs for build VM.
If no CPU count is configured, calculate a reasonable default value.
- fdroidserver.up.get_virt_memory_opt(memory)¶
Return binary VM memory size from or default value in bytes.
Since this is for memory, this only converts using power-of-two binary forms. For example, GB is forced to GiB.
Defaults to 6 GB (minimum to build org.fdroid.fdroid in 2025).
- fdroidserver.up.main()¶
- fdroidserver.up.run_podman(appid, vercode, cpus=None, memory=None)¶
Create a Podman container env isolated for a single app build.
This creates a Podman “pod”, which is like an isolated box to create containers in. Then it creates a container in that pod to run the actual processes. Using the “pod” seems to be a requirement of Podman. It also further isolates each app build, so seems fine to use. It is confusing because these containers won’t show up by default when listing containers using defaults.
The container is set up with an interactive bash process to keep the container running.
The CPU configuration assumes a Linux kernel.
- fdroidserver.up.run_vagrant(appid, vercode, cpus, memory)¶
- fdroidserver.up.up_wrapper(appid, vercode, virt_container_type, cpus=None, memory=None)¶