54e5912a88
If package depends on exact equality of =name+version we also need to search candidates in release section: =name+version+(>=release) eg: name: foo-1.1-3 Requires: bar == 5.5 then the below package must meet the requiremets: name: bar-5.5-56.el7 To make this true we need: * always search for candidates in package.name and package.provides, package.obsoletes, [check PackagesTree.find_all()] * make an assumption that foo-1.1 and foo-1.1-33 has intersection, [check RpmPackageVersion.cmp()] Tests: ====== gen_package() in stubs.generator must always generate Provides section, which is always: name=version, eg: 1) Name: my-python-requests Version: 2.10.0 Release: 1.el7~mos1 will result PROVIDES: my-python-requests = 2.10.0-1.el7~mos1 2) Name: my-python-urllib3 Version: 1.15.1 Release: 7777 Provides: test will result PROVIDES: test my-python-urllib3 = 1.15.1-7777 Change-Id: Ib26918b2e1d98733fbd49f1fc05403ca5665e3fe Closes-Bug: #1588399 |
||
---|---|---|
doc | ||
packetary | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
MAINTAINERS | ||
MANIFEST.in | ||
README.rst | ||
babel.cfg | ||
openstack-common.conf | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
setup_hooks.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Repository structure
debian Specs for DEB packages.
doc Documentation for packetary module.
packetary Package provides object model and API for dealing with deb and rpm repositories. One can use this framework to implement operations like building repository from a set of packages, clone repository, find package dependencies, mix repositories, pull out a subset of packages into a separate repository, etc.
Features:
- Common interface for different package-managers.
- Utility to build dependency graph for package(s).
- Utility to create mirror of repository according to dependency graph.
specs Specs for RPM packages.