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.
Zac Medico [Sat, 4 Sep 2010 06:35:47 +0000 (23:35 -0700)]
Add missing portage import in portage.locks.
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.
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.
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.
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.
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.
Zac Medico [Sat, 4 Sep 2010 05:08:26 +0000 (22:08 -0700)]
Use a lazy import for portage.dep instide portage.util.
Zac Medico [Sat, 4 Sep 2010 04:56:48 +0000 (21:56 -0700)]
Move portage.locks imports to the top of the file.
Zac Medico [Sat, 4 Sep 2010 01:26:57 +0000 (18:26 -0700)]
Adjust AlarmSignal.unregister() call in ebuild-ipc.
Zac Medico [Sat, 4 Sep 2010 01:19:16 +0000 (18:19 -0700)]
Use AlarmSignal for timout handling in mod_mail_summary.finalize().
Zac Medico [Sat, 4 Sep 2010 01:11:00 +0000 (18:11 -0700)]
Make AlarmSignal._signal_handler() restore the default SIGALRM
handler.
Zac Medico [Sat, 4 Sep 2010 01:05:12 +0000 (18:05 -0700)]
Use AlarmSignal for timeout handling in elog_process().
Zac Medico [Sat, 4 Sep 2010 01:02:29 +0000 (18:02 -0700)]
Fix breakage from previous commit.
Zac Medico [Sat, 4 Sep 2010 00:50:53 +0000 (17:50 -0700)]
Move AlarmSignal.unregister() call to a better place in action_sync().
Zac Medico [Sat, 4 Sep 2010 00:47:22 +0000 (17:47 -0700)]
Use AlarmSignal for alarm timeout in action_sync().
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().
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.
Zac Medico [Fri, 3 Sep 2010 22:39:15 +0000 (15:39 -0700)]
Add a test case for intentionally short timeout with QueueScheduler.run().
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.
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.
Zac Medico [Fri, 3 Sep 2010 21:11:07 +0000 (14:11 -0700)]
Account for package.use.force/mask in previous commit.
Sebastian Luther [Fri, 3 Sep 2010 20:42:05 +0000 (22:42 +0200)]
autounmask: Don't print masked/forced flags in "required by" comments
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
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.
Zac Medico [Fri, 3 Sep 2010 07:49:10 +0000 (00:49 -0700)]
Fix VDB_PATH handling in ebuild(1) to join with EROOT.
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.
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.
Zac Medico [Thu, 2 Sep 2010 22:08:35 +0000 (15:08 -0700)]
Fix whenago() to show times as integers instead of floats.
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.
Zac Medico [Thu, 2 Sep 2010 21:32:12 +0000 (14:32 -0700)]
Make MaskManager use tuples for values inside _pmaskdict and
_punmaskdict.
Zac Medico [Thu, 2 Sep 2010 21:31:35 +0000 (14:31 -0700)]
Implement ExtendedAtomDict.copy().
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.
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.
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.
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.
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().
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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().
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
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().
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.
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.
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.
Zac Medico [Wed, 1 Sep 2010 14:23:28 +0000 (07:23 -0700)]
Make more doebuild() commands exempt from _check_temp_dir().
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.
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).
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'.
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.
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
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
Zac Medico [Tue, 31 Aug 2010 19:18:49 +0000 (12:18 -0700)]
Add comments about consumers of FakeVardbapi.getpath().
Zac Medico [Tue, 31 Aug 2010 19:16:02 +0000 (12:16 -0700)]
Simplify the vartree constructor usage in config.getvirtuals().
Zac Medico [Tue, 31 Aug 2010 19:13:45 +0000 (12:13 -0700)]
Use self.dbapi.getpath() to simplify code in vartree.get_provide().
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().
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.
Zac Medico [Tue, 31 Aug 2010 16:54:14 +0000 (09:54 -0700)]
Fix ResolverPlayground.cleanup() to cleanup the portdbapi instance.
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.
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.
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.
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.
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
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.
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.
Zac Medico [Tue, 31 Aug 2010 00:54:34 +0000 (17:54 -0700)]
Move FEATURES=unknown-features-warn code to config.regenerate() so
that it shows warnings for unknown FEATURES settings from package.env,
and keep a record of shown warnings in config._unknown_features.
Zac Medico [Mon, 30 Aug 2010 23:46:09 +0000 (16:46 -0700)]
When _ENABLE_DYN_LINK_MAP is False, show additional --depclean help
and warnings advising use of revdep-rebuild.
Zac Medico [Mon, 30 Aug 2010 23:15:12 +0000 (16:15 -0700)]
When _ENABLE_SET_CONFIG is False, disable reading/writing of the
world_sets file in WorldSelectedSet.
Zac Medico [Mon, 30 Aug 2010 23:07:43 +0000 (16:07 -0700)]
When _ENABLE_SET_CONFIG is False, make load_default_config() create
a default hardcoded set configuration that will be used by the
upcoming 2.1.9 branch.
Zac Medico [Mon, 30 Aug 2010 21:28:28 +0000 (14:28 -0700)]
Replace the literal portage version in all man page headers with the
string 'VERSION' which can be used as a sed template at install time.
This will help avoid lots of merge conflicts since these header lines
contain both a date and a portage version.
Zac Medico [Mon, 30 Aug 2010 20:59:01 +0000 (13:59 -0700)]
Add a comment to make.globals noting that the preserve-libs FEATURES
setting will be commented out in versions that don't support it.
Zac Medico [Mon, 30 Aug 2010 20:00:02 +0000 (13:00 -0700)]
Use _ENABLE_PRESERVE_LIBS and _ENABLE_DYN_LINK_MAP constants to control
instantiation of vardbapi._plib_registry and vardbapi._linkmap.
Zac Medico [Mon, 30 Aug 2010 17:46:33 +0000 (10:46 -0700)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Zac Medico [Mon, 30 Aug 2010 17:44:29 +0000 (10:44 -0700)]
Add some private constants for use in conditional code in order to
minimize the diff between branches.
Arfrever Frehtes Taifersar Arahesis [Mon, 30 Aug 2010 17:29:46 +0000 (19:29 +0200)]
Fix typos.
Zac Medico [Mon, 30 Aug 2010 16:20:19 +0000 (09:20 -0700)]
Add more new features to RELEASE-NOTES for portage-2.1.9.
Zac Medico [Mon, 30 Aug 2010 14:27:58 +0000 (07:27 -0700)]
Invert _ebuild_helpers_path EAPI conditional in ebuild.sh.
Zac Medico [Mon, 30 Aug 2010 14:23:53 +0000 (07:23 -0700)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Zac Medico [Mon, 30 Aug 2010 14:21:03 +0000 (07:21 -0700)]
Split out a RELEASE-NOTES section for portage-2.1.9, composed of parts
from the 2.2 branch.
Ulrich Mueller [Mon, 30 Aug 2010 12:35:32 +0000 (14:35 +0200)]
Bug fix in canonicalize() function.
Zac Medico [Mon, 30 Aug 2010 13:11:22 +0000 (06:11 -0700)]
Add a TODO note to AbstractEbuildProcess._can_log() about adding support
for logging via named pipe (fifo) for sesandbox.
Zac Medico [Mon, 30 Aug 2010 13:06:07 +0000 (06:06 -0700)]
Make match_from_list() strip "!!" when appropriate for strong blocks.
Zac Medico [Mon, 30 Aug 2010 13:05:07 +0000 (06:05 -0700)]
Remove duplicate real_vardb definition from merge in action_depclean().
Zac Medico [Mon, 30 Aug 2010 13:03:46 +0000 (06:03 -0700)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Arfrever Frehtes Taifersar Arahesis [Mon, 30 Aug 2010 13:02:12 +0000 (15:02 +0200)]
Fix "UnboundLocalError: local variable 'real_vardb' referenced before assignment".
Zac Medico [Mon, 30 Aug 2010 12:59:29 +0000 (05:59 -0700)]
Fix broken reference to real_vardb in calc_depclean() from 2 commits ago.
Arfrever Frehtes Taifersar Arahesis [Mon, 30 Aug 2010 12:08:09 +0000 (14:08 +0200)]
Fix typo in comment.
Arfrever Frehtes Taifersar Arahesis [Mon, 30 Aug 2010 12:02:30 +0000 (14:02 +0200)]
Bug #335242: Fix typo in emerge(1) man page.
Zac Medico [Mon, 30 Aug 2010 07:16:50 +0000 (00:16 -0700)]
Rename the portage.sets module to portage._sets since it will be useful
in the upcoming 2.1.9 branch which will not have sets support but will
still have the code in private and disabled form.
Zac Medico [Mon, 30 Aug 2010 06:49:32 +0000 (23:49 -0700)]
Always check if vardbapi._linkmap and vardbapi._plib_registry are
None before trying to use them. This will be useful in the upcoming
2.1.9 branch which will not have preserve-libs support but will
still have the code in private and disabled form.
Zac Medico [Mon, 30 Aug 2010 06:31:47 +0000 (23:31 -0700)]
Rename vardbapi.linkmap to vardbapi._linkmap since I'm
trying to minimize the diff between the master branch and upcoming
2.1.9 branch which will not have preserve-libs support but will
still have the code in private and disabled form.
Zac Medico [Mon, 30 Aug 2010 05:36:22 +0000 (22:36 -0700)]
Rename vardbapi.plib_registry to vardbapi._plib_registry since I'm
trying to minimize the diff between the master branch and upcoming
2.1.9 branch which will not have preserve-libs support but will
still have the code in private and disabled form.