WhenIsGood - Scheduling a discussion around Fedora Projects Planning
by Adam Miller
Hello all,
There was recently a discussion on the Fedora Rel-Eng list as the
result of a Project Planning workflow[0]. As this was discussed
further in irc it was decided that this is likely a conversation that
should be had across more Fedora groups to see if there's a solution
that we would all like to utilize. If we can all agree on a workflow
and utility we'll hopefully remove the potential for duplicating
efforts or requesting multiple solutions to the same problem be hosted
by the Infrastructure team. In an attempt to not cross-post I am
duplicating this post on the rel-eng, qa, infrastructure, docs,
buildsys, and env-and-stacks mailing lists. I would like to request
that if there are any discussions around this, please rely to the
rel-eng list so we can consolidate the discussion.
All interested parties please fill out the following WhenIsGood so
that we can find a meeting time to discuss this.
http://whenisgood.net/pip4kjd
Thank you,
-AdamM
[0] - https://lists.fedoraproject.org/pipermail/rel-eng/2015-April/019806.html
8 years, 11 months
[PATCH] mergeScratch(): import rpms from a scratch build into an existing build
by Mike Bonnet
Hi. The attached patch implements a mergeScratch() method. This
enables importing the rpms built by a scratch build and associating them
with an existing build, if that build was built from the same SCM URL
and has the same NVR.
The use-case for the method is arch enablement. The general approach
would be:
- setup a new build tag that builds only for the new arch
- this would use either imported rpms or an external repo of rpms
that had been built/bootstrapped manually
- run a scratch build in the new build tag, from the same SCM URL as
an existing build
- call mergeScratch(scratch_task_id)
- rpms built for the new arch are added to the existing build
This allows arch coverage to be added incrementally to existing builds
in a non-disruptive way. When all builds in the -build tag have rpms
for the new arch, the arch can be enabled in the main tags and all new
builds will generate rpms for the new arch. This simplifies the
bootstrap process for a new arch, and avoids mass-rebuilds that would
result in no change in the existing arch rpms.
This could be accomplished with the existing rpm import functionality,
but mergeScratch() retains the build logs and the buildroot metadata
(associated with the scratch build task) so merged rpms have better
tracking and auditability.
Questions and comments welcome.
Thanks,
Mike
8 years, 11 months
[PATCH] add id and parent to the headers of Koji TaskStateChange messages
by Mike Bonnet
This should make it easier to track the state of a specific task and any
child tasks it creates. While this may be considered a change to the
public API, it is an additive change and I can't imagine any current
use-cases it would affect.
Questions/comments welcome.
Thanks,
Mike
8 years, 11 months
[PATCH] (cosmetic) consistent line wrapping.
by Ralph Bean
Signed-off-by: Ralph Bean <rbean(a)redhat.com>
---
mash/config.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mash/config.py b/mash/config.py
index 0383c80..57b6668 100644
--- a/mash/config.py
+++ b/mash/config.py
@@ -43,8 +43,8 @@ class MashConfig(config.BaseConfig):
'yaboot', 'syslinux-extlinux-nonlinux', 'syslinux-nonlinux',
'syslinux-tftpboot',
])
- multilib_runtime_blacklist = config.ListOption(['tomcat-native',
- 'php', 'httpd',
+ multilib_runtime_blacklist = config.ListOption([
+ 'tomcat-native', 'php', 'httpd',
])
arches = config.ListOption()
keys = config.ListOption()
--
2.1.0
8 years, 12 months
[PATCH] Make MashDistroConfig inherit white/black lists from MashConfig.
by Ralph Bean
This should fix the traceback in today's rawhide:
http://koji.fedoraproject.org/mash/rawhide-20150501/logs/mash.log
Signed-off-by: Ralph Bean <rbean(a)redhat.com>
---
mash/config.py | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/mash/config.py b/mash/config.py
index 91345dc..0383c80 100644
--- a/mash/config.py
+++ b/mash/config.py
@@ -85,6 +85,14 @@ class MashDistroConfig(config.BaseConfig):
multilib = config.Inherit(MashConfig.multilib)
multilib_method = config.Inherit(MashConfig.multilib_method)
multilib_file = config.Inherit(MashConfig.multilib_file)
+ multilib_devel_whitelist = config.Inherit(
+ MashConfig.multilib_devel_whitelist)
+ multilib_devel_blacklist = config.Inherit(
+ MashConfig.multilib_devel_blacklist)
+ multilib_runtime_whitelist = config.Inherit(
+ MashConfig.multilib_runtime_whitelist)
+ multilib_runtime_blacklist = config.Inherit(
+ MashConfig.multilib_runtime_blacklist)
arches = config.Inherit(MashConfig.arches)
tag = config.Option()
inherit = config.BoolOption(True)
--
2.1.0
8 years, 12 months
[PATCH] Save a reference to the config.
by Ralph Bean
This fixes the AttributeError we hit in today's rawhide:
https://kojipkgs.fedoraproject.org/mash/rawhide-20150430/logs/mash.log
The error looks like:
```
Traceback (most recent call last):
File "/usr/bin/mash", line 105, in <module>
main()
File "/usr/bin/mash", line 91, in main
rc = themash.doMultilib()
File "/usr/lib/python2.7/site-packages/mash/__init__.py", line 610, in doMultilib
pid = self.doDepSolveAndMultilib(arch, repocache)
File "/usr/lib/python2.7/site-packages/mash/__init__.py", line 561, in doDepSolveAndMultilib
elif do_multi and method.select(pkg):
File "/usr/lib/python2.7/site-packages/mash/multilib.py", line 189, in select
if po.name in self.config.multilib_devel_blacklist:
AttributeError: DevelMultilibMethod instance has no attribute 'config'
```
Signed-off-by: Ralph Bean <rbean(a)redhat.com>
---
mash/multilib.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mash/multilib.py b/mash/multilib.py
index 9dedc0c..e18b87b 100644
--- a/mash/multilib.py
+++ b/mash/multilib.py
@@ -86,6 +86,7 @@ class YabootMultilibMethod:
class RuntimeMultilibMethod(MultilibMethod):
def __init__(self, config):
self.name = 'runtime'
+ self.config = config
def select(self, po):
libdirs = [ '/usr/lib', '/usr/lib64', '/lib', '/lib64' ]
@@ -184,6 +185,7 @@ class RuntimeMultilibMethod(MultilibMethod):
class DevelMultilibMethod(RuntimeMultilibMethod):
def __init__(self, config):
self.name = 'devel'
+ self.config = config
def select(self, po):
if po.name in self.config.multilib_devel_blacklist:
--
2.1.0
8 years, 12 months