Library and eponymous utility to manage the entire lifecycle of repositories
Go to file
Sergey Kulanov 54e5912a88 Fix rpm package equality issue
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
2016-06-06 15:15:05 +03:00
doc Updated file-headers 2015-12-29 12:51:14 +03:00
packetary Fix rpm package equality issue 2016-06-06 15:15:05 +03:00
.coveragerc [packetary] initial commit 2015-10-20 19:33:48 +00:00
.gitignore [packetary] initial commit 2015-10-20 19:33:48 +00:00
.gitreview Adjust .gitreview 2016-01-22 16:44:01 +03:00
.mailmap [packetary] initial commit 2015-10-20 19:33:48 +00:00
.testr.conf [packetary] initial commit 2015-10-20 19:33:48 +00:00
CONTRIBUTING.rst [packetary] initial commit 2015-10-20 19:33:48 +00:00
HACKING.rst [packetary] initial commit 2015-10-20 19:33:48 +00:00
LICENSE Initial commit 2015-04-02 19:05:52 +03:00
MAINTAINERS Drop files are not related to packetary 2015-12-24 13:00:48 +03:00
MANIFEST.in [packetary] initial commit 2015-10-20 19:33:48 +00:00
README.rst Drop files are not related to packetary 2015-12-24 13:00:48 +03:00
babel.cfg [packetary] initial commit 2015-10-20 19:33:48 +00:00
openstack-common.conf [packetary] initial commit 2015-10-20 19:33:48 +00:00
requirements.txt Align to global requirements 2016-05-19 13:18:05 +03:00
setup.cfg Increased version to 0.2.0.dev 2016-02-09 17:20:54 +03:00
setup.py Fixed retrieve groups.xml on merge repositories 2016-03-01 15:51:08 +03:00
setup_hooks.py Update file-headers 2015-12-29 12:08:39 +03:00
test-requirements.txt Align to global requirements 2016-05-19 13:18:05 +03:00
tox.ini Add package filtering feature 2016-02-20 07:00:52 +03:00

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.