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
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:
- Clone the repository.
- Patch the code.
- Make some tests.
- Ensure that your code is properly formatted with black (
- Ensure that the linters are happy (
- Ensure that everything works as expected.
- Ensure that you did not break anything.
- If applicable, update unit tests.
- If adding a new feature, please consider adding new tests.
- Do not forget to update the docs.
Once you are happy with your work, you can create a commit (or several commits). Follow these general rules:
- Limit the first line (title) of the commit message to 60 characters.
- Use a short prefix for the commit title for readability with
git log --oneline.
- Use the body of the commit message to actually explain what your patch does and why it is useful.
- Address only one issue/topic per commit.
- If you are fixing a ticket, use appropriate commit trailers.
- If you are fixing a regression introduced by another commit, add a
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 "~email@example.com"
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.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.