- 29 Sep, 2022 2 commits
-
-
David Runge authored
docs/repod/changelog.rst: Add changelog entry for symlink from package name to pkgbase in management repository.
-
David Runge authored
repod/action/task.py: Change `WriteOutputPackageBasesToTmpFileInDirTask` to create a subdirectory named "pkgname" in the management repository directory of a repository and to add symlinks from the names of the packages of an `OutputPackageBase` to its pkgbase into it. Change `WriteOutputPackageBasesToTmpFileInDirTask` to expose the created temporary files as absolute Paths in its filename attribute. Change `MoveTmpFilesTask.do()` to use filenames of `WriteOutputPackageBasesToTmpFileInDirTask` instances directly, as they are now absolute Paths. tests/action/test_task.py: Change `test_movetmpfilestask_do()` to correctly work with the fact that `WriteOutputPackageBasesToTmpFileInDirTask.filenames` now represent absolute Paths. Change `test_writeoutputpackagebasestotmpfileindirtask_do()` to correctly work with the fact that `WriteOutputPackageBasesToTmpFileInDirTask.filenames` now represent absolute Paths. Change `test_printoutputpackagebasestask()` to ignroe comparison-overlap.
-
- 28 Sep, 2022 8 commits
-
-
David Runge authored
tests/cli/test_cli.py: Change integration test `test_import_into_default_repo()` to use a fixed CPU architecture of `x86_64` for the test target repository, as the default (`any`) would break in the test (CPU architecture specific packages can not be added to a repository of type `any`).
-
David Runge authored
docs/repod/changelog.rst: Add changelog entry for adding check against target CPU architecture
-
David Runge authored
repod/cli/cli.py: Change instantiation of `CreateOutputPackageBasesTask` to include the new `architecture` parameter by setting it with the help of `Settings.get_repo_architecture()`. tests/cli/test_cli.py: Change tests to accomodate additional requirements in regards to the Namespace object used in the tests.
-
David Runge authored
repod/action/task.py: Change `CreateOutputPackageBasesTask` by adding `MatchingArchitectureCheck` to its list of post_checks, which will test whether all consumed packages match a given target architecture (that of a repository). tests/action/test_task.py: Change tests for `CreateOutputPackageBasesTask` to accomodate the additional `architecture` parameter.
-
David Runge authored
repod/action/check.py: Add `MatchingArchitectureCheck` to test whether a set of Package instances matches a target CPU architecture and fail otherwise. tests/action/test_check.py: Add tests for `MatchingArchitectureCheck`.
-
David Runge authored
repod/config/settings.py: Add `Settings.get_repo_architecture()` to retrieve a repository's architecture. This method is mostly useful if the architecture is not provided externally. tests/config/test_settings.py: Add tests for `Settings.get_repo_architecture()`.
-
David Runge authored
As the Enum is used to describe types of directories and not types of repositories, it is renamed to reflect its use.
-
David Runge authored
pyproject.toml: Sort mypy configuration options alphabetically. Add `allow_redefinition = false` to not allo redefinitions of variables. Add `ignore_errors = false` to explicitly not ignore errors. Add `local_partial_types = false` to explicitly disallows inferring variable type for `None` from two assignments in different scopes. Add `strict_equality = true` to prohibit equality checks, identity checks, and container checks between non-overlapping types. Add `strict_optional = true` for explicit strict optional checks.
-
- 27 Sep, 2022 11 commits
-
-
David Runge authored
docs/repod/changelog.rst: Add changelog for writing sync dbs transactionally and writing them when importing packages.
-
David Runge authored
docs/repod/usage.rst: Update usage documentation on importpkg and writedb, as `repod-file repo importpkg` now automatically writes the repository sync databases.
-
David Runge authored
repod/cli/cli.py: Change `repod_file_repo()` to write repository sync databases transactionally using `WriteSyncDbsToTmpFilesInDirTask`, `MoveTmpFilesTask` and `RemoveBackupFilesTask`.
-
David Runge authored
repod/cli/cli.py: Change `repod_file_repo_importpkg()` to make use of `WriteSyncDbsToTmpFilesInDirTask` to transactionally write repository sync databases after adding packages and `RemoveBackupFilesTask` to cleanup any existing backup files after successfully completing the transaction. tests/cli/test_cli.py: Change tests for `repod_file_repo_importpkg()` to adapt to the extended functionality.
-
David Runge authored
repod/action/task.py: Add `RemoveBackupFilesTask` to remove the backup files in a destructive action. tests/action/test_task.py: Add tests for `RemoveBackupFilesTask`.
-
David Runge authored
repod/action/task.py: Change `MoveTmpFilesTask` to also accept `WriteSyncDbsToTmpFilesInDirTask` as input dependency `Task`. tests/action/test_task.py: Change tests for `MoveTmpFilesTask` to cover `WriteSyncDbsToTmpFilesInDirTask` as input dependency.
-
David Runge authored
repod/action/task.py: Add `WriteSyncDbsToTmpFilesInDirTask` to write temporary sync database files in a directory. tests/action/test_task.py: Add tests for `WriteSyncDbsToTmpFilesInDirTask`.
-
David Runge authored
repod/common/enums.py: Add `CompressionTypeEnum.db_tar_suffix()` to return the tar suffix for sync database files (e.g. `.db.tar` or `.db.tar.gz`). tests/common/test_enums.py: Add tests for `CompressionTypeEnum.db_tar_suffix()`.
-
David Runge authored
.gitignore: Add .pdm.toml to gitignore as it is different on each host.
-
David Runge authored
pdm.lock: Update pdm lock file after updating all dependencies to their latest versions.
-
David Runge authored
pyproject.toml: Update dependencies to their latest versions. Remove setuptools, as coverage-conditional-plugin no longer implicitly requires it (https://github.com/wemake-services/coverage-conditional-plugin/pull/177).
-
- 14 Sep, 2022 3 commits
-
-
David Runge authored
docs/repod/changelog.rst: Add changelog entry for transactional tasks and the changes to `repod-file repo importpkg`.
-
David Runge authored
repod/cli/argparse.py: Change the documentation for `repod-file repo importpkg`, as it is now able to import packages with differing pkgbases, which was previously not possible.
-
David Runge authored
repod/cli/cli.py: Change `repod_file_repo_importpkg()` to make use of transactional Tasks, to provide an atomic action of adding package files to a repository or rolling back in case of error. tests/cli/test_cli.py: Adapt tests for `repod_file_repo_importpkg()` to a Task driven setup.
-
- 13 Sep, 2022 5 commits
-
-
David Runge authored
repod/action/check.py: Add the abstract base class `Check` to describe checks generically. Add `PacmanKeyPackagesSignatureVerificationCheck`, which implements the verification of packages using pacman-key. Add `DebugPackagesCheck`, to implement a check for default or debug packages in a list of packages. repod/action/task.py: Add `SourceDestination` as model to validate a set of source and destination Paths. Add the abstract base class `Task` to describe transactional tasks generically. Tasks may have pre and post checks. Add `CreateOutputPackageBasesTask`, to implement the creation of `OutputPackageBase` instances from file. Add `PrintOutputPackageBasesTask`, to implement the printing of the JSON representation of `OutputPackageBase` instances to stdout. Add `WriteOutputPackageBasesToTmpFileInDirTask`, which allows writing `OutputPackageBase` instances to a temporary JSON file in a directory. Add `MoveTmpFilesTask`, which allows for moving a temporary file to a destination, while potentially preserving a backup copy of the destination. Add `FilesToRepoDirTask`, which allows for copying package repository related files to a package pool directory and creating symlinks in the targeted package repository directory. Add `AddToRepoTask` as a wrapper Task to move package files to a repository, while only relying on dependency Tasks. tests/action/test_{check,task}.py: Add tests for all checks, except the ABC, as those can not be directly instantiated.
-
David Runge authored
repod/repo/management/__init__.py: Add default orjson options `ORJSON_OPTION` for JSON files in the management repository.
-
David Runge authored
repod/common/enums.py: Add ActionTypeEnum to describe the states for Checks and Tasks.
-
David Runge authored
repod/repo/package/repofile.py: Add `filename_parts()` to return a dict of metadata based on the filename of a package. tests/repo/package/test_repofile.py: Add tests for `filename_parts()`.
-
David Runge authored
docs/{contributing,repod/usage}.rst: Fix lists in documentation by adding a trailing empty line.
-
- 12 Sep, 2022 6 commits
-
-
David Runge authored
docs/conf.py: As we are only targeting the latest changes on default branch, we do not target a specific version with the documentation. Setting release to "latest" is therefore more appropriate.
-
David Runge authored
README.md: Remove duplicate information from the README and instead link to the official documentation.
-
David Runge authored
docs/repod/changelog.rst: Add changelog entry on updated documentation
-
David Runge authored
docs/index.rst: Include usage section in documentation.
-
David Runge authored
docs/repod/usage.rst: Add a documentation section aimed at first-time users of repod, pointing out current status of features, providing links to additional resources and explaining simple first tasks (e.g. adding packages, writing sync databases, using repositories).
-
David Runge authored
repod/py.typed: To allow type checking we add an empty py.typed file to the project, as all type hinting is done inline. This follows PEP0561 (https://peps.python.org/pep-0561) and allows for consumers of repod to facilitate type checking.
-
- 11 Sep, 2022 5 commits
-
-
David Runge authored
docs/repod/installation.rst: Replace poetry with pdm in installation info.
-
David Runge authored
{AUTHORS,CONTRIBUTING}.rst: Add symlinks to authors and contributing files, as those are now included in the docs.
-
David Runge authored
Remove AUTHORS.md and CONTRIBUTING.md as they are now covered in the docs.
-
David Runge authored
docs/index.rst: Move "using repod" section up in documentation and add authors and contributing information.
-
David Runge authored
docs/contributing.rst: Add the contributing guidelines in rst format to the documentation. Replace use of poetry with pdm.
-