- 16 Jun, 2022 1 commit
-
-
David Runge authored
repod/config/settings.py: Remove the leading underscore from all config helper functions. It serves no purpose and they are not exposed when importing from repod.config.
-
- 15 Jun, 2022 6 commits
-
-
David Runge authored
repod/config/settings.py: Use `repod.config.defaults.MANAGEMENT_REPO` as default directory for the `ManagementRepo` model.
-
David Runge authored
repod/models/config.py: Remove config models, as they are now part of repod.config.settings. repod/models/__init__.py: Remove exposure of (now non-existent) config models. tests/test_models.py: Remove tests for config models.
-
David Runge authored
repod/config/settings.py: Copy `Architecture`, `Directory`, `ManagementRepo`, `PackagePool`, `PackageRepo`, `SourcePool` to repod.config.settings as they are only used in that context. tests/config/test_settings.py: Copy tests for added models.
-
David Runge authored
-
David Runge authored
repod/config/__init__.py: Add init file to expose the `repod.config.settings.Settings`. repod/config/settings.py: Turn imports from `repod.config.defaults` and `repod.models` into top-level imports. repod/files/__init__.py: Turn imports from `repod.config.defaults` into top-level imports. tests/config/test_config.py: Adapt import location for `repod.config.settings`.
-
David Runge authored
Move the configuration related files config.py and defaults.py to a dedicated config module to be able to expose only parts of the functionality when importing it. Move tests to dedicated location for config.
-
- 14 Jun, 2022 12 commits
-
-
David Runge authored
docs/packages/contents.rst: Add documentation about .PKGINFO files, including JSON schema for PkgInfo.
-
David Runge authored
tox.ini: Also export the PkgInfo JSON schema when creating documentation.
-
David Runge authored
repod/files/pkginfo.py: Add a .PKGINFO parser, which fully validates files of version 1 and of version 2 (with pkgtype). tests/files/test_pkginfo.py: Add unit and integration tests for .PKGINFO parser.
-
David Runge authored
repod/common/enums.py: Add `PkgTypeEnum` to distinguish different types of pkgtype values. Add `pkg_types_for_pkgtype_regex()` to provide a string for the PKGTYPE regular expression. repod/common/regex.py: Add the `PKGTYPE` regular expression, which makes use of `repod.common.enums.pkg_types_for_pkgtype_regex`. tests/common/test_regex.py: Add tests for PKGTYPE regular expression. tests/conftest.py: Add defaults and specific fixtures for pkgtype. Add fixtures for default version. Add fixtures for creating .PKGINFO strings and files of version one and two.
-
David Runge authored
repod/common/models.py: Add the pydantic model `SchemaVersionV2` to track a schema version two in composite models.
-
David Runge authored
.readthedocs.yaml: Also install poetry so that all required packages can be installed using tox and poetry.
-
David Runge authored
repod/common/models.py: Attempt to import pyalpm's `vercmp()` and use it in `PkgVer.vercmp()` and `Version.vercmp()` instead of the builtin implementation if it is available. tests/common/test_models.py: Parametrize tests for `PkgVer.vercmp()` and `Version.vercmp()` further so that they can run against pyalpm's `vercmp()` and the builtin implementation.
-
David Runge authored
tox.ini: Call poetry in tox.ini again, as this way we can ensure to install all packages based on the lock file. Additionally, this allows to properly and selectively install extras, required e.g. by the coverage target (as to not install pyalpm for all targets). .gitlab-ci.yml: Install python-poetry to test environment. pyproject.toml: Add setuptools to build requirements because of bug in pip: https://github.com/pypa/pip/issues/6100
-
David Runge authored
pyproject.toml: Add pyalpm as optional extra feature. poetry.lock: Update poetry lock file.
-
David Runge authored
pyproject.toml: Remove pyalpm from project requirements poetry.lock: Update poetry lock file to not include pyalpm anymore.
-
David Runge authored
repod/common/models.py: Replace the use pyalpm's `vercmp()` with the internal one. tests/common/test_models.py: Add tests for `Version.is_{newer,older}_than()`. tests/test_models.py: Remove redundant/ superseded tests for `Version` and `Version.is_{newer,older}_than()`.
-
David Runge authored
repod/common/models.py: Add the `Epoch`, `PkgRel` and `PkgVer` models, which implement epoch, pkgrel and pkgver (respectively) and allow comparision via a `vercmp()` instance method. Add helper methods `get_epoch()`, `get_pkgrel()` and `get_pkgver()` to the `Version` model to be able to retrieve the respective subsets. Add native `vercmp()` method to `Version` model to allow comparison amongst instances of the model. tests/common/test_models.py: Add tests for the `Epoch`, `PkgRel`, `PkgVer` and `Version` models.
-
- 13 Jun, 2022 2 commits
-
-
David Runge authored
* artafinde/cleanup-self-cls: Use `cls` argument for class methods
-
Leonidas Spyropoulos authored
-
- 12 Jun, 2022 5 commits
-
-
David Runge authored
.gitlab-ci.yml: On pushes to master trigger a call to the readthedocs API using a token and a project ID.
-
David Runge authored
.readthedocs.yaml: Add configuration file for integration with https://readthedocs.org.
-
David Runge authored
tests/test_cli.py: Add helper function `list_databases()` to list packages and files contained in a temporary sync database called `tmp`. Extend `test_transform_{core,extra,community,multilib}_databases()` to call `list_databases()` for testing the temporarily created sync dbs with pacman. Remove the superseded `test_transform_databases_and_use_with_pacman()`.
-
David Runge authored
tests/conftest.py: Add fixture `empty_syncdbs` to create empty files to be used as sync databases in an appropriate `pacman/sync/` subdirectory of a temporary dir.
-
David Runge authored
.gitlab-ci.yml: Add the [multilib] repository to the CI environment so that it can be used in integration tests.
-
- 09 Jun, 2022 9 commits
-
-
David Runge authored
* artafinde/eliminate-legacy-tmpdir: Replace legacy tmpdir with tmp_path Ignore jetbrains family IDE files and junit report
-
Leonidas Spyropoulos authored
Fixes: #56
-
Leonidas Spyropoulos authored
-
David Runge authored
* artafinde/add-test-report: Add junit report test
-
Leonidas Spyropoulos authored
This enables gitlab test report page
-
David Runge authored
* artafinde/add_multilib_integration_test: Add integration test for multilib
-
Leonidas Spyropoulos authored
-
David Runge authored
* artafinde/clean-up: Remove badges from Readme
-
Leonidas Spyropoulos authored
They are not defined on the project itself
-
- 08 Jun, 2022 5 commits
-
-
-
-
David Runge authored
repod/config.py: Use typed assignments in root_validator, as otherwise the typing is too unspecific for mypy >= 0.960.
-
-
David Runge authored
repod/common/models.py: Use email-validator to validate the email part of a Packager model instance. repod/common/regex.py: Remove the use of the EMAIL regex as it is superseded by the use of email-validator in model validation. repod/files/buildinfo.py: Use repod.common.models.Packager instead of implementing own Packager model. tests/common/test_regex.py: Remove tests for removed EMAIL regex. tests/conftest.py: Change the return value of `create_default_packager()` to contain a valid domain and tld, as email-validator checks deliverability. Add invalid email to return value of `create_default_invalid_packager()` to raise on invalid email using email-validator. tests/test_models.py: Add simple test for Packager model using default fixtures.
-