diff options
author | Magnus Granberg <zorry@gentoo.org> | 2021-09-21 01:29:24 +0200 |
---|---|---|
committer | Magnus Granberg <zorry@gentoo.org> | 2021-09-21 01:29:24 +0200 |
commit | a54c33a5119cb5528bb83ab73b86068dd749b970 (patch) | |
tree | a85f31ab6698bbbf69714805a59bb19d57ec0e56 /buildbot_gentoo_ci | |
parent | Support for circular deps media-libs/harfbuzz (diff) | |
download | tinderbox-cluster-a54c33a5119cb5528bb83ab73b86068dd749b970.tar.gz tinderbox-cluster-a54c33a5119cb5528bb83ab73b86068dd749b970.tar.bz2 tinderbox-cluster-a54c33a5119cb5528bb83ab73b86068dd749b970.zip |
Support fore more make.conf options from the db
Signed-off-by: Magnus Granberg <zorry@gentoo.org>
Diffstat (limited to 'buildbot_gentoo_ci')
-rw-r--r-- | buildbot_gentoo_ci/db/model.py | 1 | ||||
-rw-r--r-- | buildbot_gentoo_ci/db/projects.py | 1 | ||||
-rw-r--r-- | buildbot_gentoo_ci/steps/portage.py | 59 |
3 files changed, 16 insertions, 45 deletions
diff --git a/buildbot_gentoo_ci/db/model.py b/buildbot_gentoo_ci/db/model.py index d9a3972..e2cbc8d 100644 --- a/buildbot_gentoo_ci/db/model.py +++ b/buildbot_gentoo_ci/db/model.py @@ -113,6 +113,7 @@ class Model(base.DBConnectorComponent): sa.Column('status', sa.Enum('stable','unstable','all'), nullable=False), sa.Column('auto', sa.Boolean, default=False), sa.Column('enabled', sa.Boolean, default=False), + sa.Column('use_default', sa.Boolean, default=True), sa.Column('created_by', sa.Integer, sa.ForeignKey('users.uid', ondelete='CASCADE'), nullable=False), diff --git a/buildbot_gentoo_ci/db/projects.py b/buildbot_gentoo_ci/db/projects.py index fbef435..408450e 100644 --- a/buildbot_gentoo_ci/db/projects.py +++ b/buildbot_gentoo_ci/db/projects.py @@ -211,6 +211,7 @@ class ProjectsConnectorComponent(base.DBConnectorComponent): status=row.status, auto=row.auto, enabled=row.enabled, + use_default=row.use_default, created_by=row.created_by ) diff --git a/buildbot_gentoo_ci/steps/portage.py b/buildbot_gentoo_ci/steps/portage.py index 0a131d7..03552b6 100644 --- a/buildbot_gentoo_ci/steps/portage.py +++ b/buildbot_gentoo_ci/steps/portage.py @@ -179,7 +179,7 @@ class SetMakeConf(BuildStep): @defer.inlineCallbacks def run(self): - #FIXME: Make a dict before we pass it to the make.conf + #FIXME: Make a dict before we pass it to the log self.gentooci = self.master.namedServices['services'].namedServices['gentooci'] project_data = self.getProperty('project_data') makeconf_variables_data = yield self.gentooci.db.portages.getVariables() @@ -189,46 +189,25 @@ class SetMakeConf(BuildStep): for k in makeconf_variables_data: makeconf_variables_values_data = yield self.gentooci.db.projects.getProjectMakeConfById(project_data['uuid'], k['id']) makeconf_variable_list = [] - # we add some default values - #FIXME: - # we could set them in a config variables - # FEATURES - if k['variable'] == 'FEATURES': - makeconf_variable_list.append('xattr') - makeconf_variable_list.append('cgroup') - makeconf_variable_list.append('-news') - makeconf_variable_list.append('-collision-protect') - makeconf_variable_list.append('split-log') - makeconf_variable_list.append('compress-build-logs') - # EMERGE_DEFAULT_OPTS - if k['variable'] == 'EMERGE_DEFAULT_OPTS': - makeconf_variable_list.append('--buildpkg=y') - makeconf_variable_list.append('--rebuild-if-new-rev=y') - makeconf_variable_list.append('--rebuilt-binaries=y') - makeconf_variable_list.append('--usepkg=y') - makeconf_variable_list.append('--binpkg-respect-use=y') - makeconf_variable_list.append('--binpkg-changed-deps=y') - makeconf_variable_list.append('--nospinner') - makeconf_variable_list.append('--color=n') - makeconf_variable_list.append('--ask=n') - makeconf_variable_list.append('--quiet-build=y') - makeconf_variable_list.append('--quiet-fail=y') # CFLAGS if k['variable'] == 'CFLAGS' or k['variable'] == 'FCFLAGS': makeconf_variable_list.append('-O2') makeconf_variable_list.append('-pipe') - makeconf_variable_list.append('-march=native') makeconf_variable_list.append('-fno-diagnostics-color') #FIXME: # Depend on worker we may have to add a diffrent march + makeconf_variable_list.append('-march=native') if k['variable'] == 'CXXFLAGS': makeconf_variable_list.append('${CFLAGS}') if k['variable'] == 'FFLAGS': makeconf_variable_list.append('${FCFLAGS}') - if k['variable'] == 'ACCEPT_PROPERTIES': - makeconf_variable_list.append('-interactive') - if k['variable'] == 'ACCEPT_RESTRICT': - makeconf_variable_list.append('-fetch') + # Add default setting if use_default + if project_data['use_default']: + default_project_data = yield self.gentooci.db.projects.getProjectByName(self.gentooci.config.project['project']['update_db']) + default_makeconf_variables_values_data = yield self.gentooci.db.projects.getProjectMakeConfById(default_project_data['uuid'], k['id']) + for v in default_makeconf_variables_values_data: + if v['build_id'] == 0: + makeconf_variable_list.append(v['value']) for v in makeconf_variables_values_data: if v['build_id'] == 0: makeconf_variable_list.append(v['value']) @@ -237,21 +216,10 @@ class SetMakeConf(BuildStep): if makeconf_variable_list != []: makeconf_variable_string = k['variable'] + '="' + separator2.join(makeconf_variable_list) + '"' makeconf_list.append(makeconf_variable_string) - # add hardcoded variables and values - #FIXME: - # we could set them in a config variables - makeconf_list.append('LC_MESSAGES=C') - makeconf_list.append('NOCOLOR="true"') - makeconf_list.append('GCC_COLORS=""') - makeconf_list.append('PORTAGE_TMPFS="/dev/shm"') - makeconf_list.append('CLEAN_DELAY=0') - makeconf_list.append('NOCOLOR=true') - makeconf_list.append('PORT_LOGDIR="/var/cache/portage/logs"') - makeconf_list.append('PKGDIR="/var/cache/portage/packages"') - makeconf_list.append('DISTDIR="/var/cache/portage/distfiles"') - makeconf_list.append('PORTAGE_ELOG_CLASSES="*"') - # We need echo:info to get the logfile name - makeconf_list.append('PORTAGE_ELOG_SYSTEM="save:* echo:info"') + # add hardcoded variables from config file + config_makeconfig = self.gentooci.config.project['project']['config_makeconfig'] + for v in config_makeconfig: + makeconf_list.append(v) # add ACCEPT_KEYWORDS from the project_data info keyword_data = yield self.gentooci.db.keywords.getKeywordById(project_data['keyword_id']) if project_data['status'] == 'unstable': @@ -259,6 +227,7 @@ class SetMakeConf(BuildStep): else: makeconf_keyword = keyword_data['name'] makeconf_list.append('ACCEPT_KEYWORDS="' + makeconf_keyword + '"') + makeconf_list.append('MAKEOPTS="-j14"') makeconf_string = separator1.join(makeconf_list) print(makeconf_string) yield self.build.addStepsAfterCurrentStep([ |