Fix #661: mbs hard-codes x86_64 as the local architecture

This commit is contained in:
Filip Valder
2017-09-15 14:24:13 +02:00
parent 6b7f869cd2
commit be7c8d7aff
3 changed files with 25 additions and 1 deletions

View File

@@ -173,3 +173,6 @@ class ProdConfiguration(BaseConfiguration):
class LocalBuildConfiguration(BaseConfiguration):
LOG_LEVEL = 'debug'
MESSAGING = 'in_memory'
ARCH_AUTODETECT = True
ARCH_FALLBACK = 'x86_64'

View File

@@ -28,6 +28,7 @@ import koji
import kobo.rpmlib
import modulemd
import pipes
import platform
import re
import threading
@@ -91,9 +92,21 @@ class MockModuleBuilder(GenericBuilder):
self.tag_name = tag_name
self.config = config
self.groups = []
self.arch = "x86_64" # TODO: We may need to change that in the future
self.yum_conf = MockModuleBuilder.yum_config_template
# Auto-detect arch (if possible) or fallback to the configured one
if conf.arch_autodetect:
arch_detected = platform.machine()
if arch_detected:
self.arch = arch_detected
else:
log.warning("Couldn't determine machine arch. Falling back "
"to configured arch.")
self.arch = conf.arch_fallback
else:
self.arch = conf.arch_fallback
log.info("Machine arch setting: {}".format(self.arch))
# Create main directory for this tag
self.tag_dir = os.path.join(self.config.mock_resultsdir, tag_name)
if not os.path.exists(self.tag_dir):

View File

@@ -326,6 +326,14 @@ class Config(object):
'type': bool,
'default': True,
'desc': 'Remove empty or otherwise useless log files.'},
'arch_autodetect': {
'type': bool,
'default': True,
'desc': 'Auto-detect machine arch when configuring builder.'},
'arch_fallback': {
'type': str,
'default': 'x86_64',
'desc': 'Fallback arch if auto-detection is off or unable to determine it.'},
'scmurls': {
'type': list,
'default': [],