* [gentoo-commits] portage r11408 - in main/branches/prefix: bin pym/_emerge pym/portage pym/portage/dbapi
@ 2008-08-14 19:16 Fabian Groffen (grobian)
0 siblings, 0 replies; only message in thread
From: Fabian Groffen (grobian) @ 2008-08-14 19:16 UTC (permalink / raw
To: gentoo-commits
Author: grobian
Date: 2008-08-14 19:16:02 +0000 (Thu, 14 Aug 2008)
New Revision: 11408
Modified:
main/branches/prefix/bin/ebuild.sh
main/branches/prefix/pym/_emerge/__init__.py
main/branches/prefix/pym/portage/__init__.py
main/branches/prefix/pym/portage/const.py
main/branches/prefix/pym/portage/dbapi/vartree.py
Log:
Merged from trunk 11391:11399
| 11392 | Remove unnecessary dict.keys() call. |
| zmedico | |
| 11393 | When testing userpriv write access in $DISTDIR, redirect the |
| zmedico | 'permission denied' error message to /dev/null. |
| 11394 | For pkg_config and pkg_info, add respective "config" and |
| zmedico | "info" values to EBUILD_PHASES. |
| 11395 | Increase Scheduler._job_delay_max to 10 seconds. |
| zmedico | |
| 11397 | In source_all_bashrcs(), only change $IFS while splitting |
| zmedico | $PROFILE_PATHS into an array, and then restore it before |
| | doing anything else. This avoids interference that can |
| | otherwise occur if code from profile.bashrc (or |
| | /etc/portage/env, be extension) needs to call any of the |
| | elog functions which use the save_IFS and restore_IFS |
| | aliases internally. |
| 11398 | Entirely disable the src_configure phase from the python |
| zmedico | side for EAPI values for which it's not supported. This |
| | avoids pointless spawning of ebuild.sh and also avoids |
| | having bashrc called during an invalid phase as reported by |
| | Arfrever. |
| 11399 | Fix ebuild(1) so that src_configure is only called for EAPIs |
| zmedico | for which it is supported. |
Modified: main/branches/prefix/bin/ebuild.sh
===================================================================
--- main/branches/prefix/bin/ebuild.sh 2008-08-14 19:07:22 UTC (rev 11407)
+++ main/branches/prefix/bin/ebuild.sh 2008-08-14 19:16:02 UTC (rev 11408)
@@ -866,10 +866,6 @@
}
dyn_configure() {
- # PREFIX HACK: just remove "prefix" from EAPI here, this file
- # currently assumes EAPI to contain a single token, and "prefix"
- # is ortogonal to all supported EAPIs here.
- hasq ${EAPI/prefix/} 0 1 2_pre1 && return 0
if [[ $PORTAGE_BUILDDIR/.configured -nt $WORKDIR ]] ; then
vecho ">>> It appears that '$PF' is already configured; skipping."
@@ -1529,13 +1525,12 @@
# source the existing profile.bashrc's.
save_IFS
IFS=$'\n'
- for x in ${PROFILE_PATHS}; do
- # Must unset it so that it doesn't mess up assumptions in the RCs.
- unset IFS
+ local path_array=($PROFILE_PATHS)
+ restore_IFS
+ for x in ${path_array[@]} ; do
[ -f "${x}/profile.bashrc" ] && qa_source "${x}/profile.bashrc"
done
- restore_IFS
-
+
# We assume if people are changing shopts in their bashrc they do so at their
# own peril. This is the ONLY non-portage bit of code that can change shopts
# without a QA violation.
Modified: main/branches/prefix/pym/_emerge/__init__.py
===================================================================
--- main/branches/prefix/pym/_emerge/__init__.py 2008-08-14 19:07:22 UTC (rev 11407)
+++ main/branches/prefix/pym/_emerge/__init__.py 2008-08-14 19:16:02 UTC (rev 11408)
@@ -77,7 +77,7 @@
import portage.util
import portage.locks
import portage.exception
-from portage.const import EPREFIX, BPREFIX, EPREFIX_LSTRIP
+from portage.const import EPREFIX, BPREFIX, EPREFIX_LSTRIP, EAPIPREFIX
from portage.data import secpass
from portage.elog.messages import eerror
from portage.util import normalize_path as normpath
@@ -2684,7 +2684,14 @@
ebuild_phases = TaskSequence(scheduler=self.scheduler)
- for phase in self._phases:
+ pkg = self.pkg
+ phases = self._phases
+ EAPIPREFIX
+ if pkg.metadata["EAPI"].replace(EAPIPREFIX, "").strip() in ("0", "1", "2_pre1"):
+ # skip src_configure
+ phases = phases[1:]
+
+ for phase in phases:
ebuild_phases.add(EbuildPhase(background=self.background,
pkg=self.pkg, phase=phase, scheduler=self.scheduler,
settings=self.settings, tree=self._tree))
@@ -8921,7 +8928,7 @@
# The load average takes some time to respond when new
# jobs are added, so we need to limit the rate of adding
# new jobs.
- self._job_delay_max = 5
+ self._job_delay_max = 10
self._job_delay_factor = 1.0
self._job_delay_exp = 1.5
self._previous_job_start_time = None
Modified: main/branches/prefix/pym/portage/__init__.py
===================================================================
--- main/branches/prefix/pym/portage/__init__.py 2008-08-14 19:07:22 UTC (rev 11407)
+++ main/branches/prefix/pym/portage/__init__.py 2008-08-14 19:16:02 UTC (rev 11408)
@@ -3221,7 +3221,7 @@
return rval
_userpriv_test_write_file_cache = {}
-_userpriv_test_write_cmd_script = "> %(file_path)s ; rval=$? ; " + \
+_userpriv_test_write_cmd_script = "touch %(file_path)s 2>/dev/null ; rval=$? ; " + \
"rm -f %(file_path)s ; exit $rval"
def _userpriv_test_write_file(settings, file_path):
@@ -4335,6 +4335,10 @@
fd_pipes=fd_pipes, returnpid=returnpid)
if retval:
return retval
+
+ if mydo == "configure" and mysettings["EAPI"] in ("0", "1", "2_pre1"):
+ return os.EX_OK
+
kwargs = actionmap[mydo]["args"]
mysettings["EBUILD_PHASE"] = mydo
_doebuild_exit_status_unlink(
@@ -4707,6 +4711,8 @@
if not eapi_is_supported(eapi):
# can't do anything with this.
raise portage.exception.UnsupportedAPIException(mycpv, eapi)
+ mysettings.pop("EAPI", None)
+ mysettings.configdict["pkg"]["EAPI"] = eapi
try:
mysettings["PORTAGE_RESTRICT"] = " ".join(flatten(
portage.dep.use_reduce(portage.dep.paren_reduce(
Modified: main/branches/prefix/pym/portage/const.py
===================================================================
--- main/branches/prefix/pym/portage/const.py 2008-08-14 19:07:22 UTC (rev 11407)
+++ main/branches/prefix/pym/portage/const.py 2008-08-14 19:16:02 UTC (rev 11408)
@@ -82,7 +82,7 @@
EBUILD_PHASES = ["setup", "unpack", "configure",
"compile", "test", "install",
"package", "preinst", "postinst","prerm", "postrm",
- "nofetch", "other"]
+ "nofetch", "config", "info", "other"]
EAPI = 1
Modified: main/branches/prefix/pym/portage/dbapi/vartree.py
===================================================================
--- main/branches/prefix/pym/portage/dbapi/vartree.py 2008-08-14 19:07:22 UTC (rev 11407)
+++ main/branches/prefix/pym/portage/dbapi/vartree.py 2008-08-14 19:16:02 UTC (rev 11408)
@@ -343,7 +343,7 @@
if not self._libs:
self.rebuild()
# Iterate over all binaries within LinkageMap.
- for obj in self._obj_properties.keys():
+ for obj in self._obj_properties:
rValue.setdefault(obj, self.findProviders(obj))
return rValue
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-08-14 19:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-14 19:16 [gentoo-commits] portage r11408 - in main/branches/prefix: bin pym/_emerge pym/portage pym/portage/dbapi Fabian Groffen (grobian)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox