* store built packages in archive tree instead of repository
* write tests to support new changes
* implement atomic_move method, move files only with lock
* use generic packages tree for all repos
* lookup through archive packages before build
* add archive trigger
* add archive trigger
* regenerate docs
* gpg loader fix
* support requires repostory flag
* drop excess REQUIRES_REPOSITORY
* simplify symlionk creation
* remove generators
* fix sttyle
* add separate function for symlinks creation
* fix rebase
* add note about slicing
* smol refactoring of archive_tree class
* remove duplicate code
* fix typos
* few review fixes
* monor fixes and typos
* clean empty directories
* remove side effect from getter
* drop recursive remove
* ensure_exists now accepts only argument
* add package like guard to symlinks fix
* speedup archive_lookup processing by iterrupting cycle
* remove custom filelock
* fix naming
* remove remove flag from repo
* review fixes
* restore wrapper around filelock
* extract repository explorer to separate class
* docs update
* fix ide findings
passlib uses deprecated crypt module which is deprecated and scheduled
for removal in 3.13. Unfortunately, this module seems to be
unmaintained, so this commit replaces passlib with bcrypt, unfortunately
breaking current passwords
* Allow to use single web instance for any repository
* some improvements
* drop includes from user home directory, introduce new variables to docker
The old solution didn't actually work as expected, because devtools
configuration belongs to filesystem (as well as sudo one), so it was
still required to run setup command.
In order to handle additional repositories, the POSTSETUP and PRESETUP
commands variables have been introduced. FAQ has been updated as well
* raise 404 in case if repository is unknown
Since llast upgrade build is broken. Lets fully migrate to
pyproject.toml. Note for maintaners: because data_files option is
deprectated (see https://github.com/pypa/setuptools/discussions/2648)
you will have to install files manually inside your packaging process