mprahl
aa98eb1cc2
Don't determine the buildroot_groups when cleaning up stale module builds
2018-05-14 13:55:56 -04:00
mprahl
b0728b1080
Make the published messages smaller
2018-05-10 11:49:02 -04:00
mprahl
00e46c205b
Show siblings and component_builds in the standard modules API
2018-05-10 11:48:00 -04:00
Ralph Bean
95eead27f3
Merge #934 Log this exception.
2018-05-08 19:55:02 +00:00
Ralph Bean
12fcd91bcd
Log this exception.
...
If libmodulemd returns some garbage, it will be nice to know what it is.
2018-05-08 15:49:51 -04:00
Matt Prahl
3a4fd53e7a
Merge #930 Fallback to the old Koji tag format for the target name when the tag name is too long
2018-05-08 19:48:56 +00:00
Ralph Bean
5a8764e8d9
py3: The dict-value objects returned by .values() doesn't support addition.
2018-05-08 14:18:00 -04:00
Ralph Bean
d0ae77c324
py3: Unicode strings must be encoded to bytes before hashing.
2018-05-08 14:17:36 -04:00
mprahl
15a7e322a6
Fallback to the old Koji tag format for the target when the tag name is too long
2018-05-08 09:11:22 -04:00
Qixiang Wan
d83e6897ca
Change ModuleBuild.context to db column
...
1. Changed ModuleBuild's context property to db column, it's
non-nullable and default value is '00000000' to keep it consistent
with previous behaviour.
2. Changed ModuleBuild.contexts_from_mmd to return a tuple of
(ref_build_context, build_context, runtime_context, context).
3. Updated tests affected by this change.
2018-04-28 11:46:31 +08:00
Qixiang Wan
8b807a9fcd
Generate koji tag from MBS and use informative name
...
koji now supports tags with max length of 256, we can use
more informative tag name instead of the hash one.
The new format of koji tag name is:
module-<name>-<stream>-<version>-<context>
However when the generated tag's length > (256 - len('build')), we
fallback to the old way of name in hash format (module-<hash>).
In this change, koji tag is always generated from MBS itself, even
with pdc resolver.
FIXES : #918 #925
2018-04-26 22:04:16 +08:00
Matt Prahl
8351713828
Merge #922 Generate 'context' from hash based on buildrequires/requires stream. Reuse components only from module with the same stream_build_context.
2018-04-24 22:50:02 +00:00
Jan Kaluza
8d1d439737
Generate 'context' from hash based on buildrequires/requires stream. Reuse components only from module with the same stream_build_context.
2018-04-24 15:45:26 +02:00
Jan Kaluza
9236133cd2
Fix wrong rebase of #919 .
2018-04-13 13:07:00 +02:00
Jan Kaluza
c1c95fc963
Allow defining list of packages which are blocked in the -build tag until they are built in a module.
2018-04-13 12:57:27 +02:00
Jan Kaluza
5d91c97386
Allow defining list of packages which are blocked in the -build tag until they are built in a module.
2018-04-12 09:45:57 +02:00
Jan Kaluza
836fb9db10
Keep the 'module_name:[]' in requires unexpanded in generate_expanded_mmds.
2018-04-06 10:48:59 +02:00
mprahl
05f34598eb
Surface the error to the user when a module dependency can't be found
2018-04-05 14:37:08 -04:00
mprahl
aa990d3de3
Use six instead of future
2018-04-05 11:32:21 -04:00
mprahl
c2824138d3
Fix a bug in MSE when a module requires a module that isn't also a buildrequire
2018-04-05 10:58:29 -04:00
Jan Kaluža
4b9a5fb551
Merge #904 Rename a variable for clarity in load_local_builds
2018-04-05 12:13:38 +00:00
Jan Kaluza
65513afd1a
Share the same in the dist tag between all MSE builds.
2018-04-05 10:42:56 +02:00
mprahl
d4d9360662
Rename a variable for clarity in load_local_builds
2018-04-04 11:12:08 -04:00
mprahl
19db295795
Fix flake8 errors
2018-04-03 09:58:57 -04:00
mprahl
bed9bf7a87
Remove the dependency on python-systemd
2018-04-03 09:58:57 -04:00
Jan Kaluza
9b6fd2ba39
Split utils.py to multiple files based on the methods use-case.
2018-04-03 09:58:57 -04:00
Jan Kaluza
9503e4624e
Support local build of modules with MSE.
2018-04-03 09:58:57 -04:00
Jan Kaluza
604a336649
Backport jsonify method which supports list as input.
2018-04-03 09:58:57 -04:00
Jan Kaluza
bf873dbaea
Do not set app.config['SERVER_NAME'] if app_context exists.
2018-04-03 09:58:57 -04:00
mprahl
5b278211e6
Add API v2 which will return a list of modules on build submissions based on module stream expansion
2018-04-03 09:58:57 -04:00
mprahl
41814b42de
Add siblings to the extended JSON output of module builds
2018-04-03 09:58:57 -04:00
Jan Kaluza
da95c94528
Support resolving MMDs without any buildrequire.
2018-04-03 09:58:57 -04:00
Jan Kaluza
6fc8c646de
Add 'mbs-manager import_module'.
2018-04-03 09:58:57 -04:00
Jan Kaluza
1d46b332b3
Requires version 1.0 of Modulemd
2018-04-03 09:58:57 -04:00
Jan Kaluza
e5e9a24fce
Allow adding bool to XMD. Fix flake8 issues.
2018-04-03 09:58:57 -04:00
Jan Kaluza
2482e47c07
Fix issues from review. Drop xmd['mbs']['requires']. Do not allow building MSE builds against non-MSE builds.
2018-04-03 09:58:57 -04:00
Jan Kaluza
31ddbe51a5
Add generate_expanded_mmds which returns list of MMDs which can be submitted as MSE builds and submit them.
2018-04-03 09:58:57 -04:00
Igor Gnatenko
85af781920
mmd_resolver: add support for streams exclusion
...
Also fix support for dependencies with empty streams list.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
ebd6dba78f
mmd_resolver: allow configuring output of solve() by policy
...
Also make results more determenistic.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
52e73b64c2
mmd_resolver: store alternatives per source package
...
Input:
* (c0) gtk: [1] + foo: [1]
* (c1) gtk: [1] + foo: [1, 2]
Before:
* c0 + gtk:1 + foo:1
* c1 + gtk:1 + foo:2
After:
* c0 + gtk:1 + foo:1
* c1 + gtk:1 + foo:1
* c1 + gtk:1 + foo:2
Acked-by: Jan Kaluža <jkaluza@redhat.com >
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
e3490d129a
mmd_resolver: generate combinations only for top-level dependencies
...
Reported-by: Petr Šabata <contyk@redhat.com >
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
mprahl
eb0b2e1c38
Add the database resolver plugin
2018-04-03 09:58:57 -04:00
mprahl
d338a390b9
Set local builds to the ready state on import
2018-04-03 09:58:57 -04:00
Igor Gnatenko
9d3bcf4a06
mmd_resolver: replace asserts with meaningful exceptions
...
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
7cbd0a0301
mmd_resolver: rework solvables generation
...
Now we have good separation between runtime and buildtime dependencies:
If mmd has context, it is built artefact which supposed to have only one
dependency entry, we create solvable with real arch for it. Otherwise we
create multiple solvables with "src" arch.
In "src" solvables, "context" is a number which represents index in
dependencies array.
Stream is not included anymore in "evr" because it's incomparable.
Version is not included anymore in "name" because it's there just for
comparison, nothing more (it's not different module-stream).
As a side, add_requires/add_conflicts/add_provides were replaced with
non-deprecated add_deparray method.
With all this, we are ready to handle MMDs which have multiple elements
in dependencies (modulemd v2).
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
060275f094
mmd_resolver: remove useless provides from modules
...
That would be never used and is totally useless.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
652c445b2c
mmd_resolver: simplify conflict rule
...
Conflicting with module(foo) is more than enough to make sure that we
will have only one copy of solvables providing it.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
9ce5dffb14
mmd_resolver: rewrite function for finding alternatives
...
Previous version was assuming that number of alternatives is static
which is wrong, they can be appearing depending on solvables.
Also it was checking even impossible combinations (due to using
itertools.product).
Now we check only real possibilities.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Igor Gnatenko
4ff944477d
mmd_resolver: set 'src' arch for build repo solvables
...
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00
Jan Kaluža
e7587cb77b
add MMDResolver to find possible combinations between modules
...
Using libsolv for solving part and libmodulemd for getting the data.
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com >
2018-04-03 09:58:57 -04:00