Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/f-droid/repomaker
mirror of https://gitlab.com/fdroid/repomaker
https://github.com/f-droid/repomaker
django fdroid
Last synced: 9 days ago
JSON representation
mirror of https://gitlab.com/fdroid/repomaker
- Host: GitHub
- URL: https://github.com/f-droid/repomaker
- Owner: f-droid
- License: agpl-3.0
- Created: 2019-08-28T21:55:39.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-16T11:58:39.000Z (over 1 year ago)
- Last Synced: 2024-05-01T09:45:10.564Z (7 months ago)
- Topics: django, fdroid
- Language: Python
- Homepage:
- Size: 1.33 MB
- Stars: 34
- Watchers: 5
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[![build status](https://gitlab.com/fdroid/repomaker/badges/master/build.svg)](https://gitlab.com/fdroid/repomaker/commits/master)
[![coverage report](https://gitlab.com/fdroid/repomaker/badges/master/coverage.svg)](https://gitlab.com/fdroid/repomaker/-/jobs)
[![translation status](https://hosted.weblate.org/widgets/f-droid/-/repomaker/svg-badge.svg)](https://hosted.weblate.org/projects/f-droid/repomaker/)Repomaker needs a maintainer, please adopt me! Repomaker currently runs on Django 1.11, which went out of security support in July 2020. Please see [#234](https://gitlab.com/fdroid/repomaker/-/issues/233) for more information.
# Installation
There are several different ways to install Repomaker.
## Flatpak
Repomaker is available as Flatpak and
[distributed on Flathub](https://flathub.org/apps/details/org.fdroid.Repomaker).
Once you got [Flatpak installed on your system](https://flatpak.org/setup/),
either go to your system's app store or execute the following commands (without `sudo`!):```console
$ 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](https://gitlab.com/fdroid/repomaker/tree/master/docker) and the
[general docs](https://gitlab.com/fdroid/repomaker/tree/master/doc)
for more information on that topic.## PyPi
If you don't want or can't install Repomaker with one of the mentioned
methods, you can install it with _pip_ from PyPi.### Requirements
Please make sure you have the following requirements installed
before proceeding with the installation.#### Install
* `pip` for installation of Python 3 dependencies
* `virtualenv` to create an isolated Python environment
* Python development and build files for installing/building some dependenciesOn 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 mirrorsOn Debian, you can simply run this:
```
sudo apt install fdroidserver libmagic1 rsync 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](http://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:```console
$ 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](/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](https://f-droid.org/docs/Translation_and_Localization)
for more info.* To update translations, run `./update-translations.sh`.
* To add a new translation, run `python3 manage.py makemessages -l ` where `` is the language code, e.g. `de`.[![translation status](https://hosted.weblate.org/widgets/f-droid/-/repomaker/multi-auto.svg)](https://hosted.weblate.org/engage/f-droid/?utm_source=widget)