commit: f232e7435e6e7e0b5bab66c46938452dca45f10c Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> AuthorDate: Sat Jul 18 19:33:09 2015 +0000 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> CommitDate: Sat Jul 18 19:33:09 2015 +0000 URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=f232e743
update portage patch and small fixes patches/portage.patch | 10 +++++----- tbc/pym/build_job.py | 4 ++-- tbc/pym/build_log.py | 21 ++++++++++----------- tbc/pym/package.py | 4 ++-- tbc/pym/updatedb.py | 2 +- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/patches/portage.patch b/patches/portage.patch index eefe0f3..14ec949 100644 --- a/patches/portage.patch +++ b/patches/portage.patch @@ -1,4 +1,4 @@ -2015-04-18 Magnus Granberg <zo...@gentoo.org> +2015-07-18 Magnus Granberg <zo...@gentoo.org> * tbc/pym/actions.py Use the patched Scheduler and add build_dict so it can be ust. @@ -20,7 +20,7 @@ from _emerge.ProgressHandler import ProgressHandler from _emerge.RootConfig import RootConfig -from _emerge.Scheduler import Scheduler -+from zobcs.Scheduler import Scheduler ++from tbc.Scheduler import Scheduler from _emerge.search import search from _emerge.SetArg import SetArg from _emerge.show_invalid_depstring_notice import show_invalid_depstring_notice @@ -28,7 +28,7 @@ from _emerge.UseFlagDisplay import pkg_use_display from _emerge.userquery import userquery -+from zobcs.build_depgraph import build_mydepgraph ++from tbc.build_depgraph import build_mydepgraph + if sys.hexversion >= 0x3000000: long = int @@ -187,7 +187,7 @@ 'portage.util:writemsg_level', 'textwrap', - '_emerge.actions:load_emerge_config,run_action,' + \ -+ 'zobcs.actions:load_emerge_config,run_action,' + \ ++ 'tbc.actions:load_emerge_config,run_action,' + \ 'validate_ebuild_environment', '_emerge.help:help@emerge_help', ) @@ -228,7 +228,7 @@ from _emerge.PollScheduler import PollScheduler from _emerge.SequentialTaskQueue import SequentialTaskQueue -+from zobcs.build_log import add_buildlog_main ++from tbc.build_log import add_buildlog_main + if sys.hexversion >= 0x3000000: basestring = str diff --git a/tbc/pym/build_job.py b/tbc/pym/build_job.py index 3629d8b..dcec3b9 100644 --- a/tbc/pym/build_job.py +++ b/tbc/pym/build_job.py @@ -24,7 +24,7 @@ class build_job_action(object): def __init__(self, config_id, session): self._config_id = config_id - self._session = session + self._session = session def make_build_list(self, build_dict, settings, portdb): cp = build_dict['cp'] @@ -126,7 +126,7 @@ class build_job_action(object): print("Emerge options: %s" % argscmd) log_msg = "argscmd: %s" % (argscmd,) add_logs(self._session, log_msg, "info", self._config_id) - + # Call main_emerge to build the package in build_cpv_list print("Build: %s" % build_dict) update_buildjobs_status(self._session, build_dict['build_job_id'], 'Building', self._config_id) diff --git a/tbc/pym/build_log.py b/tbc/pym/build_log.py index 5c8ec74..ffa848a 100644 --- a/tbc/pym/build_log.py +++ b/tbc/pym/build_log.py @@ -29,7 +29,7 @@ from tbc.ConnectionManager import NewConnection from tbc.sqlquerys import add_logs, get_config_id, get_ebuild_id_db, add_new_buildlog, \ get_package_info, get_build_job_id, get_use_id, get_config_info, get_hilight_info, get_error_info_list, \ add_e_info, get_fail_times, add_fail_times, update_fail_times, del_old_build_jobs, add_old_ebuild, \ - update_buildjobs_status, update_manifest_sql, add_repoman_qa, get_config_id_fqdn + update_buildjobs_status, update_manifest_sql, add_repoman_qa, get_config_id_fqdn, get_setup_info from sqlalchemy.orm import sessionmaker def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg): @@ -77,7 +77,7 @@ def get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg): log_msg = "%s:%s Don't have any ebuild_id!" % (pkg.cpv, repo,) add_logs(session, log_msg, "info", config_id) update_manifest_sql(session, build_dict['package_id'], "0") - init_package = tbc_package(session, settings, myportdb, config_id, tbc_settings_dict) + init_package = tbc_package(session, settings, myportdb, config_id) init_package.update_package_db(build_dict['package_id']) ebuild_id_list, status = get_ebuild_id_db(session, build_dict['checksum'], build_dict['package_id']) if status and ebuild_id_list is None: @@ -206,8 +206,10 @@ def get_buildlog_info(session, settings, pkg, build_dict): # Run repoman check_repoman() repoman_error_list = check_repoman(settings, myportdb, build_dict['cpv'], pkg.repo) - build_log_dict['rmqa'] = False + build_log_dict = {} build_log_dict['fail'] = False + build_log_dict['rmqa'] = False + build_log_dict['others'] = False if repoman_error_list: sum_build_log_list.append("1") # repoman = 1 build_log_dict['rmqa'] = True @@ -223,7 +225,6 @@ def get_buildlog_info(session, settings, pkg, build_dict): for error_info in error_info_list: if re.search(error_info.ErrorSearch, error_log_line): sum_build_log_list.append(error_info.ErrorId) - build_log_dict = {} build_log_dict['repoman_error_list'] = repoman_error_list build_log_dict['qa_error_list'] = qa_error_list build_log_dict['error_log_list'] = error_log_list @@ -243,21 +244,18 @@ def add_buildlog_main(settings, pkg, trees): tbc_settings = read_config_settings() Session = sessionmaker(bind=NewConnection(tbc_settings)) session = Session() - hostname = tbc_settings['hostname'] - config_id = get_config_id_fqdn(session, host) - ConfigsMetaDataInfo = get_configmetadata_info(session, config_id) + config_id = get_config_id_fqdn(session, tbc_settings['hostname']) ConfigInfo = get_config_info(session, config_id) SetupInfo = get_setup_info(session, ConfigInfo.SetupId) host_config = ConfigInfo.Hostname +"/" + SetupInfo.Setup if pkg.type_name == "binary": build_dict = None else: - build_dict = get_build_dict_db(session, config_id, settings, tbc_settings_dict, pkg) + build_dict = get_build_dict_db(session, config_id, settings, tbc_settings, pkg) if build_dict is None: log_msg = "Package %s:%s is NOT logged." % (pkg.cpv, pkg.repo,) add_logs(session, log_msg, "info", config_id) session.close - Session.remove() return build_log_dict = {} build_log_dict = get_buildlog_info(session, settings, pkg, build_dict) @@ -287,7 +285,6 @@ def add_buildlog_main(settings, pkg, trees): add_logs(session, log_msg, "info", config_id) print("\n>>> Logging %s:%s\n" % (pkg.cpv, pkg.repo,)) session.close - Session.remove() def log_fail_queru(session, build_dict, settings): config_id = build_dict['config_id'] @@ -327,7 +324,7 @@ def log_fail_queru(session, build_dict, settings): useflagsdict[use_id] = v build_dict['build_useflags'] = useflagsdict else: - build_dict['build_useflags'] = None + build_dict['build_useflags'] = None if settings.get("PORTAGE_LOG_FILE") is not None: ConfigInfo= get_config_info(session, config_id) host_config = ConfigInfo.Hostname +"/" + ConfigInfo.Config @@ -339,5 +336,7 @@ def log_fail_queru(session, build_dict, settings): settings2, trees, tmp = load_emerge_config() build_log_dict['emerge_info'] = get_emerge_info_id(settings2, trees, session, config_id) build_log_dict['others'] = True + build_log_dict['rmqa'] = False + build_log_dict['fail'] = False log_id = add_new_buildlog(session, build_dict, build_log_dict) del_old_build_jobs(session, build_dict['build_job_id']) diff --git a/tbc/pym/package.py b/tbc/pym/package.py index bf0ca9f..8d156d8 100644 --- a/tbc/pym/package.py +++ b/tbc/pym/package.py @@ -38,7 +38,7 @@ class tbc_package(object): ConfigsMetaData = get_configmetadata_info(self._session, config_id) if ConfigsMetaData.Auto and ConfigsMetaData.Active and ConfigsMetaData.Status != 'Stopped' and not ConfigInfo.SetupId in config_cpv_dict: SetupInfo = get_setup_info(self._session, config_id) - mysettings_setup = self.change_config(ConfigInfo.Hostname + "/" + SetupInfo.Setup, ConfigsMetaData.RepoPath) + mysettings_setup = self.change_config(ConfigInfo.Hostname + "/" + SetupInfo.Setup, repopath) myportdb_setup = portage.portdbapi(mysettings=mysettings_setup) # Get the latest cpv from portage with the config that we can build @@ -104,7 +104,7 @@ class tbc_package(object): # if there some error to get the metadata we add rubish to the # ebuild_version_metadata_tree and set ebuild_version_checksum_tree to 0 # so it can be updated next time we update the db - if ebuild_version_metadata_tree: + if not ebuild_version_metadata_tree: log_msg = " QA: %s have broken metadata on repo %s" % (cpv, repo) add_logs(self._session, log_msg, "info", self._config_id) ebuild_version_metadata_tree = ['','','','','','','','','','','','','','','','','','','','','','','','',''] diff --git a/tbc/pym/updatedb.py b/tbc/pym/updatedb.py index 2e6b858..1cacc7d 100644 --- a/tbc/pym/updatedb.py +++ b/tbc/pym/updatedb.py @@ -61,7 +61,7 @@ def update_cpv_db_pool(mysettings, myportdb, cp, repo, tbc_settings, config_id): session2.close Session.remove() -def update_cpv_db(session, repo_cp_dic, config_id, tbc_settings): +def update_cpv_db(session, repo_cp_dict, config_id, tbc_settings): GuestBusy = True log_msg = "Waiting for Guest to be idel" add_logs(session, log_msg, "info", config_id)