No functional impact, just fix a recurring traceback when verbose:
"TypeError: %d format: a number is required, not str"
Change-Id: I4a88e7eba81b4a470bd6a442762336d4110ea548
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
When generating repository metadata, the Release file gets the
architecture list in an untranslated format, ending up with
'x86_64' instead of 'amd64'.
Closes-bug: 1638628
Change-Id: I8471db6d54157175ff275c969ed5195d4616fa0f
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Enable new architecture 'aarch64' ('arm64' on Ubuntu).
Tested with DEB driver.
Closes-bug: 1638635
Change-Id: I9761322020837186c109c18e849128791ab909d8
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Option 'cache_dir' uses to specify directory where
will be downloaded remote files
The packaging controller allows to use files which
are available via HTTP as source or spec file
Each driver has its own section in input data,
this allows to use same input data for several drivers.
Change-Id: I1fb3b08fe305c3413e5aa4a9213762208a2479da
This change introduces API for building packages.
The commit includes Controller object and interface for PackagingDriver.
Change-Id: I1ce0f746c1cbc5cf8ff29d08d09175acb5d79586
1) We need to merge trees with the same priority in order
to catch case when we have package with different versions in
repos with the same priority, eg:
repo2, priority=10, package=foo-5.3
repo1, priority=5, package=asd-1.2
repo3, priority=10, package=foo-7.1
--> sort(key=priority) can result:
repo1, priority=5, package=asd-1.2
repo2, priority=10, package=foo-5.3
repo3, priority=10, package=foo-7.1
so we will return: foo-5.3 instead we must return foo-7.1
2) priority must be a mandatory parameter for Repository
3) Align rpm default priority _DEFAULT_PRIORITY: N, where
N is an integer from 1 to 99. The default priority for
repositories is 99. The repositories with the lowest
numerical priority number have the highest priority.
Closes-bug: #1590525
Change-Id: I8299b1502775cc68bd1c783487ce7dc802a31a05
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
the requirements can contain the following sections:
packages - the list of packages that are needed
repositories - the list of repositories, packages from that are needed
mandatory - boolean flag that uses to automatically copy mandatory packages
Change-Id: Ic26f991c0bf1e9819005cd4bbe7ed40228b2ce1b
Sometimes packetary hangs forever when spawning
mutiple createrepo workers. This patch sets
number of workers to 1.
Change-Id: Ica52245b20343428e663e9397ffa8b52d6f46ffc
Closes-Bug: #1552138
The reletion may ommit the release component of version,
that means any release
Aslo the strignify for PackageVersion was changed,
now ':' is used to separate epoch
Change-Id: I8d74c9cc82720103a5b6d9189f85276bda4ec082
Also keep original group index durring rebuild repository index.
Build only meta-files without package information durring create and fork
repository
Change-Id: I613ce2084750f02035a13c301aa5812e08a90482
Closes-Bug: 1549413
The input data is described in YAML or JSON format
Also implemented support of priorities for repositories
Change-Id: I02f11714ba8880dd06c3ceeadf230c1d812ff0be
Implements: blueprint unify-input-data
class Repository composes from:
* RepositryDriver - low-level support for physical repository. deb, yum, etc.
* RepositoryController - infrastcuture method to communicate with driver
* RepositoryApi - high-level class, that provides methods to work with repository
Change-Id: Iaf868fca982d91089e369d13a6fb381ff879ea73
Implements: blueprint refactor-local-mirror-scripts
Partial-Bug: #1487077