dlrepo is an artifact repository. It supports storing build artifacts (binary packages, documentation, vm images, container images, etc.) in a structured file system tree. It exposes an HTTP API to upload files, delete them, add metadata, etc. dlrepo does not use an external database. It does de-duplication of artifacts by the use of file system hard links.
pip install dlrepo
Or, as root
on Debian testing:
curl -L https://repo.diabeteman.com/static/key.asc > /etc/apt/trusted.gpg.d/repo-diabeteman-com.asc
echo "deb https://repo.diabeteman.com/products/dlrepo/all/main/0.x/deb/ /" > /etc/apt/sources.list.d/dlrepo.list
apt update
apt install dlrepo
sudo apt install libldap2-dev libsasl2-dev python3-dev python3-pip python3-venv sassc
git clone https://git.sr.ht/~rjarry/dlrepo
cd dlrepo
make lint tests
make run
Anyone can contribute to dlrepo:
make format
).make lint
).Once you are happy with your work, you can create a commit (or several commits). Follow these general rules:
git log --oneline
.Fixes:
trailer with the commit id and its title.There is a great reference for commit messages in the Linux kernel documentation.
Before sending the patch, you should configure your local clone with sane defaults:
git config format.subjectPrefix "PATCH dlrepo"
git config sendemail.to "~rjarry/dlrepo@lists.sr.ht"
And send the patch to the mailing list:
git sendemail --annotate -1
Wait for feedback. Address comments and amend changes to your original commit. Then you should send a v2:
git sendemail --in-reply-to=$first_message_id --annotate -v2 -1
Once the maintainer is happy with your patch, they will apply it and push it.