# false alarms due to INHERITED in /var/db/pkg being outdated
# in comparison the the eclasses from the portage tree.
if ! hasq $ECLASS $INHERITED; then
- eqawarn "QA Notice: ECLASS '$ECLASS' inherited illegally in $CATEGORY/$PF"
+ eqawarn "QA Notice: ECLASS '$ECLASS' inherited illegally in $CATEGORY/$PF $EBUILD_PHASE"
fi
fi
# Internal logging function, don't use this in ebuilds
elog_base() {
- local messagetype
+ local line messagetype
[ -z "${1}" -o -z "${T}" -o ! -d "${T}/logging" ] && return 1
case "${1}" in
INFO|WARN|ERROR|LOG|QA)
return 1
;;
esac
- echo -ne "${messagetype} $*\n\0" >> "${T}/logging/${EBUILD_PHASE:-other}"
+ save_IFS
+ IFS=$'\n'
+ for line in $* ; do
+ echo -ne "${messagetype} ${line}\n" >> \
+ "${T}/logging/${EBUILD_PHASE:-other}"
+ done
+ restore_IFS
return 0
}
eqawarn() {
elog_base QA "$*"
[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
- vecho -e " ${WARN}*${NORMAL} $*" >&2
+ save_IFS
+ IFS=$'\n'
+ local line
+ for line in $* ; do
+ vecho -e " ${WARN}*${NORMAL} ${line}" >&2
+ done
+ restore_IFS
LAST_E_CMD="eqawarn"
return 0
}
elog() {
elog_base LOG "$*"
[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
- echo -e " ${GOOD}*${NORMAL} $*"
+ save_IFS
+ IFS=$'\n'
+ local line
+ for line in $* ; do
+ echo -e " ${GOOD}*${NORMAL} ${line}"
+ done
+ restore_IFS
LAST_E_CMD="elog"
return 0
}
einfo() {
elog_base INFO "$*"
[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
- echo -e " ${GOOD}*${NORMAL} $*"
+ save_IFS
+ IFS=$'\n'
+ local line
+ for line in $* ; do
+ echo -e " ${GOOD}*${NORMAL} ${line}"
+ done
+ restore_IFS
LAST_E_CMD="einfo"
return 0
}
ewarn() {
elog_base WARN "$*"
[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
- echo -e " ${WARN}*${NORMAL} ${RC_INDENTATION}$*" >&2
+ save_IFS
+ IFS=$'\n'
+ local line
+ for line in $* ; do
+ echo -e " ${WARN}*${NORMAL} ${RC_INDENTATION}${line}" >&2
+ done
+ restore_IFS
LAST_E_CMD="ewarn"
return 0
}
eerror() {
elog_base ERROR "$*"
[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
- echo -e " ${BAD}*${NORMAL} ${RC_INDENTATION}$*" >&2
+ save_IFS
+ IFS=$'\n'
+ local line
+ for line in $* ; do
+ echo -e " ${BAD}*${NORMAL} ${RC_INDENTATION}${line}" >&2
+ done
+ restore_IFS
LAST_E_CMD="eerror"
return 0
}
f=$(<"${T}"/scanelf-ignored-LDFLAGS.log)
if [[ -n ${f} ]] ; then
vecho -ne '\a\n'
- eqawarn "QA Notice: Files built without respecting LDFLAGS have been detected"
+ eqawarn "${BAD}QA Notice: Files built without respecting LDFLAGS have been detected${NORMAL}"
eqawarn " Please include this file in your report:"
eqawarn " ${T}/scanelf-ignored-LDFLAGS.log"
eqawarn "${f}"
vecho -ne '\a\n'
sleep 1
+ else
+ rm -f "${T}"/scanelf-ignored-LDFLAGS.log
fi
fi
fi
.B PORTAGE_ELOG_MAILFROM
.TP
.B PORTAGE_ELOG_MAILSUBJECT
-Please see /etc/make.conf.example for elog documentation.
+Please see /usr/share/portage/config/make.conf.example for elog documentation.
.TP
\fBPORTAGE_FETCH_CHECKSUM_TRY_MIRRORS\fR = \fI5\fR
Number of mirrors to try when a downloaded file has an incorrect checksum.
__slots__ = ("fetchonly", "pkg",)
- _env_vars = ("FETCHCOMMAND", "GENTOO_MIRRORS", "RESUMECOMMAND")
-
def _start(self):
root_config = self.pkg.root_config
ebuild_path = portdb.findname(self.pkg.cpv)
settings = root_config.settings
- fetch_env = settings.environ()
+ fetch_env = dict(settings.iteritems())
fetch_env["PORTAGE_NICENESS"] = "0"
- for k in self._env_vars:
- v = settings.get(k)
- if v is not None:
- fetch_env[k] = v
if self.fetchonly:
fetch_env["PORTAGE_PARALLEL_FETCHONLY"] = "1"
def iterkeys(self):
return iter(self)
+ def iteritems(self):
+ for k in self:
+ yield (k, self[k])
+
+ def items(self):
+ return list(self.iteritems())
+
def __setitem__(self,mykey,myvalue):
"set a value; will be thrown away at reset() time"
if not isinstance(myvalue, str):
mydata["repository"] = self._repository_map.get(
os.path.sep.join(myebuild.split(os.path.sep)[:-3]), "")
+ mydata["INHERITED"] = ' '.join(mydata.get("_eclasses_", []))
+ mydata["_mtime_"] = st.st_mtime
+
#finally, we look at our internal cache entry and return the requested data.
- returnme = []
- for x in mylist:
- if x == "INHERITED":
- returnme.append(' '.join(mydata.get("_eclasses_", [])))
- elif x == "_mtime_":
- returnme.append(st.st_mtime)
- else:
- returnme.append(mydata.get(x,""))
+ returnme = [mydata.get(x, "") for x in mylist]
if cache_me:
if self._aux_cache_slot_dict is None:
logentries[msgfunction] = []
lastmsgtype = None
msgcontent = []
- for l in open(filename, "r").read().split("\0"):
+ for l in open(filename, "r"):
if not l:
continue
try: