Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Repomaker

pipeline status coverage report translation status

Installation

There are several different ways to install Repomaker.

Flatpak

Repomaker is available as Flatpak and distributed on Flathub. Once you got Flatpak installed on your system, either go to your system's app store or execute the following commands (without sudo!):

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.fdroid.Repomaker
flatpak run --runtime=org.gnome.Sdk org.fdroid.Repomaker

On a server / Docker

There is a test image available in Docker for quickly trying out Repomaker. Note that you can run Repomaker on a server and make use of its multi user functionality. See Docker docs and the general docs for more information on that topic.

PyPi

If you don't want or can't install Repomaker with any of the aforementioned methods, you can install it with pipx or pip from PyPi .

Requirements

Please make sure you have the following requirements installed before proceeding with the installation.

Installation using pipx

pipx installs and runs end-user Python applications in isolated environments.

Installing pipx

On Debian, run the commands below:

sudo apt update
sudo apt install python-pipx
pipx ensurepath

Check out the installation guide on how to install pipx on other operating systems.

Runtime Requirements

  • keytool from Java Runtime Environment (JRE)
  • jarsigner from Java JDK for signing the repo indexes
  • libmagic for mime-type detection
  • rsync to publish repositories
  • git to publish repositories to git mirrors
  • rclone to publish repositories

On Debian, you can simply run this:

sudo apt install fdroidserver libmagic1 rsync rclone git \
    python3-pyqt5.qtwebengine python3-pyqt5.qtwebkit

Installing Repomaker using pipx

With pipx and the runtime requirements already installed, install Repomaker with the command below:

pipx install repomaker[gui]

You should now be able to start Repomaker by typing:

repomaker

Installation in a virtual environment with pip

  • pip for installation of Python 3 dependencies
  • virtualenv to create an isolated Python environment
  • Python development and build files for installing/building some dependencies

On Debian, you can simply run this:

apt install python3-pip python3-wheel python3-dev virtualenv build-essential

Runtime

  • keytool from Java Runtime Environment (JRE)
  • jarsigner from Java JDK for signing the repo indexes
  • libmagic for mime-type detection
  • rsync to publish repositories
  • git to publish repositories to git mirrors
  • rclone to publish repositories

On Debian, you can simply run this:

sudo apt install fdroidserver libmagic1 rsync rclone git \
    python3-pyqt5.qtwebengine python3-pyqt5.qtwebkit

Install into virtual environment

To not mess with other Python libraries you have installed, we will install repomaker into its own isolated Python environment.

virtualenv -p /usr/bin/python3 repomaker
source repomaker/bin/activate
pip install repomaker[gui]

You should now be able to start by typing:

repomaker

Troubleshooting

First check that you really have all dependencies from above installed.

If the installation fails with something about openssl, try to install libssl-dev with apt install libssl-dev.

If the graphical user interface fails to start, you can try running repomaker-server and repomaker-tasks. If that works, you should be able to open 127.0.0.1:8000 in your browser.

Development

To work on repomaker, you need npm to fetch CSS and JavaScript dependencies: apt install npm.

Then run npm install to install these dependencies.

If you want to run repomaker in your browser rather then using the GUI, you can start it like this:

virtualenv -p /usr/bin/python3 repomaker
source repomaker/bin/activate
./setup.sh
./run.sh

Vagrant VM

There also a Vagrant setup based on the GitLab CI setup, it is a quick way to get a development setup. First, set up Vagrant on your machine, then run:

$ cd repomaker
$ vagrant up
$ vagrant ssh
vagrant@basebox-buster64:~$ ip a | sed -En 's,.*inet +(192\.168\.[0-9]+\.[0-9]+)
.*,open http://\1:8000,p'
open http://192.168.121.37:8000
vagrant@basebox-buster64:~$ cd $CI_PROJECT_DIR
vagrant@basebox-buster64:/builds/fdroid/repomaker$ ./tests/test-units.sh

Translation

  • GNU gettext apt install gettext

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Translating

Everything can be translated. See Translation and Localization for more info.

  • To update translations, run ./update-translations.sh.
  • To add a new translation, run python3 manage.py makemessages -l <lg> where <lg> is the language code, e.g. de.

translation status

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repomaker-1.0.0b10.tar.gz (7.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

repomaker-1.0.0b10-py3-none-any.whl (8.5 MB view details)

Uploaded Python 3

File details

Details for the file repomaker-1.0.0b10.tar.gz.

File metadata

  • Download URL: repomaker-1.0.0b10.tar.gz
  • Upload date:
  • Size: 7.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for repomaker-1.0.0b10.tar.gz
Algorithm Hash digest
SHA256 bef3ee6681b30ab4405da08c27525dd354f6a4a5d05e1a0a19ccc356efb3705e
MD5 b366fde2afad57a9945369312fe9ee40
BLAKE2b-256 8b58a2541a4ea2232a78808cf490d23f9ea6e876fa7108fe5753573d4cd0e462

See more details on using hashes here.

File details

Details for the file repomaker-1.0.0b10-py3-none-any.whl.

File metadata

  • Download URL: repomaker-1.0.0b10-py3-none-any.whl
  • Upload date:
  • Size: 8.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for repomaker-1.0.0b10-py3-none-any.whl
Algorithm Hash digest
SHA256 200c7770c71977374acd63dc5d27809325f60624f222774c3f23e07dbc16cef8
MD5 51cd786ff670cd9f86727bcf75dd8ae4
BLAKE2b-256 f60c7f9b5999aef52bc4424f275b314c549c0819ade0b4b472b3d5e429bbd4aa

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0b10 This release

2 files

1.0.0b1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page