amprolla is an apt repository merger originally intended for use with the Devuan infrastructure. This version is the third iteration of the software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
parazyd 188ced9df1
add lighttpd configuration
6 years ago
contrib add lighttpd configuration 6 years ago
doc add more documentation 6 years ago
gnupg add example gnupg dir 6 years ago
lib hash uncompressed files in memory when writing Release files 6 years ago
.gitignore implement basics of checking the remote for updates 6 years ago
LICENSE license headers 6 years ago
README.md tested on py3.4 6 years ago
TODO.md contents done 6 years ago
amprolla_init.py temp disable config respect in amprolla_init 6 years ago
amprolla_merge.py append Contents files to the release generation filelist 6 years ago
amprolla_merge_contents.py better header garbage skip in merge_contents 6 years ago
amprolla_update.py implement a module to hold global states 6 years ago
orchestrate.sh exit cleanly when amprolla catches an exception 6 years ago

README.md

amprolla

amprolla is an apt repository merger originally intended for use with the Devuan infrastructure. This version is the third iteration of the software. The original version of amprolla was not performing well in terms of speed, and the second version was never finished - therefore this version has emerged.

amprolla is a tool that will merge a number of different apt-based repositories into one, while giving control over (not) including given packages, architectures, or any specific package metadata. Upon completing the merge, amprolla will generate and optionally create GnuPG signatures of the according Release files.

Dependencies

amprolla requires at least Python 3.4, and some external modules for it.

Devuan/Debian

rsync gnupg2 python3-requests python3-gnupg

Gentoo:

net-misc/rsync app-crypt/gnupg dev-python/requests dev-python/python-gnupg

Basic usage

Copy lib/config.def.py to lib/config.py and edit lib/config.py to your needs, and then run amprolla_init.py. This will download the repositories we will merge afterwards. When this is done, you can run amprolla_merge.py which will perform the actual merge, and finally sign the Release files needed. The first time this is done, it is advisable to run the script found in contrib/populate_aliases.sh so it can fill in the needed symlinks to the different suites. Make sure you set the correct path in the script.

To perform incremental updates, run orchestrate.sh with a cron job in your desired intervals. Edit the script to set the correct paths.

NOTE: in the current testing phase, orchestrate.sh contains a while loop in order to be ran in tmux to catch unhandled exceptions and fix the codebase.

An nginx configuration for the amprolla server can be found in contrib.

More documentation should be found in the doc directory.