mirror of
https://github.com/openSUSE/osc.git
synced 2024-11-10 22:56:15 +01:00
avoid importing the config global variable
in build we imported "conf" and "from .conf import config" which let to two different instances of config: "global config" at import was the DEFAULTS array, and conf.config the updated config after reading the user configuration. Convert everything to use conf.config as everywhere else, which makes setting of build defaults in the oscrc work again (like build-jobs).
This commit is contained in:
parent
774f8406a8
commit
29274b5289
31
osc/build.py
31
osc/build.py
@ -19,7 +19,6 @@ from . import conf
|
|||||||
from . import connection
|
from . import connection
|
||||||
from . import core
|
from . import core
|
||||||
from . import oscerr
|
from . import oscerr
|
||||||
from .conf import config
|
|
||||||
from .core import get_buildinfo, store_read_project, store_read_package, meta_exists, quote_plus, get_buildconfig, is_package_dir, dgst
|
from .core import get_buildinfo, store_read_project, store_read_package, meta_exists, quote_plus, get_buildconfig, is_package_dir, dgst
|
||||||
from .core import get_binarylist, get_binary_file, run_external, return_external, raw_input
|
from .core import get_binarylist, get_binary_file, run_external, return_external, raw_input
|
||||||
from .fetch import Fetcher, OscFileGrabber, verify_pacs
|
from .fetch import Fetcher, OscFileGrabber, verify_pacs
|
||||||
@ -108,7 +107,7 @@ class Buildinfo:
|
|||||||
# are we building .rpm or .deb?
|
# are we building .rpm or .deb?
|
||||||
# XXX: shouldn't we deliver the type via the buildinfo?
|
# XXX: shouldn't we deliver the type via the buildinfo?
|
||||||
self.pacsuffix = 'rpm'
|
self.pacsuffix = 'rpm'
|
||||||
if self.buildtype in ('dsc', 'collax', 'deb'):
|
if self.buildtype in ('dsc', 'collax', 'deb'):
|
||||||
self.pacsuffix = 'deb'
|
self.pacsuffix = 'deb'
|
||||||
if self.buildtype == 'arch':
|
if self.buildtype == 'arch':
|
||||||
self.pacsuffix = 'arch'
|
self.pacsuffix = 'arch'
|
||||||
@ -137,14 +136,14 @@ class Buildinfo:
|
|||||||
self.release = root.find('release').text
|
self.release = root.find('release').text
|
||||||
else:
|
else:
|
||||||
self.release = None
|
self.release = None
|
||||||
if config['api_host_options'][apiurl]['downloadurl']:
|
if conf.config['api_host_options'][apiurl]['downloadurl']:
|
||||||
# Formerly, this was set to False, but we have to set it to True, because a large
|
# Formerly, this was set to False, but we have to set it to True, because a large
|
||||||
# number of repos in OBS are misconfigured and don't actually have repos setup - they
|
# number of repos in OBS are misconfigured and don't actually have repos setup - they
|
||||||
# are API only.
|
# are API only.
|
||||||
self.enable_cpio = True
|
self.enable_cpio = True
|
||||||
self.downloadurl = config['api_host_options'][apiurl]['downloadurl'] + "/repositories"
|
self.downloadurl = conf.config['api_host_options'][apiurl]['downloadurl'] + "/repositories"
|
||||||
if config['http_debug']:
|
if conf.config['http_debug']:
|
||||||
print("⚠️ setting dl_url to %s" % config['api_host_options'][apiurl]['downloadurl'])
|
print("⚠️ setting dl_url to %s" % conf.config['api_host_options'][apiurl]['downloadurl'])
|
||||||
else:
|
else:
|
||||||
self.enable_cpio = True
|
self.enable_cpio = True
|
||||||
self.downloadurl = root.get('downloadurl')
|
self.downloadurl = root.get('downloadurl')
|
||||||
@ -185,9 +184,9 @@ class Buildinfo:
|
|||||||
# a hash providing the matching URL for specific repos for newer OBS instances
|
# a hash providing the matching URL for specific repos for newer OBS instances
|
||||||
if node.get('url'):
|
if node.get('url'):
|
||||||
baseurl = node.get('url').replace('%', '%%')
|
baseurl = node.get('url').replace('%', '%%')
|
||||||
if config['api_host_options'][apiurl]['downloadurl']:
|
if conf.config['api_host_options'][apiurl]['downloadurl']:
|
||||||
# Add the path element to the download url override.
|
# Add the path element to the download url override.
|
||||||
baseurl = config['api_host_options'][apiurl]['downloadurl'] + urlsplit(node.get('url'))[2]
|
baseurl = conf.config['api_host_options'][apiurl]['downloadurl'] + urlsplit(node.get('url'))[2]
|
||||||
self.urls[node.get('project') + "/" + node.get('repository')] = baseurl + '/%(arch)s/%(filename)s'
|
self.urls[node.get('project') + "/" + node.get('repository')] = baseurl + '/%(arch)s/%(filename)s'
|
||||||
|
|
||||||
self.vminstall_list = [dep.name for dep in self.deps if dep.vminstall]
|
self.vminstall_list = [dep.name for dep in self.deps if dep.vminstall]
|
||||||
@ -551,7 +550,7 @@ trustprompt = """Would you like to ...
|
|||||||
|
|
||||||
|
|
||||||
def check_trusted_projects(apiurl, projects):
|
def check_trusted_projects(apiurl, projects):
|
||||||
trusted = config['api_host_options'][apiurl]['trusted_prj']
|
trusted = conf.config['api_host_options'][apiurl]['trusted_prj']
|
||||||
tlen = len(trusted)
|
tlen = len(trusted)
|
||||||
for prj in projects:
|
for prj in projects:
|
||||||
if prj not in trusted:
|
if prj not in trusted:
|
||||||
@ -566,7 +565,7 @@ def check_trusted_projects(apiurl, projects):
|
|||||||
raise oscerr.UserAbort()
|
raise oscerr.UserAbort()
|
||||||
|
|
||||||
if tlen != len(trusted):
|
if tlen != len(trusted):
|
||||||
config['api_host_options'][apiurl]['trusted_prj'] = trusted
|
conf.config['api_host_options'][apiurl]['trusted_prj'] = trusted
|
||||||
conf.config_set_option(apiurl, 'trusted_prj', ' '.join(trusted))
|
conf.config_set_option(apiurl, 'trusted_prj', ' '.join(trusted))
|
||||||
|
|
||||||
|
|
||||||
@ -596,19 +595,19 @@ def calculate_prj_pac(opts, descr):
|
|||||||
|
|
||||||
|
|
||||||
def calculate_build_root(apihost, prj, pac, repo, arch):
|
def calculate_build_root(apihost, prj, pac, repo, arch):
|
||||||
buildroot = os.environ.get('OSC_BUILD_ROOT', config['build-root']) \
|
buildroot = os.environ.get('OSC_BUILD_ROOT', conf.config['build-root']) \
|
||||||
% {'repo': repo, 'arch': arch, 'project': prj, 'package': pac, 'apihost': apihost}
|
% {'repo': repo, 'arch': arch, 'project': prj, 'package': pac, 'apihost': apihost}
|
||||||
return buildroot
|
return buildroot
|
||||||
|
|
||||||
|
|
||||||
def build_as_user():
|
def build_as_user():
|
||||||
if os.environ.get('OSC_SU_WRAPPER', config['su-wrapper']).split():
|
if os.environ.get('OSC_SU_WRAPPER', conf.config['su-wrapper']).split():
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def su_wrapper(cmd):
|
def su_wrapper(cmd):
|
||||||
sucmd = os.environ.get('OSC_SU_WRAPPER', config['su-wrapper']).split()
|
sucmd = os.environ.get('OSC_SU_WRAPPER', conf.config['su-wrapper']).split()
|
||||||
if sucmd:
|
if sucmd:
|
||||||
if sucmd[0] == 'su':
|
if sucmd[0] == 'su':
|
||||||
if sucmd[-1] == '-c':
|
if sucmd[-1] == '-c':
|
||||||
@ -620,7 +619,7 @@ def su_wrapper(cmd):
|
|||||||
|
|
||||||
|
|
||||||
def run_build(opts, *args):
|
def run_build(opts, *args):
|
||||||
cmd = [config['build-cmd']]
|
cmd = [conf.config['build-cmd']]
|
||||||
cmd += args
|
cmd += args
|
||||||
|
|
||||||
cmd = su_wrapper(cmd)
|
cmd = su_wrapper(cmd)
|
||||||
@ -639,12 +638,12 @@ def main(apiurl, opts, argv):
|
|||||||
build_root = None
|
build_root = None
|
||||||
cache_dir = None
|
cache_dir = None
|
||||||
build_uid = ''
|
build_uid = ''
|
||||||
|
config = conf.config
|
||||||
build_shell_after_fail = config['build-shell-after-fail']
|
build_shell_after_fail = config['build-shell-after-fail']
|
||||||
vm_memory = config['build-memory']
|
vm_memory = config['build-memory']
|
||||||
vm_disk_size = config['build-vmdisk-rootsize']
|
vm_disk_size = config['build-vmdisk-rootsize']
|
||||||
vm_type = config['build-type']
|
vm_type = config['build-type']
|
||||||
vm_telnet = None
|
vm_telnet = None
|
||||||
config["api_host_options"] = conf.config["api_host_options"]
|
|
||||||
|
|
||||||
build_descr = os.path.abspath(build_descr)
|
build_descr = os.path.abspath(build_descr)
|
||||||
build_type = os.path.splitext(build_descr)[1][1:]
|
build_type = os.path.splitext(build_descr)[1][1:]
|
||||||
@ -1102,7 +1101,7 @@ def main(apiurl, opts, argv):
|
|||||||
http_debug=config['http_debug'],
|
http_debug=config['http_debug'],
|
||||||
modules=bi.modules,
|
modules=bi.modules,
|
||||||
enable_cpio=not opts.disable_cpio_bulk_download and bi.enable_cpio,
|
enable_cpio=not opts.disable_cpio_bulk_download and bi.enable_cpio,
|
||||||
cookiejar=connection.CookieJarAuthHandler(apiurl, os.path.expanduser(conf.config["cookiejar"]))._cookiejar,
|
cookiejar=connection.CookieJarAuthHandler(apiurl, os.path.expanduser(config["cookiejar"]))._cookiejar,
|
||||||
download_api_only=opts.download_api_only)
|
download_api_only=opts.download_api_only)
|
||||||
|
|
||||||
if not opts.trust_all_projects:
|
if not opts.trust_all_projects:
|
||||||
|
Loading…
Reference in New Issue
Block a user