[PATCH 4/4] Use ">>>>" and "!!!!" for output prefixes
Michał Górny <[email protected]> Tue, 28 Sep 2021 16:20:04 +0200
| Newsgroups | gmane.linux.gentoo.portage.devel |
|---|---|
| Message-ID | <[email protected]> |
Replace ">>>" with ">>>>" and "!!!" with "!!!!" output prefixes in order to align Portage's messages with the new log output. Signed-off-by: Michał Górny <[email protected]> --- bin/clean_locks | 2 +- bin/dohtml.py | 2 +- bin/doins.py | 2 +- bin/ebuild | 8 +- bin/ebuild-helpers/dobin | 2 +- bin/ebuild-helpers/dodoc | 2 +- bin/ebuild-helpers/doexe | 2 +- bin/ebuild-helpers/doinfo | 2 +- bin/ebuild-helpers/dolib | 2 +- bin/ebuild-helpers/doman | 2 +- bin/ebuild-helpers/domo | 2 +- bin/ebuild-helpers/dosbin | 2 +- bin/ebuild-helpers/dosed | 4 +- bin/ebuild-helpers/keepdir | 2 +- bin/ebuild-helpers/newins | 4 +- bin/env-update | 2 +- bin/fixpackages | 4 +- bin/glsa-check | 14 +- bin/install.py | 2 +- bin/misc-functions.sh | 22 +-- bin/phase-functions.sh | 64 ++++----- bin/phase-helpers.sh | 18 +-- bin/portageq | 6 +- cnf/repo.postsync.d/example | 4 +- lib/_emerge/Binpkg.py | 10 +- lib/_emerge/BinpkgExtractorAsync.py | 4 +- lib/_emerge/BinpkgVerifier.py | 12 +- lib/_emerge/BlockerCache.py | 2 +- lib/_emerge/BlockerDB.py | 2 +- lib/_emerge/EbuildBuild.py | 2 +- lib/_emerge/EbuildIpcDaemon.py | 2 +- lib/_emerge/EbuildPhase.py | 2 +- lib/_emerge/JobStatusDisplay.py | 2 +- lib/_emerge/MergeListItem.py | 2 +- lib/_emerge/PackageUninstall.py | 6 +- lib/_emerge/Scheduler.py | 20 +-- lib/_emerge/SpawnProcess.py | 2 +- lib/_emerge/SubProcess.py | 2 +- lib/_emerge/actions.py | 126 ++++++++++-------- lib/_emerge/countdown.py | 4 +- lib/_emerge/depgraph.py | 121 +++++++++-------- lib/_emerge/main.py | 6 +- lib/_emerge/post_emerge.py | 4 +- lib/_emerge/resolver/output_helpers.py | 4 +- lib/_emerge/resolver/slot_collision.py | 16 +-- lib/_emerge/show_invalid_depstring_notice.py | 2 +- lib/_emerge/unmerge.py | 44 +++--- lib/portage/__init__.py | 24 ++-- lib/portage/_selinux.py | 4 +- lib/portage/_sets/shell.py | 2 +- lib/portage/binrepo/config.py | 4 +- lib/portage/data.py | 2 +- lib/portage/dbapi/__init__.py | 2 +- lib/portage/dbapi/bintree.py | 45 ++++--- lib/portage/dbapi/porttree.py | 12 +- lib/portage/dbapi/vartree.py | 94 ++++++------- lib/portage/dep/__init__.py | 48 +++---- lib/portage/elog/__init__.py | 2 +- lib/portage/elog/messages.py | 5 +- lib/portage/elog/mod_custom.py | 4 +- lib/portage/elog/mod_mail_summary.py | 2 +- lib/portage/elog/mod_save_summary.py | 2 +- lib/portage/emaint/modules/binhost/binhost.py | 3 +- lib/portage/env/loaders.py | 14 +- lib/portage/getbinpkg.py | 32 ++--- lib/portage/locks.py | 2 +- lib/portage/mail.py | 12 +- lib/portage/manifest.py | 2 +- lib/portage/metadata.py | 6 +- lib/portage/news.py | 6 +- .../ebuild/_config/LocationsManager.py | 10 +- .../_parallel_manifest/ManifestProcess.py | 6 +- .../_parallel_manifest/ManifestScheduler.py | 2 +- .../ebuild/_parallel_manifest/ManifestTask.py | 6 +- lib/portage/package/ebuild/config.py | 61 ++++----- .../ebuild/deprecated_profile_check.py | 12 +- lib/portage/package/ebuild/digestcheck.py | 24 ++-- lib/portage/package/ebuild/digestgen.py | 20 +-- lib/portage/package/ebuild/doebuild.py | 36 ++--- lib/portage/package/ebuild/fetch.py | 126 +++++++++--------- .../package/ebuild/prepare_build_dirs.py | 25 ++-- lib/portage/repository/config.py | 31 ++--- lib/portage/sync/config_checks.py | 12 +- lib/portage/sync/controller.py | 6 +- lib/portage/sync/modules/cvs/__init__.py | 2 +- lib/portage/sync/modules/cvs/cvs.py | 4 +- lib/portage/sync/modules/git/__init__.py | 4 +- lib/portage/sync/modules/git/git.py | 14 +- .../sync/modules/mercurial/mercurial.py | 4 +- lib/portage/sync/modules/rsync/rsync.py | 60 ++++----- lib/portage/sync/modules/svn/svn.py | 6 +- lib/portage/sync/modules/webrsync/webrsync.py | 10 +- lib/portage/sync/old_tree_timestamp.py | 2 +- lib/portage/sync/syncbase.py | 6 +- lib/portage/tests/resolver/test_autounmask.py | 6 +- .../resolver/test_autounmask_use_breakage.py | 6 +- ...est_slot_conflict_unsatisfied_deep_deps.py | 12 +- lib/portage/update.py | 4 +- lib/portage/util/__init__.py | 30 ++--- .../util/_dyn_libs/PreservedLibsRegistry.py | 4 +- .../util/_dyn_libs/display_preserved_libs.py | 4 +- lib/portage/util/env_update.py | 8 +- lib/portage/util/locale.py | 2 +- lib/portage/util/movefile.py | 40 +++--- lib/portage/util/mtimedb.py | 5 +- lib/portage/util/writeable_check.py | 4 +- lib/portage/versions.py | 20 +-- lib/portage/xml/metadata.py | 18 +-- misc/emerge-delta-webrsync | 8 +- repoman/lib/repoman/__init__.py | 12 +- repoman/lib/repoman/actions.py | 24 ++-- repoman/lib/repoman/gpg.py | 2 +- .../lib/repoman/modules/commit/manifest.py | 4 +- repoman/lib/repoman/modules/vcs/cvs/status.py | 6 +- .../lib/repoman/modules/vcs/git/changes.py | 2 +- repoman/lib/repoman/modules/vcs/svn/status.py | 6 +- repoman/lib/repoman/scanner.py | 4 +- 117 files changed, 834 insertions(+), 788 deletions(-) diff --git a/bin/clean_locks b/bin/clean_locks index e5765fd7e..14f3c857c 100755 --- a/bin/clean_locks +++ b/bin/clean_locks @@ -36,7 +36,7 @@ for x in sys.argv[1:]: except OSError as e: if e.errno in (errno.ENOENT, errno.ENOTDIR): - print("!!! %s is not a directory or does not exist" % x) + print("!!!! %s is not a directory or does not exist" % x) else: raise sys.exit(e.errno) diff --git a/bin/dohtml.py b/bin/dohtml.py index c7235ff4e..344ab7579 100755 --- a/bin/dohtml.py +++ b/bin/dohtml.py @@ -96,7 +96,7 @@ def install(basename, dirname, options, prefix=""): ).rstrip(os.sep) if not os.path.exists(fullpath): - sys.stderr.write("!!! dohtml: %s does not exist\n" % fullpath) + sys.stderr.write("!!!! dohtml: %s does not exist\n" % fullpath) return False elif os.path.isfile(fullpath): ext = os.path.splitext(basename)[1][1:] diff --git a/bin/doins.py b/bin/doins.py index 97b0e2e2f..0f4c0fd3c 100644 --- a/bin/doins.py +++ b/bin/doins.py @@ -34,7 +34,7 @@ def _warn(helper, msg): helper: helper executable name. msg: Message to be output. """ - print("!!! %s: %s\n" % (helper, msg), file=sys.stderr) + print("!!!! %s: %s\n" % (helper, msg), file=sys.stderr) def _parse_group(group): diff --git a/bin/ebuild b/bin/ebuild index 0a2b13a13..2cf004671 100755 --- a/bin/ebuild +++ b/bin/ebuild @@ -328,7 +328,7 @@ def stale_env_warning(): (tmpsettings["PF"], ) msg = textwrap.wrap(msg, 70) for x in msg: - portage.writemsg(">>> %s\n" % x) + portage.writemsg(">>>> %s\n" % x) if ebuild_changed: open(os.path.join(tmpsettings['PORTAGE_BUILDDIR'], @@ -359,13 +359,13 @@ for arg in pargs: msg = textwrap.wrap(str(e), 70) del e for x in msg: - portage.writemsg("!!! %s\n" % x, noiselevel=-1) + portage.writemsg("!!!! %s\n" % x, noiselevel=-1) a = 1 except PortagePackageException as e: - portage.writemsg("!!! %s\n" % (e,), noiselevel=-1) + portage.writemsg("!!!! %s\n" % (e,), noiselevel=-1) a = 1 except PermissionDenied as e: - portage.writemsg("!!! Permission Denied: %s\n" % (e,), noiselevel=-1) + portage.writemsg("!!!! Permission Denied: %s\n" % (e,), noiselevel=-1) a = 1 if a == None: print("Could not run the required binary?") diff --git a/bin/ebuild-helpers/dobin b/bin/ebuild-helpers/dobin index 975067fb1..aaa3f2588 100755 --- a/bin/ebuild-helpers/dobin +++ b/bin/ebuild-helpers/dobin @@ -31,7 +31,7 @@ for x in "$@" ; do if [[ -e ${x} ]] ; then install -m0755 -o ${PORTAGE_INST_UID:-0} -g ${PORTAGE_INST_GID:-0} "${x}" "${ED%/}/${_E_DESTTREE_#/}/bin" else - echo "!!! ${0##*/}: $x does not exist" 1>&2 + echo "!!!! ${0##*/}: $x does not exist" 1>&2 false fi ((ret|=$?)) diff --git a/bin/ebuild-helpers/dodoc b/bin/ebuild-helpers/dodoc index e83091045..30bc3ab0e 100755 --- a/bin/ebuild-helpers/dodoc +++ b/bin/ebuild-helpers/dodoc @@ -29,7 +29,7 @@ for x in "$@" ; do elif [ -s "${x}" ] ; then install -m0644 "${x}" "${dir}" || { ((ret|=1)); continue; } elif [ ! -e "${x}" ] ; then - echo "!!! ${0##*/}: $x does not exist" 1>&2 + echo "!!!! ${0##*/}: $x does not exist" 1>&2 ((ret|=1)) fi done diff --git a/bin/ebuild-helpers/doexe b/bin/ebuild-helpers/doexe index 152c13bf6..27b4acc19 100755 --- a/bin/ebuild-helpers/doexe +++ b/bin/ebuild-helpers/doexe @@ -34,7 +34,7 @@ for x in "$@" ; do if [ -e "$mysrc" ] ; then install ${EXEOPTIONS} "$mysrc" "${ED%/}/${_E_EXEDESTTREE_#/}" else - echo "!!! ${0##*/}: $mysrc does not exist" 1>&2 + echo "!!!! ${0##*/}: $mysrc does not exist" 1>&2 false fi ((ret|=$?)) diff --git a/bin/ebuild-helpers/doinfo b/bin/ebuild-helpers/doinfo index 30a38e055..515cdc3bb 100755 --- a/bin/ebuild-helpers/doinfo +++ b/bin/ebuild-helpers/doinfo @@ -21,7 +21,7 @@ install -m0644 "$@" "${ED%/}/usr/share/info" rval=$? if [ $rval -ne 0 ] ; then for x in "$@" ; do - [ -e "$x" ] || echo "!!! ${0##*/}: $x does not exist" 1>&2 + [ -e "$x" ] || echo "!!!! ${0##*/}: $x does not exist" 1>&2 done __helpers_die "${0##*/} failed" fi diff --git a/bin/ebuild-helpers/dolib b/bin/ebuild-helpers/dolib index bd8eebca7..8975611c6 100755 --- a/bin/ebuild-helpers/dolib +++ b/bin/ebuild-helpers/dolib @@ -50,7 +50,7 @@ for x in "$@" ; do ln -s "$(readlink "${x}")" "${libdir}/${x##*/}" fi else - echo "!!! ${0##*/}: ${x} does not exist" 1>&2 + echo "!!!! ${0##*/}: ${x} does not exist" 1>&2 false fi ((ret|=$?)) diff --git a/bin/ebuild-helpers/doman b/bin/ebuild-helpers/doman index 9cfc89df0..1b56e08dd 100755 --- a/bin/ebuild-helpers/doman +++ b/bin/ebuild-helpers/doman @@ -56,7 +56,7 @@ for x in "$@" ; do install -m0644 "${x}" "${ED%/}/usr/share/man/${mandir}/${name}" ((ret|=$?)) elif [[ ! -e ${x} ]] ; then - echo "!!! ${0##*/}: $x does not exist" 1>&2 + echo "!!!! ${0##*/}: $x does not exist" 1>&2 ((ret|=1)) fi else diff --git a/bin/ebuild-helpers/domo b/bin/ebuild-helpers/domo index 2e95eb751..416e15ae6 100755 --- a/bin/ebuild-helpers/domo +++ b/bin/ebuild-helpers/domo @@ -42,7 +42,7 @@ for x in "$@" ; do fi install -m0644 "${x}" "${mydir}/${MOPREFIX}.mo" else - echo "!!! ${0##*/}: $x does not exist" 1>&2 + echo "!!!! ${0##*/}: $x does not exist" 1>&2 false fi ((ret|=$?)) diff --git a/bin/ebuild-helpers/dosbin b/bin/ebuild-helpers/dosbin index ac0ab37ca..db99ab17a 100755 --- a/bin/ebuild-helpers/dosbin +++ b/bin/ebuild-helpers/dosbin @@ -31,7 +31,7 @@ for x in "$@" ; do if [[ -e ${x} ]] ; then install -m0755 -o ${PORTAGE_INST_UID:-0} -g ${PORTAGE_INST_GID:-0} "${x}" "${ED%/}/${_E_DESTTREE_#/}/sbin" else - echo "!!! ${0##*/}: ${x} does not exist" 1>&2 + echo "!!!! ${0##*/}: ${x} does not exist" 1>&2 false fi ((ret|=$?)) diff --git a/bin/ebuild-helpers/dosed b/bin/ebuild-helpers/dosed index 37c8a29d3..9c75cbf64 100755 --- a/bin/ebuild-helpers/dosed +++ b/bin/ebuild-helpers/dosed @@ -10,7 +10,7 @@ if ! ___eapi_has_dosed; then fi if [[ $# -lt 1 ]] ; then - echo "!!! ${0##*/}: at least one argument needed" >&2 + echo "!!!! ${0##*/}: at least one argument needed" >&2 exit 1 fi @@ -39,7 +39,7 @@ for x in "$@" ; do done if [ $file_found = 0 ] ; then - echo "!!! ${0##*/}: $y does not exist" 1>&2 + echo "!!!! ${0##*/}: $y does not exist" 1>&2 ((ret|=1)) fi diff --git a/bin/ebuild-helpers/keepdir b/bin/ebuild-helpers/keepdir index a3c0c151c..0ea23ad1b 100755 --- a/bin/ebuild-helpers/keepdir +++ b/bin/ebuild-helpers/keepdir @@ -13,7 +13,7 @@ ret=$? for x in "$@"; do >> "${ED%/}/${x#/}/.keep_${CATEGORY}_${PN}-${SLOT%/*}" || \ - { echo "!!! ${0##*/}: cannot write .keep in ${ED%/}/${x#/}" 1>&2; ret=1; } + { echo "!!!! ${0##*/}: cannot write .keep in ${ED%/}/${x#/}" 1>&2; ret=1; } done [[ ${ret} -ne 0 ]] && __helpers_die "${0##*/} failed" diff --git a/bin/ebuild-helpers/newins b/bin/ebuild-helpers/newins index 30e54b7e5..dcb779913 100755 --- a/bin/ebuild-helpers/newins +++ b/bin/ebuild-helpers/newins @@ -24,14 +24,14 @@ trap 'rm -rf "${TMP}"' EXIT if [[ ${stdin} ]] ; then if [[ -t 0 ]] ; then - __helpers_die "!!! ${helper}: Input is from a terminal" + __helpers_die "!!!! ${helper}: Input is from a terminal" exit 1 fi cat > "${TMP}/$2" ret=$? else if [[ ! -e $1 ]] ; then - __helpers_die "!!! ${helper}: $1 does not exist" + __helpers_die "!!!! ${helper}: $1 does not exist" exit 1 fi diff --git a/bin/env-update b/bin/env-update index 6571b0011..4fe916a6a 100755 --- a/bin/env-update +++ b/bin/env-update @@ -20,7 +20,7 @@ if "--no-ldconfig" in sys.argv: sys.argv.pop(sys.argv.index("--no-ldconfig")) if len(sys.argv) > 1: - print("!!! Invalid command line options!\n") + print("!!!! Invalid command line options!\n") usage(1) from os import path as osp diff --git a/bin/fixpackages b/bin/fixpackages index e56d26ec1..b4d6f6a1d 100755 --- a/bin/fixpackages +++ b/bin/fixpackages @@ -38,9 +38,9 @@ if mysettings['ROOT'] != "/": try: os.nice(int(mysettings.get("PORTAGE_NICENESS", "0"))) except (OSError, ValueError) as e: - portage.writemsg("!!! Failed to change nice value to '%s'\n" % \ + portage.writemsg("!!!! Failed to change nice value to '%s'\n" % \ mysettings["PORTAGE_NICENESS"]) - portage.writemsg("!!! %s\n" % str(e)) + portage.writemsg("!!!! %s\n" % str(e)) del e _global_updates(mytrees, mtimedb["updates"], if_mtime_changed=False) diff --git a/bin/glsa-check b/bin/glsa-check index c8610f7df..db6d95894 100755 --- a/bin/glsa-check +++ b/bin/glsa-check @@ -233,16 +233,16 @@ if mode in ["dump", "fix", "inject", "pretend"]: sys.stdout.write("Fixing GLSA "+myid+"\n") if not myglsa.isVulnerable(): if not quiet: - sys.stdout.write(">>> no vulnerable packages installed\n") + sys.stdout.write(">>>> no vulnerable packages installed\n") else: if quiet: sys.stdout.write("Fixing GLSA "+myid+"\n") mergelist = myglsa.getMergeList(least_change=least_change) if mergelist == []: - sys.stdout.write(">>> cannot fix GLSA, no unaffected packages available\n") + sys.stdout.write(">>>> cannot fix GLSA, no unaffected packages available\n") sys.exit(2) for pkg in mergelist: - sys.stdout.write(">>> merging "+pkg+"\n") + sys.stdout.write(">>>> merging "+pkg+"\n") # using emerge for the actual merging as it contains the dependency # code and we want to be consistent in behaviour. Also this functionality # will be integrated in emerge later, so it shouldn't hurt much. @@ -262,7 +262,7 @@ if mode in ["dump", "fix", "inject", "pretend"]: sys.stdout.write("Checking GLSA "+myid+"\n") if not myglsa.isVulnerable(): if not quiet: - sys.stdout.write(">>> no vulnerable packages installed\n") + sys.stdout.write(">>>> no vulnerable packages installed\n") else: if quiet: sys.stdout.write("Checking GLSA "+myid+"\n") @@ -272,19 +272,19 @@ if mode in ["dump", "fix", "inject", "pretend"]: # first, extract the atoms that cannot be upgraded (where key == "") no_upgrades = [] - sys.stdout.write(">>> The following updates will be performed for this GLSA:\n") + sys.stdout.write(">>>> The following updates will be performed for this GLSA:\n") if "" in mergedict: no_upgrades = mergedict[""] del mergedict[""] # see if anything is left that can be upgraded if mergedict: - sys.stdout.write(">>> Updates that will be performed:\n") + sys.stdout.write(">>>> Updates that will be performed:\n") for (upd, vuln) in mergedict.items(): sys.stdout.write(" " + green(upd) + " (vulnerable: " + red(", ".join(vuln)) + ")\n") if no_upgrades: - sys.stdout.write(">>> No upgrade path exists for these packages:\n") + sys.stdout.write(">>>> No upgrade path exists for these packages:\n") sys.stdout.write(" " + red(", ".join(no_upgrades)) + "\n") sys.stdout.write("\n") elif mode == "inject": diff --git a/bin/install.py b/bin/install.py index d6faeb6a4..e53200c42 100755 --- a/bin/install.py +++ b/bin/install.py @@ -173,7 +173,7 @@ def main(args): returncode = copy_xattrs(opts, files) if returncode != os.EX_OK: portage.util.writemsg( - "!!! install: copy_xattrs failed with the " + "!!!! install: copy_xattrs failed with the " "following arguments: %s\n" % " ".join(portage._shell_quote(x) for x in args), noiselevel=-1, diff --git a/bin/misc-functions.sh b/bin/misc-functions.sh index e4defa550..8a4c913b5 100755 --- a/bin/misc-functions.sh +++ b/bin/misc-functions.sh @@ -255,8 +255,8 @@ install_qa_check() { __dyn_instprep() { if [[ -e ${PORTAGE_BUILDDIR}/.instprepped ]] ; then - __vecho ">>> It appears that '$PF' is already instprepped; skipping." - __vecho ">>> Remove '${PORTAGE_BUILDDIR}/.instprepped' to force instprep." + __vecho ">>>> It appears that '$PF' is already instprepped; skipping." + __vecho ">>>> Remove '${PORTAGE_BUILDDIR}/.instprepped' to force instprep." return 0 fi @@ -398,11 +398,11 @@ preinst_sfperms() { find "${ED}" -type f -perm -4000 -print0 | \ while read -r -d $'\0' i ; do if [ -n "$(find "$i" -perm -2000)" ] ; then - ebegin ">>> SetUID and SetGID: [chmod o-r] ${i#${ED%/}}" + ebegin ">>>> SetUID and SetGID: [chmod o-r] ${i#${ED%/}}" chmod o-r "$i" eend $? else - ebegin ">>> SetUID: [chmod go-r] ${i#${ED%/}}" + ebegin ">>>> SetUID: [chmod go-r] ${i#${ED%/}}" chmod go-r "$i" eend $? fi @@ -414,7 +414,7 @@ preinst_sfperms() { # by the SetUID check above. true else - ebegin ">>> SetGID: [chmod o-r] ${i#${ED%/}}" + ebegin ">>>> SetGID: [chmod o-r] ${i#${ED%/}}" chmod o-r "$i" eend $? fi @@ -440,19 +440,19 @@ preinst_suid_scan() { # to files outside of the sandbox, but this # can easly be bypassed using the addwrite() function addwrite "${sfconf}" - __vecho ">>> Performing suid scan in ${ED}" + __vecho ">>>> Performing suid scan in ${ED}" for i in $(find "${ED}" -type f \( -perm -4000 -o -perm -2000 \) ); do if [ -s "${sfconf}" ]; then install_path=${i#${ED%/}} if grep -q "^${install_path}\$" "${sfconf}" ; then __vecho "- ${install_path} is an approved suid file" else - __vecho ">>> Removing sbit on non registered ${install_path}" + __vecho ">>>> Removing sbit on non registered ${install_path}" LC_ALL=C sleep 1.5 ls_ret=$(ls -ldh "${i}") chmod ugo-s "${i}" grep "^#${install_path}$" "${sfconf}" > /dev/null || { - __vecho ">>> Appending commented out entry to ${sfconf} for ${PF}" + __vecho ">>>> Appending commented out entry to ${sfconf} for ${PF}" echo "## ${ls_ret%${ED%/}*}${install_path}" >> "${sfconf}" echo "#${install_path}" >> "${sfconf}" # no delwrite() eh? @@ -476,7 +476,7 @@ preinst_selinux_labels() { # only attempt to label if setfiles is executable # and 'context' is available on selinuxfs. if [ -f /sys/fs/selinux/context -a -x /usr/sbin/setfiles -a -x /usr/sbin/selinuxconfig ]; then - __vecho ">>> Setting SELinux security labels" + __vecho ">>>> Setting SELinux security labels" ( eval "$(/usr/sbin/selinuxconfig)" || \ die "Failed to determine SELinux policy paths."; @@ -488,7 +488,7 @@ preinst_selinux_labels() { else # nonfatal, since merging can happen outside a SE kernel # like during a recovery situation - __vecho "!!! Unable to set SELinux security labels" + __vecho "!!!! Unable to set SELinux security labels" fi fi } @@ -534,7 +534,7 @@ __dyn_package() { fi [ -n "${md5_hash}" ] && \ echo ${md5_hash} > "${PORTAGE_BUILDDIR}"/build-info/BINPKGMD5 - __vecho ">>> Done." + __vecho ">>>> Done." cd "${PORTAGE_BUILDDIR}" >> "$PORTAGE_BUILDDIR/.packaged" || \ diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh index 9a4c97b16..967af68b5 100644 --- a/bin/phase-functions.sh +++ b/bin/phase-functions.sh @@ -219,8 +219,8 @@ __ebuild_phase_with_hooks() { __dyn_pretend() { if [[ -e $PORTAGE_BUILDDIR/.pretended ]] ; then - __vecho ">>> It appears that '$PF' is already pretended; skipping." - __vecho ">>> Remove '$PORTAGE_BUILDDIR/.pretended' to force pretend." + __vecho ">>>> It appears that '$PF' is already pretended; skipping." + __vecho ">>>> Remove '$PORTAGE_BUILDDIR/.pretended' to force pretend." return 0 fi __ebuild_phase pre_pkg_pretend @@ -232,8 +232,8 @@ __dyn_pretend() { __dyn_setup() { if [[ -e $PORTAGE_BUILDDIR/.setuped ]] ; then - __vecho ">>> It appears that '$PF' is already setup; skipping." - __vecho ">>> Remove '$PORTAGE_BUILDDIR/.setuped' to force setup." + __vecho ">>>> It appears that '$PF' is already setup; skipping." + __vecho ">>>> Remove '$PORTAGE_BUILDDIR/.setuped' to force setup." return 0 fi __ebuild_phase pre_pkg_setup @@ -245,7 +245,7 @@ __dyn_setup() { __dyn_unpack() { if [[ -f ${PORTAGE_BUILDDIR}/.unpacked ]] ; then - __vecho ">>> WORKDIR is up-to-date, keeping..." + __vecho ">>>> WORKDIR is up-to-date, keeping..." return 0 fi if [ ! -d "${WORKDIR}" ]; then @@ -253,11 +253,11 @@ __dyn_unpack() { fi cd "${WORKDIR}" || die "Directory change failed: \`cd '${WORKDIR}'\`" __ebuild_phase pre_src_unpack - __vecho ">>> Unpacking source..." + __vecho ">>>> Unpacking source..." __ebuild_phase src_unpack >> "$PORTAGE_BUILDDIR/.unpacked" || \ die "Failed to create $PORTAGE_BUILDDIR/.unpacked" - __vecho ">>> Source unpacked in ${WORKDIR}" + __vecho ">>>> Source unpacked in ${WORKDIR}" __ebuild_phase post_src_unpack } @@ -370,8 +370,8 @@ __has_phase_defined_up_to() { __dyn_prepare() { if [[ -e $PORTAGE_BUILDDIR/.prepared ]] ; then - __vecho ">>> It appears that '$PF' is already prepared; skipping." - __vecho ">>> Remove '$PORTAGE_BUILDDIR/.prepared' to force prepare." + __vecho ">>>> It appears that '$PF' is already prepared; skipping." + __vecho ">>>> Remove '$PORTAGE_BUILDDIR/.prepared' to force prepare." return 0 fi @@ -388,7 +388,7 @@ __dyn_prepare() { trap __abort_prepare SIGINT SIGQUIT __ebuild_phase pre_src_prepare - __vecho ">>> Preparing source in $PWD ..." + __vecho ">>>> Preparing source in $PWD ..." __ebuild_phase src_prepare # keep path in eapply_user in sync! @@ -398,7 +398,7 @@ __dyn_prepare() { >> "$PORTAGE_BUILDDIR/.prepared" || \ die "Failed to create $PORTAGE_BUILDDIR/.prepared" - __vecho ">>> Source prepared." + __vecho ">>>> Source prepared." __ebuild_phase post_src_prepare trap - SIGINT SIGQUIT @@ -407,8 +407,8 @@ __dyn_prepare() { __dyn_configure() { if [[ -e $PORTAGE_BUILDDIR/.configured ]] ; then - __vecho ">>> It appears that '$PF' is already configured; skipping." - __vecho ">>> Remove '$PORTAGE_BUILDDIR/.configured' to force configuration." + __vecho ">>>> It appears that '$PF' is already configured; skipping." + __vecho ">>>> Remove '$PORTAGE_BUILDDIR/.configured' to force configuration." return 0 fi @@ -426,11 +426,11 @@ __dyn_configure() { __ebuild_phase pre_src_configure - __vecho ">>> Configuring source in $PWD ..." + __vecho ">>>> Configuring source in $PWD ..." __ebuild_phase src_configure >> "$PORTAGE_BUILDDIR/.configured" || \ die "Failed to create $PORTAGE_BUILDDIR/.configured" - __vecho ">>> Source configured." + __vecho ">>>> Source configured." __ebuild_phase post_src_configure @@ -440,8 +440,8 @@ __dyn_configure() { __dyn_compile() { if [[ -e $PORTAGE_BUILDDIR/.compiled ]] ; then - __vecho ">>> It appears that '${PF}' is already compiled; skipping." - __vecho ">>> Remove '$PORTAGE_BUILDDIR/.compiled' to force compilation." + __vecho ">>>> It appears that '${PF}' is already compiled; skipping." + __vecho ">>>> Remove '$PORTAGE_BUILDDIR/.compiled' to force compilation." return 0 fi @@ -459,11 +459,11 @@ __dyn_compile() { __ebuild_phase pre_src_compile - __vecho ">>> Compiling source in $PWD ..." + __vecho ">>>> Compiling source in $PWD ..." __ebuild_phase src_compile >> "$PORTAGE_BUILDDIR/.compiled" || \ die "Failed to create $PORTAGE_BUILDDIR/.compiled" - __vecho ">>> Source compiled." + __vecho ">>>> Source compiled." __ebuild_phase post_src_compile @@ -473,8 +473,8 @@ __dyn_compile() { __dyn_test() { if [[ -e $PORTAGE_BUILDDIR/.tested ]] ; then - __vecho ">>> It appears that ${PN} has already been tested; skipping." - __vecho ">>> Remove '${PORTAGE_BUILDDIR}/.tested' to force test." + __vecho ">>>> It appears that ${PN} has already been tested; skipping." + __vecho ">>>> Remove '${PORTAGE_BUILDDIR}/.tested' to force test." return fi @@ -494,20 +494,20 @@ __dyn_test() { ! { has test_network ${PORTAGE_PROPERTIES} && has network ${ALLOW_TEST}; } then einfo "Skipping make test/check due to ebuild restriction." - __vecho ">>> Test phase [disabled because of RESTRICT=test]: ${CATEGORY}/${PF}" + __vecho ">>>> Test phase [disabled because of RESTRICT=test]: ${CATEGORY}/${PF}" # If ${EBUILD_FORCE_TEST} == 1 and FEATURES came from ${T}/environment # then it might not have FEATURES=test like it's supposed to here. elif [[ ${EBUILD_FORCE_TEST} != 1 ]] && ! has test ${FEATURES} ; then - __vecho ">>> Test phase [not enabled]: ${CATEGORY}/${PF}" + __vecho ">>>> Test phase [not enabled]: ${CATEGORY}/${PF}" else local save_sp=${SANDBOX_PREDICT} addpredict / __ebuild_phase pre_src_test - __vecho ">>> Test phase: ${CATEGORY}/${PF}" + __vecho ">>>> Test phase: ${CATEGORY}/${PF}" __ebuild_phase src_test - __vecho ">>> Completed testing ${CATEGORY}/${PF}" + __vecho ">>>> Completed testing ${CATEGORY}/${PF}" >> "$PORTAGE_BUILDDIR/.tested" || \ die "Failed to create $PORTAGE_BUILDDIR/.tested" @@ -523,8 +523,8 @@ __dyn_install() { if has noauto $FEATURES ; then rm -f "${PORTAGE_BUILDDIR}/.installed" elif [[ -e $PORTAGE_BUILDDIR/.installed ]] ; then - __vecho ">>> It appears that '${PF}' is already installed; skipping." - __vecho ">>> Remove '${PORTAGE_BUILDDIR}/.installed' to force install." + __vecho ">>>> It appears that '${PF}' is already installed; skipping." + __vecho ">>>> Remove '${PORTAGE_BUILDDIR}/.installed' to force install." return 0 fi trap "__abort_install" SIGINT SIGQUIT @@ -578,7 +578,7 @@ __dyn_install() { fi __vecho - __vecho ">>> Install ${CATEGORY}/${PF} into ${D}" + __vecho ">>>> Install ${CATEGORY}/${PF} into ${D}" #our custom version of libtool uses $S and $D to fix #invalid paths in .la files export S D @@ -599,7 +599,7 @@ __dyn_install() { __ebuild_phase src_install >> "$PORTAGE_BUILDDIR/.installed" || \ die "Failed to create $PORTAGE_BUILDDIR/.installed" - __vecho ">>> Completed installing ${CATEGORY}/${PF} into ${D}" + __vecho ">>>> Completed installing ${CATEGORY}/${PF} into ${D}" __vecho __ebuild_phase post_src_install @@ -1031,11 +1031,11 @@ __ebuild_main() { if has noauto $FEATURES && \ [[ ! -f $PORTAGE_BUILDDIR/.unpacked ]] ; then echo - echo "!!! We apparently haven't unpacked..." \ + echo "!!!! We apparently haven't unpacked..." \ "This is probably not what you" - echo "!!! want to be doing... You are using" \ + echo "!!!! want to be doing... You are using" \ "FEATURES=noauto so I'll assume" - echo "!!! that you know what you are doing..." \ + echo "!!!! that you know what you are doing..." \ "You have 5 seconds to abort..." echo diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh index 94f4f24f2..3ccb58a9b 100644 --- a/bin/phase-helpers.sh +++ b/bin/phase-helpers.sh @@ -269,8 +269,8 @@ use() { use_with() { if [ -z "$1" ]; then - echo "!!! use_with() called without a parameter." >&2 - echo "!!! use_with <USEFLAG> [<flagname> [value]]" >&2 + echo "!!!! use_with() called without a parameter." >&2 + echo "!!!! use_with <USEFLAG> [<flagname> [value]]" >&2 return 1 fi @@ -291,8 +291,8 @@ use_with() { use_enable() { if [ -z "$1" ]; then - echo "!!! use_enable() called without a parameter." >&2 - echo "!!! use_enable <USEFLAG> [<flagname> [value]]" >&2 + echo "!!!! use_enable() called without a parameter." >&2 + echo "!!!! use_enable <USEFLAG> [<flagname> [value]]" >&2 return 1 fi @@ -321,7 +321,7 @@ unpack() { [ -z "$*" ] && die "Nothing passed to the 'unpack' command" for x in "$@"; do - __vecho ">>> Unpacking ${x} to ${PWD}" + __vecho ">>>> Unpacking ${x} to ${PWD}" suffix=${x##*.} suffix_insensitive=$(LC_ALL=C tr "[:upper:]" "[:lower:]" <<< "${suffix}") y=${x%.*} @@ -703,8 +703,8 @@ econf() { if [ -s config.log ]; then echo - echo "!!! Please attach the following file when seeking support:" - echo "!!! ${PWD}/config.log" + echo "!!!! Please attach the following file when seeking support:" + echo "!!!! ${PWD}/config.log" fi # econf dies unconditionally in EAPIs 0 to 3 ___eapi_helpers_can_die || die "econf failed" @@ -1188,8 +1188,8 @@ if ___eapi_has_in_iuse; then local use=${1} if [[ -z "${use}" ]]; then - echo "!!! in_iuse() called without a parameter." >&2 - echo "!!! in_iuse <USEFLAG>" >&2 + echo "!!!! in_iuse() called without a parameter." >&2 + echo "!!!! in_iuse <USEFLAG>" >&2 die "in_iuse() called without a parameter" fi diff --git a/bin/portageq b/bin/portageq index d3cb9f140..9f94d001b 100755 --- a/bin/portageq +++ b/bin/portageq @@ -1304,9 +1304,9 @@ def add_pquery_arguments(parser): def usage(argv): - print(">>> Portage information query tool") - print(">>> %s" % portage.VERSION) - print(">>> Usage: portageq <command> [<option> ...]") + print(">>>> Portage information query tool") + print(">>>> %s" % portage.VERSION) + print(">>>> Usage: portageq <command> [<option> ...]") print("") print("Available commands:") diff --git a/cnf/repo.postsync.d/example b/cnf/repo.postsync.d/example index 72d91a60e..ac29cd416 100644 --- a/cnf/repo.postsync.d/example +++ b/cnf/repo.postsync.d/example @@ -41,7 +41,7 @@ if [ -n "${repository_name}" ]; then if [ "${repository_name}" != "gentoo" ]; then if ! egencache --update --repo="${repository_name}" --jobs=4 then - echo "!!! egencache failed!" + echo "!!!! egencache failed!" ret=1 fi fi @@ -55,7 +55,7 @@ if [ -n "${repository_name}" ] && ! [ -e "${repository_path}/metadata/pkg_desc_i # does not interfere with repository verification. if ! egencache --update-pkg-desc-index --external-cache-only --repo="${repository_name}" ${PORTAGE_VERBOSE+--verbose} then - echo "!!! egencache failed!" + echo "!!!! egencache failed!" ret=1 fi fi diff --git a/lib/_emerge/Binpkg.py b/lib/_emerge/Binpkg.py index c7dde69bd..ae83b6b75 100644 --- a/lib/_emerge/Binpkg.py +++ b/lib/_emerge/Binpkg.py @@ -323,7 +323,7 @@ class Binpkg(CompositeTask): # This initializes PORTAGE_LOG_FILE. portage.prepare_build_dirs(self.settings["ROOT"], self.settings, 1) - self._writemsg_level(">>> Extracting info\n") + self._writemsg_level(">>>> Extracting info\n") await self._bintree.dbapi.unpack_metadata( self.settings, infloc, loop=self.scheduler @@ -404,7 +404,7 @@ class Binpkg(CompositeTask): self._async_unlock_builddir(returncode=self.returncode) return - self._writemsg_level(">>> Extracting %s\n" % self.pkg.cpv) + self._writemsg_level(">>>> Extracting %s\n" % self.pkg.cpv) self._start_task( AsyncTaskFuture( future=self._bintree.dbapi.unpack_contents( @@ -418,7 +418,7 @@ class Binpkg(CompositeTask): if self._default_exit(unpack_contents) != os.EX_OK: unpack_contents.future.result() self._writemsg_level( - "!!! Error Extracting '%s'\n" % self._pkg_path, + "!!!! Error Extracting '%s'\n" % self._pkg_path, noiselevel=-1, level=logging.ERROR, ) @@ -462,13 +462,13 @@ class Binpkg(CompositeTask): scheduler=self.scheduler, logfile=self.settings.get("PORTAGE_LOG_FILE"), ) - self._writemsg_level(">>> Adjusting Prefix to %s\n" % self.settings["EPREFIX"]) + self._writemsg_level(">>>> Adjusting Prefix to %s\n" % self.settings["EPREFIX"]) self._start_task(chpathtool, self._chpathtool_exit) def _chpathtool_exit(self, chpathtool): if self._final_exit(chpathtool) != os.EX_OK: self._writemsg_level( - "!!! Error Adjusting Prefix to %s\n" % (self.settings["EPREFIX"],), + "!!!! Error Adjusting Prefix to %s\n" % (self.settings["EPREFIX"],), noiselevel=-1, level=logging.ERROR, ) diff --git a/lib/_emerge/BinpkgExtractorAsync.py b/lib/_emerge/BinpkgExtractorAsync.py index a0380a0a4..9219882fe 100644 --- a/lib/_emerge/BinpkgExtractorAsync.py +++ b/lib/_emerge/BinpkgExtractorAsync.py @@ -58,7 +58,7 @@ class BinpkgExtractorAsync(SpawnProcess): decomp_cmd = None if decomp_cmd is None: self.scheduler.output( - "!!! %s\n" + "!!!! %s\n" % _("File compression header unrecognized: %s") % self.pkg_path, log_path=self.logfile, @@ -90,7 +90,7 @@ class BinpkgExtractorAsync(SpawnProcess): if find_binary(decompression_binary) is None: missing_package = decomp.get("package") self.scheduler.output( - "!!! %s\n" + "!!!! %s\n" % _( "File compression unsupported %s.\n Command was: %s.\n Maybe missing package: %s" ) diff --git a/lib/_emerge/BinpkgVerifier.py b/lib/_emerge/BinpkgVerifier.py index 6d8efb9c4..7a0a40028 100644 --- a/lib/_emerge/BinpkgVerifier.py +++ b/lib/_emerge/BinpkgVerifier.py @@ -43,7 +43,7 @@ class BinpkgVerifier(CompositeTask): if e.errno not in (errno.ENOENT, errno.ESTALE): raise self.scheduler.output( - ("!!! Fetching Binary failed " "for '%s'\n") % self.pkg.cpv, + ("!!!! Fetching Binary failed " "for '%s'\n") % self.pkg.cpv, log_path=self.logfile, background=self.background, ) @@ -127,11 +127,11 @@ class BinpkgVerifier(CompositeTask): self.scheduler.output( ( - "\n!!! Digest verification failed:\n" - "!!! %s\n" - "!!! Reason: Failed on %s verification\n" - "!!! Got: %s\n" - "!!! Expected: %s\n" + "\n!!!! Digest verification failed:\n" + "!!!! %s\n" + "!!!! Reason: Failed on %s verification\n" + "!!!! Got: %s\n" + "!!!! Expected: %s\n" "File renamed to '%s'\n" ) % (self._pkg_path, name, value, expected, temp_filename), diff --git a/lib/_emerge/BlockerCache.py b/lib/_emerge/BlockerCache.py index 5aad581f4..581b98a38 100644 --- a/lib/_emerge/BlockerCache.py +++ b/lib/_emerge/BlockerCache.py @@ -62,7 +62,7 @@ class BlockerCache(portage.cache.mappings.MutableMapping): pass else: writemsg( - "!!! Error loading '%s': %s\n" % (self._cache_filename, str(e)), + "!!!! Error loading '%s': %s\n" % (self._cache_filename, str(e)), noiselevel=-1, ) del e diff --git a/lib/_emerge/BlockerDB.py b/lib/_emerge/BlockerDB.py index b6542157c..e778fdd90 100644 --- a/lib/_emerge/BlockerDB.py +++ b/lib/_emerge/BlockerDB.py @@ -71,7 +71,7 @@ class BlockerDB: inst_pkg.root, portage.VDB_PATH, inst_pkg.category, inst_pkg.pf ) portage.writemsg( - "!!! %s/*DEPEND: %s\n" % (pkg_location, atoms), noiselevel=-1 + "!!!! %s/*DEPEND: %s\n" % (pkg_location, atoms), noiselevel=-1 ) continue diff --git a/lib/_emerge/EbuildBuild.py b/lib/_emerge/EbuildBuild.py index 2ed16537b..caf2e45d2 100644 --- a/lib/_emerge/EbuildBuild.py +++ b/lib/_emerge/EbuildBuild.py @@ -447,7 +447,7 @@ class EbuildBuild(CompositeTask): return if self._issyspkg: - msg = ">>> This is a system package, " + "let's pack a rescue tarball.\n" + msg = ">>>> This is a system package, " + "let's pack a rescue tarball.\n" self.scheduler.output(msg, log_path=self.settings.get("PORTAGE_LOG_FILE")) binpkg_tasks = TaskSequence() diff --git a/lib/_emerge/EbuildIpcDaemon.py b/lib/_emerge/EbuildIpcDaemon.py index ee6fd7658..c32465ad4 100644 --- a/lib/_emerge/EbuildIpcDaemon.py +++ b/lib/_emerge/EbuildIpcDaemon.py @@ -111,7 +111,7 @@ class EbuildIpcDaemon(FifoIpcDaemon): # This probably means that the client has been killed, # which causes open to fail with ENXIO. writemsg_level( - "!!! EbuildIpcDaemon %s: %s\n" % (_("failed to send reply"), e), + "!!!! EbuildIpcDaemon %s: %s\n" % (_("failed to send reply"), e), level=logging.ERROR, noiselevel=-1, ) diff --git a/lib/_emerge/EbuildPhase.py b/lib/_emerge/EbuildPhase.py index 12326fffd..9f28bdfef 100644 --- a/lib/_emerge/EbuildPhase.py +++ b/lib/_emerge/EbuildPhase.py @@ -387,7 +387,7 @@ class EbuildPhase(CompositeTask): self._append_temp_log(post_phase.logfile, log_path) if self._final_exit(post_phase) != os.EX_OK: - writemsg("!!! post %s failed; exiting.\n" % self.phase, noiselevel=-1) + writemsg("!!!! post %s failed; exiting.\n" % self.phase, noiselevel=-1) self._die_hooks() return diff --git a/lib/_emerge/JobStatusDisplay.py b/lib/_emerge/JobStatusDisplay.py index e3cb2ff0f..bc50c4149 100644 --- a/lib/_emerge/JobStatusDisplay.py +++ b/lib/_emerge/JobStatusDisplay.py @@ -127,7 +127,7 @@ class JobStatusDisplay: return True def _format_msg(self, msg): - return ">>> %s" % msg + return ">>>> %s" % msg def _erase(self): self._write(self._term_codes["carriage_return"] + self._term_codes["clr_eol"]) diff --git a/lib/_emerge/MergeListItem.py b/lib/_emerge/MergeListItem.py index 87767c153..e666998cb 100644 --- a/lib/_emerge/MergeListItem.py +++ b/lib/_emerge/MergeListItem.py @@ -81,7 +81,7 @@ class MergeListItem(CompositeTask): if not build_opts.pretend: self.statusMessage(msg) logger.log( - " >>> emerge (%s of %s) %s to %s" + " >>>> emerge (%s of %s) %s to %s" % (pkg_count.curval, pkg_count.maxval, pkg.cpv, pkg.root) ) diff --git a/lib/_emerge/PackageUninstall.py b/lib/_emerge/PackageUninstall.py index 468db3030..a5cb8c937 100644 --- a/lib/_emerge/PackageUninstall.py +++ b/lib/_emerge/PackageUninstall.py @@ -93,7 +93,7 @@ class PackageUninstall(CompositeTask): self._async_unlock_builddir(returncode=retval) return - self._writemsg_level(">>> Unmerging %s...\n" % (self.pkg.cpv,), noiselevel=-1) + self._writemsg_level(">>>> Unmerging %s...\n" % (self.pkg.cpv,), noiselevel=-1) self._emergelog("=== Unmerging... (%s)" % (self.pkg.cpv,)) cat, pf = portage.catsplit(self.pkg.cpv) @@ -115,9 +115,9 @@ class PackageUninstall(CompositeTask): def _unmerge_exit(self, unmerge_task): if self._final_exit(unmerge_task) != os.EX_OK: - self._emergelog(" !!! unmerge FAILURE: %s" % (self.pkg.cpv,)) + self._emergelog(" !!!! unmerge FAILURE: %s" % (self.pkg.cpv,)) else: - self._emergelog(" >>> unmerge success: %s" % (self.pkg.cpv,)) + self._emergelog(" >>>> unmerge success: %s" % (self.pkg.cpv,)) self.world_atom(self.pkg) self._async_unlock_builddir(returncode=self.returncode) diff --git a/lib/_emerge/Scheduler.py b/lib/_emerge/Scheduler.py index 15d646c4f..6f82965e9 100644 --- a/lib/_emerge/Scheduler.py +++ b/lib/_emerge/Scheduler.py @@ -303,22 +303,22 @@ class Scheduler(PollScheduler): or "--fetchonly" in self.myopts ): if "distlocks" not in features: - portage.writemsg(red("!!!") + "\n", noiselevel=-1) + portage.writemsg(red("!!!!") + "\n", noiselevel=-1) portage.writemsg( - red("!!!") + red("!!!!") + " parallel-fetching " + "requires the distlocks feature enabled" + "\n", noiselevel=-1, ) portage.writemsg( - red("!!!") + red("!!!!") + " you have it disabled, " + "thus parallel-fetching is being disabled" + "\n", noiselevel=-1, ) - portage.writemsg(red("!!!") + "\n", noiselevel=-1) + portage.writemsg(red("!!!!") + "\n", noiselevel=-1) elif merge_count > 1: self._parallel_fetch = True @@ -442,7 +442,7 @@ class Scheduler(PollScheduler): if interactive_tasks: background = False writemsg_level( - ">>> Sending package output to stdio due " + ">>>> Sending package output to stdio due " + "to interactive package(s):\n", level=logging.INFO, noiselevel=-1, @@ -462,15 +462,15 @@ class Scheduler(PollScheduler): if self._max_jobs is True or self._max_jobs > 1: self._set_max_jobs(1) writemsg_level( - ">>> Setting --jobs=1 due " + ">>>> Setting --jobs=1 due " + "to the above interactive package(s)\n", level=logging.INFO, noiselevel=-1, ) writemsg_level( - ">>> In order to temporarily mask " + ">>>> In order to temporarily mask " + "interactive updates, you may\n" - + ">>> specify --accept-properties=-interactive\n", + + ">>>> specify --accept-properties=-interactive\n", level=logging.INFO, noiselevel=-1, ) @@ -732,7 +732,7 @@ class Scheduler(PollScheduler): pkgsettings["O"] = os.path.dirname(ebuild_path) if not digestgen(mysettings=pkgsettings, myportdb=portdb): writemsg_level( - "!!! Unable to generate manifest for '%s'.\n" % x.cpv, + "!!!! Unable to generate manifest for '%s'.\n" % x.cpv, level=logging.ERROR, noiselevel=-1, ) @@ -2250,7 +2250,7 @@ class Scheduler(PollScheduler): world_set.add(atom) else: writemsg_level( - '\n!!! Unable to record %s in "world"\n' % (atom,), + '\n!!!! Unable to record %s in "world"\n' % (atom,), level=logging.WARN, noiselevel=-1, ) diff --git a/lib/_emerge/SpawnProcess.py b/lib/_emerge/SpawnProcess.py index c43b17c12..2e5cfe6bc 100644 --- a/lib/_emerge/SpawnProcess.py +++ b/lib/_emerge/SpawnProcess.py @@ -267,7 +267,7 @@ class SpawnProcess(SubProcess): if e.errno == errno.EPERM: # Reported with hardened kernel (bug #358211). writemsg_level( - "!!! kill: (%i) - Operation not permitted\n" % (p,), + "!!!! kill: (%i) - Operation not permitted\n" % (p,), level=logging.ERROR, noiselevel=-1, ) diff --git a/lib/_emerge/SubProcess.py b/lib/_emerge/SubProcess.py index e2d2e61be..3383829ae 100644 --- a/lib/_emerge/SubProcess.py +++ b/lib/_emerge/SubProcess.py @@ -31,7 +31,7 @@ class SubProcess(AbstractPollTask): if e.errno == errno.EPERM: # Reported with hardened kernel (bug #358211). writemsg_level( - "!!! kill: (%i) - Operation not permitted\n" % (self.pid,), + "!!!! kill: (%i) - Operation not permitted\n" % (self.pid,), level=logging.ERROR, noiselevel=-1, ) diff --git a/lib/_emerge/actions.py b/lib/_emerge/actions.py index 05a115250..aa9316a46 100644 --- a/lib/_emerge/actions.py +++ b/lib/_emerge/actions.py @@ -171,7 +171,9 @@ def action_build( getbinpkgs="--getbinpkg" in emerge_config.opts, **kwargs ) except ParseError as e: - writemsg("\n\n!!!%s.\nSee make.conf(5) for more info.\n" % e, noiselevel=-1) + writemsg( + "\n\n!!!!%s.\nSee make.conf(5) for more info.\n" % e, noiselevel=-1 + ) return 1 # validate the state of the resume data @@ -364,9 +366,9 @@ def action_build( if success: if dropped_tasks: portage.writemsg( - "!!! One or more packages have been " + "!!!! One or more packages have been " + "dropped due to\n" - + "!!! masking or unsatisfied dependencies:\n\n", + + "!!!! masking or unsatisfied dependencies:\n\n", noiselevel=-1, ) for task, atoms in dropped_tasks.items(): @@ -430,7 +432,7 @@ def action_build( ) except ParseError as e: writemsg( - "\n\n!!!%s.\nSee make.conf(5) for more info.\n" % e, + "\n\n!!!!%s.\nSee make.conf(5) for more info.\n" % e, noiselevel=-1, ) return 1 @@ -577,7 +579,7 @@ def action_build( for eroot in eroots: if need_write_vardb and not trees[eroot]["vartree"].dbapi.writable: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _("Read-only file system: %s") % trees[eroot]["vartree"].dbapi._dbroot, level=logging.ERROR, @@ -596,7 +598,7 @@ def action_build( and not trees[eroot]["bintree"].dbapi.writable ): writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _("Read-only file system: %s") % trees[eroot]["bintree"].pkgdir, level=logging.ERROR, @@ -639,7 +641,7 @@ def action_build( if retval == os.EX_OK and not (buildpkgonly or fetchonly or pretend): if "yes" == settings.get("AUTOCLEAN"): - portage.writemsg_stdout(">>> Auto-cleaning packages...\n") + portage.writemsg_stdout(">>>> Auto-cleaning packages...\n") unmerge( trees[settings["EROOT"]]["root_config"], myopts, @@ -662,15 +664,15 @@ def action_config(settings, trees, myopts, myfiles): enter_invalid = "--ask-enter-invalid" in myopts uq = UserQuery(myopts) if len(myfiles) != 1: - print(red("!!! config can only take a single package atom at this time\n")) + print(red("!!!! config can only take a single package atom at this time\n")) sys.exit(1) if not is_valid_package_atom(myfiles[0], allow_repo=True): portage.writemsg( - "!!! '%s' is not a valid package atom.\n" % myfiles[0], noiselevel=-1 + "!!!! '%s' is not a valid package atom.\n" % myfiles[0], noiselevel=-1 ) - portage.writemsg("!!! Please check ebuild(5) for full details.\n") + portage.writemsg("!!!! Please check ebuild(5) for full details.\n") portage.writemsg( - "!!! (Did you specify a version but forget to prefix with '='?)\n" + "!!!! (Did you specify a version but forget to prefix with '='?)\n" ) sys.exit(1) print() @@ -801,7 +803,7 @@ def action_depclean( noiselevel=-1, ) if not matched_packages: - writemsg_level(">>> No packages selected for removal by %s\n" % action) + writemsg_level(">>>> No packages selected for removal by %s\n" % action) return 0 # The calculation is done in a separate function so that depgraph @@ -899,7 +901,7 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi # A nested set could not be resolved, so ignore nested sets. set_atoms[k] = root_config.sets[k].getAtoms() writemsg_level( - _("!!! The set '%s' " "contains a non-existent set named '%s'.\n") + _("!!!! The set '%s' " "contains a non-existent set named '%s'.\n") % (k, e), level=logging.ERROR, noiselevel=-1, @@ -909,12 +911,12 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi # Support @profile as an alternative to @system. if not (set_atoms["system"] or set_atoms["profile"]): writemsg_level( - _("!!! You have no system list.\n"), level=logging.WARNING, noiselevel=-1 + _("!!!! You have no system list.\n"), level=logging.WARNING, noiselevel=-1 ) if not set_atoms["selected"]: writemsg_level( - _("!!! You have no world file.\n"), level=logging.WARNING, noiselevel=-1 + _("!!!! You have no world file.\n"), level=logging.WARNING, noiselevel=-1 ) # Suppress world file warnings unless @world is completely empty, @@ -923,7 +925,7 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi world_atoms = bool(root_config.setconfig.getSetAtoms("world")) except portage.exception.PackageSetNotFound as e: writemsg_level( - _("!!! The set '%s' " "contains a non-existent set named '%s'.\n") + _("!!!! The set '%s' " "contains a non-existent set named '%s'.\n") % ("world", e), level=logging.ERROR, noiselevel=-1, @@ -932,20 +934,22 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi else: if not world_atoms: writemsg_level( - _("!!! Your @world set is empty.\n"), level=logging.ERROR, noiselevel=-1 + _("!!!! Your @world set is empty.\n"), + level=logging.ERROR, + noiselevel=-1, ) set_error = True if set_error: writemsg_level( - _("!!! Aborting due to set configuration " "errors displayed above.\n"), + _("!!!! Aborting due to set configuration " "errors displayed above.\n"), level=logging.ERROR, noiselevel=-1, ) return _depclean_result(1, [], False, 0, None) if action == "depclean": - emergelog(xterm_titles, " >>> depclean") + emergelog(xterm_titles, " >>>> depclean") writemsg_level("\nCalculating dependencies ") resolver_params = create_depgraph_params(myopts, "remove") @@ -1285,14 +1289,14 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi show_parents(pkg) if not pkgs_to_remove: - writemsg_level(">>> No packages selected for removal by %s\n" % action) + writemsg_level(">>>> No packages selected for removal by %s\n" % action) if "--verbose" not in myopts: writemsg_level( - ">>> To see reverse dependencies, use %s\n" % good("--verbose") + ">>>> To see reverse dependencies, use %s\n" % good("--verbose") ) if action == "prune": writemsg_level( - ">>> To ignore dependencies, use %s\n" % good("--nodeps") + ">>>> To ignore dependencies, use %s\n" % good("--nodeps") ) return pkgs_to_remove @@ -1324,7 +1328,7 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi provider_cache = {} consumer_map = {} - writemsg_level(">>> Checking for lib consumers...\n") + writemsg_level(">>>> Checking for lib consumers...\n") for pkg in cleanlist: @@ -1391,7 +1395,7 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi search_files.add(lib_consumer) search_files.update(providers) - writemsg_level(">>> Assigning files to packages...\n") + writemsg_level(">>>> Assigning files to packages...\n") file_owners = {} for f in search_files: owner_set = set() @@ -1498,7 +1502,7 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi # Add lib providers to the graph as children of lib consumers, # and also add any dependencies pulled in by the provider. - writemsg_level(">>> Adding lib providers to graph...\n") + writemsg_level(">>>> Adding lib providers to graph...\n") for pkg, consumers in consumer_map.items(): for consumer_dblink in set(chain(*consumers.values())): @@ -1538,7 +1542,7 @@ def _calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spi clean_set = set(cleanlist) if clean_set: - writemsg_level(">>> Calculating removal order...\n") + writemsg_level(">>>> Calculating removal order...\n") # Use a topological sort to create an unmerge order such that # each package is unmerged before it's dependencies. This is # necessary to avoid breaking things that may need to run @@ -1747,7 +1751,7 @@ def action_deselect(settings, trees, opts, atoms): filename = "world" writemsg_stdout( - '>>> %s %s from "%s" favorites file...\n' + '>>>> %s %s from "%s" favorites file...\n' % (action_desc, colorize("INFORM", str(atom)), filename), noiselevel=-1, ) @@ -1766,7 +1770,7 @@ def action_deselect(settings, trees, opts, atoms): if not pretend: world_set.replace(remaining) else: - print('>>> No matching atoms found in "world" favorites file...') + print('>>>> No matching atoms found in "world" favorites file...') finally: if locked: world_set.unlock() @@ -2263,7 +2267,7 @@ def action_info(settings, trees, myopts, myfiles): continue writemsg_stdout( - ">>> Attempting to run pkg_info() for '%s'\n" % pkg.cpv, noiselevel=-1 + ">>>> Attempting to run pkg_info() for '%s'\n" % pkg.cpv, noiselevel=-1 ) if pkg_type == "installed": @@ -2353,7 +2357,7 @@ def action_search(root_config, myopts, myfiles, spinner): searchinstance.execute(mysearch) except re.error as comment: print( - '\n!!! Regular expression error in "%s": %s' % (mysearch, comment) + '\n!!!! Regular expression error in "%s": %s' % (mysearch, comment) ) sys.exit(1) searchinstance.output() @@ -2426,7 +2430,7 @@ def action_uninstall(settings, trees, ldpath_mtimes, opts, action, files, spinne ) for line in textwrap.wrap(msg, 70): writemsg_level( - "!!! %s\n" % (line,), level=logging.ERROR, noiselevel=-1 + "!!!! %s\n" % (line,), level=logging.ERROR, noiselevel=-1 ) for i in e.args[0]: writemsg_level( @@ -2440,7 +2444,7 @@ def action_uninstall(settings, trees, ldpath_mtimes, opts, action, files, spinne if atom.use and atom.use.conditional: writemsg_level( ( - "\n\n!!! '%s' contains a conditional " + "\n\n!!!! '%s' contains a conditional " + "which is not allowed.\n" ) % (x,), @@ -2448,7 +2452,7 @@ def action_uninstall(settings, trees, ldpath_mtimes, opts, action, files, spinne noiselevel=-1, ) writemsg_level( - "!!! Please check ebuild(5) for full details.\n", + "!!!! Please check ebuild(5) for full details.\n", level=logging.ERROR, ) return 1 @@ -2457,7 +2461,7 @@ def action_uninstall(settings, trees, ldpath_mtimes, opts, action, files, spinne elif x.startswith(os.sep): if not x.startswith(eroot): writemsg_level( - ("!!! '%s' does not start with" + " $EROOT.\n") % x, + ("!!!! '%s' does not start with" + " $EROOT.\n") % x, level=logging.ERROR, noiselevel=-1, ) @@ -2477,7 +2481,7 @@ def action_uninstall(settings, trees, ldpath_mtimes, opts, action, files, spinne msg.append("'%s' is not a valid package atom." % (x,)) msg.append("Please check ebuild(5) for full details.") writemsg_level( - "".join("!!! %s\n" % line for line in msg), + "".join("!!!! %s\n" % line for line in msg), level=logging.ERROR, noiselevel=-1, ) @@ -2512,7 +2516,7 @@ def action_uninstall(settings, trees, ldpath_mtimes, opts, action, files, spinne msg.append("'%s' is not a valid package atom." % (x,)) msg.append("Please check ebuild(5) for full details.") writemsg_level( - "".join("!!! %s\n" % line for line in msg), + "".join("!!!! %s\n" % line for line in msg), level=logging.ERROR, noiselevel=-1, ) @@ -2542,7 +2546,7 @@ def action_uninstall(settings, trees, ldpath_mtimes, opts, action, files, spinne valid_atoms.append(portage.dep.Atom(atom)) else: writemsg_level( - ("!!! '%s' is not claimed " + "by any package.\n") % lookup_owners[0], + ("!!!! '%s' is not claimed " + "by any package.\n") % lookup_owners[0], level=logging.WARNING, noiselevel=-1, ) @@ -2657,9 +2661,10 @@ def adjust_config(myopts, settings): try: CLEAN_DELAY = int(settings.get("CLEAN_DELAY", str(CLEAN_DELAY))) except ValueError as e: - portage.writemsg("!!! %s\n" % str(e), noiselevel=-1) + portage.writemsg("!!!! %s\n" % str(e), noiselevel=-1) portage.writemsg( - "!!! Unable to parse integer: CLEAN_DELAY='%s'\n" % settings["CLEAN_DELAY"], + "!!!! Unable to parse integer: CLEAN_DELAY='%s'\n" + % settings["CLEAN_DELAY"], noiselevel=-1, ) settings["CLEAN_DELAY"] = str(CLEAN_DELAY) @@ -2671,9 +2676,9 @@ def adjust_config(myopts, settings): settings.get("EMERGE_WARNING_DELAY", str(EMERGE_WARNING_DELAY)) ) except ValueError as e: - portage.writemsg("!!! %s\n" % str(e), noiselevel=-1) + portage.writemsg("!!!! %s\n" % str(e), noiselevel=-1) portage.writemsg( - "!!! Unable to parse integer: EMERGE_WARNING_DELAY='%s'\n" + "!!!! Unable to parse integer: EMERGE_WARNING_DELAY='%s'\n" % settings["EMERGE_WARNING_DELAY"], noiselevel=-1, ) @@ -2705,14 +2710,17 @@ def adjust_config(myopts, settings): PORTAGE_DEBUG = int(settings.get("PORTAGE_DEBUG", str(PORTAGE_DEBUG))) if PORTAGE_DEBUG not in (0, 1): portage.writemsg( - "!!! Invalid value: PORTAGE_DEBUG='%i'\n" % PORTAGE_DEBUG, noiselevel=-1 + "!!!! Invalid value: PORTAGE_DEBUG='%i'\n" % PORTAGE_DEBUG, + noiselevel=-1, + ) + portage.writemsg( + "!!!! PORTAGE_DEBUG must be either 0 or 1\n", noiselevel=-1 ) - portage.writemsg("!!! PORTAGE_DEBUG must be either 0 or 1\n", noiselevel=-1) PORTAGE_DEBUG = 0 except ValueError as e: - portage.writemsg("!!! %s\n" % str(e), noiselevel=-1) + portage.writemsg("!!!! %s\n" % str(e), noiselevel=-1) portage.writemsg( - "!!! Unable to parse integer: PORTAGE_DEBUG='%s'\n" + "!!!! Unable to parse integer: PORTAGE_DEBUG='%s'\n" % settings["PORTAGE_DEBUG"], noiselevel=-1, ) @@ -2910,9 +2918,9 @@ def getgccversion(chost=None): gcc_ver_prefix = "gcc-" gcc_not_found_error = red( - "!!! No gcc found. You probably need to 'source /etc/profile'\n" - + "!!! to update the environment of this terminal and possibly\n" - + "!!! other terminals also.\n" + "!!!! No gcc found. You probably need to 'source /etc/profile'\n" + + "!!!! to update the environment of this terminal and possibly\n" + + "!!!! other terminals also.\n" ) if chost: @@ -2992,7 +3000,7 @@ def check_procfs(): return os.EX_OK msg = "It seems that %s is not mounted. You have been warned." % procfs_path writemsg_level( - "".join("!!! %s\n" % l for l in textwrap.wrap(msg, 70)), + "".join("!!!! %s\n" % l for l in textwrap.wrap(msg, 70)), level=logging.ERROR, noiselevel=-1, ) @@ -3003,7 +3011,7 @@ def config_protect_check(trees): for root, root_trees in trees.items(): settings = root_trees["root_config"].settings if not settings.get("CONFIG_PROTECT"): - msg = "!!! CONFIG_PROTECT is empty" + msg = "!!!! CONFIG_PROTECT is empty" if settings["ROOT"] != "/": msg += " for '%s'" % root msg += "\n" @@ -3099,7 +3107,7 @@ def missing_sets_warning(root_config, missing_sets): % (os.path.join(global_config_path, "sets/portage.conf"),) ) msg.append(" is missing or corrupt.") - msg.append(" Falling back to default world and system set configuration!!!") + msg.append(" Falling back to default world and system set configuration!!!!") for line in msg: writemsg_level(line + "\n", level=logging.ERROR, noiselevel=-1) @@ -3405,7 +3413,7 @@ def run_action(emerge_config): ) except ParseError as e: writemsg( - "\n\n!!!%s.\nSee make.conf(5) for more info.\n" % (e,), + "\n\n!!!!%s.\nSee make.conf(5) for more info.\n" % (e,), noiselevel=-1, ) return 1 @@ -3488,7 +3496,7 @@ def run_action(emerge_config): print( colorize( "BAD", - "\n*** emerging by path is broken " "and may not always work!!!\n", + "\n*** emerging by path is broken " "and may not always work!!!!\n", ) ) break @@ -3579,7 +3587,7 @@ def run_action(emerge_config): # note: this breaks `emerge --ask | tee logfile`, but that doesn't work anyway. if ("--ask" in emerge_config.opts) and (not sys.stdin.isatty()): portage.writemsg( - '!!! "--ask" should only be used in a terminal. Exiting.\n', noiselevel=-1 + '!!!! "--ask" should only be used in a terminal. Exiting.\n', noiselevel=-1 ) return 1 @@ -3708,8 +3716,8 @@ def run_action(emerge_config): portage.util.ensure_dirs(emerge_log_dir) except portage.exception.PortageException as e: writemsg_level( - "!!! Error creating directory for " - + "EMERGE_LOG_DIR='%s':\n!!! %s\n" % (emerge_log_dir, e), + "!!!! Error creating directory for " + + "EMERGE_LOG_DIR='%s':\n!!!! %s\n" % (emerge_log_dir, e), noiselevel=-1, level=logging.ERROR, ) @@ -3874,7 +3882,7 @@ def run_action(emerge_config): ) for line in textwrap.wrap(msg, 70): writemsg_level( - "!!! %s\n" % (line,), level=logging.ERROR, noiselevel=-1 + "!!!! %s\n" % (line,), level=logging.ERROR, noiselevel=-1 ) for i in e.args[0]: writemsg_level( @@ -3889,7 +3897,7 @@ def run_action(emerge_config): msg.append("'%s' is not a valid package atom." % (x,)) msg.append("Please check ebuild(5) for full details.") writemsg_level( - "".join("!!! %s\n" % line for line in msg), + "".join("!!!! %s\n" % line for line in msg), level=logging.ERROR, noiselevel=-1, ) @@ -3920,7 +3928,7 @@ def run_action(emerge_config): msg.append("'%s' is not a valid package atom." % (x,)) msg.append("Please check ebuild(5) for full details.") writemsg_level( - "".join("!!! %s\n" % line for line in msg), + "".join("!!!! %s\n" % line for line in msg), level=logging.ERROR, noiselevel=-1, ) diff --git a/lib/_emerge/countdown.py b/lib/_emerge/countdown.py index 9d506c3c7..f40ebbf05 100644 --- a/lib/_emerge/countdown.py +++ b/lib/_emerge/countdown.py @@ -10,8 +10,8 @@ from portage.output import colorize def countdown(secs=5, doing="Starting"): if secs: print( - ">>> Waiting %s seconds before starting...\n" - ">>> (Control-C to abort)...\n" + ">>>> Waiting %s seconds before starting...\n" + ">>>> (Control-C to abort)...\n" "%s in:" % (secs, doing), end="", ) diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py index 22d0be196..7c869ae75 100644 --- a/lib/_emerge/depgraph.py +++ b/lib/_emerge/depgraph.py @@ -1140,7 +1140,7 @@ class depgraph: "\n%s\n\n" % colorize( "WARN", - "!!! Detected ebuild dependency change(s) without revision bump:", + "!!!! Detected ebuild dependency change(s) without revision bump:", ), noiselevel=-1, ) @@ -1223,7 +1223,7 @@ class depgraph: def _show_ignored_binaries_respect_use(self, respect_use): writemsg( - "\n!!! The following binary packages have been ignored " + "\n!!!! The following binary packages have been ignored " + "due to non matching USE:\n\n", noiselevel=-1, ) @@ -1256,7 +1256,7 @@ class depgraph: def _show_ignored_binaries_changed_deps(self, changed_deps): writemsg( - "\n!!! The following binary packages have been " + "\n!!!! The following binary packages have been " "ignored due to changed dependencies:\n\n", noiselevel=-1, ) @@ -1364,7 +1364,7 @@ class depgraph: continue writemsg( - "\n!!! The following update has been skipped " + "\n!!!! The following update has been skipped " + "due to unsatisfied dependencies:\n\n", noiselevel=-1, ) @@ -1393,9 +1393,9 @@ class depgraph: # These are shown in abbreviated form, in order to avoid terminal # flooding from mask messages as reported in bug #285832. writemsg( - "\n!!! The following update(s) have been skipped " + "\n!!!! The following update(s) have been skipped " + "due to unsatisfied dependencies\n" - + "!!! triggered by backtracking:\n\n", + + "!!!! triggered by backtracking:\n\n", noiselevel=-1, ) for pkg, parent_atoms in backtrack_masked: @@ -1554,7 +1554,7 @@ class depgraph: if debug: writemsg_level( - "\n!!! Slot conflict handler started.\n", + "\n!!!! Slot conflict handler started.\n", level=logging.DEBUG, noiselevel=-1, ) @@ -1718,7 +1718,7 @@ class depgraph: if debug: writemsg_level( - "\n!!! Slot conflict graph:\n", level=logging.DEBUG, noiselevel=-1 + "\n!!!! Slot conflict graph:\n", level=logging.DEBUG, noiselevel=-1 ) conflict_graph.debug_print() @@ -1793,7 +1793,7 @@ class depgraph: if debug: writemsg_level( - "\n!!! Slot conflict solution:\n", level=logging.DEBUG, noiselevel=-1 + "\n!!!! Slot conflict solution:\n", level=logging.DEBUG, noiselevel=-1 ) for conflict in conflicts: writemsg_level( @@ -1920,7 +1920,7 @@ class depgraph: ): if debug: writemsg_level( - "!!! backtracking loop detected: %s %s\n" + "!!!! backtracking loop detected: %s %s\n" % (pkg, self._dynamic_config._runtime_pkg_mask[pkg]), level=logging.DEBUG, noiselevel=-1, @@ -4567,11 +4567,13 @@ class depgraph: x = os.path.join(pkgsettings["PKGDIR"], x) else: writemsg( - "\n\n!!! Binary package '" + str(x) + "' does not exist.\n", + "\n\n!!!! Binary package '" + + str(x) + + "' does not exist.\n", noiselevel=-1, ) writemsg( - "!!! Please ensure the tbz2 exists as specified.\n\n", + "!!!! Please ensure the tbz2 exists as specified.\n\n", noiselevel=-1, ) return 0, myfavorites @@ -4625,7 +4627,7 @@ class depgraph: tree_root = os.path.dirname(os.path.dirname(pkgdir)) cp = pkgdir[len(tree_root) + 1 :] error_msg = ( - "\n\n!!! '%s' is not in a valid ebuild repository " + "\n\n!!!! '%s' is not in a valid ebuild repository " "hierarchy or does not exist\n" ) % x if not portage.isvalidatom(cp): @@ -4690,7 +4692,7 @@ class depgraph: elif x.startswith(os.path.sep): if not x.startswith(eroot): portage.writemsg( - ("\n\n!!! '%s' does not start with" + " $EROOT.\n") % x, + ("\n\n!!!! '%s' does not start with" + " $EROOT.\n") % x, noiselevel=-1, ) self._dynamic_config._skip_restart = True @@ -4703,7 +4705,7 @@ class depgraph: if not f.startswith(eroot): portage.writemsg( ( - "\n\n!!! '%s' (resolved from '%s') does not start with" + "\n\n!!!! '%s' (resolved from '%s') does not start with" + " $EROOT.\n" ) % (f, x), @@ -4768,11 +4770,12 @@ class depgraph: continue if not is_valid_package_atom(x, allow_repo=True): portage.writemsg( - "\n\n!!! '%s' is not a valid package atom.\n" % x, noiselevel=-1 + "\n\n!!!! '%s' is not a valid package atom.\n" % x, + noiselevel=-1, ) - portage.writemsg("!!! Please check ebuild(5) for full details.\n") + portage.writemsg("!!!! Please check ebuild(5) for full details.\n") portage.writemsg( - "!!! (Did you specify a version but forget to prefix with '='?)\n" + "!!!! (Did you specify a version but forget to prefix with '='?)\n" ) self._dynamic_config._skip_restart = True return (0, []) @@ -4865,13 +4868,13 @@ class depgraph: if atom.use and atom.use.conditional: writemsg( ( - "\n\n!!! '%s' contains a conditional " + "\n\n!!!! '%s' contains a conditional " + "which is not allowed.\n" ) % (x,), noiselevel=-1, ) - writemsg("!!! Please check ebuild(5) for full details.\n") + writemsg("!!!! Please check ebuild(5) for full details.\n") self._dynamic_config._skip_restart = True return (0, []) @@ -4896,7 +4899,7 @@ class depgraph: if not owners: portage.writemsg( - ("\n\n!!! '%s' is not claimed " + "by any package.\n") + ("\n\n!!!! '%s' is not claimed " + "by any package.\n") % lookup_owners[0], noiselevel=-1, ) @@ -5031,7 +5034,7 @@ class depgraph: if not self.need_restart(): writemsg( ( - "\n\n!!! Problem " + "\n\n!!!! Problem " + "resolving dependencies for %s\n" ) % arg.arg, @@ -5132,7 +5135,7 @@ class depgraph: elif isinstance(arg, SetArg): writemsg( ( - "\n\n!!! Problem resolving " + "\n\n!!!! Problem resolving " + "dependencies for %s from %s\n" ) % (atom, arg.arg), @@ -5140,7 +5143,10 @@ class depgraph: ) else: writemsg( - ("\n\n!!! Problem resolving " + "dependencies for %s\n") + ( + "\n\n!!!! Problem resolving " + + "dependencies for %s\n" + ) % (atom,), noiselevel=-1, ) @@ -5150,10 +5156,10 @@ class depgraph: raise # Needed else can't exit except Exception as e: writemsg( - "\n\n!!! Problem in '%s' dependencies.\n" % atom, noiselevel=-1 + "\n\n!!!! Problem in '%s' dependencies.\n" % atom, noiselevel=-1 ) writemsg( - "!!! %s %s\n" % (str(e), str(getattr(e, "__module__", None))) + "!!!! %s %s\n" % (str(e), str(getattr(e, "__module__", None))) ) raise @@ -5674,7 +5680,7 @@ class depgraph: ) except InvalidDependString as e: writemsg_level( - "!!! Invalid RDEPEND in " + "!!!! Invalid RDEPEND in " + "'%svar/db/pkg/%s/RDEPEND': %s\n" % (pkg.root, pkg.cpv, e), noiselevel=-1, level=logging.ERROR, @@ -5713,7 +5719,7 @@ class depgraph: if not pkg.installed: raise writemsg_level( - "!!! Invalid RDEPEND in " + "!!!! Invalid RDEPEND in " + "'%svar/db/pkg/%s/RDEPEND': %s\n" % (pkg.root, pkg.cpv, e), noiselevel=-1, level=logging.ERROR, @@ -6403,7 +6409,7 @@ class depgraph: pkg = show_req_use output_cpv = pkg.cpv + _repo_separator + pkg.repo writemsg( - "\n!!! " + "\n!!!! " + colorize("BAD", "The ebuild selected to satisfy ") + colorize("INFORM", xinfo) + colorize("BAD", " has unmet requirements.") @@ -6447,7 +6453,7 @@ class depgraph: noiselevel=-1, ) writemsg( - "!!! One of the following packages is required to complete your request:\n", + "!!!! One of the following packages is required to complete your request:\n", noiselevel=-1, ) for pkg, mreasons in show_missing_use: @@ -6464,7 +6470,7 @@ class depgraph: elif masked_packages: writemsg( - "\n!!! " + "\n!!!! " + colorize("BAD", "All ebuilds that could satisfy ") + colorize("INFORM", xinfo) + colorize("BAD", " have been masked.") @@ -6472,7 +6478,7 @@ class depgraph: noiselevel=-1, ) writemsg( - "!!! One of the following masked packages is required to complete your request:\n", + "!!!! One of the following masked packages is required to complete your request:\n", noiselevel=-1, ) have_eapi_mask = show_masked_packages(masked_packages) @@ -8978,7 +8984,7 @@ class depgraph: ) except portage.exception.InvalidDependString as e: portage.writemsg( - "!!! Invalid RDEPEND in " + "!!!! Invalid RDEPEND in " + "'%svar/db/pkg/%s/RDEPEND': %s\n" % (running_root, running_portage.cpv, e), noiselevel=-1, @@ -9385,7 +9391,7 @@ class depgraph: ) except portage.exception.InvalidDependString as e: portage.writemsg( - "!!! Invalid PROVIDE in " + "!!!! Invalid PROVIDE in " + "'%svar/db/pkg/%s/PROVIDE': %s\n" % (task.root, task.cpv, e), noiselevel=-1, @@ -9423,7 +9429,7 @@ class depgraph: skip = True except portage.exception.InvalidDependString as e: portage.writemsg( - "!!! Invalid PROVIDE in " + "!!!! Invalid PROVIDE in " + "'%svar/db/pkg/%s/PROVIDE': %s\n" % (task.root, task.cpv, e), noiselevel=-1, @@ -9465,7 +9471,7 @@ class depgraph: break except portage.exception.InvalidDependString as e: portage.writemsg( - "!!! Invalid PROVIDE in " + "!!!! Invalid PROVIDE in " + "'%svar/db/pkg/%s/PROVIDE': %s\n" % (task.root, task.cpv, e), noiselevel=-1, @@ -10276,7 +10282,7 @@ class depgraph: for (abs_user_config, f), path in file_to_write_to.items(): if path is None: problems.append( - "!!! No file to write for '%s'\n" + "!!!! No file to write for '%s'\n" % os.path.join(abs_user_config, f) ) @@ -10353,7 +10359,7 @@ class depgraph: file_contents = [] else: problems.append( - "!!! Failed to read '%s': %s\n" % (file_to_write_to, e) + "!!!! Failed to read '%s': %s\n" % (file_to_write_to, e) ) if file_contents is not None: file_contents.extend(changes) @@ -10370,7 +10376,7 @@ class depgraph: try: write_atomic(file_to_write_to, "".join(file_contents)) except PortageException: - problems.append("!!! Failed to write '%s'\n" % file_to_write_to) + problems.append("!!!! Failed to write '%s'\n" % file_to_write_to) if not quiet and (p_mask_change_msg or masked_by_missing_keywords): msg = [ @@ -10522,23 +10528,23 @@ class depgraph: if world_problems: writemsg( - "\n!!! Problems have been " + "detected with your world file\n", + "\n!!!! Problems have been " + "detected with your world file\n", noiselevel=-1, ) writemsg( - "!!! Please run " + green("emaint --check world") + "\n\n", + "!!!! Please run " + green("emaint --check world") + "\n\n", noiselevel=-1, ) if self._dynamic_config._missing_args: writemsg( "\n" - + colorize("BAD", "!!!") + + colorize("BAD", "!!!!") + " Ebuilds for the following packages are either all\n", noiselevel=-1, ) writemsg( - colorize("BAD", "!!!") + " masked or don't exist:\n", noiselevel=-1 + colorize("BAD", "!!!!") + " masked or don't exist:\n", noiselevel=-1 ) writemsg( " ".join(str(atom) for arg, atom in self._dynamic_config._missing_args) @@ -10604,7 +10610,7 @@ class depgraph: if masked_packages: writemsg( "\n" - + colorize("BAD", "!!!") + + colorize("BAD", "!!!!") + " The following updates are masked by LICENSE changes:\n", noiselevel=-1, ) @@ -10625,7 +10631,7 @@ class depgraph: if masked_packages: writemsg( "\n" - + colorize("BAD", "!!!") + + colorize("BAD", "!!!!") + " The following installed packages are masked:\n", noiselevel=-1, ) @@ -10639,25 +10645,27 @@ class depgraph: if self._dynamic_config._buildpkgonly_deps_unsatisfied: self._show_merge_list() writemsg( - "\n!!! --buildpkgonly requires all " "dependencies to be merged.\n", + "\n!!!! --buildpkgonly requires all " "dependencies to be merged.\n", noiselevel=-1, ) writemsg( - "!!! Cannot merge requested packages. " "Merge deps and try again.\n\n", + "!!!! Cannot merge requested packages. " + "Merge deps and try again.\n\n", noiselevel=-1, ) if self._dynamic_config._quickpkg_direct_deps_unsatisfied: self._show_merge_list() writemsg( - "\n!!! --quickpkg-direct requires all " + "\n!!!! --quickpkg-direct requires all " "dependencies to be merged for root '{}'.\n".format( self._frozen_config._running_root.root ), noiselevel=-1, ) writemsg( - "!!! Cannot merge requested packages. " "Merge deps and try again.\n\n", + "!!!! Cannot merge requested packages. " + "Merge deps and try again.\n\n", noiselevel=-1, ) @@ -10704,10 +10712,11 @@ class depgraph: added_favorites.add(myfavkey) except portage.exception.InvalidDependString as e: writemsg( - "\n\n!!! '%s' has invalid PROVIDE: %s\n" % (x.cpv, e), noiselevel=-1 + "\n\n!!!! '%s' has invalid PROVIDE: %s\n" % (x.cpv, e), + noiselevel=-1, ) writemsg( - "!!! see '%s'\n\n" + "!!!! see '%s'\n\n" % os.path.join(x.root, portage.VDB_PATH, x.cpv, "PROVIDE"), noiselevel=-1, ) @@ -10753,7 +10762,7 @@ class depgraph: else: filename = "world" writemsg_stdout( - '>>> Recording %s in "%s" favorites file...\n' + '>>>> Recording %s in "%s" favorites file...\n' % (colorize("INFORM", str(a)), filename), noiselevel=-1, ) @@ -11386,11 +11395,11 @@ def ambiguous_package_name(arg, atoms, root_config, spinner, myopts): if "--quiet" in myopts: writemsg( - '!!! The short ebuild name "%s" is ambiguous. Please specify\n' % arg, + '!!!! The short ebuild name "%s" is ambiguous. Please specify\n' % arg, noiselevel=-1, ) writemsg( - "!!! one of the following fully-qualified ebuild names instead:\n\n", + "!!!! one of the following fully-qualified ebuild names instead:\n\n", noiselevel=-1, ) for cp in sorted(set(portage.dep_getkey(atom) for atom in atoms)): @@ -11413,11 +11422,11 @@ def ambiguous_package_name(arg, atoms, root_config, spinner, myopts): s.addCP(cp) s.output() writemsg( - '!!! The short ebuild name "%s" is ambiguous. Please specify\n' % arg, + '!!!! The short ebuild name "%s" is ambiguous. Please specify\n' % arg, noiselevel=-1, ) writemsg( - "!!! one of the above fully-qualified ebuild names instead.\n\n", noiselevel=-1 + "!!!! one of the above fully-qualified ebuild names instead.\n\n", noiselevel=-1 ) diff --git a/lib/_emerge/main.py b/lib/_emerge/main.py index 34555b26c..e30c59e07 100644 --- a/lib/_emerge/main.py +++ b/lib/_emerge/main.py @@ -96,8 +96,8 @@ COWSAY_MOO = r""" def multiple_actions(action1, action2): - sys.stderr.write("\n!!! Multiple actions requested... Please choose one only.\n") - sys.stderr.write("!!! '%s' or '%s'\n\n" % (action1, action2)) + sys.stderr.write("\n!!!! Multiple actions requested... Please choose one only.\n") + sys.stderr.write("!!!! '%s' or '%s'\n\n" % (action1, action2)) sys.exit(1) @@ -1170,7 +1170,7 @@ def profile_check(trees, myaction): "--help, --info, --search, --sync, and --version." ) writemsg_level( - "".join("!!! %s\n" % l for l in textwrap.wrap(msg, 70)), + "".join("!!!! %s\n" % l for l in textwrap.wrap(msg, 70)), level=logging.ERROR, noiselevel=-1, ) diff --git a/lib/_emerge/post_emerge.py b/lib/_emerge/post_emerge.py index 019167251..911050250 100644 --- a/lib/_emerge/post_emerge.py +++ b/lib/_emerge/post_emerge.py @@ -139,10 +139,10 @@ def post_emerge(myaction, myopts, myfiles, target_root, trees, mtimedb, retval): if vardbapi._plib_registry.hasEntries(): if "--quiet" in myopts: print() - print(colorize("WARN", "!!!") + " existing preserved libs found") + print(colorize("WARN", "!!!!") + " existing preserved libs found") else: print() - print(colorize("WARN", "!!!") + " existing preserved libs:") + print(colorize("WARN", "!!!!") + " existing preserved libs:") display_preserved_libs(vardbapi, verbose="--verbose" in myopts) print( "Use " diff --git a/lib/_emerge/resolver/output_helpers.py b/lib/_emerge/resolver/output_helpers.py index f80b79ccf..3f42510cf 100644 --- a/lib/_emerge/resolver/output_helpers.py +++ b/lib/_emerge/resolver/output_helpers.py @@ -203,9 +203,9 @@ class _DisplayConfig: try: mywidth = int(frozen_config.settings["COLUMNWIDTH"]) except ValueError as e: - writemsg("!!! %s\n" % str(e), noiselevel=-1) + writemsg("!!!! %s\n" % str(e), noiselevel=-1) writemsg( - "!!! Unable to parse COLUMNWIDTH='%s'\n" + "!!!! Unable to parse COLUMNWIDTH='%s'\n" % frozen_config.settings["COLUMNWIDTH"], noiselevel=-1, ) diff --git a/lib/_emerge/resolver/slot_collision.py b/lib/_emerge/resolver/slot_collision.py index 0b063b5f3..e5def035d 100644 --- a/lib/_emerge/resolver/slot_collision.py +++ b/lib/_emerge/resolver/slot_collision.py @@ -250,11 +250,11 @@ class slot_conflict_handler: msg = self.conflict_msg indent = " " msg.append( - "\n!!! Multiple package instances within a single " + "\n!!!! Multiple package instances within a single " + "package slot have been pulled\n" ) msg.append( - "!!! into the dependency graph, resulting" + " in a slot conflict:\n\n" + "!!!! into the dependency graph, resulting" + " in a slot conflict:\n\n" ) for root, slot_atom, pkgs in self.all_conflicts: @@ -366,7 +366,7 @@ class slot_conflict_handler: # above findAtomForPackage call to # return None unexpectedly. msg = ( - "\n\n!!! BUG: Detected " + "\n\n!!!! BUG: Detected " "USE dep match inconsistency:\n" "\tppkg: %s\n" "\tviolated_atom: %s\n" @@ -729,12 +729,12 @@ class slot_conflict_handler: if need_rebuild: msg.append( - "\n!!! The slot conflict(s) shown above involve package(s) which may need to\n" + "\n!!!! The slot conflict(s) shown above involve package(s) which may need to\n" ) msg.append( - "!!! be rebuilt in order to solve the conflict(s). However, the following\n" + "!!!! be rebuilt in order to solve the conflict(s). However, the following\n" ) - msg.append("!!! package(s) cannot be rebuilt for the reason(s) shown:\n\n") + msg.append("!!!! package(s) cannot be rebuilt for the reason(s) shown:\n\n") for ppkg, reason in need_rebuild.items(): msg.append("%s%s: %s\n" % (indent, ppkg, reason)) msg.append("\n") @@ -750,8 +750,8 @@ class slot_conflict_handler: if self.conflict_is_unspecific and not ( "--newuse" in self.myopts and "--update" in self.myopts ): - msg += "!!! Enabling --newuse and --update might solve this conflict.\n" - msg += "!!! If not, it might help emerge to give a more specific suggestion.\n\n" + msg += "!!!! Enabling --newuse and --update might solve this conflict.\n" + msg += "!!!! If not, it might help emerge to give a more specific suggestion.\n\n" return msg solutions = self.solutions diff --git a/lib/_emerge/show_invalid_depstring_notice.py b/lib/_emerge/show_invalid_depstring_notice.py index 0b01d157c..7736896f7 100644 --- a/lib/_emerge/show_invalid_depstring_notice.py +++ b/lib/_emerge/show_invalid_depstring_notice.py @@ -11,7 +11,7 @@ from portage.util import writemsg_level def show_invalid_depstring_notice(parent_node, error_msg): msg1 = ( - "\n\n!!! Invalid or corrupt dependency specification: " + "\n\n!!!! Invalid or corrupt dependency specification: " + "\n\n%s\n\n%s\n\n" % (error_msg, parent_node) ) p_key = parent_node.cpv diff --git a/lib/_emerge/unmerge.py b/lib/_emerge/unmerge.py index 81541cb4a..34e1e748b 100644 --- a/lib/_emerge/unmerge.py +++ b/lib/_emerge/unmerge.py @@ -129,7 +129,7 @@ def _unmerge_display( candidate_catpkgs.append(x) elif unmerge_action in ["prune", "clean"]: print( - "\n!!! Prune and clean do not accept individual" + "\n!!!! Prune and clean do not accept individual" + " ebuilds as arguments;\n skipping.\n" ) continue @@ -137,7 +137,7 @@ def _unmerge_display( # it appears that the user is specifying an installed # ebuild and we're in "unmerge" mode, so it's ok. if not os.path.exists(x): - print("\n!!! The path '" + x + "' doesn't exist.\n") + print("\n!!!! The path '" + x + "' doesn't exist.\n") return 1, {} absx = os.path.abspath(x) @@ -154,7 +154,7 @@ def _unmerge_display( sp_vdb_len = len(sp_vdb) if not os.path.exists(absx + "/CONTENTS"): - print("!!! Not a valid db dir: " + str(absx)) + print("!!!! Not a valid db dir: " + str(absx)) return 1, {} if sp_absx_len <= sp_vdb_len: @@ -162,7 +162,9 @@ def _unmerge_display( print(sp_absx) print(absx) print( - "\n!!!", x, "cannot be inside " + vdb_path + "; aborting.\n" + "\n!!!!", + x, + "cannot be inside " + vdb_path + "; aborting.\n", ) return 1, {} @@ -171,7 +173,7 @@ def _unmerge_display( print(sp_absx) print(absx) print( - "\n!!!", + "\n!!!!", x, "is not inside " + vdb_path + "; aborting.\n", ) @@ -187,14 +189,14 @@ def _unmerge_display( writemsg_level( darkgreen( newline - + ">>> Using system located in ROOT tree %s\n" % settings["ROOT"] + + ">>>> Using system located in ROOT tree %s\n" % settings["ROOT"] ) ) if ("--pretend" in myopts or "--ask" in myopts) and not quiet: writemsg_level( darkgreen( - newline + ">>> These are the packages that would be unmerged:\n" + newline + ">>>> These are the packages that would be unmerged:\n" ) ) @@ -211,12 +213,12 @@ def _unmerge_display( mymatch = vartree.dbapi.match(x) except portage.exception.AmbiguousPackageName as errpkgs: print( - '\n\n!!! The short ebuild name "' + '\n\n!!!! The short ebuild name "' + x + '" is ambiguous. Please specify' ) print( - "!!! one of the following fully-qualified " + "!!!! one of the following fully-qualified " + "ebuild names instead:\n" ) for i in errpkgs[0]: @@ -314,13 +316,13 @@ def _unmerge_display( numselected = len(all_selected) if global_unmerge and not numselected: portage.writemsg_stdout( - "\n>>> No outdated packages were found on your system.\n" + "\n>>>> No outdated packages were found on your system.\n" ) return 1, {} if not numselected: portage.writemsg_stdout( - "\n>>> No packages selected for removal by " + unmerge_action + "\n" + "\n>>>> No packages selected for removal by " + unmerge_action + "\n" ) return 1, {} finally: @@ -456,7 +458,7 @@ def _unmerge_display( numselected = len(all_selected) if not numselected: writemsg_level( - "\n>>> No packages selected for removal by " + unmerge_action + "\n" + "\n>>>> No packages selected for removal by " + unmerge_action + "\n" ) return 1, {} @@ -512,14 +514,14 @@ def _unmerge_display( writemsg_level( colorize( "BAD", - "\n\n!!! " + "%s is part of your system profile.\n" % (cp_info,), + "\n\n!!!! " + "%s is part of your system profile.\n" % (cp_info,), ), level=logging.WARNING, noiselevel=-1, ) writemsg_level( colorize( - "WARN", "!!! Unmerging it may " + "be damaging to your system.\n\n" + "WARN", "!!!! Unmerging it may " + "be damaging to your system.\n\n" ), level=logging.WARNING, noiselevel=-1, @@ -561,12 +563,12 @@ def _unmerge_display( ) writemsg_level( - "\n>>> " + "\n>>>> " + colorize("UNMERGE_WARN", "'Selected'") + " packages are slated for removal.\n" ) writemsg_level( - ">>> " + ">>>> " + colorize("GOOD", "'Protected'") + " and " + colorize("GOOD", "'omitted'") @@ -633,7 +635,7 @@ def unmerge( if not vartree.dbapi.writable: writemsg_level( - "!!! %s\n" % _("Read-only file system: %s") % vartree.dbapi._dbroot, + "!!!! %s\n" % _("Read-only file system: %s") % vartree.dbapi._dbroot, level=logging.ERROR, noiselevel=-1, ) @@ -641,7 +643,7 @@ def unmerge( # the real unmerging begins, after a short delay unless we're raging.... if not unmerge_action == "rage-clean" and clean_delay and not autoclean: - countdown(int(settings["CLEAN_DELAY"]), ">>> Unmerging") + countdown(int(settings["CLEAN_DELAY"]), ">>>> Unmerging") all_selected = set() all_selected.update(*[x["selected"] for x in pkgmap]) @@ -653,7 +655,7 @@ def unmerge( for x in range(len(pkgmap)): for y in pkgmap[x]["selected"]: emergelog(xterm_titles, "=== Unmerging... (" + y + ")") - message = ">>> Unmerging ({0} of {1}) {2}...\n".format( + message = ">>>> Unmerging ({0} of {1}) {2}...\n".format( colorize("MERGE_LIST_PROGRESS", str(curval)), colorize("MERGE_LIST_PROGRESS", str(maxval)), y, @@ -673,7 +675,7 @@ def unmerge( ) if retval != os.EX_OK: - emergelog(xterm_titles, " !!! unmerge FAILURE: " + y) + emergelog(xterm_titles, " !!!! unmerge FAILURE: " + y) if raise_on_error: raise UninstallFailure(retval) sys.exit(retval) @@ -688,7 +690,7 @@ def unmerge( sets["selected"].load() sets["selected"].cleanPackage(vartree.dbapi, y) sets["selected"].unlock() - emergelog(xterm_titles, " >>> unmerge success: " + y) + emergelog(xterm_titles, " >>>> unmerge success: " + y) if ( clean_world diff --git a/lib/portage/__init__.py b/lib/portage/__init__.py index 13af8da09..02799eba9 100644 --- a/lib/portage/__init__.py +++ b/lib/portage/__init__.py @@ -33,20 +33,20 @@ try: except ImportError as e: sys.stderr.write("\n\n") sys.stderr.write( - "!!! Failed to complete python imports. These are internal modules for\n" + "!!!! Failed to complete python imports. These are internal modules for\n" ) sys.stderr.write( - "!!! python and failure here indicates that you have a problem with python\n" + "!!!! python and failure here indicates that you have a problem with python\n" ) sys.stderr.write( - "!!! itself and thus portage is not able to continue processing.\n\n" + "!!!! itself and thus portage is not able to continue processing.\n\n" ) sys.stderr.write( - "!!! You might consider starting python with verbose flags to see what has\n" + "!!!! You might consider starting python with verbose flags to see what has\n" ) sys.stderr.write( - "!!! gone wrong. Here is the information we got for this exception:\n" + "!!!! gone wrong. Here is the information we got for this exception:\n" ) sys.stderr.write(" " + str(e) + "\n\n") raise @@ -168,21 +168,21 @@ try: except ImportError as e: sys.stderr.write("\n\n") sys.stderr.write( - "!!! Failed to complete portage imports. There are internal modules for\n" + "!!!! Failed to complete portage imports. There are internal modules for\n" ) sys.stderr.write( - "!!! portage and failure here indicates that you have a problem with your\n" + "!!!! portage and failure here indicates that you have a problem with your\n" ) sys.stderr.write( - "!!! installation of portage. Please try a rescue portage located in the ebuild\n" + "!!!! installation of portage. Please try a rescue portage located in the ebuild\n" ) sys.stderr.write( - "!!! repository under '/var/db/repos/gentoo/sys-apps/portage/files/' (default).\n" + "!!!! repository under '/var/db/repos/gentoo/sys-apps/portage/files/' (default).\n" ) sys.stderr.write( - "!!! There is a README.RESCUE file that details the steps required to perform\n" + "!!!! There is a README.RESCUE file that details the steps required to perform\n" ) - sys.stderr.write("!!! a recovery of portage.\n") + sys.stderr.write("!!!! a recovery of portage.\n") sys.stderr.write(" " + str(e) + "\n\n") raise @@ -408,7 +408,7 @@ try: _selinux_merge = _unicode_module_wrapper(_selinux, encoding=_encodings["merge"]) except (ImportError, OSError) as e: if isinstance(e, OSError): - sys.stderr.write("!!! SELinux not loaded: %s\n" % str(e)) + sys.stderr.write("!!!! SELinux not loaded: %s\n" % str(e)) del e _selinux = None selinux = None diff --git a/lib/portage/_selinux.py b/lib/portage/_selinux.py index d05d6b8e7..460cbd8e1 100644 --- a/lib/portage/_selinux.py +++ b/lib/portage/_selinux.py @@ -98,14 +98,14 @@ def setexec(ctx="\n"): if selinux.security_getenforce() == 1: raise OSError(msg) else: - portage.writemsg("!!! %s\n" % msg, noiselevel=-1) + portage.writemsg("!!!! %s\n" % msg, noiselevel=-1) if rc < 0: if selinux.security_getenforce() == 1: raise OSError(_('Failed setting exec() context "%s".') % ctx) else: portage.writemsg( - "!!! " + _('Failed setting exec() context "%s".') % ctx, noiselevel=-1 + "!!!! " + _('Failed setting exec() context "%s".') % ctx, noiselevel=-1 ) diff --git a/lib/portage/_sets/shell.py b/lib/portage/_sets/shell.py index 249e1fb05..e82fe031b 100644 --- a/lib/portage/_sets/shell.py +++ b/lib/portage/_sets/shell.py @@ -15,7 +15,7 @@ class CommandOutputSet(PackageSet): """This class creates a PackageSet from the output of a shell command. The shell command should produce one atom per line, that is: - >>> atom1 + >>>> atom1 atom2 ... atomN diff --git a/lib/portage/binrepo/config.py b/lib/portage/binrepo/config.py index 8024f24d7..3bbc4651e 100644 --- a/lib/portage/binrepo/config.py +++ b/lib/portage/binrepo/config.py @@ -58,7 +58,7 @@ class BinRepoConfigLoader(Mapping): parser = self._parse(paths, parser_defaults) except ConfigParserError as e: writemsg( - _("!!! Error while reading binrepo config file: %s\n") % e, + _("!!!! Error while reading binrepo config file: %s\n") % e, noiselevel=-1, ) parser = SafeConfigParser(defaults=parser_defaults) @@ -71,7 +71,7 @@ class BinRepoConfigLoader(Mapping): repo = BinRepoConfig(repo_data) if repo.sync_uri is None: writemsg( - _("!!! Missing sync-uri setting for binrepo %s\n") % (repo.name,), + _("!!!! Missing sync-uri setting for binrepo %s\n") % (repo.name,), noiselevel=-1, ) continue diff --git a/lib/portage/data.py b/lib/portage/data.py index 09a4dd079..0e6abdd70 100644 --- a/lib/portage/data.py +++ b/lib/portage/data.py @@ -37,7 +37,7 @@ if not lchown: def lchown(*_args, **_kwargs): writemsg( - colorize("BAD", "!!!") + colorize("BAD", "!!!!") + _( " It seems that os.lchown does not" " exist. Please rebuild python.\n" diff --git a/lib/portage/dbapi/__init__.py b/lib/portage/dbapi/__init__.py index 717ab95d5..449751013 100644 --- a/lib/portage/dbapi/__init__.py +++ b/lib/portage/dbapi/__init__.py @@ -375,7 +375,7 @@ class dbapi: noiselevel=-1, ) else: - writemsg("!!! Invalid db entry: %s\n" % mypath, noiselevel=-1) + writemsg("!!!! Invalid db entry: %s\n" % mypath, noiselevel=-1) def update_ents(self, updates, onProgress=None, onUpdate=None): """ diff --git a/lib/portage/dbapi/bintree.py b/lib/portage/dbapi/bintree.py index 777fc4918..2d1fbbecf 100644 --- a/lib/portage/dbapi/bintree.py +++ b/lib/portage/dbapi/bintree.py @@ -589,15 +589,15 @@ class binarytree: if (mynewpkg != myoldpkg) and self.dbapi.cpv_exists(mynewcpv): writemsg( - _("!!! Cannot update binary: Destination exists.\n"), noiselevel=-1 + _("!!!! Cannot update binary: Destination exists.\n"), noiselevel=-1 ) - writemsg("!!! " + mycpv + " -> " + mynewcpv + "\n", noiselevel=-1) + writemsg("!!!! " + mycpv + " -> " + mynewcpv + "\n", noiselevel=-1) continue tbz2path = self.getname(mycpv) if os.path.exists(tbz2path) and not os.access(tbz2path, os.W_OK): writemsg( - _("!!! Cannot update readonly binary: %s\n") % mycpv, noiselevel=-1 + _("!!!! Cannot update readonly binary: %s\n") % mycpv, noiselevel=-1 ) continue @@ -760,7 +760,7 @@ class binarytree: if not self._binrepos_conf: writemsg( _( - "!!! %s is missing (or PORTAGE_BINHOST is unset), but use is requested.\n" + "!!!! %s is missing (or PORTAGE_BINHOST is unset), but use is requested.\n" ) % (config_path,), noiselevel=-1, @@ -885,7 +885,10 @@ class binarytree: continue if not os.access(full_path, os.R_OK): writemsg( - _("!!! Permission denied to read " "binary package: '%s'\n") + _( + "!!!! Permission denied to read " + "binary package: '%s'\n" + ) % full_path, noiselevel=-1, ) @@ -903,7 +906,7 @@ class binarytree: if not mycat or not mypf or not slot: # old-style or corrupt package writemsg( - _("\n!!! Invalid binary package: '%s'\n") % full_path, + _("\n!!!! Invalid binary package: '%s'\n") % full_path, noiselevel=-1, ) missing_keys = [] @@ -927,7 +930,7 @@ class binarytree: ) ) for line in textwrap.wrap("".join(msg), 72): - writemsg("!!! %s\n" % line, noiselevel=-1) + writemsg("!!!! %s\n" % line, noiselevel=-1) self.invalids.append(mypkg) continue @@ -948,7 +951,7 @@ class binarytree: if invalid_name: writemsg( - _("\n!!! Binary package name is " "invalid: '%s'\n") + _("\n!!!! Binary package name is " "invalid: '%s'\n") % full_path, noiselevel=-1, ) @@ -959,7 +962,7 @@ class binarytree: build_id = int(pkg_metadata["BUILD_ID"]) except ValueError: writemsg( - _("!!! Binary package has " "invalid BUILD_ID: '%s'\n") + _("!!!! Binary package has " "invalid BUILD_ID: '%s'\n") % full_path, noiselevel=-1, ) @@ -982,7 +985,7 @@ class binarytree: if not self.dbapi._category_re.match(mycat): writemsg( _( - "!!! Binary package has an " + "!!!! Binary package has an " "unrecognized category: '%s'\n" ) % full_path, @@ -990,7 +993,7 @@ class binarytree: ) writemsg( _( - "!!! '%s' has a category that is not" + "!!!! '%s' has a category that is not" " listed in %setc/portage/categories\n" ) % (mycpv, self.settings["PORTAGE_CONFIGROOT"]), @@ -1035,7 +1038,7 @@ class binarytree: self._eval_use_flags(mycpv, d) except portage.exception.InvalidDependString: writemsg( - _("!!! Invalid binary package: '%s'\n") + _("!!!! Invalid binary package: '%s'\n") % self.getname(mycpv), noiselevel=-1, ) @@ -1251,7 +1254,7 @@ class binarytree: pkgindex = None writemsg( _( - "\n\n!!! Binhost package index " + "\n\n!!!! Binhost package index " " has no TIMESTAMP field.\n" ), noiselevel=-1, @@ -1260,7 +1263,7 @@ class binarytree: if not self._pkgindex_version_supported(rmt_idx): writemsg( _( - "\n\n!!! Binhost package index version" + "\n\n!!!! Binhost package index version" " is not supported: '%s'\n" ) % rmt_idx.header.get("VERSION"), @@ -1281,7 +1284,7 @@ class binarytree: AlarmSignal.unregister() except AlarmSignal: writemsg( - "\n\n!!! %s\n" + "\n\n!!!! %s\n" % _("Timed out while closing connection to binhost"), noiselevel=-1, ) @@ -1299,7 +1302,7 @@ class binarytree: # This includes URLError which is raised for SSL # certificate errors when PEP 476 is supported. writemsg( - _("\n\n!!! Error fetching binhost package" " info from '%s'\n") + _("\n\n!!!! Error fetching binhost package" " info from '%s'\n") % _hide_url_passwd(base_url) ) # With Python 2, the EnvironmentError message may @@ -1309,7 +1312,7 @@ class binarytree: error_msg = str(e) except UnicodeDecodeError as uerror: error_msg = str(uerror.object, encoding="utf_8", errors="replace") - writemsg("!!! %s\n\n" % error_msg) + writemsg("!!!! %s\n\n" % error_msg) del e pkgindex = None if proc is not None: @@ -1403,7 +1406,7 @@ class binarytree: raise del e writemsg( - _("!!! Binary package does not exist: '%s'\n") % full_path, + _("!!!! Binary package does not exist: '%s'\n") % full_path, noiselevel=-1, ) return @@ -1414,7 +1417,9 @@ class binarytree: except portage.exception.InvalidDependString: invalid_depend = True if invalid_depend or not metadata.get("SLOT"): - writemsg(_("!!! Invalid binary package: '%s'\n") % full_path, noiselevel=-1) + writemsg( + _("!!!! Invalid binary package: '%s'\n") % full_path, noiselevel=-1 + ) return fetched = False @@ -2008,7 +2013,7 @@ class binarytree: digests["size"] = int(metadata["SIZE"]) except ValueError: writemsg( - _("!!! Malformed SIZE attribute in remote " "metadata for '%s'\n") + _("!!!! Malformed SIZE attribute in remote " "metadata for '%s'\n") % cpv ) diff --git a/lib/portage/dbapi/porttree.py b/lib/portage/dbapi/porttree.py index 93f3fee2f..11cff1b3f 100644 --- a/lib/portage/dbapi/porttree.py +++ b/lib/portage/dbapi/porttree.py @@ -599,10 +599,10 @@ class portdbapi(dbapi): ebuild_hash.mtime except FileNotFound: writemsg( - _("!!! aux_get(): ebuild for " "'%s' does not exist at:\n") % (cpv,), + _("!!!! aux_get(): ebuild for " "'%s' does not exist at:\n") % (cpv,), noiselevel=-1, ) - writemsg("!!! %s\n" % ebuild_path, noiselevel=-1) + writemsg("!!!! %s\n" % ebuild_path, noiselevel=-1) raise PortageKeyError(cpv) # Pull pre-generated metadata from the metadata/cache/ @@ -723,7 +723,7 @@ class portdbapi(dbapi): if not myebuild: writemsg( - "!!! aux_get(): %s\n" % _("ebuild not found for '%s'") % mycpv, + "!!!! aux_get(): %s\n" % _("ebuild not found for '%s'") % mycpv, noiselevel=1, ) future.set_exception(PortageKeyError(mycpv)) @@ -1161,7 +1161,7 @@ class portdbapi(dbapi): if invalid_category and mylist: writemsg( _( - "\n!!! '%s' has a category that is not listed in " + "\n!!!! '%s' has a category that is not listed in " "%setc/portage/categories\n" ) % (mycp, self.settings["PORTAGE_CONFIGROOT"]), @@ -1436,10 +1436,10 @@ class portdbapi(dbapi): continue except PortageException as e: writemsg( - "!!! Error: aux_get('%s', %s)\n" % (mycpv, aux_keys), + "!!!! Error: aux_get('%s', %s)\n" % (mycpv, aux_keys), noiselevel=-1, ) - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) del e continue diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py index 8ffb23b1c..2f8fbddd1 100644 --- a/lib/portage/dbapi/vartree.py +++ b/lib/portage/dbapi/vartree.py @@ -721,7 +721,7 @@ class vardbapi(dbapi): pass else: writemsg( - _("!!! Error loading '%s': %s\n") % (self._aux_cache_filename, e), + _("!!!! Error loading '%s': %s\n") % (self._aux_cache_filename, e), noiselevel=-1, ) del e @@ -1167,19 +1167,19 @@ class vardbapi(dbapi): counter = int(f.readline().strip()) except (OverflowError, ValueError) as e: writemsg( - _("!!! COUNTER file is corrupt: '%s'\n") % self._counter_path, + _("!!!! COUNTER file is corrupt: '%s'\n") % self._counter_path, noiselevel=-1, ) - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) except EnvironmentError as e: # Silently allow ENOENT since files under # /var/cache/ are allowed to disappear. if e.errno != errno.ENOENT: writemsg( - _("!!! Unable to read COUNTER file: '%s'\n") % self._counter_path, + _("!!!! Unable to read COUNTER file: '%s'\n") % self._counter_path, noiselevel=-1, ) - writemsg("!!! %s\n" % str(e), noiselevel=-1) + writemsg("!!!! %s\n" % str(e), noiselevel=-1) del e if self._cached_counter == counter: @@ -2100,9 +2100,9 @@ class dblink: pkgfiles[path] = data if errors: - writemsg(_("!!! Parse error in '%s'\n") % contents_file, noiselevel=-1) + writemsg(_("!!!! Parse error in '%s'\n") % contents_file, noiselevel=-1) for pos, e in errors: - writemsg(_("!!! line %d: %s\n") % (pos, e), noiselevel=-1) + writemsg(_("!!!! line %d: %s\n") % (pos, e), noiselevel=-1) self.contentscache = pkgfiles return pkgfiles @@ -2211,7 +2211,7 @@ class dblink: continue obj_type = self.getcontents()[contents_key][0] self._display_merge( - _(">>> needed %s %s\n") % (obj_type, contents_key), + _(">>>> needed %s %s\n") % (obj_type, contents_key), noiselevel=-1, ) plib_registry.register( @@ -2401,7 +2401,7 @@ class dblink: retval = self._pre_unmerge_backup(background) if retval != os.EX_OK: showMessage( - _("!!! FAILED prerm: quickpkg: %s\n") % retval, + _("!!!! FAILED prerm: quickpkg: %s\n") % retval, level=logging.ERROR, noiselevel=-1, ) @@ -2417,7 +2417,7 @@ class dblink: # Sometimes this happens due to corruption of the EAPI file. failures += 1 showMessage( - _("!!! FAILED prerm: %s\n") % os.path.join(self.dbdir, "EAPI"), + _("!!!! FAILED prerm: %s\n") % os.path.join(self.dbdir, "EAPI"), level=logging.ERROR, noiselevel=-1, ) @@ -2438,7 +2438,7 @@ class dblink: if retval != os.EX_OK: failures += 1 showMessage( - _("!!! FAILED prerm: %s\n") % retval, + _("!!!! FAILED prerm: %s\n") % retval, level=logging.ERROR, noiselevel=-1, ) @@ -2465,7 +2465,7 @@ class dblink: if retval != os.EX_OK: failures += 1 showMessage( - _("!!! FAILED postrm: %s\n") % retval, + _("!!!! FAILED postrm: %s\n") % retval, level=logging.ERROR, noiselevel=-1, ) @@ -2972,7 +2972,7 @@ class dblink: if e.errno not in ignored_unlink_errnos: raise del e - show_unmerge("!!!", "", file_type, obj) + show_unmerge("!!!!", "", file_type, obj) elif pkgfiles[objkey][0] == "obj": if statobj is None or not stat.S_ISREG(statobj.st_mode): show_unmerge("---", unmerge_desc["!obj"], file_type, obj) @@ -3137,7 +3137,7 @@ class dblink: if e.errno not in ignored_unlink_errnos: raise del e - show_unmerge("!!!", "", "sym", obj) + show_unmerge("!!!!", "", "sym", obj) protected_symlinks.clear() self._unmerge_dirs( @@ -3188,7 +3188,7 @@ class dblink: if e.errno not in ignored_unlink_errnos: raise del e - show_unmerge("!!!", "", "obj", child) + show_unmerge("!!!!", "", "obj", child) try: parent_name = os.path.dirname(obj) @@ -3254,7 +3254,7 @@ class dblink: if e.errno not in ignored_unlink_errnos: raise del e - show_unmerge("!!!", "", "sym", obj) + show_unmerge("!!!!", "", "sym", obj) else: parents.append(os.path.dirname(obj)) @@ -3483,7 +3483,7 @@ class dblink: self._linkmap_broken = True self._display_merge( _( - "!!! Disabling preserve-libs " + "!!!! Disabling preserve-libs " "due to error: Command Not Found: %s\n" ) % (e,), @@ -3658,7 +3658,7 @@ class dblink: # it shouldn't be preserved here. showMessage( _( - "!!! File '%s' will not be preserved " + "!!!! File '%s' will not be preserved " "due to missing contents entry\n" ) % (f_abs,), @@ -3669,7 +3669,7 @@ class dblink: continue new_contents[f_abs] = contents_entry obj_type = contents_entry[0] - showMessage(_(">>> needed %s %s\n") % (obj_type, f_abs), noiselevel=-1) + showMessage(_(">>>> needed %s %s\n") % (obj_type, f_abs), noiselevel=-1) # Add parent directories to contents if necessary. parent_dir = os.path.dirname(f_abs) while len(parent_dir) > len(root): @@ -3795,8 +3795,8 @@ class dblink: # registry, but the actual lib it points to is not. self._display_merge( _( - "!!! symlink to lib is preserved, " - "but not the lib itself:\n!!! '%s'\n" + "!!!! symlink to lib is preserved, " + "but not the lib itself:\n!!!! '%s'\n" ) % (obj,), level=logging.ERROR, @@ -4271,7 +4271,7 @@ class dblink: if not os.path.isdir(srcroot): showMessage( - _("!!! Directory Not Found: D='%s'\n") % srcroot, + _("!!!! Directory Not Found: D='%s'\n") % srcroot, level=logging.ERROR, noiselevel=-1, ) @@ -4287,7 +4287,7 @@ class dblink: ) phase.start() if phase.wait() != os.EX_OK: - showMessage(_("!!! instprep failed\n"), level=logging.ERROR, noiselevel=-1) + showMessage(_("!!!! instprep failed\n"), level=logging.ERROR, noiselevel=-1) return 1 is_binpkg = self.settings.get("EMERGE_FROM") == "binary" @@ -4318,7 +4318,7 @@ class dblink: slot = self.settings.get(var_name, "") if not slot.strip(): showMessage( - _("!!! SLOT is undefined\n"), + _("!!!! SLOT is undefined\n"), level=logging.ERROR, noiselevel=-1, ) @@ -4920,7 +4920,7 @@ class dblink: rval = self._pre_merge_backup(self._installed_instance, downgrade) if rval != os.EX_OK: showMessage( - _("!!! FAILED preinst: ") + "quickpkg: %s\n" % rval, + _("!!!! FAILED preinst: ") + "quickpkg: %s\n" % rval, level=logging.ERROR, noiselevel=-1, ) @@ -4928,7 +4928,7 @@ class dblink: # run preinst script showMessage( - _(">>> Merging %(cpv)s to %(destroot)s\n") + _(">>>> Merging %(cpv)s to %(destroot)s\n") % {"cpv": self.mycpv, "destroot": destroot} ) phase = EbuildPhase( @@ -4943,7 +4943,7 @@ class dblink: # XXX: Decide how to handle failures here. if a != os.EX_OK: showMessage( - _("!!! FAILED preinst: ") + str(a) + "\n", + _("!!!! FAILED preinst: ") + str(a) + "\n", level=logging.ERROR, noiselevel=-1, ) @@ -5058,7 +5058,7 @@ class dblink: autoclean = self.settings.get("AUTOCLEAN", "yes") == "yes" or preserve_paths if autoclean: - emerge_log(_(" >>> AUTOCLEAN: %s") % (slot_atom,)) + emerge_log(_(" >>>> AUTOCLEAN: %s") % (slot_atom,)) others_in_slot.append(self) # self has just been merged for dblnk in list(others_in_slot): @@ -5066,7 +5066,7 @@ class dblink: continue if not (autoclean or dblnk.mycpv == self.mycpv or reinstall_self): continue - showMessage(_(">>> Safely unmerging already-installed instance...\n")) + showMessage(_(">>>> Safely unmerging already-installed instance...\n")) emerge_log(_(" === Unmerging... (%s)") % (dblnk.mycpv,)) others_in_slot.remove(dblnk) # dblnk will unmerge itself now dblnk._linkmap_broken = self._linkmap_broken @@ -5083,9 +5083,9 @@ class dblink: dblnk.settings.pop("REPLACED_BY_VERSION", None) if unmerge_rval == os.EX_OK: - emerge_log(_(" >>> unmerge success: %s") % (dblnk.mycpv,)) + emerge_log(_(" >>>> unmerge success: %s") % (dblnk.mycpv,)) else: - emerge_log(_(" !!! unmerge FAILURE: %s") % (dblnk.mycpv,)) + emerge_log(_(" !!!! unmerge FAILURE: %s") % (dblnk.mycpv,)) self.lockdb() try: @@ -5093,7 +5093,7 @@ class dblink: dblnk.delete() finally: self.unlockdb() - showMessage(_(">>> Original instance of package unmerged safely.\n")) + showMessage(_(">>>> Original instance of package unmerged safely.\n")) if len(others_in_slot) > 1: showMessage( @@ -5221,7 +5221,7 @@ class dblink: phase.start() a = phase.wait() if a == os.EX_OK: - showMessage(_(">>> %s merged.\n") % self.mycpv) + showMessage(_(">>>> %s merged.\n") % self.mycpv) finally: self.settings.pop("PORTAGE_UPDATE_ENV", None) @@ -5533,7 +5533,7 @@ class dblink: mydest_link, ) - zing = "!!!" + zing = "!!!!" if not moveme: # confmem rejected this update zing = "---" @@ -5582,7 +5582,7 @@ class dblink: continue # unlinking no longer necessary; "movefile" will overwrite symlinks atomically and correctly if moveme: - zing = ">>>" + zing = ">>>>" mymtime = movefile( mysrc, mydest, @@ -5625,12 +5625,12 @@ class dblink: ) else: showMessage( - _("!!! Failed to move file.\n"), + _("!!!! Failed to move file.\n"), level=logging.ERROR, noiselevel=-1, ) showMessage( - "!!! %s -> %s\n" % (mydest, myto), + "!!!! %s -> %s\n" % (mydest, myto), level=logging.ERROR, noiselevel=-1, ) @@ -5649,20 +5649,20 @@ class dblink: if not stat.S_ISLNK(mydmode) and not os.access(mydest, os.W_OK): pkgstuff = pkgsplit(self.pkg) writemsg( - _("\n!!! Cannot write to '%s'.\n") % mydest, noiselevel=-1 + _("\n!!!! Cannot write to '%s'.\n") % mydest, noiselevel=-1 ) writemsg( _( - "!!! Please check permissions and directories for broken symlinks.\n" + "!!!! Please check permissions and directories for broken symlinks.\n" ) ) writemsg( _( - "!!! You may start the merge process again by using ebuild:\n" + "!!!! You may start the merge process again by using ebuild:\n" ) ) writemsg( - "!!! ebuild " + "!!!! ebuild " + self.settings["PORTDIR"] + "/" + self.cat @@ -5672,7 +5672,7 @@ class dblink: + self.pkg + ".ebuild merge\n" ) - writemsg(_("!!! And finish by running this: env-update\n\n")) + writemsg(_("!!!! And finish by running this: env-update\n\n")) return 1 if stat.S_ISDIR(mydmode) or ( @@ -5732,7 +5732,7 @@ class dblink: bsd_chflags.lchflags(mydest, dflags) os.chmod(mydest, mystat[0]) os.chown(mydest, mystat[4], mystat[5]) - showMessage(">>> %s/\n" % mydest) + showMessage(">>>> %s/\n" % mydest) else: try: # destination doesn't exist @@ -5753,7 +5753,7 @@ class dblink: del e os.chmod(mydest, mystat[0]) os.chown(mydest, mystat[4], mystat[5]) - showMessage(">>> %s/\n" % mydest) + showMessage(">>>> %s/\n" % mydest) try: self._merged_path(mydest, os.lstat(mydest)) @@ -5810,7 +5810,7 @@ class dblink: if mymtime is None: return 1 hardlink_candidates.append(mydest) - zing = ">>>" + zing = ">>>>" try: self._merged_path(mydest, os.lstat(mydest)) @@ -5829,7 +5829,7 @@ class dblink: showMessage("%s %s\n" % (zing, mydest)) else: # we are merging a fifo or device node - zing = "!!!" + zing = "!!!!" if mydmode is None: # destination doesn't exist if ( @@ -5843,7 +5843,7 @@ class dblink: ) is not None ): - zing = ">>>" + zing = ">>>>" try: self._merged_path(mydest, os.lstat(mydest)) diff --git a/lib/portage/dep/__init__.py b/lib/portage/dep/__init__.py index 3b3577025..727915bbe 100644 --- a/lib/portage/dep/__init__.py +++ b/lib/portage/dep/__init__.py @@ -254,9 +254,9 @@ def _get_useflag_re(eapi): def cpvequal(cpv1, cpv2): """ Example Usage: - >>> from portage.dep import cpvequal - >>> cpvequal("sys-apps/portage-2.1","sys-apps/portage-2.1") - >>> True + >>>> from portage.dep import cpvequal + >>>> cpvequal("sys-apps/portage-2.1","sys-apps/portage-2.1") + >>>> True @param cpv1: CategoryPackageVersion (no operators) Example: "sys-apps/portage-2.1" @type cpv1: String @@ -317,7 +317,7 @@ def paren_reduce(mystr, _deprecation_warn=True): split the list elements by spaces. All redundant brackets are removed. Example usage: - >>> paren_reduce('foobar foo? ( bar baz )') + >>>> paren_reduce('foobar foo? ( bar baz )') ['foobar', 'foo?', ['bar', 'baz']] @param mystr: The string to reduce @@ -484,8 +484,8 @@ def paren_enclose(mylist, unevaluated_atom=False, opconvert=False): @return: The paren enclosed string Example usage: - >>> test = ['foobar','foo',['bar','baz']] - >>> paren_enclose(test) + >>>> test = ['foobar','foo',['bar','baz']] + >>>> paren_enclose(test) 'foobar foo ( bar baz )' """ mystrparts = [] @@ -989,8 +989,8 @@ def dep_opconvert(deplist): list of deps that follows.. Example usage: - >>> test = ["blah", "||", ["foo", "bar", "baz"]] - >>> dep_opconvert(test) + >>>> test = ["blah", "||", ["foo", "bar", "baz"]] + >>>> dep_opconvert(test) ['blah', ['||', 'foo', 'bar', 'baz']] @param deplist: A list of deps to format @@ -1034,7 +1034,7 @@ def flatten(mylist): @return: A single list containing only non-list elements. Example usage: - >>> flatten([1, [2, 3, [4]]]) + >>>> flatten([1, [2, 3, [4]]]) [1, 2, 3, 4] """ if portage._internal_caller: @@ -2086,8 +2086,8 @@ def get_operator(mydep): Return the operator used in a depstring. Example usage: - >>> from portage.dep import * - >>> get_operator(">=test-1.0") + >>>> from portage.dep import * + >>>> get_operator(">=test-1.0") '>=' @param mydep: The dep string to check @@ -2107,7 +2107,7 @@ def dep_getcpv(mydep): Return the category-package-version with any operators/slot specifications stripped off Example usage: - >>> dep_getcpv('>=media-libs/test-3.0') + >>>> dep_getcpv('>=media-libs/test-3.0') 'media-libs/test-3.0' @param mydep: The depstring @@ -2126,7 +2126,7 @@ def dep_getslot(mydep): Retrieve the slot on a depend. Example usage: - >>> dep_getslot('app-misc/test:3') + >>>> dep_getslot('app-misc/test:3') '3' @param mydep: The depstring to retrieve the slot of @@ -2160,7 +2160,7 @@ def dep_getrepo(mydep): @return: The repository name Example usage: - >>> dep_getrepo('app-misc/test::repository') + >>>> dep_getrepo('app-misc/test::repository') 'repository' """ repo = getattr(mydep, "repo", False) @@ -2213,7 +2213,7 @@ def dep_getusedeps(depend): @return: List of use flags ( or [] if no flags exist ) Example usage: - >>> dep_getusedeps('app-misc/test:3[foo,-bar]') + >>>> dep_getusedeps('app-misc/test:3[foo,-bar]') ('foo', '-bar') """ use_list = [] @@ -2276,9 +2276,9 @@ def isvalidatom( Check to see if a depend atom is valid Example usage: - >>> isvalidatom('media-libs/test-3.0') + >>>> isvalidatom('media-libs/test-3.0') False - >>> isvalidatom('>=media-libs/test-3.0') + >>>> isvalidatom('>=media-libs/test-3.0') True @param atom: The depend atom to check against @@ -2314,9 +2314,9 @@ def isjustname(mypkg): Checks to see if the atom is only the package name (no version parts). Example usage: - >>> isjustname('=media-libs/test-3.0') + >>>> isjustname('=media-libs/test-3.0') False - >>> isjustname('media-libs/test') + >>>> isjustname('media-libs/test') True @param mypkg: The package atom to check @@ -2345,9 +2345,9 @@ def isspecific(mypkg): package-version format. Example usage: - >>> isspecific('media-libs/test') + >>>> isspecific('media-libs/test') False - >>> isspecific('=media-libs/test-3.0') + >>>> isspecific('=media-libs/test-3.0') True @param mypkg: The package depstring to check against @@ -2373,7 +2373,7 @@ def dep_getkey(mydep): Return the category/package-name of a depstring. Example usage: - >>> dep_getkey('=media-libs/test-3.0') + >>>> dep_getkey('=media-libs/test-3.0') 'media-libs/test' @param mydep: The depstring to retrieve the category/package-name of @@ -2538,7 +2538,7 @@ def match_from_list(mydep, candidate_list): if ver and rev: operator = mydep.operator if not operator: - writemsg(_("!!! Invalid atom: %s\n") % mydep, noiselevel=-1) + writemsg(_("!!!! Invalid atom: %s\n") % mydep, noiselevel=-1) return [] else: operator = None @@ -3120,7 +3120,7 @@ def extract_affecting_use(mystr, atom, eapi=None): @return: Set of use flags affecting given atom Example usage: - >>> extract_affecting_use('sasl? ( dev-libs/cyrus-sasl ) \ + >>>> extract_affecting_use('sasl? ( dev-libs/cyrus-sasl ) \ !minimal? ( cxx? ( dev-libs/cyrus-sasl ) )', 'dev-libs/cyrus-sasl') {'cxx', 'minimal', 'sasl'} """ diff --git a/lib/portage/elog/__init__.py b/lib/portage/elog/__init__.py index 48e2a39de..138407719 100644 --- a/lib/portage/elog/__init__.py +++ b/lib/portage/elog/__init__.py @@ -195,7 +195,7 @@ def elog_process(cpv, mysettings, phasefilter=None): except (ImportError, AttributeError) as e: writemsg( _( - "!!! Error while importing logging modules " + "!!!! Error while importing logging modules " 'while loading "mod_%s":\n' ) % str(s) diff --git a/lib/portage/elog/messages.py b/lib/portage/elog/messages.py index 6a67a45de..ea4e8c736 100644 --- a/lib/portage/elog/messages.py +++ b/lib/portage/elog/messages.py @@ -50,7 +50,7 @@ def collect_ebuild_messages(path): filename = os.path.join(path, msgfunction) if msgfunction not in EBUILD_PHASES: writemsg( - _("!!! can't process invalid log file: %s\n") % filename, noiselevel=-1 + _("!!!! can't process invalid log file: %s\n") % filename, noiselevel=-1 ) continue if not msgfunction in logentries: @@ -74,7 +74,8 @@ def collect_ebuild_messages(path): raise ValueError(msgtype) except ValueError: writemsg( - _("!!! malformed entry in " "log file: '%s': %s\n") % (filename, l), + _("!!!! malformed entry in " "log file: '%s': %s\n") + % (filename, l), noiselevel=-1, ) continue diff --git a/lib/portage/elog/mod_custom.py b/lib/portage/elog/mod_custom.py index e0ae77e10..37a3e86c4 100644 --- a/lib/portage/elog/mod_custom.py +++ b/lib/portage/elog/mod_custom.py @@ -12,7 +12,7 @@ def process(mysettings, key, logentries, fulltext): if not mysettings.get("PORTAGE_ELOG_COMMAND"): raise portage.exception.MissingParameter( - "!!! Custom logging requested but PORTAGE_ELOG_COMMAND is not defined" + "!!!! Custom logging requested but PORTAGE_ELOG_COMMAND is not defined" ) else: mylogcmd = mysettings["PORTAGE_ELOG_COMMAND"] @@ -21,5 +21,5 @@ def process(mysettings, key, logentries, fulltext): retval = portage.process.spawn_bash(mylogcmd) if retval != 0: raise portage.exception.PortageException( - "!!! PORTAGE_ELOG_COMMAND failed with exitcode %d" % retval + "!!!! PORTAGE_ELOG_COMMAND failed with exitcode %d" % retval ) diff --git a/lib/portage/elog/mod_mail_summary.py b/lib/portage/elog/mod_mail_summary.py index a695290ef..79f705f8c 100644 --- a/lib/portage/elog/mod_mail_summary.py +++ b/lib/portage/elog/mod_mail_summary.py @@ -28,7 +28,7 @@ def process(mysettings, key, logentries, fulltext): errors="replace", ) header = _( - ">>> Messages generated for package %(pkg)s by process %(pid)d on %(time)s:\n\n" + ">>>> Messages generated for package %(pkg)s by process %(pid)d on %(time)s:\n\n" ) % {"pkg": key, "pid": portage.getpid(), "time": time_str} config_root = mysettings["PORTAGE_CONFIGROOT"] diff --git a/lib/portage/elog/mod_save_summary.py b/lib/portage/elog/mod_save_summary.py index 939198fdc..75f5097d3 100644 --- a/lib/portage/elog/mod_save_summary.py +++ b/lib/portage/elog/mod_save_summary.py @@ -85,7 +85,7 @@ def process(mysettings, key, logentries, fulltext): ) elogfile.write( _( - ">>> Messages generated by process " + ">>>> Messages generated by process " "%(pid)d on %(time)s for package %(pkg)s:\n\n" ) % {"pid": portage.getpid(), "time": time_str, "pkg": key} diff --git a/lib/portage/emaint/modules/binhost/binhost.py b/lib/portage/emaint/modules/binhost/binhost.py index 9d924f7e1..cd5c4c92a 100644 --- a/lib/portage/emaint/modules/binhost/binhost.py +++ b/lib/portage/emaint/modules/binhost/binhost.py @@ -158,7 +158,8 @@ class BinhostHandler: bintree._eval_use_flags(cpv, d) except portage.exception.InvalidDependString: writemsg( - "!!! Invalid binary package: '%s'\n" % bintree.getname(cpv), + "!!!! Invalid binary package: '%s'\n" + % bintree.getname(cpv), noiselevel=-1, ) else: diff --git a/lib/portage/env/loaders.py b/lib/portage/env/loaders.py index 284c311a1..6c69a1ecf 100644 --- a/lib/portage/env/loaders.py +++ b/lib/portage/env/loaders.py @@ -197,10 +197,10 @@ class ItemFileLoader(FileLoader): """ Class to load data from a file full of items one per line - >>> item1 - >>> item2 - >>> item3 - >>> item1 + >>>> item1 + >>>> item2 + >>>> item3 + >>>> item1 becomes { 'item1':None, 'item2':None, 'item3':None } Note that due to the data store being a dict, duplicates @@ -235,7 +235,7 @@ class KeyListFileLoader(FileLoader): """ Class to load data from a file full of key [list] tuples - >>>>key foo1 foo2 foo3 + >>>>>key foo1 foo2 foo3 becomes {'key':['foo1','foo2','foo3']} """ @@ -288,8 +288,8 @@ class KeyValuePairFileLoader(FileLoader): """ Class to load data from a file full of key=value pairs - >>>>key=value - >>>>foo=bar + >>>>>key=value + >>>>>foo=bar becomes: {'key':'value', 'foo':'bar'} diff --git a/lib/portage/getbinpkg.py b/lib/portage/getbinpkg.py index 6aa8f1de1..f9e4aaa62 100644 --- a/lib/portage/getbinpkg.py +++ b/lib/portage/getbinpkg.py @@ -29,7 +29,7 @@ from urllib.parse import unquote as urllib_parse_unquote try: import ftplib except ImportError as e: - sys.stderr.write(colorize("BAD", "!!! CANNOT IMPORT FTPLIB: ") + str(e) + "\n") + sys.stderr.write(colorize("BAD", "!!!! CANNOT IMPORT FTPLIB: ") + str(e) + "\n") else: _all_errors.extend(ftplib.all_errors) @@ -39,7 +39,9 @@ try: from http.client import ResponseNotReady as http_client_ResponseNotReady from http.client import error as http_client_error except ImportError as e: - sys.stderr.write(colorize("BAD", "!!! CANNOT IMPORT HTTP.CLIENT: ") + str(e) + "\n") + sys.stderr.write( + colorize("BAD", "!!!! CANNOT IMPORT HTTP.CLIENT: ") + str(e) + "\n" + ) else: _all_errors.append(http_client_error) @@ -635,7 +637,7 @@ def dir_get_metadata( except _all_errors as e: # ftplib.FTP(host) can raise errors like this: # socket.error: (111, 'Connection refused') - sys.stderr.write("!!! %s\n" % (e,)) + sys.stderr.write("!!!! %s\n" % (e,)) return {} out = sys.stdout @@ -672,8 +674,8 @@ def dir_get_metadata( metadata[baseurl]["data"] = {} if not os.access(cache_path, os.W_OK): - sys.stderr.write(_("!!! Unable to write binary metadata to disk!\n")) - sys.stderr.write(_("!!! Permission denied: '%s'\n") % cache_path) + sys.stderr.write(_("!!!! Unable to write binary metadata to disk!\n")) + sys.stderr.write(_("!!!! Permission denied: '%s'\n") % cache_path) return metadata[baseurl]["data"] import portage.exception @@ -682,9 +684,9 @@ def dir_get_metadata( filelist = dir_get_list(baseurl, conn) except portage.exception.PortageException as e: sys.stderr.write( - _("!!! Error connecting to '%s'.\n") % _hide_url_passwd(baseurl) + _("!!!! Error connecting to '%s'.\n") % _hide_url_passwd(baseurl) ) - sys.stderr.write("!!! %s\n" % str(e)) + sys.stderr.write("!!!! %s\n" % str(e)) del e return metadata[baseurl]["data"] tbz2list = match_in_array(filelist, suffix=".tbz2") @@ -728,7 +730,7 @@ def dir_get_metadata( raise except Exception as e: mytempfile.close() - sys.stderr.write(_("!!! Failed to use gzip: ") + str(e) + "\n") + sys.stderr.write(_("!!!! Failed to use gzip: ") + str(e) + "\n") sys.stderr.flush() mytempfile.close() try: @@ -744,9 +746,9 @@ def dir_get_metadata( raise except Exception as e: sys.stderr.write( - _("!!! Failed to read data from index: ") + str(mfile) + "\n" + _("!!!! Failed to read data from index: ") + str(mfile) + "\n" ) - sys.stderr.write("!!! %s" % str(e)) + sys.stderr.write("!!!! %s" % str(e)) sys.stderr.flush() try: metadatafile = open( @@ -760,8 +762,8 @@ def dir_get_metadata( except SystemExit as e: raise except Exception as e: - sys.stderr.write(_("!!! Failed to write binary metadata to disk!\n")) - sys.stderr.write("!!! %s\n" % str(e)) + sys.stderr.write(_("!!!! Failed to write binary metadata to disk!\n")) + sys.stderr.write("!!!! %s\n" % str(e)) sys.stderr.flush() break # We may have metadata... now we run through the tbz2 list and check. @@ -829,7 +831,7 @@ def dir_get_metadata( metadata[baseurl]["data"][x] = make_metadata_dict(myid) elif verbose: sys.stderr.write( - colorize("BAD", _("!!! Failed to retrieve metadata on: ")) + colorize("BAD", _("!!!! Failed to retrieve metadata on: ")) + str(x) + "\n" ) @@ -871,8 +873,8 @@ def dir_get_metadata( except SystemExit as e: raise except Exception as e: - sys.stderr.write(_("!!! Failed to write binary metadata to disk!\n")) - sys.stderr.write("!!! " + str(e) + "\n") + sys.stderr.write(_("!!!! Failed to write binary metadata to disk!\n")) + sys.stderr.write("!!!! " + str(e) + "\n") sys.stderr.flush() if not keepconnection: diff --git a/lib/portage/locks.py b/lib/portage/locks.py index 67541a84d..92a3030ea 100644 --- a/lib/portage/locks.py +++ b/lib/portage/locks.py @@ -343,7 +343,7 @@ def _lockfile_iteration( % lockfilename ) writemsg( - "\n!!! %s: %s\n" % (context_desc, e), noiselevel=-1 + "\n!!!! %s: %s\n" % (context_desc, e), noiselevel=-1 ) time.sleep(_HARDLINK_POLL_LATENCY) diff --git a/lib/portage/mail.py b/lib/portage/mail.py index aa2617b42..b2a647a76 100644 --- a/lib/portage/mail.py +++ b/lib/portage/mail.py @@ -102,7 +102,9 @@ def send_mail(mysettings, message): mymailuser, mymailpasswd = myauthdata.split(":") except ValueError: print( - _("!!! invalid SMTP AUTH configuration, trying unauthenticated ...") + _( + "!!!! invalid SMTP AUTH configuration, trying unauthenticated ..." + ) ) else: myconndata = mymailuri @@ -122,7 +124,7 @@ def send_mail(mysettings, message): if fd.close() != None: sys.stderr.write( _( - "!!! %s returned with a non-zero exit code. This generally indicates an error.\n" + "!!!! %s returned with a non-zero exit code. This generally indicates an error.\n" ) % mymailhost ) @@ -134,7 +136,7 @@ def send_mail(mysettings, message): if not myconn.has_extn("STARTTLS"): raise portage.exception.PortageException( _( - "!!! TLS support requested for logmail but not supported by server" + "!!!! TLS support requested for logmail but not supported by server" ) ) myconn.starttls() @@ -149,12 +151,12 @@ def send_mail(mysettings, message): myconn.quit() except smtplib.SMTPException as e: raise portage.exception.PortageException( - _("!!! An error occurred while trying to send logmail:\n") + str(e) + _("!!!! An error occurred while trying to send logmail:\n") + str(e) ) except socket.error as e: raise portage.exception.PortageException( _( - "!!! A network error occurred while trying to send logmail:\n%s\nSure you configured PORTAGE_ELOG_MAILURI correctly?" + "!!!! A network error occurred while trying to send logmail:\n%s\nSure you configured PORTAGE_ELOG_MAILURI correctly?" ) % str(e) ) diff --git a/lib/portage/manifest.py b/lib/portage/manifest.py index 0b4fad76c..450f9e494 100644 --- a/lib/portage/manifest.py +++ b/lib/portage/manifest.py @@ -447,7 +447,7 @@ class Manifest: # unless this repo is being prepared for distribution # via rsync. writemsg_level( - "!!! utime('%s', (%s, %s)): %s\n" + "!!!! utime('%s', (%s, %s)): %s\n" % (path, max_mtime, max_mtime, e), level=logging.WARNING, noiselevel=-1, diff --git a/lib/portage/metadata.py b/lib/portage/metadata.py index 0bd2bcce4..39940e27b 100644 --- a/lib/portage/metadata.py +++ b/lib/portage/metadata.py @@ -19,7 +19,7 @@ from portage.util import writemsg_level def action_metadata(settings, portdb, myopts, porttrees=None): if porttrees is None: porttrees = portdb.porttrees - portage.writemsg_stdout("\n>>> Updating Portage cache\n") + portage.writemsg_stdout("\n>>>> Updating Portage cache\n") cachedir = os.path.normpath(settings.depcachedir) if cachedir in [ "/", @@ -38,12 +38,12 @@ def action_metadata(settings, portdb, myopts, porttrees=None): "/var", ]: print( - "!!! PORTAGE_DEPCACHEDIR IS SET TO A PRIMARY " + "!!!! PORTAGE_DEPCACHEDIR IS SET TO A PRIMARY " + "ROOT DIRECTORY ON YOUR SYSTEM.", file=sys.stderr, ) print( - "!!! This is ALMOST CERTAINLY NOT what you want: '%s'" % cachedir, + "!!!! This is ALMOST CERTAINLY NOT what you want: '%s'" % cachedir, file=sys.stderr, ) sys.exit(73) diff --git a/lib/portage/news.py b/lib/portage/news.py index ce61f8490..b60d06f13 100644 --- a/lib/portage/news.py +++ b/lib/portage/news.py @@ -155,7 +155,7 @@ class NewsManager: itemid, encoding=_encodings["fs"], errors="replace" ) writemsg_level( - _("!!! Invalid encoding in news item name: '%s'\n") % itemid, + _("!!!! Invalid encoding in news item name: '%s'\n") % itemid, level=logging.ERROR, noiselevel=-1, ) @@ -353,7 +353,9 @@ class NewsItem: for lineno, line in invalids: msg.append(_(" line %d: %s") % (lineno, line)) writemsg_level( - "".join("!!! %s\n" % x for x in msg), level=logging.ERROR, noiselevel=-1 + "".join("!!!! %s\n" % x for x in msg), + level=logging.ERROR, + noiselevel=-1, ) self._parsed = True diff --git a/lib/portage/package/ebuild/_config/LocationsManager.py b/lib/portage/package/ebuild/_config/LocationsManager.py index d65aac609..23f87383e 100644 --- a/lib/portage/package/ebuild/_config/LocationsManager.py +++ b/lib/portage/package/ebuild/_config/LocationsManager.py @@ -133,7 +133,7 @@ class LocationsManager: # that can be used for backward compatibility with # old software. writemsg( - "!!! %s\n" + "!!!! %s\n" % _("Found 2 make.profile dirs: " "using '%s', ignoring '%s'") % (self.profile_path, deprecated_profile_path), noiselevel=-1, @@ -162,10 +162,10 @@ class LocationsManager: except ParseError as e: if not portage._sync_mode: writemsg( - _("!!! Unable to parse profile: '%s'\n") % self.profile_path, + _("!!!! Unable to parse profile: '%s'\n") % self.profile_path, noiselevel=-1, ) - writemsg("!!! ParseError: %s\n" % str(e), noiselevel=-1) + writemsg("!!!! ParseError: %s\n" % str(e), noiselevel=-1) self.profiles = [] self.profiles_complex = [] @@ -198,7 +198,7 @@ class LocationsManager: def _check_var_directory(self, varname, var): if not isdir_raise_eaccess(var): writemsg( - _("!!! Error: %s='%s' is not a directory. " "Please correct this.\n") + _("!!!! Error: %s='%s' is not a directory. " "Please correct this.\n") % (varname, var), noiselevel=-1, ) @@ -392,7 +392,7 @@ class LocationsManager: if self.sysroot != "/" and self.sysroot != self.target_root: writemsg( _( - "!!! Error: SYSROOT (currently %s) must " + "!!!! Error: SYSROOT (currently %s) must " "equal / or ROOT (currently %s).\n" ) % (self.sysroot, self.target_root), diff --git a/lib/portage/package/ebuild/_parallel_manifest/ManifestProcess.py b/lib/portage/package/ebuild/_parallel_manifest/ManifestProcess.py index 7bf5dd141..bef21f22f 100644 --- a/lib/portage/package/ebuild/_parallel_manifest/ManifestProcess.py +++ b/lib/portage/package/ebuild/_parallel_manifest/ManifestProcess.py @@ -25,20 +25,20 @@ class ManifestProcess(ForkProcess): mf.create(assumeDistHashesAlways=True) except FileNotFound as e: portage.writemsg( - _("!!! File %s doesn't exist, can't update " "Manifest\n") % e, + _("!!!! File %s doesn't exist, can't update " "Manifest\n") % e, noiselevel=-1, ) return 1 except PortagePackageException as e: - portage.writemsg(("!!! %s\n") % (e,), noiselevel=-1) + portage.writemsg(("!!!! %s\n") % (e,), noiselevel=-1) return 1 try: modified = mf.write(sign=False) except PermissionDenied as e: portage.writemsg( - "!!! %s: %s\n" + "!!!! %s: %s\n" % ( _("Permission Denied"), e, diff --git a/lib/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py b/lib/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py index 4599e2d50..be4bd0523 100644 --- a/lib/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py +++ b/lib/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py @@ -63,7 +63,7 @@ class ManifestScheduler(AsyncScheduler): disabled_repos.add(repo_config.name) portage.writemsg( _( - ">>> Skipping creating Manifest for %s%s%s; " + ">>>> Skipping creating Manifest for %s%s%s; " "repository is configured to not use them\n" ) % (cp, _repo_separator, repo_config.name), diff --git a/lib/portage/package/ebuild/_parallel_manifest/ManifestTask.py b/lib/portage/package/ebuild/_parallel_manifest/ManifestTask.py index df279dab6..f439e155a 100644 --- a/lib/portage/package/ebuild/_parallel_manifest/ManifestTask.py +++ b/lib/portage/package/ebuild/_parallel_manifest/ManifestTask.py @@ -54,7 +54,7 @@ class ManifestTask(CompositeTask): self.fetchlist_dict.result() except InvalidDependString as e: writemsg( - _("!!! %s%s%s: SRC_URI: %s\n") + _("!!!! %s%s%s: SRC_URI: %s\n") % (self.cp, _repo_separator, self.repo_config.name, e), noiselevel=-1, ) @@ -212,7 +212,9 @@ class ManifestTask(CompositeTask): try: os.rename(*rename_args) except OSError as e: - writemsg("!!! rename('%s', '%s'): %s\n" % rename_args + (e,), noiselevel=-1) + writemsg( + "!!!! rename('%s', '%s'): %s\n" % rename_args + (e,), noiselevel=-1 + ) try: os.unlink(self._manifest_path + ".asc") except OSError: diff --git a/lib/portage/package/ebuild/config.py b/lib/portage/package/ebuild/config.py index b4d6862a3..d3e32108f 100644 --- a/lib/portage/package/ebuild/config.py +++ b/lib/portage/package/ebuild/config.py @@ -457,7 +457,7 @@ class config: if make_conf_count == 2: writemsg( - "!!! %s\n" + "!!!! %s\n" % _("Found 2 make.conf files, using both '%s' and '%s'") % tuple(make_conf_paths), noiselevel=-1, @@ -525,7 +525,7 @@ class config: # that can be used for backward compatibility with # old software. writemsg( - "!!! %s\n" + "!!!! %s\n" % _( "Found obsolete make.globals file: " "'%s', (using '%s' instead)" @@ -687,7 +687,7 @@ class config: new_ov.append(portage._shell_quote(ov)) else: writemsg( - _("!!! Invalid PORTDIR_OVERLAY" " (not a dir): '%s'\n") + _("!!!! Invalid PORTDIR_OVERLAY" " (not a dir): '%s'\n") % ov, noiselevel=-1, ) @@ -1036,7 +1036,7 @@ class config: # TODO: bail out? writemsg( ( - _("!!! package.provided not allowed in EAPI %s: ") + _("!!!! package.provided not allowed in EAPI %s: ") % x.eapi ) + x.location @@ -1151,7 +1151,7 @@ class config: except ValueError: writemsg( _( - "!!! %s='%s' is not a valid integer. " + "!!!! %s='%s' is not a valid integer. " "Falling back to %s.\n" ) % (var, self[var], default_val), @@ -1294,10 +1294,10 @@ class config: ensure_dirs(mydir, gid=gid, mode=mode, mask=modemask) except PortageException as e: writemsg( - _("!!! Directory initialization failed: '%s'\n") % mydir, + _("!!!! Directory initialization failed: '%s'\n") % mydir, noiselevel=-1, ) - writemsg("!!! %s\n" % str(e), noiselevel=-1) + writemsg("!!!! %s\n" % str(e), noiselevel=-1) @property def _keywords_manager(self): @@ -1390,7 +1390,7 @@ class config: and group not in ("*", "~*", "**") ): writemsg( - _("!!! INVALID ACCEPT_KEYWORDS: %s\n") % str(group), + _("!!!! INVALID ACCEPT_KEYWORDS: %s\n") % str(group), noiselevel=-1, ) @@ -1428,26 +1428,26 @@ class config: writemsg( _( - "\n\n!!! %s is not a symlink and will probably prevent most merges.\n" + "\n\n!!!! %s is not a symlink and will probably prevent most merges.\n" ) % abs_profile_path, noiselevel=-1, ) writemsg( - _("!!! It should point into a profile within %s/profiles/\n") + _("!!!! It should point into a profile within %s/profiles/\n") % self["PORTDIR"] ) writemsg( _( - "!!! (You can safely ignore this message when syncing. It's harmless.)\n\n\n" + "!!!! (You can safely ignore this message when syncing. It's harmless.)\n\n\n" ) ) abs_user_virtuals = os.path.join(self["PORTAGE_CONFIGROOT"], USER_VIRTUALS_FILE) if os.path.exists(abs_user_virtuals): - writemsg("\n!!! /etc/portage/virtuals is deprecated in favor of\n") - writemsg("!!! /etc/portage/profile/virtuals. Please move it to\n") - writemsg("!!! this new location.\n\n") + writemsg("\n!!!! /etc/portage/virtuals is deprecated in favor of\n") + writemsg("!!!! /etc/portage/profile/virtuals. Please move it to\n") + writemsg("!!!! this new location.\n\n") if not sandbox_capable and ( "sandbox" in self.features or "usersandbox" in self.features @@ -1462,7 +1462,8 @@ class config: # to the user. writemsg( colorize( - "BAD", _("!!! Problem with sandbox" " binary. Disabling...\n\n") + "BAD", + _("!!!! Problem with sandbox" " binary. Disabling...\n\n"), ), noiselevel=-1, ) @@ -1470,7 +1471,7 @@ class config: if "fakeroot" in self.features and not fakeroot_capable: writemsg( _( - "!!! FEATURES=fakeroot is enabled, but the " + "!!!! FEATURES=fakeroot is enabled, but the " "fakeroot binary is not installed.\n" ), noiselevel=-1, @@ -1479,7 +1480,7 @@ class config: if "webrsync-gpg" in self.features: writemsg( _( - "!!! FEATURES=webrsync-gpg is deprecated, see the make.conf(5) man page.\n" + "!!!! FEATURES=webrsync-gpg is deprecated, see the make.conf(5) man page.\n" ), noiselevel=-1, ) @@ -1490,7 +1491,7 @@ class config: if "userpriv" in self.features: writemsg( _( - "!!! FEATURES=userpriv is enabled, but " + "!!!! FEATURES=userpriv is enabled, but " "os.setgroups is not available.\n" ), noiselevel=-1, @@ -1500,7 +1501,7 @@ class config: if "userfetch" in self.features: writemsg( _( - "!!! FEATURES=userfetch is enabled, but " + "!!!! FEATURES=userfetch is enabled, but " "os.setgroups is not available.\n" ), noiselevel=-1, @@ -1509,7 +1510,7 @@ class config: if warning_shown and platform.python_implementation() == "PyPy": writemsg( - _("!!! See https://bugs.pypy.org/issue833 for details.\n"), + _("!!!! See https://bugs.pypy.org/issue833 for details.\n"), noiselevel=-1, ) @@ -1519,7 +1520,7 @@ class config: compression = _compressors[binpkg_compression] except KeyError as e: writemsg( - "!!! BINPKG_COMPRESS contains invalid or " + "!!!! BINPKG_COMPRESS contains invalid or " "unsupported compression method: %s" % e.args[0], noiselevel=-1, ) @@ -1530,7 +1531,7 @@ class config: )[0] except IndexError as e: writemsg( - "!!! BINPKG_COMPRESS contains invalid or " + "!!!! BINPKG_COMPRESS contains invalid or " "unsupported compression method: %s" % e.args[0], noiselevel=-1, ) @@ -1538,7 +1539,7 @@ class config: if portage.process.find_binary(compression_binary) is None: missing_package = compression["package"] writemsg( - "!!! BINPKG_COMPRESS unsupported %s. " + "!!!! BINPKG_COMPRESS unsupported %s. " "Missing package: %s" % (binpkg_compression, missing_package), noiselevel=-1, @@ -2231,7 +2232,7 @@ class config: ) if penvconfig is None: writemsg( - "!!! %s references non-existent file: %s\n" + "!!!! %s references non-existent file: %s\n" % (os.path.join(abs_user_config, "package.env"), penvfile), noiselevel=-1, ) @@ -2239,7 +2240,7 @@ class config: for k, v in penvconfig.items(): if k in protected_keys or k in non_user_variables: writemsg( - "!!! Illegal variable " + "!!!! Illegal variable " + "'%s' assigned in '%s'\n" % (k, penvfile), noiselevel=-1, ) @@ -2611,7 +2612,7 @@ class config: self._accept_chost_re = re.compile(r"^%s$" % accept_chost[0]) except re.error as e: writemsg( - _("!!! Invalid ACCEPT_CHOSTS value: '%s': %s\n") + _("!!!! Invalid ACCEPT_CHOSTS value: '%s': %s\n") % (accept_chost[0], e), noiselevel=-1, ) @@ -2623,7 +2624,7 @@ class config: ) except re.error as e: writemsg( - _("!!! Invalid ACCEPT_CHOSTS value: '%s': %s\n") + _("!!!! Invalid ACCEPT_CHOSTS value: '%s': %s\n") % (" ".join(accept_chost), e), noiselevel=-1, ) @@ -3236,7 +3237,7 @@ class config: continue if not isinstance(myvalue, str): writemsg( - _("!!! Non-string value in config: %s=%s\n") % (x, myvalue), + _("!!!! Non-string value in config: %s=%s\n") % (x, myvalue), noiselevel=-1, ) continue @@ -3337,7 +3338,7 @@ class config: mydict["LC_CTYPE"] = l if check_locale(silent=True, env=mydict): # TODO: output the following only once - # writemsg(_("!!! LC_CTYPE unsupported, using %s instead\n") + # writemsg(_("!!!! LC_CTYPE unsupported, using %s instead\n") # % mydict["LC_CTYPE"]) break else: @@ -3405,7 +3406,7 @@ class config: else: writemsg( _( - "!!! SELinux module not found. Please verify that it was installed.\n" + "!!!! SELinux module not found. Please verify that it was installed.\n" ), noiselevel=-1, ) diff --git a/lib/portage/package/ebuild/deprecated_profile_check.py b/lib/portage/package/ebuild/deprecated_profile_check.py index 19bea1903..4d96e039a 100644 --- a/lib/portage/package/ebuild/deprecated_profile_check.py +++ b/lib/portage/package/ebuild/deprecated_profile_check.py @@ -51,18 +51,22 @@ def deprecated_profile_check(settings=None): writemsg( colorize( "BAD", - _("\n!!! Your current profile is " "deprecated and not supported anymore."), + _( + "\n!!!! Your current profile is " + "deprecated and not supported anymore." + ), ) + "\n", noiselevel=-1, ) writemsg( - colorize("BAD", _("!!! Use eselect profile to update your " "profile.")) + "\n", + colorize("BAD", _("!!!! Use eselect profile to update your " "profile.")) + + "\n", noiselevel=-1, ) if not dcontent: writemsg( - colorize("BAD", _("!!! Please refer to the " "Gentoo Upgrading Guide.")) + colorize("BAD", _("!!!! Please refer to the " "Gentoo Upgrading Guide.")) + "\n", noiselevel=-1, ) @@ -70,7 +74,7 @@ def deprecated_profile_check(settings=None): newprofile = dcontent[0].rstrip("\n") writemsg( colorize( - "BAD", _("!!! Please upgrade to the " "following profile if possible:") + "BAD", _("!!!! Please upgrade to the " "following profile if possible:") ) + "\n\n", noiselevel=-1, diff --git a/lib/portage/package/ebuild/digestcheck.py b/lib/portage/package/ebuild/digestcheck.py index 3fe64550c..ebf7297fe 100644 --- a/lib/portage/package/ebuild/digestcheck.py +++ b/lib/portage/package/ebuild/digestcheck.py @@ -66,24 +66,24 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None): if mf.allow_missing: continue eout.eend(1) - writemsg(_("\n!!! Missing digest for '%s'\n") % (f,), noiselevel=-1) + writemsg(_("\n!!!! Missing digest for '%s'\n") % (f,), noiselevel=-1) return 0 mf.checkFileHashes(ftype, f, hash_filter=hash_filter) eout.eend(0) except FileNotFound as e: eout.eend(1) writemsg( - _("\n!!! A file listed in the Manifest could not be found: %s\n") % str(e), + _("\n!!!! A file listed in the Manifest could not be found: %s\n") % str(e), noiselevel=-1, ) return 0 except DigestException as e: eout.eend(1) - writemsg(_("\n!!! Digest verification failed:\n"), noiselevel=-1) - writemsg("!!! %s\n" % e.value[0], noiselevel=-1) - writemsg(_("!!! Reason: %s\n") % e.value[1], noiselevel=-1) - writemsg(_("!!! Got: %s\n") % e.value[2], noiselevel=-1) - writemsg(_("!!! Expected: %s\n") % e.value[3], noiselevel=-1) + writemsg(_("\n!!!! Digest verification failed:\n"), noiselevel=-1) + writemsg("!!!! %s\n" % e.value[0], noiselevel=-1) + writemsg(_("!!!! Reason: %s\n") % e.value[1], noiselevel=-1) + writemsg(_("!!!! Got: %s\n") % e.value[2], noiselevel=-1) + writemsg(_("!!!! Expected: %s\n") % e.value[3], noiselevel=-1) return 0 if mf.thin or mf.allow_missing: # In this case we ignore any missing digests that @@ -96,7 +96,7 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None): pf = f[:-7] if pf is not None and not mf.hasFile("EBUILD", f): writemsg( - _("!!! A file is not listed in the Manifest: '%s'\n") + _("!!!! A file is not listed in the Manifest: '%s'\n") % os.path.join(pkgdir, f), noiselevel=-1, ) @@ -114,7 +114,7 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None): parent, encoding=_encodings["fs"], errors="replace" ) writemsg( - _("!!! Path contains invalid " "character(s) for encoding '%s': '%s'") + _("!!!! Path contains invalid " "character(s) for encoding '%s': '%s'") % (_encodings["fs"], parent), noiselevel=-1, ) @@ -129,7 +129,7 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None): d = _unicode_decode(d, encoding=_encodings["fs"], errors="replace") writemsg( _( - "!!! Path contains invalid " + "!!!! Path contains invalid " "character(s) for encoding '%s': '%s'" ) % (_encodings["fs"], os.path.join(parent, d)), @@ -151,7 +151,7 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None): f = os.path.join(parent, f)[len(filesdir) + 1 :] writemsg( _( - "!!! File name contains invalid " + "!!!! File name contains invalid " "character(s) for encoding '%s': '%s'" ) % (_encodings["fs"], f), @@ -166,7 +166,7 @@ def digestcheck(myfiles, mysettings, strict=False, justmanifest=None, mf=None): file_type = mf.findFile(f) if file_type != "AUX" and not f.startswith("digest-"): writemsg( - _("!!! A file is not listed in the Manifest: '%s'\n") + _("!!!! A file is not listed in the Manifest: '%s'\n") % os.path.join(filesdir, f), noiselevel=-1, ) diff --git a/lib/portage/package/ebuild/digestgen.py b/lib/portage/package/ebuild/digestgen.py index 3a3c92a3a..006aa1cc6 100644 --- a/lib/portage/package/ebuild/digestgen.py +++ b/lib/portage/package/ebuild/digestgen.py @@ -56,7 +56,7 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None): for myfile in fetchlist_dict[cpv]: distfiles_map.setdefault(myfile, []).append(cpv) except InvalidDependString as e: - writemsg("!!! %s\n" % str(e), noiselevel=-1) + writemsg("!!!! %s\n" % str(e), noiselevel=-1) del e return 0 mytree = os.path.dirname(os.path.dirname(mysettings["O"])) @@ -77,7 +77,7 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None): if not mf.allow_create: writemsg_stdout( _( - ">>> Skipping creating Manifest for %s; " + ">>>> Skipping creating Manifest for %s; " "repository is configured to not use them\n" ) % mysettings["O"] @@ -162,7 +162,7 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None): myebuild = os.path.join(mysettings["O"], catsplit(cpv)[1] + ".ebuild") spawn_nofetch(myportdb, myebuild) writemsg( - _("!!! Fetch failed for %s, can't update Manifest\n") % myfile, + _("!!!! Fetch failed for %s, can't update Manifest\n") % myfile, noiselevel=-1, ) if myfile in dist_hashes and st is not None and st.st_size > 0: @@ -176,17 +176,17 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None): writemsg( ( _( - "!!! If you would like to forcefully replace the existing Manifest entry\n" - "!!! for %s, use the following command:\n" + "!!!! If you would like to forcefully replace the existing Manifest entry\n" + "!!!! for %s, use the following command:\n" ) % myfile ) - + "!!! %s\n" % cmd, + + "!!!! %s\n" % cmd, noiselevel=-1, ) return 0 - writemsg_stdout(_(">>> Creating Manifest for %s\n") % mysettings["O"]) + writemsg_stdout(_(">>>> Creating Manifest for %s\n") % mysettings["O"]) try: mf.create( assumeDistHashesSometimes=True, @@ -194,17 +194,17 @@ def digestgen(myarchives=None, mysettings=None, myportdb=None): ) except FileNotFound as e: writemsg( - _("!!! File %s doesn't exist, can't update Manifest\n") % e, + _("!!!! File %s doesn't exist, can't update Manifest\n") % e, noiselevel=-1, ) return 0 except PortagePackageException as e: - writemsg(("!!! %s\n") % (e,), noiselevel=-1) + writemsg(("!!!! %s\n") % (e,), noiselevel=-1) return 0 try: mf.write(sign=False) except PermissionDenied as e: - writemsg(_("!!! Permission Denied: %s\n") % (e,), noiselevel=-1) + writemsg(_("!!!! Permission Denied: %s\n") % (e,), noiselevel=-1) return 0 if "assume-digests" not in mysettings.features: distlist = list(mf.fhashdict.get("DIST", {})) diff --git a/lib/portage/package/ebuild/doebuild.py b/lib/portage/package/ebuild/doebuild.py index 9650a8444..d33f3e622 100644 --- a/lib/portage/package/ebuild/doebuild.py +++ b/lib/portage/package/ebuild/doebuild.py @@ -852,12 +852,12 @@ def doebuild( if mydo not in validcommands: validcommands.sort() writemsg( - "!!! doebuild: '%s' is not one of the following valid commands:" % mydo, + "!!!! doebuild: '%s' is not one of the following valid commands:" % mydo, noiselevel=-1, ) for vcount in range(len(validcommands)): if vcount % 6 == 0: - writemsg("\n!!! ", noiselevel=-1) + writemsg("\n!!!! ", noiselevel=-1) writemsg(validcommands[vcount].ljust(11), noiselevel=-1) writemsg("\n", noiselevel=-1) return 1 @@ -880,7 +880,7 @@ def doebuild( if mydo not in clean_phases and not os.path.exists(myebuild): writemsg( - "!!! doebuild: %s not found for %s\n" % (myebuild, mydo), noiselevel=-1 + "!!!! doebuild: %s not found for %s\n" % (myebuild, mydo), noiselevel=-1 ) return 1 @@ -1035,7 +1035,7 @@ def doebuild( if returnpid: writemsg( - "!!! doebuild: %s\n" + "!!!! doebuild: %s\n" % _("returnpid is not supported for phase '%s'\n" % mydo), noiselevel=-1, ) @@ -1071,7 +1071,7 @@ def doebuild( if mydo == "unmerge": if returnpid: writemsg( - "!!! doebuild: %s\n" + "!!!! doebuild: %s\n" % _("returnpid is not supported for phase '%s'\n" % mydo), noiselevel=-1, ) @@ -1116,12 +1116,12 @@ def doebuild( os.path.join(mysettings["PORTAGE_BUILDDIR"], ".unpacked") ): writemsg_stdout( - _(">>> Not marked as unpacked; recreating WORKDIR...\n") + _(">>>> Not marked as unpacked; recreating WORKDIR...\n") ) newstuff = True else: for x in alist: - writemsg_stdout(">>> Checking %s's mtime...\n" % x) + writemsg_stdout(">>>> Checking %s's mtime...\n" % x) try: x_st = os.stat(os.path.join(mysettings["DISTDIR"], x)) except OSError: @@ -1131,7 +1131,7 @@ def doebuild( if x_st is not None and x_st.st_mtime > workdir_st.st_mtime: writemsg_stdout( _( - ">>> Timestamp of " + ">>>> Timestamp of " "%s has changed; recreating WORKDIR...\n" ) % x @@ -1159,7 +1159,7 @@ def doebuild( ) builddir_lock = None else: - writemsg_stdout(_(">>> WORKDIR is up-to-date, keeping...\n")) + writemsg_stdout(_(">>>> WORKDIR is up-to-date, keeping...\n")) unpacked = True # Build directory creation isn't required for any of these. @@ -1293,8 +1293,8 @@ def doebuild( alist = _parse_uri_map(mysettings.mycpv, metadata, use=use) aalist = _parse_uri_map(mysettings.mycpv, metadata) except InvalidDependString as e: - writemsg("!!! %s\n" % str(e), noiselevel=-1) - writemsg(_("!!! Invalid SRC_URI for '%s'.\n") % mycpv, noiselevel=-1) + writemsg("!!!! %s\n" % str(e), noiselevel=-1) + writemsg(_("!!!! Invalid SRC_URI for '%s'.\n") % mycpv, noiselevel=-1) del e return 1 @@ -1383,7 +1383,7 @@ def doebuild( _doebuild_manifest_cache = None digestgen(mysettings=mysettings, myportdb=mydbapi) except PermissionDenied as e: - writemsg(_("!!! Permission Denied: %s\n") % (e,), noiselevel=-1) + writemsg(_("!!!! Permission Denied: %s\n") % (e,), noiselevel=-1) if mydo in ("digest", "manifest"): return 1 @@ -1491,7 +1491,7 @@ def doebuild( elif returnpid: writemsg( - "!!! doebuild: %s\n" + "!!!! doebuild: %s\n" % _("returnpid is not supported for phase '%s'\n" % mydo), noiselevel=-1, ) @@ -1506,7 +1506,7 @@ def doebuild( os.path.join(mysettings["PORTAGE_BUILDDIR"], ".installed") ): writemsg( - _("!!! mydo=qmerge, but the install phase has not been run\n"), + _("!!!! mydo=qmerge, but the install phase has not been run\n"), noiselevel=-1, ) return 1 @@ -1563,7 +1563,7 @@ def doebuild( ) else: - writemsg_stdout(_("!!! Unknown mydo: %s\n") % mydo, noiselevel=-1) + writemsg_stdout(_("!!!! Unknown mydo: %s\n") % mydo, noiselevel=-1) return 1 return retval @@ -2176,13 +2176,13 @@ def spawnebuild( if os.path.exists(check_file): writemsg_stdout( _( - ">>> It appears that " + ">>>> It appears that " "'%(action)s' has already executed for '%(pkg)s'; skipping.\n" ) % {"action": mydo, "pkg": mysettings["PF"]} ) writemsg_stdout( - _(">>> Remove '%(file)s' to force %(action)s.\n") + _(">>>> Remove '%(file)s' to force %(action)s.\n") % {"file": check_file, "action": mydo} ) return os.EX_OK @@ -2277,7 +2277,7 @@ def _check_build_log(mysettings, out=None): ) command_not_found_exclude_re = re.compile(r"/configure: line ") helper_missing_file = [] - helper_missing_file_re = re.compile(r"^!!! (do|new).*: .* does not exist$") + helper_missing_file_re = re.compile(r"^!!!! (do|new).*: .* does not exist$") configure_opts_warn = [] configure_opts_warn_re = re.compile( diff --git a/lib/portage/package/ebuild/fetch.py b/lib/portage/package/ebuild/fetch.py index 8c64362c2..ef47c4115 100644 --- a/lib/portage/package/ebuild/fetch.py +++ b/lib/portage/package/ebuild/fetch.py @@ -330,11 +330,11 @@ def _check_digests(filename, digests, show_errors=1): if not verified_ok: if show_errors: writemsg( - _("!!! Previously fetched" " file: '%s'\n") % filename, noiselevel=-1 + _("!!!! Previously fetched" " file: '%s'\n") % filename, noiselevel=-1 ) - writemsg(_("!!! Reason: %s\n") % reason[0], noiselevel=-1) + writemsg(_("!!!! Reason: %s\n") % reason[0], noiselevel=-1) writemsg( - _("!!! Got: %s\n" "!!! Expected: %s\n") % (reason[1], reason[2]), + _("!!!! Got: %s\n" "!!! Expected: %s\n") % (reason[1], reason[2]), noiselevel=-1, ) return False @@ -815,7 +815,7 @@ def fetch( # XXX: This is not a good thing, and is temporary at best. print( _( - '>>> "mirror" mode desired and "mirror" restriction found; skipping fetch.' + '>>>> "mirror" mode desired and "mirror" restriction found; skipping fetch.' ) ) return 1 @@ -834,14 +834,14 @@ def fetch( except (ValueError, OverflowError): writemsg( _( - "!!! Variable PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS" + "!!!! Variable PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS" " contains non-integer value: '%s'\n" ) % mysettings["PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS"], noiselevel=-1, ) writemsg( - _("!!! Using PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS " "default value: %s\n") + _("!!!! Using PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS " "default value: %s\n") % checksum_failure_max_tries, noiselevel=-1, ) @@ -849,14 +849,14 @@ def fetch( if v < 1: writemsg( _( - "!!! Variable PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS" + "!!!! Variable PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS" " contains value less than 1: '%s'\n" ) % v, noiselevel=-1, ) writemsg( - _("!!! Using PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS " "default value: %s\n") + _("!!!! Using PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS " "default value: %s\n") % checksum_failure_max_tries, noiselevel=-1, ) @@ -875,14 +875,14 @@ def fetch( if match is None or (match.group(2).upper() not in _size_suffix_map): writemsg( _( - "!!! Variable PORTAGE_FETCH_RESUME_MIN_SIZE" + "!!!! Variable PORTAGE_FETCH_RESUME_MIN_SIZE" " contains an unrecognized format: '%s'\n" ) % mysettings["PORTAGE_FETCH_RESUME_MIN_SIZE"], noiselevel=-1, ) writemsg( - _("!!! Using PORTAGE_FETCH_RESUME_MIN_SIZE " "default value: %s\n") + _("!!!! Using PORTAGE_FETCH_RESUME_MIN_SIZE " "default value: %s\n") % fetch_resume_size_default, noiselevel=-1, ) @@ -929,7 +929,7 @@ def fetch( colorize( "BAD", _( - "!!! For fetching to a read-only filesystem, " + "!!!! For fetching to a read-only filesystem, " "locking should be turned off.\n" ), ), @@ -937,7 +937,7 @@ def fetch( ) writemsg( _( - "!!! This can be done by adding -distlocks to " + "!!!! This can be done by adding -distlocks to " "FEATURES in /etc/portage/make.conf\n" ), noiselevel=-1, @@ -1089,7 +1089,7 @@ def fetch( mirrorname not in custommirrors and mirrorname not in thirdpartymirrors ): - writemsg(_("!!! No known mirror by the name: %s\n") % (mirrorname)) + writemsg(_("!!!! No known mirror by the name: %s\n") % (mirrorname)) else: writemsg(_("Invalid mirror definition in SRC_URI:\n"), noiselevel=-1) writemsg(" %s\n" % (myuri), noiselevel=-1) @@ -1131,17 +1131,17 @@ def fetch( _ensure_distdir(mysettings, mysettings["DISTDIR"]) except PortageException as e: if not os.path.isdir(mysettings["DISTDIR"]): - writemsg("!!! %s\n" % str(e), noiselevel=-1) + writemsg("!!!! %s\n" % str(e), noiselevel=-1) writemsg( - _("!!! Directory Not Found: DISTDIR='%s'\n") + _("!!!! Directory Not Found: DISTDIR='%s'\n") % mysettings["DISTDIR"], noiselevel=-1, ) - writemsg(_("!!! Fetching will fail!\n"), noiselevel=-1) + writemsg(_("!!!! Fetching will fail!\n"), noiselevel=-1) if can_fetch and not fetch_to_ro and not os.access(mysettings["DISTDIR"], os.W_OK): writemsg( - _("!!! No write access to '%s'\n") % mysettings["DISTDIR"], noiselevel=-1 + _("!!!! No write access to '%s'\n") % mysettings["DISTDIR"], noiselevel=-1 ) can_fetch = False @@ -1175,11 +1175,11 @@ def fetch( expected, ) writemsg( - _("!!! Fetched file: %s VERIFY FAILED!\n") % myfile, noiselevel=-1 + _("!!!! Fetched file: %s VERIFY FAILED!\n") % myfile, noiselevel=-1 ) - writemsg(_("!!! Reason: %s\n") % reason[0], noiselevel=-1) + writemsg(_("!!!! Reason: %s\n") % reason[0], noiselevel=-1) writemsg( - _("!!! Got: %s\n!!! Expected: %s\n") % (reason[1], reason[2]), + _("!!!! Got: %s\n!!! Expected: %s\n") % (reason[1], reason[2]), noiselevel=-1, ) @@ -1217,7 +1217,7 @@ def fetch( vfs_stat = os.statvfs(mysettings["DISTDIR"]) except OSError as e: writemsg_level( - "!!! statvfs('%s'): %s\n" % (mysettings["DISTDIR"], e), + "!!!! statvfs('%s'): %s\n" % (mysettings["DISTDIR"], e), noiselevel=-1, level=logging.ERROR, ) @@ -1258,7 +1258,7 @@ def fetch( except TryAgain: writemsg( _( - ">>> File '%s' is already locked by " + ">>>> File '%s' is already locked by " "another fetcher. Continuing...\n" ) % myfile, @@ -1289,7 +1289,7 @@ def fetch( except PortageException as e: if not os.access(myfile_path, os.R_OK): writemsg( - _("!!! Failed to adjust permissions:" " %s\n") + _("!!!! Failed to adjust permissions:" " %s\n") % str(e), noiselevel=-1, ) @@ -1310,9 +1310,9 @@ def fetch( if stat.S_ISDIR(mystat.st_mode): writemsg_level( _( - "!!! Unable to fetch file since " + "!!!! Unable to fetch file since " "a directory is in the way: \n" - "!!! %s\n" + "!!!! %s\n" ) % myfile_path, level=logging.ERROR, @@ -1361,7 +1361,7 @@ def fetch( # it instead of deleting it. writemsg( _( - ">>> Renaming distfile with size " + ">>>> Renaming distfile with size " "%d (smaller than " "PORTAGE_FETCH_RESU" "ME_MIN_SIZE)\n" @@ -1414,7 +1414,7 @@ def fetch( # the file is not already fetched if not has_space: writemsg( - _("!!! Insufficient space to store %s in %s\n") + _("!!!! Insufficient space to store %s in %s\n") % (myfile, mysettings["DISTDIR"]), noiselevel=-1, ) @@ -1422,7 +1422,7 @@ def fetch( if has_space_superuser: writemsg( _( - "!!! Insufficient privileges to use " + "!!!! Insufficient privileges to use " "remaining space.\n" ), noiselevel=-1, @@ -1430,9 +1430,9 @@ def fetch( if userfetch: writemsg( _( - '!!! You may set FEATURES="-userfetch"' + '!!!! You may set FEATURES="-userfetch"' " in /etc/portage/make.conf in order to fetch with\n" - "!!! superuser privileges.\n" + "!!!! superuser privileges.\n" ), noiselevel=-1, ) @@ -1471,7 +1471,7 @@ def fetch( except PortageException as e: if not os.access(download_path, os.R_OK): writemsg( - _("!!! Failed to adjust permissions:" " %s\n") + _("!!!! Failed to adjust permissions:" " %s\n") % (e,), noiselevel=-1, ) @@ -1512,15 +1512,15 @@ def fetch( verified_ok, reason = verify_all(download_path, digests) if not verified_ok: writemsg( - _("!!! Previously fetched" " file: '%s'\n") + _("!!!! Previously fetched" " file: '%s'\n") % myfile, noiselevel=-1, ) writemsg( - _("!!! Reason: %s\n") % reason[0], noiselevel=-1 + _("!!!! Reason: %s\n") % reason[0], noiselevel=-1 ) writemsg( - _("!!! Got: %s\n" "!!! Expected: %s\n") + _("!!!! Got: %s\n" "!!! Expected: %s\n") % (reason[1], reason[2]), noiselevel=-1, ) @@ -1594,8 +1594,8 @@ def fetch( if fetchcommand is None: writemsg_level( _( - "!!! %s is unset. It should " - "have been defined in\n!!! %s/make.globals.\n" + "!!!! %s is unset. It should " + "have been defined in\n!!!! %s/make.globals.\n" ) % (fetchcommand_var, global_config_path), level=logging.ERROR, @@ -1605,7 +1605,7 @@ def fetch( if "${FILE}" not in fetchcommand: writemsg_level( _( - "!!! %s does not contain the required ${FILE}" + "!!!! %s does not contain the required ${FILE}" " parameter.\n" ) % fetchcommand_var, @@ -1622,8 +1622,8 @@ def fetch( if resumecommand is None: writemsg_level( _( - "!!! %s is unset. It should " - "have been defined in\n!!! %s/make.globals.\n" + "!!!! %s is unset. It should " + "have been defined in\n!!!! %s/make.globals.\n" ) % (resumecommand_var, global_config_path), level=logging.ERROR, @@ -1633,7 +1633,7 @@ def fetch( if "${FILE}" not in resumecommand: writemsg_level( _( - "!!! %s does not contain the required ${FILE}" + "!!!! %s does not contain the required ${FILE}" " parameter.\n" ) % resumecommand_var, @@ -1645,8 +1645,8 @@ def fetch( if missing_file_param: writemsg_level( _( - "!!! Refer to the make.conf(5) man page for " - "information about how to\n!!! correctly specify " + "!!!! Refer to the make.conf(5) man page for " + "information about how to\n!!!! correctly specify " "FETCHCOMMAND and RESUMECOMMAND.\n" ), level=logging.ERROR, @@ -1667,14 +1667,14 @@ def fetch( if mysize == 0: writemsg( - _("!!! File %s isn't fetched but unable to get it.\n") + _("!!!! File %s isn't fetched but unable to get it.\n") % myfile, noiselevel=-1, ) elif size is None or size > mysize: writemsg( _( - "!!! File %s isn't fully fetched, but unable to complete it\n" + "!!!! File %s isn't fully fetched, but unable to complete it\n" ) % myfile, noiselevel=-1, @@ -1682,7 +1682,7 @@ def fetch( else: writemsg( _( - "!!! File %s is incorrect size, " + "!!!! File %s is incorrect size, " "but unable to retry.\n" ) % myfile, @@ -1705,7 +1705,7 @@ def fetch( if distdir_writable and mystat.st_size < fetch_resume_size: writemsg( _( - ">>> Deleting distfile with size " + ">>>> Deleting distfile with size " "%d (smaller than " "PORTAGE_FETCH_RESU" "ME_MIN_SIZE)\n" @@ -1721,14 +1721,16 @@ def fetch( fetched = 0 if fetched == 1: # resume mode: - writemsg(_(">>> Resuming download...\n")) + writemsg(_(">>>> Resuming download...\n")) locfetch = resumecommand command_var = resumecommand_var else: # normal mode: locfetch = fetchcommand command_var = fetchcommand_var - writemsg_stdout(_(">>> Downloading '%s'\n") % _hide_url_passwd(loc)) + writemsg_stdout( + _(">>>> Downloading '%s'\n") % _hide_url_passwd(loc) + ) variables = {"URI": loc, "FILE": os.path.basename(download_path)} try: @@ -1765,7 +1767,7 @@ def fetch( except PortageException as e: if not os.access(download_path, os.R_OK): writemsg( - _("!!! Failed to adjust permissions:" " %s\n") + _("!!!! Failed to adjust permissions:" " %s\n") % str(e), noiselevel=-1, ) @@ -1802,8 +1804,8 @@ def fetch( # instead have -O. writemsg_level( _( - "!!! The command specified in the " - "%s variable appears to have\n!!! " + "!!!! The command specified in the " + "%s variable appears to have\n!!!! " "created a directory instead of a " "normal file.\n" ) @@ -1813,9 +1815,9 @@ def fetch( ) writemsg_level( _( - "!!! Refer to the make.conf(5) " + "!!!! Refer to the make.conf(5) " "man page for information about how " - "to\n!!! correctly specify " + "to\n!!!! correctly specify " "FETCHCOMMAND and RESUMECOMMAND.\n" ), level=logging.ERROR, @@ -1864,7 +1866,7 @@ def fetch( os.unlink(download_path) writemsg( _( - ">>> Deleting invalid distfile. (Improper 404 redirect from server.)\n" + ">>>> Deleting invalid distfile. (Improper 404 redirect from server.)\n" ) ) fetched = 0 @@ -1886,15 +1888,16 @@ def fetch( verified_ok, reason = verify_all(download_path, digests) if not verified_ok: writemsg( - _("!!! Fetched file: %s VERIFY FAILED!\n") + _("!!!! Fetched file: %s VERIFY FAILED!\n") % myfile, noiselevel=-1, ) writemsg( - _("!!! Reason: %s\n") % reason[0], noiselevel=-1 + _("!!!! Reason: %s\n") % reason[0], + noiselevel=-1, ) writemsg( - _("!!! Got: %s\n!!! Expected: %s\n") + _("!!!! Got: %s\n!!! Expected: %s\n") % (reason[1], reason[2]), noiselevel=-1, ) @@ -1976,11 +1979,11 @@ def fetch( if restrict_fetch and not restrict_fetch_msg: restrict_fetch_msg = True msg = _( - "\n!!! %s/%s" + "\n!!!! %s/%s" " has fetch restriction turned on.\n" - "!!! This probably means that this " + "!!!! This probably means that this " "ebuild's files must be downloaded\n" - "!!! manually. See the comments in" + "!!!! manually. See the comments in" " the ebuild for more information.\n\n" ) % (mysettings["CATEGORY"], mysettings["PF"]) writemsg_level(msg, level=logging.ERROR, noiselevel=-1) @@ -1995,7 +1998,8 @@ def fetch( ) else: writemsg( - _("!!! Couldn't download '%s'. Aborting.\n") % myfile, noiselevel=-1 + _("!!!! Couldn't download '%s'. Aborting.\n") % myfile, + noiselevel=-1, ) if listonly: diff --git a/lib/portage/package/ebuild/prepare_build_dirs.py b/lib/portage/package/ebuild/prepare_build_dirs.py index 41de1a3a9..2954accff 100644 --- a/lib/portage/package/ebuild/prepare_build_dirs.py +++ b/lib/portage/package/ebuild/prepare_build_dirs.py @@ -279,19 +279,19 @@ def _prepare_features_dirs(mysettings): except DirectoryNotFound as e: failure = True writemsg( - _("\n!!! Directory does not exist: '%s'\n") % (e,), noiselevel=-1 + _("\n!!!! Directory does not exist: '%s'\n") % (e,), noiselevel=-1 ) - writemsg(_("!!! Disabled FEATURES='%s'\n") % myfeature, noiselevel=-1) + writemsg(_("!!!! Disabled FEATURES='%s'\n") % myfeature, noiselevel=-1) except PortageException as e: failure = True - writemsg("\n!!! %s\n" % str(e), noiselevel=-1) + writemsg("\n!!!! %s\n" % str(e), noiselevel=-1) writemsg( - _("!!! Failed resetting perms on %s='%s'\n") + _("!!!! Failed resetting perms on %s='%s'\n") % (kwargs["basedir_var"], basedir), noiselevel=-1, ) - writemsg(_("!!! Disabled FEATURES='%s'\n") % myfeature, noiselevel=-1) + writemsg(_("!!!! Disabled FEATURES='%s'\n") % myfeature, noiselevel=-1) if failure: mysettings.features.remove(myfeature) @@ -314,13 +314,13 @@ def _prepare_workdir(mysettings): workdir_mode = parsed_mode except KeyError as e: writemsg( - _("!!! PORTAGE_WORKDIR_MODE is unset, using %s.\n") % oct(workdir_mode) + _("!!!! PORTAGE_WORKDIR_MODE is unset, using %s.\n") % oct(workdir_mode) ) except ValueError as e: if len(str(e)) > 0: writemsg("%s\n" % e) writemsg( - _("!!! Unable to parse PORTAGE_WORKDIR_MODE='%s', using %s.\n") + _("!!!! Unable to parse PORTAGE_WORKDIR_MODE='%s', using %s.\n") % (mysettings["PORTAGE_WORKDIR_MODE"], oct(workdir_mode)) ) mysettings["PORTAGE_WORKDIR_MODE"] = oct(workdir_mode).replace("o", "") @@ -356,13 +356,13 @@ def _prepare_workdir(mysettings): mode=0o2770, ) except PortageException as e: - writemsg("!!! %s\n" % str(e), noiselevel=-1) + writemsg("!!!! %s\n" % str(e), noiselevel=-1) writemsg( - _("!!! Permission issues with PORTAGE_LOGDIR='%s'\n") + _("!!!! Permission issues with PORTAGE_LOGDIR='%s'\n") % mysettings["PORTAGE_LOGDIR"], noiselevel=-1, ) - writemsg(_("!!! Disabling logging.\n"), noiselevel=-1) + writemsg(_("!!!! Disabling logging.\n"), noiselevel=-1) while "PORTAGE_LOGDIR" in mysettings: del mysettings["PORTAGE_LOGDIR"] @@ -409,13 +409,14 @@ def _prepare_workdir(mysettings): try: _ensure_log_subdirs(logdir, log_subdir) except PortageException as e: - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) if os.access(log_subdir, os.W_OK): logdir_subdir_ok = True else: writemsg( - "!!! %s: %s\n" % (_("Permission Denied"), log_subdir), noiselevel=-1 + "!!!! %s: %s\n" % (_("Permission Denied"), log_subdir), + noiselevel=-1, ) tmpdir_log_path = os.path.join(mysettings["T"], "build.log%s" % compress_log_ext) diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py index 0b591d94f..0f9ffa5de 100644 --- a/lib/portage/repository/config.py +++ b/lib/portage/repository/config.py @@ -291,7 +291,8 @@ class RepoConfig: v = int(v) except (OverflowError, ValueError): writemsg( - _("!!! Invalid %s setting for repo" " %s: %s\n") % (k, name, v), + _("!!!! Invalid %s setting for repo" " %s: %s\n") + % (k, name, v), noiselevel=-1, ) v = None @@ -621,7 +622,7 @@ class RepoConfigLoader: # File "/usr/lib/python3.2/shlex.py", line 168, in read_token # raise ValueError("No closing quotation") writemsg( - _("!!! Invalid PORTDIR_OVERLAY:" " %s: %s\n") % (e, portdir_overlay), + _("!!!! Invalid PORTDIR_OVERLAY:" " %s: %s\n") % (e, portdir_overlay), noiselevel=-1, ) port_ov = [] @@ -724,7 +725,7 @@ class RepoConfigLoader: if not portage._sync_mode: writemsg( - _("!!! Invalid PORTDIR_OVERLAY (not a dir): '%s'\n") % ov, + _("!!!! Invalid PORTDIR_OVERLAY (not a dir): '%s'\n") % ov, noiselevel=-1, ) @@ -799,7 +800,7 @@ class RepoConfigLoader: self._parse(paths, prepos, settings.local_config, default_opts) except ConfigParserError as e: writemsg( - _("!!! Error while reading repo config file: %s\n") % e, noiselevel=-1 + _("!!!! Error while reading repo config file: %s\n") % e, noiselevel=-1 ) # The configparser state is unreliable (prone to quirky # exceptions) after it has thrown an error, so use empty @@ -850,7 +851,7 @@ class RepoConfigLoader: # Skip this warning for repoman (bug #474578). if settings.local_config and paths: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _( "Section '%s' in repos.conf is missing location attribute" ) @@ -864,7 +865,7 @@ class RepoConfigLoader: if not portage._sync_mode: if not isdir_raise_eaccess(repo.location): writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _( "Section '%s' in repos.conf has location attribute set " "to nonexistent directory: '%s'" @@ -884,7 +885,7 @@ class RepoConfigLoader: # if repo.missing_repo_name: if repo.missing_repo_name and repo.name != repo_name: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _( "Section '%s' in repos.conf refers to repository " "without repository name set in '%s'" @@ -898,7 +899,7 @@ class RepoConfigLoader: if repo.name != repo_name: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _( "Section '%s' in repos.conf has name different " "from repository name '%s' set inside repository" @@ -928,7 +929,7 @@ class RepoConfigLoader: continue writemsg_level( _( - "!!! Repository name or alias '%s', " + "!!!! Repository name or alias '%s', " + "defined for repository '%s', overrides " + "existing alias or repository.\n" ) @@ -957,7 +958,7 @@ class RepoConfigLoader: prepos["DEFAULT"].main_repo = None if portdir and not portage._sync_mode: writemsg( - _("!!! main-repo not set in DEFAULT and PORTDIR is empty.\n"), + _("!!!! main-repo not set in DEFAULT and PORTDIR is empty.\n"), noiselevel=-1, ) @@ -970,7 +971,7 @@ class RepoConfigLoader: if portdir_sync and main_repo is not None: writemsg( _( - "!!! SYNC setting found in make.conf.\n " + "!!!! SYNC setting found in make.conf.\n " "This setting is Deprecated and no longer used. " "Please ensure your 'sync-type' and 'sync-uri' are set correctly" " in /etc/portage/repos.conf/gentoo.conf\n" @@ -1097,13 +1098,13 @@ class RepoConfigLoader: ): # TODO: Delete masters code in lib/portage/tests/resolver/ResolverPlayground.py when deleting this warning. writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _("Repository '%s' is missing masters attribute in '%s'") % ( repo.name, os.path.join(repo.location, "metadata", "layout.conf"), ) - + "!!! %s\n" + + "!!!! %s\n" % _("Set 'masters = %s' in this file for future compatibility") % self.mainRepo().name, level=logging.WARNING, @@ -1147,14 +1148,14 @@ class RepoConfigLoader: if name != "DEFAULT": if r.location is None: writemsg( - _("!!! Location not set for repository %s\n") % name, + _("!!!! Location not set for repository %s\n") % name, noiselevel=-1, ) else: if not isdir_raise_eaccess(r.location) and not portage._sync_mode: self.prepos_order.remove(name) writemsg( - _("!!! Invalid Repository Location" " (not a dir): '%s'\n") + _("!!!! Invalid Repository Location" " (not a dir): '%s'\n") % r.location, noiselevel=-1, ) diff --git a/lib/portage/sync/config_checks.py b/lib/portage/sync/config_checks.py index a73e0dc88..1f270dfcf 100644 --- a/lib/portage/sync/config_checks.py +++ b/lib/portage/sync/config_checks.py @@ -18,7 +18,7 @@ from portage.util import writemsg_level def check_type(repo, logger, module_names): if repo.sync_uri is not None and repo.sync_type is None: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _( "Repository '%s' has sync-uri attribute, but is missing sync-type attribute" ) @@ -29,7 +29,7 @@ def check_type(repo, logger, module_names): return False if repo.sync_type not in module_names + [None]: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _( "Repository '%s' has sync-type attribute set to unsupported value: '%s'" ) @@ -38,7 +38,7 @@ def check_type(repo, logger, module_names): noiselevel=-1, ) writemsg_level( - "!!! %s\n" % _("Installed sync-types are: '%s'") % (str(module_names)), + "!!!! %s\n" % _("Installed sync-types are: '%s'") % (str(module_names)), level=logger.ERROR, noiselevel=-1, ) @@ -68,7 +68,7 @@ class CheckSyncConfig: """Check the sync_uri setting""" if self.repo.sync_uri is None: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _( "Repository '%s' has sync-type attribute, but is missing sync-uri attribute" ) @@ -81,7 +81,7 @@ class CheckSyncConfig: """Check the auto_sync setting""" if self.repo.auto_sync is None: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _("Repository '%s' is missing auto_sync attribute") % self.repo.name, level=self.logger.ERROR, @@ -89,7 +89,7 @@ class CheckSyncConfig: ) elif self.repo.auto_sync.lower() not in ["yes", "true", "no", "false"]: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _("Repository '%s' auto_sync attribute must be one of: %s") % (self.repo.name, "{yes, true, no, false}"), level=self.logger.ERROR, diff --git a/lib/portage/sync/controller.py b/lib/portage/sync/controller.py index 987aa5481..d7031db9c 100644 --- a/lib/portage/sync/controller.py +++ b/lib/portage/sync/controller.py @@ -212,7 +212,7 @@ class SyncManager: return succeeded def pre_sync(self, repo): - msg = ">>> Syncing repository '%s' into '%s'..." % (repo.name, repo.location) + msg = ">>>> Syncing repository '%s' into '%s'..." % (repo.name, repo.location) self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n") try: @@ -248,7 +248,7 @@ class SyncManager: pw = pwd.getpwuid(int(username)) except (ValueError, KeyError): writemsg( - "!!! User '%s' invalid or does not exist\n" % username, + "!!!! User '%s' invalid or does not exist\n" % username, noiselevel=-1, ) return (logname, user, group, home) @@ -266,7 +266,7 @@ class SyncManager: pw = grp.getgrgid(int(groupname)) except (ValueError, KeyError): writemsg( - "!!! Group '%s' invalid or does not exist\n" % groupname, + "!!!! Group '%s' invalid or does not exist\n" % groupname, noiselevel=-1, ) return (logname, user, group, home) diff --git a/lib/portage/sync/modules/cvs/__init__.py b/lib/portage/sync/modules/cvs/__init__.py index 344a7f847..3d7373272 100644 --- a/lib/portage/sync/modules/cvs/__init__.py +++ b/lib/portage/sync/modules/cvs/__init__.py @@ -18,7 +18,7 @@ class CheckCVSConfig(CheckSyncConfig): def check_cvs_repo(self): if self.repo.module_specific_options.get("sync-cvs-repo") is None: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _( "Repository '%s' has sync-type=cvs, but is missing sync-cvs-repo attribute" ) diff --git a/lib/portage/sync/modules/cvs/cvs.py b/lib/portage/sync/modules/cvs/cvs.py index 722f54ab4..07a92d423 100644 --- a/lib/portage/sync/modules/cvs/cvs.py +++ b/lib/portage/sync/modules/cvs/cvs.py @@ -45,7 +45,7 @@ class CVSSync(NewBase): ) != os.EX_OK ): - msg = "!!! cvs checkout error; exiting." + msg = "!!!! cvs checkout error; exiting." self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", noiselevel=-1, level=logging.ERROR) return (1, False) @@ -67,7 +67,7 @@ class CVSSync(NewBase): **self.spawn_kwargs ) if exitcode != os.EX_OK: - msg = "!!! cvs update error; exiting." + msg = "!!!! cvs update error; exiting." self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", noiselevel=-1, level=logging.ERROR) return (exitcode, False) diff --git a/lib/portage/sync/modules/git/__init__.py b/lib/portage/sync/modules/git/__init__.py index ef32a9da0..4d3777936 100644 --- a/lib/portage/sync/modules/git/__init__.py +++ b/lib/portage/sync/modules/git/__init__.py @@ -28,7 +28,7 @@ class CheckGitConfig(CheckSyncConfig): d = int(d) except ValueError: writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _("%s value is not a number: '%s'") % (attr.replace("_", "-"), d), level=self.logger.ERROR, @@ -44,7 +44,7 @@ class CheckGitConfig(CheckSyncConfig): if v not in ("yes", "no", "true", "false"): writemsg_level( - "!!! %s\n" + "!!!! %s\n" % _("sync-git-verify-commit-signature not one of: %s") % ("{yes, no, true, false}"), level=self.logger.ERROR, diff --git a/lib/portage/sync/modules/git/git.py b/lib/portage/sync/modules/git/git.py index 98670e1f9..fa92bb657 100644 --- a/lib/portage/sync/modules/git/git.py +++ b/lib/portage/sync/modules/git/git.py @@ -107,7 +107,7 @@ class GitSync(NewBase): **self.spawn_kwargs ) if exitcode != os.EX_OK: - msg = "!!! git clone error in %s" % self.repo.location + msg = "!!!! git clone error in %s" % self.repo.location self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1) return (exitcode, False) @@ -166,7 +166,7 @@ class GitSync(NewBase): ) ).rstrip("\n") except subprocess.CalledProcessError as e: - msg = "!!! git rev-parse error in %s" % self.repo.location + msg = "!!!! git rev-parse error in %s" % self.repo.location self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1) return (e.returncode, False) @@ -187,7 +187,7 @@ class GitSync(NewBase): **self.spawn_kwargs ) if exitcode != os.EX_OK: - msg = "!!! git gc error in %s" % self.repo.location + msg = "!!!! git gc error in %s" % self.repo.location self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1) return (exitcode, False) @@ -211,7 +211,7 @@ class GitSync(NewBase): ) if exitcode != os.EX_OK: - msg = "!!! git fetch error in %s" % self.repo.location + msg = "!!!! git fetch error in %s" % self.repo.location self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1) return (exitcode, False) @@ -235,7 +235,7 @@ class GitSync(NewBase): ) if exitcode != os.EX_OK: - msg = "!!! git merge error in %s" % self.repo.location + msg = "!!!! git merge error in %s" % self.repo.location self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1) return (exitcode, False) @@ -254,7 +254,7 @@ class GitSync(NewBase): if self.repo.sync_openpgp_key_path is not None and gemato is None: writemsg_level( - "!!! Verifying against specified key requires gemato-14.5+ installed\n", + "!!!! Verifying against specified key requires gemato-14.5+ installed\n", level=logging.ERROR, noiselevel=-1, ) @@ -273,7 +273,7 @@ class GitSync(NewBase): self._refresh_keys(openpgp_env) except (GematoException, asyncio.TimeoutError) as e: writemsg_level( - "!!! Verification impossible due to keyring problem:\n%s\n" + "!!!! Verification impossible due to keyring problem:\n%s\n" % (e,), level=logging.ERROR, noiselevel=-1, diff --git a/lib/portage/sync/modules/mercurial/mercurial.py b/lib/portage/sync/modules/mercurial/mercurial.py index 486b4fdd6..c410bf4e1 100644 --- a/lib/portage/sync/modules/mercurial/mercurial.py +++ b/lib/portage/sync/modules/mercurial/mercurial.py @@ -87,7 +87,7 @@ class MercurialSync(NewBase): **self.spawn_kwargs ) if exitcode != os.EX_OK: - msg = "!!! hg clone error in %s" % self.repo.location + msg = "!!!! hg clone error in %s" % self.repo.location self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1) return (exitcode, False) @@ -144,7 +144,7 @@ class MercurialSync(NewBase): **self.spawn_kwargs ) if exitcode != os.EX_OK: - msg = "!!! hg pull error in %s" % self.repo.location + msg = "!!!! hg pull error in %s" % self.repo.location self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1) return (exitcode, False) diff --git a/lib/portage/sync/modules/rsync/rsync.py b/lib/portage/sync/modules/rsync/rsync.py index 5f4cf1aeb..4c7b7c0f4 100644 --- a/lib/portage/sync/modules/rsync/rsync.py +++ b/lib/portage/sync/modules/rsync/rsync.py @@ -71,8 +71,8 @@ class RsyncSync(NewBase): for vcs_dir in vcs_dirs: writemsg_level( ( - "!!! %s appears to be under revision " - + "control (contains %s).\n!!! Aborting rsync sync " + "!!!! %s appears to be under revision " + + "control (contains %s).\n!!!! Aborting rsync sync " '(override with "sync-rsync-vcs-ignore = true" in repos.conf).\n' ) % (self.repo.location, vcs_dir), @@ -117,7 +117,7 @@ class RsyncSync(NewBase): raise ValueError(self.verify_jobs) except ValueError: writemsg_level( - "!!! sync-rsync-verify-jobs not a positive integer: %s\n" + "!!!! sync-rsync-verify-jobs not a positive integer: %s\n" % (self.verify_jobs,), level=logging.WARNING, noiselevel=-1, @@ -139,7 +139,7 @@ class RsyncSync(NewBase): raise ValueError(self.max_age) except ValueError: writemsg_level( - "!!! sync-rsync-max-age must be a non-negative integer: %s\n" + "!!!! sync-rsync-max-age must be a non-negative integer: %s\n" % (self.max_age,), level=logging.WARNING, noiselevel=-1, @@ -166,7 +166,7 @@ class RsyncSync(NewBase): self._refresh_keys(openpgp_env) except (GematoException, asyncio.TimeoutError) as e: writemsg_level( - "!!! Manifest verification impossible due to keyring problem:\n%s\n" + "!!!! Manifest verification impossible due to keyring problem:\n%s\n" % (e,), level=logging.ERROR, noiselevel=-1, @@ -225,7 +225,7 @@ class RsyncSync(NewBase): )[1:5] except ValueError: writemsg_level( - "!!! sync-uri is invalid: %s\n" % syncuri, + "!!!! sync-uri is invalid: %s\n" % syncuri, noiselevel=-1, level=logging.ERROR, ) @@ -266,7 +266,7 @@ class RsyncSync(NewBase): ) except socket.error as e: writemsg_level( - "!!! getaddrinfo failed for '%s': %s\n" + "!!!! getaddrinfo failed for '%s': %s\n" % (_unicode_decode(hostname), str(e)), noiselevel=-1, level=logging.ERROR, @@ -334,7 +334,7 @@ class RsyncSync(NewBase): dosyncuri = uris.pop() elif maxretries < 0 or retries > maxretries: writemsg( - "!!! Exhausted addresses for %s\n" % _unicode_decode(hostname), + "!!!! Exhausted addresses for %s\n" % _unicode_decode(hostname), noiselevel=-1, ) return (1, False) @@ -360,18 +360,18 @@ class RsyncSync(NewBase): print() sys.exit(128 + signal.SIGINT) self.logger( - self.xterm_titles, ">>> Starting rsync with " + dosyncuri + self.xterm_titles, ">>>> Starting rsync with " + dosyncuri ) if "--quiet" not in opts: - print(">>> Starting rsync with " + dosyncuri + "...") + print(">>>> Starting rsync with " + dosyncuri + "...") else: self.logger( self.xterm_titles, - ">>> Starting retry %d of %d with %s" + ">>>> Starting retry %d of %d with %s" % (retries, effective_maxretries, dosyncuri), ) writemsg_stdout( - "\n\n>>> Starting retry %d of %d with %s\n" + "\n\n>>>> Starting retry %d of %d with %s\n" % (retries, effective_maxretries, dosyncuri), noiselevel=-1, ) @@ -390,7 +390,7 @@ class RsyncSync(NewBase): retries = retries + 1 if maxretries < 0 or retries <= maxretries: - print(">>> Retrying...") + print(">>>> Retrying...") else: # over retries # exit loop @@ -411,7 +411,7 @@ class RsyncSync(NewBase): if exitcode == 0 and self.verify_metamanifest: if gemato is None: writemsg_level( - "!!! Unable to verify: gemato-14.5+ is required\n", + "!!!! Unable to verify: gemato-14.5+ is required\n", level=logging.ERROR, noiselevel=-1, ) @@ -469,7 +469,7 @@ class RsyncSync(NewBase): out.eend(0) except GematoException as e: writemsg_level( - "!!! Manifest verification failed:\n%s\n" % (e,), + "!!!! Manifest verification failed:\n%s\n" % (e,), level=logging.ERROR, noiselevel=-1, ) @@ -495,7 +495,7 @@ class RsyncSync(NewBase): elif exitcode == SERVER_OUT_OF_DATE: exitcode = 1 elif exitcode == EXCEEDED_MAX_RETRIES: - sys.stderr.write(">>> Exceeded PORTAGE_RSYNC_RETRIES: %s\n" % maxretries) + sys.stderr.write(">>>> Exceeded PORTAGE_RSYNC_RETRIES: %s\n" % maxretries) exitcode = 1 elif exitcode > 0: msg = [] @@ -657,7 +657,7 @@ class RsyncSync(NewBase): updatecache_flg = False is_synced = False if timestamp != 0 and "--quiet" not in opts: - print(">>> Checking server timestamp ...") + print(">>>> Checking server timestamp ...") rsynccommand = [self.bin_command] + self.rsync_opts + self.extra_rsync_opts @@ -762,34 +762,34 @@ class RsyncSync(NewBase): local_state_unchanged = True is_synced = True self.logger( - self.xterm_titles, ">>> Cancelling sync -- Already current." + self.xterm_titles, ">>>> Cancelling sync -- Already current." ) print() - print(">>>") + print(">>>>") print( - ">>> Timestamps on the server and in the local repository are the same." + ">>>> Timestamps on the server and in the local repository are the same." ) print( - ">>> Cancelling all further sync action. You are already up to date." + ">>>> Cancelling all further sync action. You are already up to date." ) - print(">>>") + print(">>>>") print( - ">>> In order to force sync, remove '%s'." + ">>>> In order to force sync, remove '%s'." % self.servertimestampfile ) - print(">>>") + print(">>>>") print() elif (servertimestamp != 0) and (servertimestamp < timestamp): - self.logger(self.xterm_titles, ">>> Server out of date: %s" % syncuri) + self.logger(self.xterm_titles, ">>>> Server out of date: %s" % syncuri) print() - print(">>>") - print(">>> SERVER OUT OF DATE: %s" % syncuri) - print(">>>") + print(">>>>") + print(">>>> SERVER OUT OF DATE: %s" % syncuri) + print(">>>>") print( - ">>> In order to force sync, remove '%s'." + ">>>> In order to force sync, remove '%s'." % self.servertimestampfile ) - print(">>>") + print(">>>>") print() exitcode = SERVER_OUT_OF_DATE elif (servertimestamp == 0) or (servertimestamp > timestamp): diff --git a/lib/portage/sync/modules/svn/svn.py b/lib/portage/sync/modules/svn/svn.py index 788e394cd..9a2312337 100644 --- a/lib/portage/sync/modules/svn/svn.py +++ b/lib/portage/sync/modules/svn/svn.py @@ -39,7 +39,7 @@ class SVNSync(NewBase): **self.spawn_kwargs ) if exitcode != os.EX_OK: - msg = "!!! svn checkout error; exiting." + msg = "!!!! svn checkout error; exiting." self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", noiselevel=-1, level=logging.ERROR) return (exitcode, False) @@ -63,7 +63,7 @@ class SVNSync(NewBase): **self.spawn_kwargs ) if exitcode != os.EX_OK: - msg = "!!! svn update error; exiting." + msg = "!!!! svn update error; exiting." self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", noiselevel=-1, level=logging.ERROR) return (exitcode, False) @@ -81,7 +81,7 @@ class SVNSync(NewBase): **self.spawn_kwargs ) if exitcode != os.EX_OK: - msg = "!!! svn upgrade error; exiting." + msg = "!!!! svn upgrade error; exiting." self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", noiselevel=-1, level=logging.ERROR) return exitcode diff --git a/lib/portage/sync/modules/webrsync/webrsync.py b/lib/portage/sync/modules/webrsync/webrsync.py index 0e2f63472..d427f346f 100644 --- a/lib/portage/sync/modules/webrsync/webrsync.py +++ b/lib/portage/sync/modules/webrsync/webrsync.py @@ -70,7 +70,7 @@ class WebRsync(SyncBase): if not self.repo.sync_openpgp_key_path: writemsg_level( - "!!! sync-openpgp-key-path is not set\n", + "!!!! sync-openpgp-key-path is not set\n", level=logging.ERROR, noiselevel=-1, ) @@ -78,7 +78,7 @@ class WebRsync(SyncBase): if not os.path.isfile(self.repo.sync_openpgp_key_path): writemsg_level( - "!!! sync-openpgp-key-path file not found: %s\n" + "!!!! sync-openpgp-key-path file not found: %s\n" % self.repo.sync_openpgp_key_path, level=logging.ERROR, noiselevel=-1, @@ -87,7 +87,7 @@ class WebRsync(SyncBase): if gemato is None: writemsg_level( - "!!! Verifying against specified key requires gemato-14.5+ installed\n", + "!!!! Verifying against specified key requires gemato-14.5+ installed\n", level=logging.ERROR, noiselevel=-1, ) @@ -105,7 +105,7 @@ class WebRsync(SyncBase): self.spawn_kwargs["env"]["PORTAGE_TEMP_GPG_DIR"] = openpgp_env.home except (GematoException, asyncio.TimeoutError) as e: writemsg_level( - "!!! Verification impossible due to keyring problem:\n%s\n" + "!!!! Verification impossible due to keyring problem:\n%s\n" % (e,), level=logging.ERROR, noiselevel=-1, @@ -125,7 +125,7 @@ class WebRsync(SyncBase): exitcode = portage.process.spawn(webrsync_cmd, **self.spawn_kwargs) if exitcode != os.EX_OK: - msg = "!!! emerge-webrsync error in %s" % self.repo.location + msg = "!!!! emerge-webrsync error in %s" % self.repo.location self.logger(self.xterm_titles, msg) writemsg_level(msg + "\n", level=logging.ERROR, noiselevel=-1) return (exitcode, False) diff --git a/lib/portage/sync/old_tree_timestamp.py b/lib/portage/sync/old_tree_timestamp.py index 3558a25ad..01fc95d57 100644 --- a/lib/portage/sync/old_tree_timestamp.py +++ b/lib/portage/sync/old_tree_timestamp.py @@ -82,7 +82,7 @@ def old_tree_timestamp_warn(portdir, settings): warnsync = float(settings.get(var_name, default_warnsync)) except ValueError: writemsg_level( - "!!! %s contains non-numeric value: %s\n" % (var_name, settings[var_name]), + "!!!! %s contains non-numeric value: %s\n" % (var_name, settings[var_name]), level=logging.ERROR, noiselevel=-1, ) diff --git a/lib/portage/sync/syncbase.py b/lib/portage/sync/syncbase.py index 94c873e1f..aa33f3312 100644 --- a/lib/portage/sync/syncbase.py +++ b/lib/portage/sync/syncbase.py @@ -67,13 +67,13 @@ class SyncBase: % (self.bin_pkg, self._bin_command), ] for l in msg: - writemsg_level("!!! %s\n" % l, level=logging.ERROR, noiselevel=-1) + writemsg_level("!!!! %s\n" % l, level=logging.ERROR, noiselevel=-1) return False try: self.repo_storage except RepoStorageException as e: - writemsg_level("!!! %s\n" % (e,), level=logging.ERROR, noiselevel=-1) + writemsg_level("!!!! %s\n" % (e,), level=logging.ERROR, noiselevel=-1) return False return True @@ -240,7 +240,7 @@ class SyncBase: if errors: lines = [] lines.append("") - lines.append("!!! Retry disabled for openpgp key refresh:") + lines.append("!!!! Retry disabled for openpgp key refresh:") lines.append("") for msg in errors: lines.append(" {}".format(msg)) diff --git a/lib/portage/tests/resolver/test_autounmask.py b/lib/portage/tests/resolver/test_autounmask.py index 4e98e5bfc..f9d1b67b4 100644 --- a/lib/portage/tests/resolver/test_autounmask.py +++ b/lib/portage/tests/resolver/test_autounmask.py @@ -320,7 +320,7 @@ class AutounmaskTestCase(TestCase): # # required by =app-portage/A-1 (argument) # >=app-portage/B-1 foo # - # !!! The ebuild selected to satisfy "app-portage/B[foo]" has unmet requirements. + # !!!! The ebuild selected to satisfy "app-portage/B[foo]" has unmet requirements. # - app-portage/B-1::test_repo USE="bar (forced-flag) -foo" # # The following REQUIRED_USE flag constraints are unsatisfied: @@ -337,7 +337,7 @@ class AutounmaskTestCase(TestCase): # # required by =app-portage/A-2 (argument) # >=app-portage/B-1 foo # - # !!! The ebuild selected to satisfy "app-portage/B[foo=]" has unmet requirements. + # !!!! The ebuild selected to satisfy "app-portage/B[foo=]" has unmet requirements. # - app-portage/B-1::test_repo USE="bar (forced-flag) -foo" # # The following REQUIRED_USE flag constraints are unsatisfied: @@ -363,7 +363,7 @@ class AutounmaskTestCase(TestCase): # # required by sci-mathematics/octave (argument) # >=x11-libs/qscintilla-2.9.4 qt5 # - # !!! The ebuild selected to satisfy ">=x11-libs/qscintilla-2.9.3-r2:=[qt5(+)]" has unmet requirements. + # !!!! The ebuild selected to satisfy ">=x11-libs/qscintilla-2.9.3-r2:=[qt5(+)]" has unmet requirements. # - x11-libs/qscintilla-2.9.4::test_repo USE="qt4 -qt5" # # The following REQUIRED_USE flag constraints are unsatisfied: diff --git a/lib/portage/tests/resolver/test_autounmask_use_breakage.py b/lib/portage/tests/resolver/test_autounmask_use_breakage.py index 02c08affa..6320deead 100644 --- a/lib/portage/tests/resolver/test_autounmask_use_breakage.py +++ b/lib/portage/tests/resolver/test_autounmask_use_breakage.py @@ -37,7 +37,7 @@ class AutounmaskUseBreakageTestCase(TestCase): ), # With --autounmask-backtrack=y: # emerge: there are no ebuilds built with USE flags to satisfy "app-misc/D[foo]". - #!!! One of the following packages is required to complete your request: + #!!!! One of the following packages is required to complete your request: # - app-misc/D-0::test_repo (Change USE: +foo) # (dependency required by "app-misc/B-0::test_repo" [ebuild]) # (dependency required by "app-misc/B" [argument]) @@ -48,8 +48,8 @@ class AutounmaskUseBreakageTestCase(TestCase): # [ebuild N ] app-misc/B-0 # [ebuild N ] app-misc/A-0 # - #!!! Multiple package instances within a single package slot have been pulled - #!!! into the dependency graph, resulting in a slot conflict: + #!!!! Multiple package instances within a single package slot have been pulled + #!!!! into the dependency graph, resulting in a slot conflict: # # app-misc/D:0 # diff --git a/lib/portage/tests/resolver/test_slot_conflict_unsatisfied_deep_deps.py b/lib/portage/tests/resolver/test_slot_conflict_unsatisfied_deep_deps.py index b392aaded..25b32d639 100644 --- a/lib/portage/tests/resolver/test_slot_conflict_unsatisfied_deep_deps.py +++ b/lib/portage/tests/resolver/test_slot_conflict_unsatisfied_deep_deps.py @@ -120,12 +120,12 @@ class SlotConflictUnsatisfiedDeepDepsTestCase(TestCase): # required by @world (argument) # =dev-libs/A-2 ~x86 # - #!!! Problems have been detected with your world file - #!!! Please run emaint --check world + #!!!! Problems have been detected with your world file + #!!!! Please run emaint --check world # # - #!!! Ebuilds for the following packages are either all - #!!! masked or don't exist: + #!!!! Ebuilds for the following packages are either all + #!!!! masked or don't exist: # dev-libs/broken # # emerge: there are no ebuilds to satisfy "dev-libs/initially-unsatisfied". @@ -133,8 +133,8 @@ class SlotConflictUnsatisfiedDeepDepsTestCase(TestCase): # (dependency required by "@selected" [set]) # (dependency required by "@world" [argument]) # Without --autounmask-backtrack=y: - #!!! Multiple package instances within a single package slot have been pulled - #!!! into the dependency graph, resulting in a slot conflict: + #!!!! Multiple package instances within a single package slot have been pulled + #!!!! into the dependency graph, resulting in a slot conflict: # # dev-libs/A:0 # diff --git a/lib/portage/update.py b/lib/portage/update.py index 0ccca6e26..64296c75c 100644 --- a/lib/portage/update.py +++ b/lib/portage/update.py @@ -452,9 +452,9 @@ def update_config_files( try: write_atomic(updating_file, "".join(file_contents[x])) except PortageException as e: - writemsg("\n!!! %s\n" % str(e), noiselevel=-1) + writemsg("\n!!!! %s\n" % str(e), noiselevel=-1) writemsg( - _("!!! An error occurred while updating a config file:") + _("!!!! An error occurred while updating a config file:") + " '%s'\n" % updating_file, noiselevel=-1, ) diff --git a/lib/portage/util/__init__.py b/lib/portage/util/__init__.py index 5ade7f660..bc5498cd0 100644 --- a/lib/portage/util/__init__.py +++ b/lib/portage/util/__init__.py @@ -220,19 +220,19 @@ def stack_dictlist(original_dicts, incremental=0, incrementals=[], ignore_none=0 Returns a single dict. Higher index in lists is preferenced. Example usage: - >>> from portage.util import stack_dictlist - >>> print stack_dictlist( [{'a':'b'},{'x':'y'}]) - >>> {'a':'b','x':'y'} - >>> print stack_dictlist( [{'a':'b'},{'a':'c'}], incremental = True ) - >>> {'a':['b','c'] } - >>> a = {'KEYWORDS':['x86','alpha']} - >>> b = {'KEYWORDS':['-x86']} - >>> print stack_dictlist( [a,b] ) - >>> { 'KEYWORDS':['x86','alpha','-x86']} - >>> print stack_dictlist( [a,b], incremental=True) - >>> { 'KEYWORDS':['alpha'] } - >>> print stack_dictlist( [a,b], incrementals=['KEYWORDS']) - >>> { 'KEYWORDS':['alpha'] } + >>>> from portage.util import stack_dictlist + >>>> print stack_dictlist( [{'a':'b'},{'x':'y'}]) + >>>> {'a':'b','x':'y'} + >>>> print stack_dictlist( [{'a':'b'},{'a':'c'}], incremental = True ) + >>>> {'a':['b','c'] } + >>>> a = {'KEYWORDS':['x86','alpha']} + >>>> b = {'KEYWORDS':['-x86']} + >>>> print stack_dictlist( [a,b] ) + >>>> { 'KEYWORDS':['x86','alpha','-x86']} + >>>> print stack_dictlist( [a,b], incremental=True) + >>>> { 'KEYWORDS':['alpha'] } + >>>> print stack_dictlist( [a,b], incrementals=['KEYWORDS']) + >>>> { 'KEYWORDS':['alpha'] } @param original_dicts a list of (dictionary objects or None) @type list @@ -827,7 +827,7 @@ def getconfig( if portage._native_string("\r") in content: writemsg( ( - "!!! " + "!!!! " + _( "Please use dos2unix to convert line endings " + "in config file: '%s'" @@ -1071,7 +1071,7 @@ def pickle_read(filename, default=None, debug=0): except SystemExit as e: raise except Exception as e: - writemsg(_("!!! Failed to load pickle: ") + str(e) + "\n", 1) + writemsg(_("!!!! Failed to load pickle: ") + str(e) + "\n", 1) data = default return data diff --git a/lib/portage/util/_dyn_libs/PreservedLibsRegistry.py b/lib/portage/util/_dyn_libs/PreservedLibsRegistry.py index fd5c97362..a5cd1fb4f 100644 --- a/lib/portage/util/_dyn_libs/PreservedLibsRegistry.py +++ b/lib/portage/util/_dyn_libs/PreservedLibsRegistry.py @@ -101,7 +101,7 @@ class PreservedLibsRegistry: raise except Exception: writemsg_level( - _("!!! Error loading '%s': %s\n") % (self._filename, e), + _("!!!! Error loading '%s': %s\n") % (self._filename, e), level=logging.ERROR, noiselevel=-1, ) @@ -147,7 +147,7 @@ class PreservedLibsRegistry: except EnvironmentError as e: if e.errno != PermissionDenied.errno: writemsg_level( - "!!! %s %s\n" % (e, self._filename), + "!!!! %s %s\n" % (e, self._filename), level=logging.ERROR, noiselevel=-1, ) diff --git a/lib/portage/util/_dyn_libs/display_preserved_libs.py b/lib/portage/util/_dyn_libs/display_preserved_libs.py index e81ca369c..c6da339fe 100644 --- a/lib/portage/util/_dyn_libs/display_preserved_libs.py +++ b/lib/portage/util/_dyn_libs/display_preserved_libs.py @@ -20,7 +20,7 @@ def display_preserved_libs(vardb, verbose=False): linkmap.rebuild() except portage.exception.CommandNotFound as e: portage.util.writemsg_level( - "!!! Command Not Found: %s\n" % (e,), level=logging.ERROR, noiselevel=-1 + "!!!! Command Not Found: %s\n" % (e,), level=logging.ERROR, noiselevel=-1 ) else: search_for_owners = set() @@ -54,7 +54,7 @@ def display_preserved_libs(vardb, verbose=False): all_preserved.update(*plibdata.values()) for cpv in plibdata: - print(colorize("WARN", ">>>") + " package: %s" % cpv) + print(colorize("WARN", ">>>>") + " package: %s" % cpv) samefile_map = {} for f in plibdata[cpv]: obj_key = linkmap._obj_key(f) diff --git a/lib/portage/util/env_update.py b/lib/portage/util/env_update.py index bb0ebf84c..98ed62608 100644 --- a/lib/portage/util/env_update.py +++ b/lib/portage/util/env_update.py @@ -146,12 +146,12 @@ def _env_update(makelinks, target_root, prev_mtimes, contents, env, writemsg_lev try: myconfig = getconfig(file_path, expand=False) except ParseError as e: - writemsg("!!! '%s'\n" % str(e), noiselevel=-1) + writemsg("!!!! '%s'\n" % str(e), noiselevel=-1) del e continue if myconfig is None: # broken symlink or file removed by a concurrent process - writemsg("!!! File Not Found: '%s'\n" % file_path, noiselevel=-1) + writemsg("!!!! File Not Found: '%s'\n" % file_path, noiselevel=-1) continue config_list.append(myconfig) @@ -365,12 +365,12 @@ def _env_update(makelinks, target_root, prev_mtimes, contents, env, writemsg_lev # to overwrite the symlinks we just made. -X means no links. After 'clean' # we can safely create links. writemsg_level( - _(">>> Regenerating %setc/ld.so.cache...\n") % (target_root,) + _(">>>> Regenerating %setc/ld.so.cache...\n") % (target_root,) ) os.system("cd / ; %s -X -r '%s'" % (ldconfig, target_root)) elif ostype in ("FreeBSD", "DragonFly"): writemsg_level( - _(">>> Regenerating %svar/run/ld-elf.so.hints...\n") % target_root + _(">>>> Regenerating %svar/run/ld-elf.so.hints...\n") % target_root ) os.system( ( diff --git a/lib/portage/util/locale.py b/lib/portage/util/locale.py index 8fb6cb6eb..e4849bcfb 100644 --- a/lib/portage/util/locale.py +++ b/lib/portage/util/locale.py @@ -90,7 +90,7 @@ def _check_locale(silent): ] ) writemsg_level( - "".join(["!!! %s\n" % l for l in msg]), level=logging.ERROR, noiselevel=-1 + "".join(["!!!! %s\n" % l for l in msg]), level=logging.ERROR, noiselevel=-1 ) return False diff --git a/lib/portage/util/movefile.py b/lib/portage/util/movefile.py index ddafe5571..299d1b989 100644 --- a/lib/portage/util/movefile.py +++ b/lib/portage/util/movefile.py @@ -149,9 +149,9 @@ def movefile( raise except Exception as e: writemsg( - "!!! %s\n" % _("Stating source file failed... movefile()"), noiselevel=-1 + "!!!! %s\n" % _("Stating source file failed... movefile()"), noiselevel=-1 ) - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) return None destexists = 1 @@ -223,10 +223,10 @@ def movefile( raise except Exception as e: writemsg( - "!!! %s\n" % _("failed to properly create symlink:"), noiselevel=-1 + "!!!! %s\n" % _("failed to properly create symlink:"), noiselevel=-1 ) - writemsg("!!! %s -> %s\n" % (dest, target), noiselevel=-1) - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s -> %s\n" % (dest, target), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) return None hardlinked = False @@ -244,11 +244,11 @@ def movefile( except OSError as e: if e.errno != errno.ENOENT: writemsg( - _("!!! Failed to remove hardlink temp file: %s\n") + _("!!!! Failed to remove hardlink temp file: %s\n") % (hardlink_tmp,), noiselevel=-1, ) - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) return None del e for hardlink_src in hardlink_candidates: @@ -261,10 +261,10 @@ def movefile( os.rename(hardlink_tmp, dest) except OSError as e: writemsg( - _("!!! Failed to rename %s to %s\n") % (hardlink_tmp, dest), + _("!!!! Failed to rename %s to %s\n") % (hardlink_tmp, dest), noiselevel=-1, ) - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) return None hardlinked = True try: @@ -287,12 +287,12 @@ def movefile( if e.errno != errno.EXDEV: # Some random error. writemsg( - "!!! %s\n" + "!!!! %s\n" % _("Failed to move %(src)s to %(dest)s") % {"src": src, "dest": dest}, noiselevel=-1, ) - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) return None # Invalid cross-device-link 'bind' mounted or actually Cross-Device if renamefailed: @@ -322,19 +322,19 @@ def movefile( ) msg = textwrap.wrap(msg, 65) for line in msg: - writemsg("!!! %s\n" % (line,), noiselevel=-1) + writemsg("!!!! %s\n" % (line,), noiselevel=-1) raise _rename(dest_tmp_bytes, dest_bytes) _os.unlink(src_bytes) success = True except Exception as e: writemsg( - "!!! %s\n" + "!!!! %s\n" % _("copy %(src)s -> %(dest)s failed.") % {"src": src, "dest": dest}, noiselevel=-1, ) - writemsg("!!! %s\n" % (e,), noiselevel=-1) + writemsg("!!!! %s\n" % (e,), noiselevel=-1) return None finally: if not success: @@ -346,16 +346,16 @@ def movefile( # we don't yet handle special, so we need to fall back to /bin/mv a = spawn([MOVE_BINARY, "-f", src, dest], env=os.environ) if a != os.EX_OK: - writemsg(_("!!! Failed to move special file:\n"), noiselevel=-1) + writemsg(_("!!!! Failed to move special file:\n"), noiselevel=-1) writemsg( - _("!!! '%(src)s' to '%(dest)s'\n") + _("!!!! '%(src)s' to '%(dest)s'\n") % { "src": _unicode_decode(src, encoding=encoding), "dest": _unicode_decode(dest, encoding=encoding), }, noiselevel=-1, ) - writemsg("!!! %s\n" % a, noiselevel=-1) + writemsg("!!!! %s\n" % a, noiselevel=-1) return None # failure # In Python <3.3 always use stat_obj[stat.ST_MTIME] for the integral timestamp @@ -384,9 +384,9 @@ def movefile( try: newmtime = os.stat(dest).st_mtime_ns except OSError as e: - writemsg(_("!!! Failed to stat in movefile()\n"), noiselevel=-1) - writemsg("!!! %s\n" % dest, noiselevel=-1) - writemsg("!!! %s\n" % str(e), noiselevel=-1) + writemsg(_("!!!! Failed to stat in movefile()\n"), noiselevel=-1) + writemsg("!!!! %s\n" % dest, noiselevel=-1) + writemsg("!!!! %s\n" % str(e), noiselevel=-1) return None if bsd_chflags: diff --git a/lib/portage/util/mtimedb.py b/lib/portage/util/mtimedb.py index 7a7fe6784..77ced65b1 100644 --- a/lib/portage/util/mtimedb.py +++ b/lib/portage/util/mtimedb.py @@ -46,7 +46,7 @@ class MtimeDB(dict): pass else: writemsg( - _("!!! Error loading '%s': %s\n") % (filename, e), noiselevel=-1 + _("!!!! Error loading '%s': %s\n") % (filename, e), noiselevel=-1 ) finally: if f is not None: @@ -75,7 +75,8 @@ class MtimeDB(dict): raise except Exception: writemsg( - _("!!! Error loading '%s': %s\n") % (filename, e), noiselevel=-1 + _("!!!! Error loading '%s': %s\n") % (filename, e), + noiselevel=-1, ) if d is None: diff --git a/lib/portage/util/writeable_check.py b/lib/portage/util/writeable_check.py index be73745a1..d4d36846b 100644 --- a/lib/portage/util/writeable_check.py +++ b/lib/portage/util/writeable_check.py @@ -88,7 +88,7 @@ def linux_ro_checker(dir_list): # filesystems and return. except EnvironmentError: writemsg_level( - _("!!! /proc/self/mountinfo cannot be read"), + _("!!!! /proc/self/mountinfo cannot be read"), level=logging.WARNING, noiselevel=-1, ) @@ -96,7 +96,7 @@ def linux_ro_checker(dir_list): for line in invalids: writemsg_level( - _("!!! /proc/self/mountinfo contains unrecognized line: %s\n") + _("!!!! /proc/self/mountinfo contains unrecognized line: %s\n") % line.rstrip(), level=logging.WARNING, noiselevel=-1, diff --git a/lib/portage/versions.py b/lib/portage/versions.py index fe1ff6ce0..68d69bdf4 100644 --- a/lib/portage/versions.py +++ b/lib/portage/versions.py @@ -148,7 +148,7 @@ def ververify(myver, silent=1): if ver_regexp.match(myver): return True if not silent: - print(_("!!! syntax error in version: %s") % myver) + print(_("!!!! syntax error in version: %s") % myver) return False @@ -157,12 +157,12 @@ def vercmp(ver1, ver2, silent=1): """ Compare two versions Example usage: - >>> from portage.versions import vercmp - >>> vercmp('1.0-r1','1.2-r3') + >>>> from portage.versions import vercmp + >>>> vercmp('1.0-r1','1.2-r3') negative number - >>> vercmp('1.3','1.2-r3') + >>>> vercmp('1.3','1.2-r3') positive number - >>> vercmp('1.0_p3','1.0_p3') + >>>> vercmp('1.0_p3','1.0_p3') 0 @param pkg1: version to compare with (see ver_regexp in portage.versions.py) @@ -186,11 +186,11 @@ def vercmp(ver1, ver2, silent=1): # checking that the versions are valid if not match1 or not match1.groups(): if not silent: - print(_("!!! syntax error in version: %s") % ver1) + print(_("!!!! syntax error in version: %s") % ver1) return None if not match2 or not match2.groups(): if not silent: - print(_("!!! syntax error in version: %s") % ver2) + print(_("!!!! syntax error in version: %s") % ver2) return None # building lists of the version parts before the suffix @@ -305,10 +305,10 @@ def pkgcmp(pkg1, pkg2): Compare 2 package versions created in pkgsplit format. Example usage: - >>> from portage.versions import * - >>> pkgcmp(pkgsplit('test-1.0-r1'),pkgsplit('test-1.2-r3')) + >>>> from portage.versions import * + >>>> pkgcmp(pkgsplit('test-1.0-r1'),pkgsplit('test-1.2-r3')) -1 - >>> pkgcmp(pkgsplit('test-1.3'),pkgsplit('test-1.2-r3')) + >>>> pkgcmp(pkgsplit('test-1.3'),pkgsplit('test-1.2-r3')) 1 @param pkg1: package to compare with diff --git a/lib/portage/xml/metadata.py b/lib/portage/xml/metadata.py index 807847d7e..f65177c8e 100644 --- a/lib/portage/xml/metadata.py +++ b/lib/portage/xml/metadata.py @@ -4,27 +4,27 @@ """Provides an easy-to-use python interface to Gentoo's metadata.xml file. Example usage: - >>> from portage.xml.metadata import MetaDataXML - >>> pkg_md = MetaDataXML('/var/db/repos/gentoo/app-misc/gourmet/metadata.xml') - >>> pkg_md + >>>> from portage.xml.metadata import MetaDataXML + >>>> pkg_md = MetaDataXML('/var/db/repos/gentoo/app-misc/gourmet/metadata.xml') + >>>> pkg_md <MetaDataXML '/var/db/repos/gentoo/app-misc/gourmet/metadata.xml'> - >>> pkg_md.herds() + >>>> pkg_md.herds() ['no-herd'] - >>> for maint in pkg_md.maintainers(): + >>>> for maint in pkg_md.maintainers(): ... print "{0} ({1})".format(maint.email, maint.name) ... [email protected] (Joe Sapp) - >>> for flag in pkg_md.use(): + >>>> for flag in pkg_md.use(): ... print flag.name, "->", flag.description ... rtf -> Enable export to RTF gnome-print -> Enable printing support using gnome-print - >>> upstream = pkg_md.upstream() - >>> upstream + >>>> upstream = pkg_md.upstream() + >>>> upstream [<_Upstream {'docs': [], 'remoteid': [], 'maintainer': [<_Maintainer '[email protected]'>], 'bugtracker': [], 'changelog': []}>] - >>> upstream[0].maintainer[0].name + >>>> upstream[0].maintainer[0].name 'Thomas Mills Hinkle' """ diff --git a/misc/emerge-delta-webrsync b/misc/emerge-delta-webrsync index 082e15e52..e10acb9a5 100755 --- a/misc/emerge-delta-webrsync +++ b/misc/emerge-delta-webrsync @@ -597,10 +597,10 @@ verify_md5_file() { #-------------------- if ! type -p patcher &> /dev/null; then - echo "!!!" - echo "!!! cannot find patcher, did you emerge dev-util/diffball?" - echo "!!! lack of patcher == have to do full fetch" - echo "!!!" + echo "!!!!" + echo "!!!! cannot find patcher, did you emerge dev-util/diffball?" + echo "!!!! lack of patcher == have to do full fetch" + echo "!!!!" sleep 10 if do_latest_snapshot; then rm -fr "${TMPDIR}" diff --git a/repoman/lib/repoman/__init__.py b/repoman/lib/repoman/__init__.py index b3690c07d..403bd3af9 100644 --- a/repoman/lib/repoman/__init__.py +++ b/repoman/lib/repoman/__init__.py @@ -11,21 +11,21 @@ try: except ImportError as e: sys.stderr.write("\n\n") sys.stderr.write( - "!!! Failed to complete portage imports. There are internal modules for\n" + "!!!! Failed to complete portage imports. There are internal modules for\n" ) sys.stderr.write( - "!!! portage and failure here indicates that you have a problem with your\n" + "!!!! portage and failure here indicates that you have a problem with your\n" ) sys.stderr.write( - "!!! installation of portage. Please try a rescue portage located in the ebuild\n" + "!!!! installation of portage. Please try a rescue portage located in the ebuild\n" ) sys.stderr.write( - "!!! repository under '/var/db/repos/gentoo/sys-apps/portage/files/' (default).\n" + "!!!! repository under '/var/db/repos/gentoo/sys-apps/portage/files/' (default).\n" ) sys.stderr.write( - "!!! There is a README.RESCUE file that details the steps required to perform\n" + "!!!! There is a README.RESCUE file that details the steps required to perform\n" ) - sys.stderr.write("!!! a recovery of portage.\n") + sys.stderr.write("!!!! a recovery of portage.\n") sys.stderr.write(" " + str(e) + "\n\n") raise diff --git a/repoman/lib/repoman/actions.py b/repoman/lib/repoman/actions.py index 920f0e97a..fdbbcb0d1 100644 --- a/repoman/lib/repoman/actions.py +++ b/repoman/lib/repoman/actions.py @@ -117,7 +117,7 @@ class Actions: except (IOError, OSError) as e: if e.errno == errno.ENOENT: portage.writemsg( - "!!! File Not Found:" + "!!!! File Not Found:" " --commitmsgfile='%s'\n" % self.options.commitmsgfile ) else: @@ -379,7 +379,7 @@ the whole commit message to abort. # so it's safe to ignore. del myunadded[x] elif xs[-1] == "files": - print("!!! files dir is not added! Please correct this.") + print("!!!! files dir is not added! Please correct this.") sys.exit(-1) elif xs[-1] == "Manifest": # It's a manifest... auto add @@ -389,13 +389,13 @@ the whole commit message to abort. if myunadded: print( red( - "!!! The following files are in your local tree" + "!!!! The following files are in your local tree" " but are not added to the master" ) ) print( red( - "!!! tree. Please remove them from the local tree" + "!!!! tree. Please remove them from the local tree" " or add them to the master tree." ) ) @@ -410,13 +410,13 @@ the whole commit message to abort. if self.vcs_settings.changes.has_deleted: print( red( - "!!! The following files are removed manually" + "!!!! The following files are removed manually" " from your local tree but are not" ) ) print( red( - "!!! removed from the repository." + "!!!! removed from the repository." ' Please remove them, using "%s remove [FILES]".' % self.vcs_settings.vcs ) @@ -608,7 +608,7 @@ the whole commit message to abort. ) if new_changelog is None: writemsg_level( - "!!! Updating the ChangeLog failed\n", + "!!!! Updating the ChangeLog failed\n", level=logging.ERROR, noiselevel=-1, ) @@ -632,7 +632,7 @@ the whole commit message to abort. broken_changelog_manifests.append(x) if myautoadd: - print(">>> Auto-Adding missing Manifest/ChangeLog file(s)...") + print(">>>> Auto-Adding missing Manifest/ChangeLog file(s)...") self.vcs_settings.changes.add_items(myautoadd) myupdates += myautoadd return myupdates, broken_changelog_manifests @@ -660,7 +660,7 @@ the whole commit message to abort. pass if retval != os.EX_OK: writemsg_level( - "!!! Exiting on %s (shell) " + "!!!! Exiting on %s (shell) " "error code: %s\n" % (self.vcs_settings.vcs, retval), level=logging.ERROR, noiselevel=-1, @@ -696,7 +696,7 @@ the whole commit message to abort. pass if retval != os.EX_OK: writemsg_level( - "!!! Exiting on %s (shell) " + "!!!! Exiting on %s (shell) " "error code: %s\n" % (self.vcs_settings.vcs, retval), level=logging.ERROR, noiselevel=-1, @@ -720,8 +720,8 @@ the whole commit message to abort. continue gpgsign(manifest_path, self.repoman_settings, self.options) except portage.exception.PortageException as e: - portage.writemsg("!!! %s\n" % str(e)) - portage.writemsg("!!! Disabled FEATURES='sign'\n") + portage.writemsg("!!!! %s\n" % str(e)) + portage.writemsg("!!!! Disabled FEATURES='sign'\n") self.repo_settings.sign_manifests = False def msg_prefix(self): diff --git a/repoman/lib/repoman/gpg.py b/repoman/lib/repoman/gpg.py index 10e884e52..9bed52606 100644 --- a/repoman/lib/repoman/gpg.py +++ b/repoman/lib/repoman/gpg.py @@ -57,7 +57,7 @@ def gpgsign(filename, repoman_settings, options): os.rename(filename + ".asc", filename) else: raise portage.exception.PortageException( - "!!! gpg exited with '" + str(rValue) + "' status" + "!!!! gpg exited with '" + str(rValue) + "' status" ) diff --git a/repoman/lib/repoman/modules/commit/manifest.py b/repoman/lib/repoman/modules/commit/manifest.py index e282ad406..bee80effa 100644 --- a/repoman/lib/repoman/modules/commit/manifest.py +++ b/repoman/lib/repoman/modules/commit/manifest.py @@ -48,14 +48,14 @@ class Manifest: except portage.exception.PermissionDenied as e: self.generated_manifest = False writemsg_level( - "!!! Permission denied: '%s'\n" % (e,), + "!!!! Permission denied: '%s'\n" % (e,), level=logging.ERROR, noiselevel=-1, ) if not self.generated_manifest: writemsg_level( - "!!! Unable to generate manifest for '%s'.\n" % (checkdir,), + "!!!! Unable to generate manifest for '%s'.\n" % (checkdir,), level=logging.ERROR, noiselevel=-1, ) diff --git a/repoman/lib/repoman/modules/vcs/cvs/status.py b/repoman/lib/repoman/modules/vcs/cvs/status.py index 0d131c75a..71570bf24 100644 --- a/repoman/lib/repoman/modules/vcs/cvs/status.py +++ b/repoman/lib/repoman/modules/vcs/cvs/status.py @@ -94,11 +94,11 @@ class Status: continue logging.error( red( - "!!! Please fix the following issues reported " + "!!!! Please fix the following issues reported " "from cvs: %s" % green("(U,P,M,A,R,D are ok)") ) ) - logging.error(red("!!! Note: This is a pretend/no-modify pass...")) + logging.error(red("!!!! Note: This is a pretend/no-modify pass...")) logging.error(out) sys.exit(1) elif line[0] in "UP": @@ -112,7 +112,7 @@ class Status: else: retval = os.system("cvs update " + " ".join(myupdates)) if retval != os.EX_OK: - logging.fatal("!!! cvs exited with an error. Terminating.") + logging.fatal("!!!! cvs exited with an error. Terminating.") sys.exit(retval) return False diff --git a/repoman/lib/repoman/modules/vcs/git/changes.py b/repoman/lib/repoman/modules/vcs/git/changes.py index 3430cf3ec..da3a87c55 100644 --- a/repoman/lib/repoman/modules/vcs/git/changes.py +++ b/repoman/lib/repoman/modules/vcs/git/changes.py @@ -120,7 +120,7 @@ class Changes(ChangesBase): retval = spawn(update_index_cmd, env=os.environ) if retval != os.EX_OK: writemsg_level( - "!!! Exiting on %s (shell) " + "!!!! Exiting on %s (shell) " "error code: %s\n" % (self.vcs_settings.vcs, retval), level=logging.ERROR, noiselevel=-1, diff --git a/repoman/lib/repoman/modules/vcs/svn/status.py b/repoman/lib/repoman/modules/vcs/svn/status.py index 2e6ee927d..82ac29f68 100644 --- a/repoman/lib/repoman/modules/vcs/svn/status.py +++ b/repoman/lib/repoman/modules/vcs/svn/status.py @@ -111,11 +111,11 @@ class Status: continue logging.error( red( - "!!! Please fix the following issues reported " + "!!!! Please fix the following issues reported " "from cvs: %s" % green("(U,P,M,A,R,D are ok)") ) ) - logging.error(red("!!! Note: This is a pretend/no-modify pass...")) + logging.error(red("!!!! Note: This is a pretend/no-modify pass...")) logging.error(out) sys.exit(1) elif line[8] == "*": @@ -129,7 +129,7 @@ class Status: else: retval = os.system("svn update " + " ".join(myupdates)) if retval != os.EX_OK: - logging.fatal("!!! svn exited with an error. Terminating.") + logging.fatal("!!!! svn exited with an error. Terminating.") sys.exit(retval) return False diff --git a/repoman/lib/repoman/scanner.py b/repoman/lib/repoman/scanner.py index 890950c65..f4c71c9a2 100644 --- a/repoman/lib/repoman/scanner.py +++ b/repoman/lib/repoman/scanner.py @@ -456,7 +456,7 @@ class Scanner: # Do not try to do any more QA checks on this package since missing # metadata leads to false positives for several checks, and false # positives confuse users. - # logging.debug("\t>>> Continuing") + # logging.debug("\t>>>> Continuing") break logging.debug("Finished ebuild plugin loop, continuing...") @@ -480,5 +480,5 @@ class Scanner: logging.debug("\tRunning function: %s", func) _continue = func(**self.set_func_kwargs(mod, dynamic_data)) if _continue: - # logging.debug("\t>>> Continuing") + # logging.debug("\t>>>> Continuing") break -- 2.33.0