From 665ddac24d68d4eec773c41f6de90f2d61c902d5 Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Tue, 17 Jun 2008 18:49:17 +0000 Subject: [PATCH] Merged from trunk 10692:10696 | 10693 | Do not preserve the master link of a library to avoid | | genone | packages being linked against preserved libs on rebuilds | | 10694 | Remove eblank nonsense | | genone | | | 10695 | Remove eblank nonsense | | genone | | | 10696 | remove stray line | | genone | | svn path=/main/branches/prefix/; revision=10697 --- bin/isolated-functions.sh | 11 +---------- cnf/make.globals | 2 +- pym/portage/dbapi/vartree.py | 12 ++++++++++++ pym/portage/elog/messages.py | 2 ++ pym/portage/elog/mod_echo.py | 3 +-- pym/portage/output.py | 14 -------------- 6 files changed, 17 insertions(+), 27 deletions(-) diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh index 2df4a8d03..b0a6d114e 100755 --- a/bin/isolated-functions.sh +++ b/bin/isolated-functions.sh @@ -168,7 +168,7 @@ elog_base() { local messagetype [ -z "${1}" -o -z "${T}" -o ! -d "${T}/logging" ] && return 1 case "${1}" in - BLANK|INFO|WARN|ERROR|LOG|QA) + INFO|WARN|ERROR|LOG|QA) messagetype="${1}" shift ;; @@ -181,15 +181,6 @@ elog_base() { return 0 } -eblank() { - [[ ${LAST_E_CMD} == "eblank" ]] && return 0 - elog_base BLANK - [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo - echo -e " ${BLANK}*${NORMAL}" - LAST_E_CMD="eblank" - return 0 -} - eqawarn() { elog_base QA "$*" [[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo diff --git a/cnf/make.globals b/cnf/make.globals index cc9f4a01b..e5e949adc 100644 --- a/cnf/make.globals +++ b/cnf/make.globals @@ -91,7 +91,7 @@ DEFAULT_PATH="@DEFAULT_PATH@" PORTAGE_WORKDIR_MODE="0700" # Some defaults for elog -PORTAGE_ELOG_CLASSES="blank log warn error" +PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_SYSTEM="save_summary echo" PORTAGE_ELOG_MAILURI="@rootuser@" diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 24c2522ed..5279b8d81 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -180,6 +180,15 @@ class LinkageMap(object): self._libs = libs self._obj_properties = obj_properties + def isMasterLink(self, obj): + basename = os.path.basename(obj) + if obj not in self._obj_properties: + obj = os.path.realpath(obj) + if obj not in self._obj_properties: + raise KeyError("%s not in object list" % obj) + soname = self._obj_properties[obj][3] + return (len(basename) < len(soname)) + def listLibraryObjects(self): rValue = [] if not self._libs: @@ -2116,6 +2125,9 @@ class dblink(object): if not has_external_consumers(lib, old_contents, candidates): candidates.remove(lib) continue + if linkmap.isMasterLink(lib): + candidates.remove(lib) + continue # only preserve the lib if there is no other copy to use for each consumer keep = False for c in linkmap.findConsumers(lib): diff --git a/pym/portage/elog/messages.py b/pym/portage/elog/messages.py index 3bf1fb1bb..2daacd103 100644 --- a/pym/portage/elog/messages.py +++ b/pym/portage/elog/messages.py @@ -43,8 +43,10 @@ def collect_ebuild_messages(path): writemsg("!!! malformed entry in " + \ "log file: '%s'\n" % filename, noiselevel=-1) continue + if lastmsgtype is None: lastmsgtype = msgtype + if msgtype == lastmsgtype: msgcontent.append(msg) else: diff --git a/pym/portage/elog/mod_echo.py b/pym/portage/elog/mod_echo.py index 1c83600a4..30d88f005 100644 --- a/pym/portage/elog/mod_echo.py +++ b/pym/portage/elog/mod_echo.py @@ -33,8 +33,7 @@ def finalize(mysettings=None): "WARN": printer.ewarn, "ERROR": printer.eerror, "LOG": printer.einfo, - "QA": printer.ewarn, - "BLANK": printer.eblank} + "QA": printer.ewarn} if isinstance(msgcontent, basestring): msgcontent = [msgcontent] for line in msgcontent: diff --git a/pym/portage/output.py b/pym/portage/output.py index 4d0ab42ec..482747e35 100644 --- a/pym/portage/output.py +++ b/pym/portage/output.py @@ -544,20 +544,6 @@ class EOutput(object): sys.stdout.flush() self.__last_e_cmd = "ewarn" - def eblank(self, msg): - """ - Shows a blank line. Consecutive eblank calls are all collapsed - into a single blank line. - """ - if self.__last_e_cmd == "eblank": - return - if not self.quiet: - if self.__last_e_cmd == "ebegin": - sys.stdout.write("\n") - sys.stdout.write(colorize("BLANK", " * ") + "\n") - sys.stdout.flush() - self.__last_e_cmd = "eblank" - def ewend(self, errno, *msg): """ Indicates the completion of a process, optionally displaying a message -- 2.26.2