portage.git
14 years agoDon't regenerate GNU Info if the dir contains a .keepinfodir file, bug 257260.
Ulrich Mueller [Fri, 3 Sep 2010 17:33:41 +0000 (19:33 +0200)]
Don't regenerate GNU Info if the dir contains a .keepinfodir file, bug 257260.

14 years agoMake the "MASKED PACKAGES" section of the emerge man page refer to
Zac Medico [Sun, 5 Sep 2010 09:39:35 +0000 (02:39 -0700)]
Make the "MASKED PACKAGES" section of the emerge man page refer to
package.accept_keywords instead of package.keywords.

14 years agoFix depgraph._wrapped_select_pkg_highest_available_imp() to check
Zac Medico [Sun, 5 Sep 2010 09:18:36 +0000 (02:18 -0700)]
Fix depgraph._wrapped_select_pkg_highest_available_imp() to check
USE settings for installed packages when --newuse is enabled.

14 years agoUse lazy imports for CacheError and OrderedDict in the base portage
Zac Medico [Sun, 5 Sep 2010 08:47:20 +0000 (01:47 -0700)]
Use lazy imports for CacheError and OrderedDict in the base portage
module.

14 years agoAdd a more generic AbstractEbuildProcess._elog() method to replace
Zac Medico [Sun, 5 Sep 2010 08:19:32 +0000 (01:19 -0700)]
Add a more generic AbstractEbuildProcess._elog() method to replace
the existing _eerror() method.

14 years agoMake EbuildPhase._elog() use the NOCOLOR variable from self.settings,
Zac Medico [Sun, 5 Sep 2010 07:56:44 +0000 (00:56 -0700)]
Make EbuildPhase._elog() use the NOCOLOR variable from self.settings,
so presence of color in the log file is consistent.

14 years agoTake the code which displays ebuild information before pkg_setup,
Zac Medico [Sun, 5 Sep 2010 07:28:49 +0000 (00:28 -0700)]
Take the code which displays ebuild information before pkg_setup,
and move it from ebuild.sh to EbuildPhase. This way we can easily
use python to extend it for bug #336019.

14 years agoRemove redundant initial os.sep argument to os.path.join() calls
Zac Medico [Sun, 5 Sep 2010 07:07:11 +0000 (00:07 -0700)]
Remove redundant initial os.sep argument to os.path.join() calls
involving EROOT.

14 years agoIn show_invalid_depstring_notice(), use normal Package attributes
Zac Medico [Sun, 5 Sep 2010 06:59:13 +0000 (23:59 -0700)]
In show_invalid_depstring_notice(), use normal Package attributes
instead of the old Task.__getitem__() approach that relies on
the values inside the hash key.

14 years agoIn AbstractEbuildProcess._start(), verify that PORTAGE_BUILDIR
Zac Medico [Sun, 5 Sep 2010 06:23:54 +0000 (23:23 -0700)]
In AbstractEbuildProcess._start(), verify that PORTAGE_BUILDIR
exists and bail out if necessary.

14 years agoAdd scheduler._init_installed_graph() and _destroy_installed_graph()
Zac Medico [Sun, 5 Sep 2010 05:47:42 +0000 (22:47 -0700)]
Add scheduler._init_installed_graph() and _destroy_installed_graph()
methods and use them to free memory when calling _calc_resume_list()
for emerge --keep-going.

14 years agoRefere to package.accept_keywords instead of package.keywords in
Zac Medico [Sun, 5 Sep 2010 00:09:31 +0000 (17:09 -0700)]
Refere to package.accept_keywords instead of package.keywords in
the release note about emerge --autounmask.

14 years agoIgnore build-time blockers from DEPEND in
Zac Medico [Sat, 4 Sep 2010 23:39:13 +0000 (16:39 -0700)]
Ignore build-time blockers from DEPEND in
BlockerDB.findInstalledBlockers(), since the
given package should be built already.

14 years agoAdd a Scheduler._frozen_config attribute that will be useful for
Zac Medico [Sat, 4 Sep 2010 23:00:36 +0000 (16:00 -0700)]
Add a Scheduler._frozen_config attribute that will be useful for
dependency calculations related to aggressive parallelization
(bug #279623). The FakeVartree instances are shared with the
existing BlockerDB instances.

14 years agouse EROOT with NEWS_LIB_PATH
Fabian Groffen [Sat, 4 Sep 2010 18:24:43 +0000 (20:24 +0200)]
use EROOT with NEWS_LIB_PATH

14 years agouse EROOT with WORLD_SETS_FILE
Fabian Groffen [Sat, 4 Sep 2010 18:17:42 +0000 (20:17 +0200)]
use EROOT with WORLD_SETS_FILE

14 years agoMerge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Fabian Groffen [Sat, 4 Sep 2010 18:11:31 +0000 (20:11 +0200)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage

14 years agoDon't set _, which is reserved for portage.localization._().
Arfrever Frehtes Taifersar Arahesis [Sat, 4 Sep 2010 18:10:50 +0000 (20:10 +0200)]
Don't set _, which is reserved for portage.localization._().

14 years agoMerge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Fabian Groffen [Sat, 4 Sep 2010 18:08:53 +0000 (20:08 +0200)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage

14 years agouse EROOT with WORLD_FILE
Fabian Groffen [Sat, 4 Sep 2010 18:08:35 +0000 (20:08 +0200)]
use EROOT with WORLD_FILE

14 years agoRemove redundant writemsg_stdout() call in search.output() which causes
Zac Medico [Sat, 4 Sep 2010 17:59:10 +0000 (10:59 -0700)]
Remove redundant writemsg_stdout() call in search.output() which causes
duplicate emerge --search output when package sets are matched.

14 years agouse EROOT with CACHE_PATH
Fabian Groffen [Sat, 4 Sep 2010 17:57:53 +0000 (19:57 +0200)]
use EROOT with CACHE_PATH

14 years agouse EROOT with VDB_PATH
Fabian Groffen [Sat, 4 Sep 2010 17:57:34 +0000 (19:57 +0200)]
use EROOT with VDB_PATH

14 years agouse EROOT with VDB_PATH
Fabian Groffen [Sat, 4 Sep 2010 17:43:53 +0000 (19:43 +0200)]
use EROOT with VDB_PATH

14 years agofix comments to match latest intentions in the code
Fabian Groffen [Sat, 4 Sep 2010 17:21:21 +0000 (19:21 +0200)]
fix comments to match latest intentions in the code

14 years agoFix typo.
Arfrever Frehtes Taifersar Arahesis [Sat, 4 Sep 2010 16:53:26 +0000 (18:53 +0200)]
Fix typo.

14 years agoIn BinpkgExtractorAsync, add -q to bzip2 opts, in order to avoid
Zac Medico [Sat, 4 Sep 2010 09:02:29 +0000 (02:02 -0700)]
In BinpkgExtractorAsync, add -q to bzip2 opts, in order to avoid
"trailing garbage after EOF ignored" warning messages due to xpak
trailer.

14 years agoReplace svn-trunk with VERSION in doc/fragment/version, for use as a v2.2_rc75
Zac Medico [Sat, 4 Sep 2010 06:51:31 +0000 (23:51 -0700)]
Replace svn-trunk with VERSION in doc/fragment/version, for use as a
sed template as is done with the man page headers.

14 years agoAdd missing portage import in portage.locks.
Zac Medico [Sat, 4 Sep 2010 06:35:47 +0000 (23:35 -0700)]
Add missing portage import in portage.locks.

14 years agoIn the short timeout test for QueueScheduler.run(), assert that the
Zac Medico [Sat, 4 Sep 2010 06:25:24 +0000 (23:25 -0700)]
In the short timeout test for QueueScheduler.run(), assert that the
subprocess has stopped.

14 years agoAdd back PortageException handler inside mod_mail_summary.finalize()
Zac Medico [Sat, 4 Sep 2010 06:16:55 +0000 (23:16 -0700)]
Add back PortageException handler inside mod_mail_summary.finalize()
since portage.mail.send_mail() can raise this exception.

14 years agoMake ebuild-ipc.py call portage._disable_legacy_globals() since it
Zac Medico [Sat, 4 Sep 2010 06:00:55 +0000 (23:00 -0700)]
Make ebuild-ipc.py call portage._disable_legacy_globals() since it
doesn't need any of that stuff.

14 years agoMake portage.locks avoid importing the portage.output module when in
Zac Medico [Sat, 4 Sep 2010 05:51:59 +0000 (22:51 -0700)]
Make portage.locks avoid importing the portage.output module when in
quiet mode. This is one less import triggered by ebuild-ipc.py, which
should be as lightweight as possible.

14 years agoMove registration of the close_portdbapi_caches() exit hook from the
Zac Medico [Sat, 4 Sep 2010 05:39:15 +0000 (22:39 -0700)]
Move registration of the close_portdbapi_caches() exit hook from the
portage base module to the portree module, so that the base portage
module can be imported without triggering import of the portage.process
(for atexit_register) and portage.dbapi.porttree modules. Also, don't
bother to commit the mtimedb in the exit hook since it's not really
needed.

14 years agoUse a lazy import for portage.dep instide portage.util.
Zac Medico [Sat, 4 Sep 2010 05:08:26 +0000 (22:08 -0700)]
Use a lazy import for portage.dep instide portage.util.

14 years agoMove portage.locks imports to the top of the file.
Zac Medico [Sat, 4 Sep 2010 04:56:48 +0000 (21:56 -0700)]
Move portage.locks imports to the top of the file.

14 years agoAdjust AlarmSignal.unregister() call in ebuild-ipc.
Zac Medico [Sat, 4 Sep 2010 01:26:57 +0000 (18:26 -0700)]
Adjust AlarmSignal.unregister() call in ebuild-ipc.

14 years agoUse AlarmSignal for timout handling in mod_mail_summary.finalize().
Zac Medico [Sat, 4 Sep 2010 01:19:16 +0000 (18:19 -0700)]
Use AlarmSignal for timout handling in mod_mail_summary.finalize().

14 years agoMake AlarmSignal._signal_handler() restore the default SIGALRM
Zac Medico [Sat, 4 Sep 2010 01:11:00 +0000 (18:11 -0700)]
Make AlarmSignal._signal_handler() restore the default SIGALRM
handler.

14 years agoUse AlarmSignal for timeout handling in elog_process().
Zac Medico [Sat, 4 Sep 2010 01:05:12 +0000 (18:05 -0700)]
Use AlarmSignal for timeout handling in elog_process().

14 years agoFix breakage from previous commit.
Zac Medico [Sat, 4 Sep 2010 01:02:29 +0000 (18:02 -0700)]
Fix breakage from previous commit.

14 years agoMove AlarmSignal.unregister() call to a better place in action_sync().
Zac Medico [Sat, 4 Sep 2010 00:50:53 +0000 (17:50 -0700)]
Move AlarmSignal.unregister() call to a better place in action_sync().

14 years agoUse AlarmSignal for alarm timeout in action_sync().
Zac Medico [Sat, 4 Sep 2010 00:47:22 +0000 (17:47 -0700)]
Use AlarmSignal for alarm timeout in action_sync().

14 years agoMake AlarmSignal.register() require a time parameter and pass it to
Zac Medico [Sat, 4 Sep 2010 00:23:08 +0000 (17:23 -0700)]
Make AlarmSignal.register() require a time parameter and pass it to
signal.alarm().

14 years agoAdd AlarmSignal.register() and unregister() classmethods in order to
Zac Medico [Sat, 4 Sep 2010 00:11:03 +0000 (17:11 -0700)]
Add AlarmSignal.register() and unregister() classmethods in order to
handle interaction with the signal module.

14 years agoAdd a test case for intentionally short timeout with QueueScheduler.run().
Zac Medico [Fri, 3 Sep 2010 22:39:15 +0000 (15:39 -0700)]
Add a test case for intentionally short timeout with QueueScheduler.run().

14 years agoAdd support for a timeout argument to QueueScheduler.run() and
Zac Medico [Fri, 3 Sep 2010 21:23:58 +0000 (14:23 -0700)]
Add support for a timeout argument to QueueScheduler.run() and
use it in IpcDaemonTestCase to implement a 40 second timeout
in test cases.

14 years agoBug #335777 - Add a 40 second timeout in ebuild-ipc.py, so that if an
Zac Medico [Fri, 3 Sep 2010 21:17:12 +0000 (14:17 -0700)]
Bug #335777 - Add a 40 second timeout in ebuild-ipc.py, so that if an
orphan is left for any reason then it will exit with an error message
instead of hanging indefinitely.

14 years agoAccount for package.use.force/mask in previous commit.
Zac Medico [Fri, 3 Sep 2010 21:11:07 +0000 (14:11 -0700)]
Account for package.use.force/mask in previous commit.

14 years agoautounmask: Don't print masked/forced flags in "required by" comments
Sebastian Luther [Fri, 3 Sep 2010 20:42:05 +0000 (22:42 +0200)]
autounmask: Don't print masked/forced flags in "required by" comments

14 years agoOld "Change USE" message: Don't screw up if the highest version is masked and parent...
Sebastian Luther [Fri, 3 Sep 2010 20:23:11 +0000 (22:23 +0200)]
Old "Change USE" message: Don't screw up if the highest version is masked and parent changes exist

14 years agoMake emerge display a warning message if FEATURES contains keepwork
Zac Medico [Fri, 3 Sep 2010 11:05:54 +0000 (04:05 -0700)]
Make emerge display a warning message if FEATURES contains keepwork
or keeptemp since these features may confuse users and lead them
to report invalid bugs.

14 years agoFix VDB_PATH handling in ebuild(1) to join with EROOT.
Zac Medico [Fri, 3 Sep 2010 07:49:10 +0000 (00:49 -0700)]
Fix VDB_PATH handling in ebuild(1) to join with EROOT.

14 years agoAdd a "Delayed Evaluation of Disjunctive Dependency Choices" section
Zac Medico [Fri, 3 Sep 2010 06:21:06 +0000 (23:21 -0700)]
Add a "Delayed Evaluation of Disjunctive Dependency Choices" section
to depenency resolution documentation.

14 years agoUnify to different pieces of code that handle sandbox considerations for
Zac Medico [Fri, 3 Sep 2010 01:54:47 +0000 (18:54 -0700)]
Unify to different pieces of code that handle sandbox considerations for
TEMP, TMP, and TMPDIR variables.

14 years agoFix whenago() to show times as integers instead of floats. v2.2_rc74
Zac Medico [Thu, 2 Sep 2010 22:08:35 +0000 (15:08 -0700)]
Fix whenago() to show times as integers instead of floats.

14 years agoAdd backward compatible config.pmaskdict and punmaskdict properties
Zac Medico [Thu, 2 Sep 2010 21:33:48 +0000 (14:33 -0700)]
Add backward compatible config.pmaskdict and punmaskdict properties
that return copies of the corresponding MaskManager attributes. This
is safe since MaskManager now stores the values in these dicts as
immutable tuples.

14 years agoMake MaskManager use tuples for values inside _pmaskdict and
Zac Medico [Thu, 2 Sep 2010 21:32:12 +0000 (14:32 -0700)]
Make MaskManager use tuples for values inside _pmaskdict and
_punmaskdict.

14 years agoImplement ExtendedAtomDict.copy().
Zac Medico [Thu, 2 Sep 2010 21:31:35 +0000 (14:31 -0700)]
Implement ExtendedAtomDict.copy().

14 years agoBug #335620 - Add backward compatible config.virtuals and virts_p
Zac Medico [Thu, 2 Sep 2010 21:10:51 +0000 (14:10 -0700)]
Bug #335620 - Add backward compatible config.virtuals and virts_p
properties, and trigger a DeprecationWarning if they are accessed.

14 years agoPrevent local x variable in ebuild_main() from showing up in
Zac Medico [Thu, 2 Sep 2010 20:15:10 +0000 (13:15 -0700)]
Prevent local x variable in ebuild_main() from showing up in
environment.bz2.

14 years agoPrevent the local filter_opts variable in filter_readonly_variables()
Zac Medico [Thu, 2 Sep 2010 20:06:08 +0000 (13:06 -0700)]
Prevent the local filter_opts variable in filter_readonly_variables()
from being saved in environment.bz2.

14 years agoFilter more variables that don't need to end up in environment.bz2.
Zac Medico [Thu, 2 Sep 2010 19:56:24 +0000 (12:56 -0700)]
Filter more variables that don't need to end up in environment.bz2.

14 years agoFix breakage for python3 from trying to mix bytes and unicode in
Zac Medico [Thu, 2 Sep 2010 19:54:50 +0000 (12:54 -0700)]
Fix breakage for python3 from trying to mix bytes and unicode in
load_default_config().

14 years agoAdd a _SANDBOX_COMPAT_LEVEL constant which will be used to enable
Zac Medico [Thu, 2 Sep 2010 19:24:02 +0000 (12:24 -0700)]
Add a _SANDBOX_COMPAT_LEVEL constant which will be used to enable
a workaround for bug #288863 in the stable branch.

14 years agoWhen signaling successful exit from an ebuild phase via ebuild-ipc,
Zac Medico [Thu, 2 Sep 2010 19:13:59 +0000 (12:13 -0700)]
When signaling successful exit from an ebuild phase via ebuild-ipc,
first check for non-empty $SANDBOX_LOG and signal unsuccessful exit
if necessary. This fixes an issue with phases being treated as
successful even when there were sandbox violations.

14 years agoOmit dotfiles in /usr/share/portage/config/sets (e.g. vim swapfiles).
Michał Górny [Thu, 2 Sep 2010 18:31:12 +0000 (20:31 +0200)]
Omit dotfiles in /usr/share/portage/config/sets (e.g. vim swapfiles).

14 years agoBug #248603 - Add a _ENABLE_REPO_NAME_WARN constant that's used to
Zac Medico [Thu, 2 Sep 2010 18:00:56 +0000 (11:00 -0700)]
Bug #248603 - Add a _ENABLE_REPO_NAME_WARN constant that's used to
disable warnings about "missing repo_name entries" for the stable
branch.

14 years agoHide the portageq list_preserved_libs command when _ENABLE_PRESERVE_LIBS
Zac Medico [Thu, 2 Sep 2010 17:19:05 +0000 (10:19 -0700)]
Hide the portageq list_preserved_libs command when _ENABLE_PRESERVE_LIBS
is False.

14 years agoBug #335670 - Make copyright header in herdbase.py refer to "GPL 2 or later"
Zac Medico [Thu, 2 Sep 2010 14:11:55 +0000 (07:11 -0700)]
Bug #335670 - Make copyright header in herdbase.py refer to "GPL 2 or later"
instead of just GPL-2.

14 years agoMake repoman disable FEATURES=unknown-features-warn for the profiles
Zac Medico [Thu, 2 Sep 2010 07:53:28 +0000 (00:53 -0700)]
Make repoman disable FEATURES=unknown-features-warn for the profiles
it's checking, since it's confusing if these warnings are displayed
without the user being told which profile they come from.

14 years agoAdjust EbuildIpcDaemon pickle read and write code in order to ensure
Zac Medico [Thu, 2 Sep 2010 07:05:06 +0000 (00:05 -0700)]
Adjust EbuildIpcDaemon pickle read and write code in order to ensure
atomc reading and writing of whole pickles. This should be the least
error-prone approach, given the non-blocking nature of the streams.

14 years agoBug #335642 - Also make show_masked_packages() display to stdout since
Zac Medico [Thu, 2 Sep 2010 05:32:15 +0000 (22:32 -0700)]
Bug #335642 - Also make show_masked_packages() display to stdout since
depgraph._show_unsatisfied_dep() calls it.

14 years agoBug #335642 - Revert depgraph._show_unsatisfied_dep() to display to
Zac Medico [Thu, 2 Sep 2010 05:22:52 +0000 (22:22 -0700)]
Bug #335642 - Revert depgraph._show_unsatisfied_dep() to display to
stdout, so that app-portage/autounmask continues to work. Note that
depgraph.display_problems() temporarily overrides the stdout stream
to point to stderr, so mask messages shown there continue to go
to stderr. Maybe the emerge --autounmask will eventually make
app-portage/autounmask obsolete, but for now we should support both
approaches since emerge --autounmask is relatively experimental.

14 years agoRemove reference to nonexistent _unlock_builddir() method in v2.2_rc73
Zac Medico [Wed, 1 Sep 2010 18:09:47 +0000 (11:09 -0700)]
Remove reference to nonexistent _unlock_builddir() method in
EbuildPhase._env_extractor_exit().

14 years agoAdd support to config.setcpv() for caching USE settings from built
Zac Medico [Wed, 1 Sep 2010 17:27:14 +0000 (10:27 -0700)]
Add support to config.setcpv() for caching USE settings from built
packages, and use it for evaluating conditional USE deps in atoms
passed via IPC to helpers like has_version and best_version.

Since the pickled object that contains the IPC command will no longer
contain USE, it should solve cases that have been reported in which
large USE strings trigger poor handling of non-blocking read in
pickle.load():

Traceback (most recent call last):
  File "/usr/bin/emerge", line 43, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1649, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 437, in action_build
    retval = mergetask.merge()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1033, in merge
    rval = self._merge()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1349, in _merge
    self._main_loop()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1498, in _main_loop
    self._poll_loop()
  File "/usr/lib64/portage/pym/_emerge/PollScheduler.py", line 139, in _poll_loop
    handler(f, event)
  File "/usr/lib64/portage/pym/_emerge/EbuildIpcDaemon.py", line 36, in _input_handler
    obj = pickle.load(self._files.pipe_in)
  File "/usr/lib64/python2.6/pickle.py", line 1370, in load
    return Unpickler(file).load()
  File "/usr/lib64/python2.6/pickle.py", line 858, in load
    dispatch[key](self)
  File "/usr/lib64/python2.6/pickle.py", line 1195, in load_setitem
    value = stack.pop()
IndexError: pop from empty list

14 years agoMake atomic directory creation code in dblink.mergeme() use equivalent
Zac Medico [Wed, 1 Sep 2010 16:00:48 +0000 (09:00 -0700)]
Make atomic directory creation code in dblink.mergeme() use equivalent
error handling to portage.util.ensure_dirs().

14 years agoAdd a note to the ensure_dirs() docstring about atomic directory creation.
Zac Medico [Wed, 1 Sep 2010 15:51:41 +0000 (08:51 -0700)]
Add a note to the ensure_dirs() docstring about atomic directory creation.

14 years agoMake ensure_dirs() use os.path.isdir() to verify that the directory
Zac Medico [Wed, 1 Sep 2010 15:42:15 +0000 (08:42 -0700)]
Make ensure_dirs() use os.path.isdir() to verify that the directory
exists when EISDIR is raised, since this is abnormal behavior.

14 years agoIn ensure_dirs(), only call apply_permissions() when keyword arguments
Zac Medico [Wed, 1 Sep 2010 15:37:11 +0000 (08:37 -0700)]
In ensure_dirs(), only call apply_permissions() when keyword arguments
for it are given.

14 years agoMake more doebuild() commands exempt from _check_temp_dir().
Zac Medico [Wed, 1 Sep 2010 14:23:28 +0000 (07:23 -0700)]
Make more doebuild() commands exempt from _check_temp_dir().

14 years agoIn doebuild(), don't call _check_temp_dir() for pseudo-phases such as
Zac Medico [Wed, 1 Sep 2010 09:32:28 +0000 (02:32 -0700)]
In doebuild(), don't call _check_temp_dir() for pseudo-phases such as
'manifest' and 'digest' that don't require a temp dir.

14 years agoIn dblink.mergeme(), handle EISDIR which can be raised from mkdir calls
Zac Medico [Wed, 1 Sep 2010 06:00:53 +0000 (23:00 -0700)]
In dblink.mergeme(), handle EISDIR which can be raised from mkdir calls
on FreeBSD (see bug #187518).

14 years agoFix WorldSelectedSet._load2() to always return a list instead of a
Zac Medico [Wed, 1 Sep 2010 05:31:24 +0000 (22:31 -0700)]
Fix WorldSelectedSet._load2() to always return a list instead of a
set for nonatoms so that we don't trigger 'TypeError: can only
concatenate list (not "set") to list'.

14 years agoFix depgraph._serialize_tasks() so that portage-9999 is always promoted
Zac Medico [Wed, 1 Sep 2010 05:12:44 +0000 (22:12 -0700)]
Fix depgraph._serialize_tasks() so that portage-9999 is always promoted
to the front of the merge list when it is reinstalled.

14 years agoFix portage to create directories atomically in fast build.
David James [Wed, 14 Jul 2010 00:03:21 +0000 (17:03 -0700)]
Fix portage to create directories atomically in fast build.

If multiple ebuild processes create the same directory, portage should not
exit with an error message. Instead we should just be okay with the fact
that another process created the directory.

This is only necessary for fast build because we eliminate the giant lock that
surrounds package merges.

TEST=Create fresh chroot and do full build from source start to finish
BUG=none

Review URL: http://codereview.chromium.org/2998002

14 years agoUpdate portage to create directories atomically.
David James [Fri, 13 Aug 2010 20:39:17 +0000 (13:39 -0700)]
Update portage to create directories atomically.

Portage should use the ensure_dirs function instead of os.makedirs to create
directories, because this function ensures atomicity. It prevents failures
when more than one process tries to create the same directory.

This fixes a crash bug reported by msb:
[...]
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 3258, in _merge
    self.vartree.dbapi._bump_mtime(self.mycpv)
  File "/usr/lib64/portage/pym/portage/dbapi/vartree.py", line 152, in _bump_mtime
    os.makedirs(catdir)
  File "/usr/lib64/portage/pym/portage/__init__.py", line 210, in __call__
    rval = self._func(*wrapped_args, **wrapped_kwargs)
  File "/usr/lib64/python2.6/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 17] File exists: '/home/msb/trunk/src/build/images/x86-generic/0.8.63.2010_08_03_1844-a1/rootfs//var/db/pkg/x11-proto'

BUG=chromium-os:5366
TEST=build_packages && build_image

Review URL: http://codereview.chromium.org/3113014

14 years agoAdd comments about consumers of FakeVardbapi.getpath().
Zac Medico [Tue, 31 Aug 2010 19:18:49 +0000 (12:18 -0700)]
Add comments about consumers of FakeVardbapi.getpath().

14 years agoSimplify the vartree constructor usage in config.getvirtuals().
Zac Medico [Tue, 31 Aug 2010 19:16:02 +0000 (12:16 -0700)]
Simplify the vartree constructor usage in config.getvirtuals().

14 years agoUse self.dbapi.getpath() to simplify code in vartree.get_provide().
Zac Medico [Tue, 31 Aug 2010 19:13:45 +0000 (12:13 -0700)]
Use self.dbapi.getpath() to simplify code in vartree.get_provide().

14 years agoBug #335439 - Fix "AttributeError: 'vartree' object has no attribute
Zac Medico [Tue, 31 Aug 2010 19:08:27 +0000 (12:08 -0700)]
Bug #335439 - Fix "AttributeError: 'vartree' object has no attribute
'_eroot'" in vartree.get_provide().

14 years agoWhen portage updates itself and the new version either inherits
Zac Medico [Tue, 31 Aug 2010 18:45:28 +0000 (11:45 -0700)]
When portage updates itself and the new version either inherits
git.eclass or has 9999 in its version, trigger the 'use copy of current
sources for install, then restart portage' routine. This is required
since with the live git portage-9999 ebuild we can't use the version
to detect incompatible changes to ebuild.sh. This issue was noticed
due to recent versions of ebuild.sh expecting PORTAGE_BZIP2_COMMAND to
be set, causing incompatibility with installed portage-9999 instances.

14 years agoFix ResolverPlayground.cleanup() to cleanup the portdbapi instance.
Zac Medico [Tue, 31 Aug 2010 16:54:14 +0000 (09:54 -0700)]
Fix ResolverPlayground.cleanup() to cleanup the portdbapi instance.

14 years agoAdd a fallback PORTAGE_BZIP2_COMMAND setting in ebuild.sh, as a
Zac Medico [Tue, 31 Aug 2010 15:10:29 +0000 (08:10 -0700)]
Add a fallback PORTAGE_BZIP2_COMMAND setting in ebuild.sh, as a
workaround for portage-9999 users.

14 years agoShow PORTAGE_BZIP2_COMMAND and PORTAGE_BUNZIP2_COMMAND in emerge --info,
Zac Medico [Tue, 31 Aug 2010 06:25:29 +0000 (23:25 -0700)]
Show PORTAGE_BZIP2_COMMAND and PORTAGE_BUNZIP2_COMMAND in emerge --info,
in case it triggers mysterious unpack() issues or something.

14 years agoFix bugs in features_set._prune_overrides() and add another test case.
Zac Medico [Tue, 31 Aug 2010 06:06:46 +0000 (23:06 -0700)]
Fix bugs in features_set._prune_overrides() and add another test case.

14 years agoAdd testcase to check that features_set._prune_overrides() is working
Zac Medico [Tue, 31 Aug 2010 05:00:44 +0000 (22:00 -0700)]
Add testcase to check that features_set._prune_overrides() is working
correctly.

14 years agoBug #335340 - Use PORTAGE_BUNZIP2_COMMAND and PORTAGE_BZIP2_COMMAND in
Zac Medico [Tue, 31 Aug 2010 04:14:31 +0000 (21:14 -0700)]
Bug #335340 - Use PORTAGE_BUNZIP2_COMMAND and PORTAGE_BZIP2_COMMAND in
ebuild.sh where appropriate:
* unpack()
* environment.bz2 compression

14 years agoBug #335340 - Add support for PORTAGE_BZIP2_COMMAND and
Zac Medico [Tue, 31 Aug 2010 03:55:11 +0000 (20:55 -0700)]
Bug #335340 - Add support for PORTAGE_BZIP2_COMMAND and
PORTAGE_BUNZIP2_COMMAND settings in make.conf. This only adds support
for binary packages, since that's where pbzip2 can provide the most
benefit in common cases.

14 years agoBug #326561 - Implement FEATURES=unknown-features-filter. This is not
Zac Medico [Tue, 31 Aug 2010 01:43:21 +0000 (18:43 -0700)]
Bug #326561 - Implement FEATURES=unknown-features-filter. This is not
enabled by default now, but it may be in the future, depending on feedback
from unknown-features-warn.