diff --git a/contrib/rh-bkr/bkr.py b/contrib/rh-bkr/bkr.py
index 1eb1c32d86..35c42ec2c3 100755
--- a/contrib/rh-bkr/bkr.py
+++ b/contrib/rh-bkr/bkr.py
@@ -635,26 +635,34 @@ class CmdSubmit(CmdBase):
for (k,v) in self.subs.iteritems():
self._print_substitution(k, v)
- def _get_var(self, key_name):
- if not hasattr(self, '_default_var'):
- # Lazily set self._default_var from the command line arguments
+ def _get_var(self, key_name, default_fallback=True):
+ if not hasattr(self, '_var'):
+ # Lazily set self._var from the command line arguments
# the first time we need it
- self._default_var = {}
+ self._var = {}
+ self._var_opts = {}
if self.options.var is not None:
for v0 in self.options.var:
v = v0.split('=', 1)
if len(v) != 2:
raise Exception("Invalid --var option %s. Should be NAME=VALUE" % (v0))
- self._default_var[v[0]] = v[1]
- if key_name in self._default_var:
- return self._default_var[key_name]
+ self._var[v[0]] = v[1]
+ self._var_opts[v[0]] = v[1]
+ if not default_fallback:
+ if key_name in self._var_opts:
+ return self._var_opts[key_name]
+ else:
+ if key_name in self._var:
+ return self._var[key_name]
v = os.environ.get(key_name)
+ if not default_fallback:
+ return v
if v is None and key_name in CmdSubmit.DefaultReplacements:
v = CmdSubmit.DefaultReplacements[key_name]
if not isinstance(v, basestring):
- self._default_var[key_name] = None
+ self._var[key_name] = None
v = v(self, key_name)
- self._default_var[key_name] = v
+ self._var[key_name] = v
return v
@@ -766,6 +774,33 @@ class CmdSubmit(CmdBase):
pass
return 'RHEL-7.2-20150907.n.0'
+ def _get_var_for_DISTRO_TAG(self, key):
+ v = self._get_var('DISTRO_TAG')
+ if v is not None:
+ return v
+ target_branch = self.__process_line_get_GIT_TARGETBRANCH_detect("DISTRO_TAG")
+ if target_branch == 'rhel-7.0':
+ return 'RHEL-7_0-Z-branch'
+ if target_branch == 'rhel-7.1':
+ return 'RHEL-7_1-Z-branch'
+ if target_branch == 'rhel-7':
+ pass
+ return 'RTT_ACCEPTED'
+
+ def _get_var_for_DISTROREQUIRES(self, key):
+ v = self._get_var('DISTROREQUIRES')
+ if v is not None:
+ return v
+ v = self._get_var('DISTRO_TAG', False)
+ if v is None:
+ v = self._get_var('DISTRO_NAME', False)
+ if v is not None:
+ return '' % (v)
+ v = self._get_var ('DISTRO_TAG')
+ if v is not None:
+ return '' % (self._get_var('DISTRO_FAMILY'), v)
+ return None
+
def _get_var_for_RESERVESYS(self, key):
v = self._get_var('RESERVESYS')
if v is not None:
@@ -796,11 +831,13 @@ class CmdSubmit(CmdBase):
'DISTRO_FAMILY' : 'RedHatEnterpriseLinux7',
'DISTRO_VARIANT' : 'Workstation',
'DISTRO_NAME' : _get_var_for_DISTRO_NAME,
+ 'DISTRO_TAG' : _get_var_for_DISTRO_TAG,
'DISTRO_METHOD' : 'nfs',
'DISTRO_ARCH' : 'x86_64',
'ARCH' : _get_var_for_ARCH,
'HOSTREQUIRES' : _get_var_for_HOSTREQUIRES,
'JOBTYPE' : _get_var_for_JOBTYPE,
+ 'DISTROREQUIRES' : _get_var_for_DISTROREQUIRES,
'TEST_URL' : 'http://download.eng.brq.redhat.com/scratch/vbenes/NetworkManager-rhel-7.tar.gz',
'GIT_TARGETBRANCH' : _get_var_for_GIT_TARGETBRANCH,
'UUID' : str(uuid.uuid4()),
diff --git a/contrib/rh-bkr/job01.xml b/contrib/rh-bkr/job01.xml
index 9a0a2d06fa..10bd9109b5 100644
--- a/contrib/rh-bkr/job01.xml
+++ b/contrib/rh-bkr/job01.xml
@@ -59,8 +59,7 @@ rm -f /etc/sysconfig/network-scripts/ifcfg-mlx*
-
-
+ $DISTROREQUIRES