aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Granberg <zorry@gentoo.org>2020-04-05 00:34:22 +0200
committerMagnus Granberg <zorry@gentoo.org>2020-04-09 07:57:59 +0200
commit4d464e08601a9234ce112ccd5226430e3b1740a6 (patch)
tree4b411823304878732652069bbfbe91deeec8e34c /patches
parentuse perform_checksum for checksum on files (diff)
downloadtinderbox-cluster-4d464e08601a9234ce112ccd5226430e3b1740a6.tar.gz
tinderbox-cluster-4d464e08601a9234ce112ccd5226430e3b1740a6.tar.bz2
tinderbox-cluster-4d464e08601a9234ce112ccd5226430e3b1740a6.zip
Redone the code to use OpenStack's libs
We use Openstack's libs and Nova code as a base for the POC Most of the code to populate the db is done. Signed-off-by: Magnus Granberg <zorry@gentoo.org>
Diffstat (limited to 'patches')
-rw-r--r--patches/portage.patch292
-rw-r--r--patches/repoman.patch42
2 files changed, 0 insertions, 334 deletions
diff --git a/patches/portage.patch b/patches/portage.patch
deleted file mode 100644
index 45fa880..0000000
--- a/patches/portage.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-2016-11-20 Magnus Granberg <zorry@gentoo.org>
-
- * tbc/pym/actions.py
- Use the patched Scheduler and add build_dict so it can be ust.
- We use or own mydepgraph (build_mydepgraph) that call backtrack_depgraph.
- Return the output_buffer for emerge info.
- And pass unresolvable in action_depclean so we can use it later.
- * tbc/pym/main.py
- Use or own patched actions.
- We pass build_dict and session to some functions.
- * tbc/pym/Scheduler.py
- We copy Scheduler.py from portage and patch it.
- Fix so we can use add_buildlog_main()
- We use add_buildlog_main() for loging.
-
---- a/pym/tbc/actions.py 2013-03-22 17:57:23.000000000 +0100
-+++ b/pym/tbc/actions.py 2013-03-22 19:00:43.265582143 +0100
-@@ -72,7 +72,7 @@ from _emerge.MetadataRegen import Metada
- from _emerge.Package import Package
- from _emerge.ProgressHandler import ProgressHandler
- from _emerge.RootConfig import RootConfig
--from _emerge.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
-@@ -83,6 +83,8 @@ from _emerge.UnmergeDepPriority import U
- from _emerge.UseFlagDisplay import pkg_use_display
- from _emerge.userquery import userquery
-
-+from tbc.build_depgraph import build_mydepgraph
-+
- if sys.hexversion >= 0x3000000:
- long = int
- _unicode = str
-@@ -96,7 +96,7 @@ if sys.hexversion >= 0x3000000:
- else:
- _unicode = unicode
-
--def action_build(emerge_config, trees=DeprecationWarning,
-+def action_build(emerge_config, build_dict, session, trees=DeprecationWarning,
- mtimedb=DeprecationWarning, myopts=DeprecationWarning,
- myaction=DeprecationWarning, myfiles=DeprecationWarning, spinner=None):
-
-@@ -333,13 +334,8 @@ def action_build(emerge_config, trees=DeprecationWarning,
- print(darkgreen("emerge: It seems we have nothing to resume..."))
- return os.EX_OK
-
-- try:
-- success, mydepgraph, favorites = backtrack_depgraph(
-- settings, trees, myopts, myparams, myaction, myfiles, spinner)
-- except portage.exception.PackageSetNotFound as e:
-- root_config = trees[settings['EROOT']]['root_config']
-- display_missing_pkg_set(root_config, e.value)
-- return 1
-+ success, settings, trees, mtimedb, mydepgraph = build_mydepgraph(settings,
-+ trees, mtimedb, myopts, myparams, myaction, myfiles, spinner, build_dict, session)
-
- if success and mydepgraph.need_config_reload():
- load_emerge_config(emerge_config=emerge_config)
-@@ -351,7 +347,6 @@ def action_build(emerge_config, trees=DeprecationWarning,
- return 0
-
- if not success:
-- mydepgraph.display_problems()
- return 1
-
- mergecount = None
-@@ -613,7 +609,7 @@ def action_depclean(settings, trees, ldp
- # The calculation is done in a separate function so that depgraph
- # references go out of scope and the corresponding memory
- # is freed before we call unmerge().
-- rval, cleanlist, ordered, req_pkg_count = \
-+ rval, cleanlist, ordered, req_pkg_count, unresolvable = \
- calc_depclean(settings, trees, ldpath_mtimes,
- myopts, action, args_set, spinner)
-
-@@ -816,7 +812,7 @@ def calc_depclean(settings, trees, ldpat
- resolver.display_problems()
-
- if not success:
-- return 1, [], False, 0
-+ return 1, [], False, 0, []
-
- def unresolved_deps():
-
-@@ -827,7 +823,7 @@ def calc_depclean(settings, trees, ldpat
- unresolvable.add((dep.atom, dep.parent.cpv))
-
- if not unresolvable:
-- return False
-+ return None
-
- if unresolvable and not allow_missing_deps:
-
-@@ -877,11 +873,12 @@ def calc_depclean(settings, trees, ldpat
- "dependencies then use %s." % good("--nodeps"))
- writemsg_level("".join("%s%s\n" % (prefix, line) for line in msg),
- level=logging.ERROR, noiselevel=-1)
-- return True
-- return False
-+ return unresolvable
-+ return None
-
-- if unresolved_deps():
-- return 1, [], False, 0
-+ unresolvable = unresolved_deps()
-+ if not unresolvable is None:
-+ return 1, [], False, 0, unresolvable
-
- graph = resolver._dynamic_config.digraph.copy()
- required_pkgs_total = 0
-@@ -1160,7 +1157,7 @@ def calc_depclean(settings, trees, ldpat
- priority=UnmergeDepPriority(runtime=True),
- root=pkg.root)):
- resolver.display_problems()
-- return 1, [], False, 0
-+ return 1, [], False, 0, []
-
- writemsg_level("\nCalculating dependencies ")
- success = resolver._complete_graph(
-@@ -1168,9 +1165,10 @@ def calc_depclean(settings, trees, ldpat
- writemsg_level("\b\b... done!\n")
- resolver.display_problems()
- if not success:
-- return 1, [], False, 0
-- if unresolved_deps():
-- return 1, [], False, 0
-+ return 1, [], False, 0, []
-+ unresolvable = unresolved_deps()
-+ if not unresolvable is None:
-+ return 1, [], False, 0, unresolvable
-
- graph = resolver._dynamic_config.digraph.copy()
- required_pkgs_total = 0
-@@ -1179,7 +1177,7 @@ def calc_depclean(settings, trees, ldpat
- required_pkgs_total += 1
- cleanlist = create_cleanlist()
- if not cleanlist:
-- return 0, [], False, required_pkgs_total
-+ return 0, [], False, required_pkgs_total, []
- clean_set = set(cleanlist)
-
- if clean_set:
-@@ -1289,8 +1287,8 @@ def calc_depclean(settings, trees, ldpat
- graph.remove(node)
- cleanlist.append(node.cpv)
-
-- return 0, cleanlist, ordered, required_pkgs_total
-- return 0, [], False, required_pkgs_total
-+ return 0, cleanlist, ordered, required_pkgs_total, []
-+ return 0, [], False, required_pkgs_total, []
-
- def action_deselect(settings, trees, opts, atoms):
- enter_invalid = '--ask-enter-invalid' in opts
-@@ -1692,11 +1692,8 @@ def action_info(settings, trees, myopts,
- unset_vars.append(k)
- if unset_vars:
- append("Unset: "+", ".join(unset_vars))
-- append("")
-- append("")
-- writemsg_stdout("\n".join(output_buffer),
-- noiselevel=-1)
-- del output_buffer[:]
-+
-+ return False, output_buffer
-
- # If some packages were found...
- if mypkgs:
-@@ -3607,7 +3607,7 @@ def repo_name_duplicate_check(trees):
-
- return bool(ignored_repos)
-
--def run_action(emerge_config):
-+def run_action(emerge_config, build_dict, session):
-
- # skip global updates prior to sync, since it's called after sync
- if emerge_config.action not in ('help', 'info', 'sync', 'version') and \
-@@ -3258,7 +3252,7 @@ def run_action(emerge_config):
- except OSError:
- writemsg("Please install eselect to use this feature.\n",
- noiselevel=-1)
-- retval = action_build(emerge_config, spinner=spinner)
-+ retval = action_build(emerge_config, build_dict, session, spinner=spinner)
- post_emerge(emerge_config.action, emerge_config.opts,
- emerge_config.args, emerge_config.target_config.root,
- emerge_config.trees, emerge_config.target_config.mtimedb, retval)
---- a/pym/tbc/main.py 2013-03-22 17:57:23.000000000 +0100
-+++ b/pym/tbc/main.py 2012-12-06 03:32:56.104889716 +0100
-@@ -11,7 +11,7 @@ portage.proxy.lazyimport.lazyimport(glob
- 'logging',
- 'portage.util:writemsg_level',
- 'textwrap',
-- '_emerge.actions:load_emerge_config,run_action,' + \
-+ 'tbc.actions:load_emerge_config,run_action,' + \
- 'validate_ebuild_environment',
- '_emerge.help:help@emerge_help',
- )
-@@ -968,15 +968,20 @@ def profile_check(trees, myaction):
- return 1
- return os.EX_OK
-
--def emerge_main(args=None):
-+def emerge_main(args=None, build_dict=None, session=None):
- """
- @param args: command arguments (default: sys.argv[1:])
- @type args: list
-+ @param build_dict: info of the build_job
-+ @type build_dict: dict
- """
- if args is None:
- args = sys.argv[1:]
-
- args = portage._decode_argv(args)
-+
-+ if build_dict is None:
-+ build_dict = {}
-
- # Disable color until we're sure that it should be enabled (after
- # EMERGE_DEFAULT_OPTS has been parsed).
-@@ -1028,7 +1028,7 @@ def emerge_main(args=None):
- parse_opts(tmpcmdline)
-
- try:
-- return run_action(emerge_config)
-+ return run_action(emerge_config, build_dict, session)
- finally:
- # Call destructors for our portdbapi instances.
- for x in emerge_config.trees.values():
---- a/pym/tbc/Scheduler.py 2013-03-22 17:57:23.000000000 +0100
-+++ b/pym/tbc/Scheduler.py 2012-12-21 02:09:28.082301168 +0100
-@@ -62,6 +62,8 @@ from _emerge.PackageMerge import Package
- from _emerge.PollScheduler import PollScheduler
- from _emerge.SequentialTaskQueue import SequentialTaskQueue
-
-+from tbc.build_log import add_buildlog_main
-+
- if sys.hexversion >= 0x3000000:
- basestring = str
-
-@@ -1254,8 +1251,9 @@ class Scheduler(PollScheduler):
-
- def _do_merge_exit(self, merge):
- pkg = merge.merge.pkg
-+ settings = merge.merge.settings
-+ trees = self.trees
- if merge.returncode != os.EX_OK:
-- settings = merge.merge.settings
- build_dir = settings.get("PORTAGE_BUILDDIR")
- build_log = settings.get("PORTAGE_LOG_FILE")
-
-@@ -1266,6 +1264,7 @@ class Scheduler(PollScheduler):
- if not self._terminated_tasks:
- self._failed_pkg_msg(self._failed_pkgs[-1], "install", "to")
- self._status_display.failed = len(self._failed_pkgs)
-+ add_buildlog_main(settings, pkg, trees)
- return
-
- self._task_complete(pkg)
-@@ -1284,6 +1283,7 @@ class Scheduler(PollScheduler):
- self._pkg_cache.pop(pkg_to_replace, None)
-
- if pkg.installed:
-+ add_buildlog_main(settings, pkg, trees)
- return
-
- # Call mtimedb.commit() after each merge so that
-@@ -1294,6 +1294,7 @@ class Scheduler(PollScheduler):
- if not mtimedb["resume"]["mergelist"]:
- del mtimedb["resume"]
- mtimedb.commit()
-+ add_buildlog_main(settings, pkg, trees)
-
- def _build_exit(self, build):
- self._running_tasks.pop(id(build), None)
-@@ -1318,6 +1319,8 @@ class Scheduler(PollScheduler):
- self._status_display.merges = len(self._task_queues.merge)
- else:
- settings = build.settings
-+ trees = self.trees
-+ pkg = build.pkg
- build_dir = settings.get("PORTAGE_BUILDDIR")
- build_log = settings.get("PORTAGE_LOG_FILE")
-
-@@ -1329,6 +1332,7 @@ class Scheduler(PollScheduler):
- self._failed_pkg_msg(self._failed_pkgs[-1], "emerge", "for")
- self._status_display.failed = len(self._failed_pkgs)
- self._deallocate_config(build.settings)
-+ add_buildlog_main(settings, pkg, trees)
- self._jobs -= 1
- self._status_display.running = self._jobs
- self._schedule()
diff --git a/patches/repoman.patch b/patches/repoman.patch
deleted file mode 100644
index 64ea894..0000000
--- a/patches/repoman.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-2016-11-20 Magnus Granberg <zorry@gentoo.org>
-
- * tbc/pym/repoman.py
- We add config_root pkdir and remove action and return
- vcs_settings.qatracker and qawarnings.
-
---- a/pym/tbc/repoman.py 2015-09-22 02:20:41.000000000 +0200
-+++ b/pym/tbc/repoman.py 2015-10-04 20:21:57.586494104 +0200
-@@ -45,8 +45,9 @@ bad = create_color_func("BAD")
- os.umask(0o22)
-
-
--def repoman_main(argv):
-- config_root = os.environ.get("PORTAGE_CONFIGROOT")
-+def repoman_main(argv, config_root=None, pkgdir=None):
-+ if config_root is None:
-+ config_root = os.environ.get("PORTAGE_CONFIGROOT")
- repoman_settings = portage.config(config_root=config_root, local_config=False)
-
- if repoman_settings.get("NOCOLOR", "").lower() in ("yes", "true") or \
-@@ -71,6 +72,9 @@ def repoman_main(argv):
- # commit (like if Manifest generation fails).
- can_force = True
-
-+ if not pkgdir is None:
-+ os.chdir(pkgdir)
-+
- portdir, portdir_overlay, mydir = utilities.FindPortdir(repoman_settings)
- if portdir is None:
- sys.exit(1)
-@@ -159,10 +163,4 @@ def repoman_main(argv):
- qa_output = qa_output.getvalue()
- qa_output = qa_output.splitlines(True)
-
-- # output the results
-- actions = Actions(repo_settings, options, scanner, vcs_settings)
-- if actions.inform(can_force.get(), result):
-- # perform any other actions
-- actions.perform(qa_output)
--
-- sys.exit(0)
-+ return vcs_settings.qatracker, qawarnings