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.
Zac Medico [Mon, 30 Aug 2010 03:28:45 +0000 (20:28 -0700)]
Move LinkageMap to a new portage.util._dyn_libs.LinkageMapELF module.
Zac Medico [Mon, 30 Aug 2010 02:48:34 +0000 (19:48 -0700)]
Move PreservedLibsRegistry to a new portage.util._dyn_libs.PreservedLibsRegistry module.
Arfrever Frehtes Taifersar Arahesis [Sun, 29 Aug 2010 21:27:15 +0000 (23:27 +0200)]
Remove unused imports found by pylint.
Arfrever Frehtes Taifersar Arahesis [Sun, 29 Aug 2010 20:42:41 +0000 (22:42 +0200)]
Fix import.
Arfrever Frehtes Taifersar Arahesis [Sun, 29 Aug 2010 19:26:53 +0000 (21:26 +0200)]
Fix some typos.
Sebastian Luther [Sun, 29 Aug 2010 18:48:06 +0000 (11:48 -0700)]
Add LocationsManager.profile_and_user_locations for use with config.categories and archlist.
Zac Medico [Sun, 29 Aug 2010 18:11:26 +0000 (11:11 -0700)]
Make mkrelease.sh clean up the temporary $SOURCE_DIR when finished.
Zac Medico [Sun, 29 Aug 2010 18:05:20 +0000 (11:05 -0700)]
Add a TODO note about replacing BlockerDB with an incremental depgraph
for solving bug #279623.
Ulrich Mueller [Sun, 29 Aug 2010 06:26:15 +0000 (08:26 +0200)]
Add canonicalize() function, replacement for "readlink -f".
Expand symlinks in prepcompress() completely, not only to the last
directory component.
Ulrich Mueller [Sun, 29 Aug 2010 06:24:26 +0000 (08:24 +0200)]
Change a comment in prepcompress().
Zac Medico [Sun, 29 Aug 2010 00:59:54 +0000 (17:59 -0700)]
Add a Scheduler._running_tasks() set in order to simplify the
_is_work_scheduled() method.
Zac Medico [Sun, 29 Aug 2010 00:10:46 +0000 (17:10 -0700)]
Inside Scheduler._dependent_on_scheduled_merges(), don't traverse children
of uninstall nodes since those aren't dependencies in the usual sense.
Zac Medico [Sat, 28 Aug 2010 23:27:54 +0000 (16:27 -0700)]
Bug #273633 - Add docompress docs from PMS.
Ulrich Mueller [Sat, 28 Aug 2010 07:21:43 +0000 (09:21 +0200)]
Update copyright headers.
Ulrich Mueller [Sat, 28 Aug 2010 07:20:23 +0000 (09:20 +0200)]
Implement controllable compression and docompress, bug #273633.
Zac Medico [Sat, 28 Aug 2010 22:51:37 +0000 (15:51 -0700)]
Make egencache --update-use-local-desc use codecs.open() to write to
use.local.desc (fixes possible unicode issues with python3).
Zac Medico [Sat, 28 Aug 2010 22:33:49 +0000 (15:33 -0700)]
For egencache --preserve-comments, probe comments in binary mode in
order to avoid potential character encoding issues (both in terms
of decoding and in calculating file position given variable-width
character encodings like UTF-8.
Zac Medico [Sat, 28 Aug 2010 22:04:01 +0000 (15:04 -0700)]
Simplify the empty USE conditional /var/db/pkg metadata code in
_post_src_install_uid_fix(), and handle one more case.
Michał Górny [Sat, 28 Aug 2010 21:59:34 +0000 (23:59 +0200)]
egencache: Add comment preserving to --update-use-local-desc.
Zac Medico [Sat, 28 Aug 2010 21:44:42 +0000 (14:44 -0700)]
When evaluating USE conditional metadata for /var/db/pkg inside
_post_src_install_uid_fix(), ensure non-empty entries are removed
if the evaluation results in an empty value.
Zac Medico [Sat, 28 Aug 2010 21:21:06 +0000 (14:21 -0700)]
If there are circular dependencies, and circular_dependency_handler
doesn't have a message, eliminate root nodes before calling
digraph.debug_print(). If --debug is enabled then do this even if
circular_dependency_handler has a message.
Zac Medico [Sat, 28 Aug 2010 20:39:44 +0000 (13:39 -0700)]
Bug #335055 - Fix "TypeError: argument of type 'NoneType' is not
iterable" raised from first call to VirtualsManager.get_virts_p()
when trying to expand the category for a package name.
Zac Medico [Sat, 28 Aug 2010 20:21:25 +0000 (13:21 -0700)]
In depgraph._show_unsatisfied_dep(), show some debug info if
Atom.violated_conditionals() raises InvalidAtom.
Zac Medico [Sat, 28 Aug 2010 14:49:54 +0000 (07:49 -0700)]
Add --use-local-desc-output to egencache man page.
Michał Górny [Sat, 28 Aug 2010 14:46:17 +0000 (16:46 +0200)]
Support specifying an alternate output file for --update-use-local-desc.
Zac Medico [Sat, 28 Aug 2010 06:51:41 +0000 (23:51 -0700)]
Bug #334935 - Fix broken reference to config.pmaskdict inside
getmaskingreason().
Zac Medico [Sat, 28 Aug 2010 02:15:50 +0000 (19:15 -0700)]
Use StopIteration to exit nested loops.
Zac Medico [Sat, 28 Aug 2010 02:09:30 +0000 (19:09 -0700)]
Add support for IUSE.missing checks in conditional USE dependencies.
Zac Medico [Fri, 27 Aug 2010 23:58:24 +0000 (16:58 -0700)]
Add the chflags and selinux values to SUPPORTED_FEATURES.
Zac Medico [Fri, 27 Aug 2010 23:41:20 +0000 (16:41 -0700)]
Define a cmp work-alike function for use in the egencache
--update-use-local-desc code, since it's ugly to have so
many repetitions of this construct.
Zac Medico [Fri, 27 Aug 2010 22:56:07 +0000 (15:56 -0700)]
Merge branch 'master' of git+ssh://git.overlays.gentoo.org/proj/portage
Zac Medico [Fri, 27 Aug 2010 22:54:10 +0000 (15:54 -0700)]
Fix breakage caused ignorance of /etc/portage/{arch.list,categories}
config overrides.
Arfrever Frehtes Taifersar Arahesis [Fri, 27 Aug 2010 22:08:51 +0000 (00:08 +0200)]
Fix some typos.
Zac Medico [Fri, 27 Aug 2010 21:57:58 +0000 (14:57 -0700)]
Fix _get_legacy_global() so that it does't pass in the target_root
parameter to create_trees() unless ROOT is set. This is required
for make.conf ROOT override to work with LocationsManager.
Zac Medico [Fri, 27 Aug 2010 21:39:39 +0000 (14:39 -0700)]
Fix the config constructor to pass missing parameters to the
LocationsManager constructor.
Zac Medico [Fri, 27 Aug 2010 21:15:32 +0000 (14:15 -0700)]
Bug #334817 - Make the make.conf.5 man page document the fact that
/etc/portage/make.conf overrides /etc/make.conf.
Zac Medico [Fri, 27 Aug 2010 20:37:00 +0000 (13:37 -0700)]
Fix Package._validate_deps() to pass matchall=True to use_reduce().
Zac Medico [Fri, 27 Aug 2010 20:19:31 +0000 (13:19 -0700)]
Add egencache --update-use-local-desc action to the man page.
Sebastian Luther [Fri, 27 Aug 2010 19:59:43 +0000 (21:59 +0200)]
config: Remove last traces of autouse
Zac Medico [Fri, 27 Aug 2010 19:28:01 +0000 (12:28 -0700)]
Use InvalidDependString import instead of
portage.exception.InvalidDependString.
Zac Medico [Fri, 27 Aug 2010 19:25:37 +0000 (12:25 -0700)]
Use InvalidDependString import instead of
portage.exception.InvalidDependString.
Zac Medico [Fri, 27 Aug 2010 19:22:37 +0000 (12:22 -0700)]
Use Package._metadata_exception() to handle invalid LICENSE, PROPERTIES,
PROVIDE, and RESTRICT, and generate IUSE.missing errors for repoman
when appropriate.
Zac Medico [Fri, 27 Aug 2010 17:48:39 +0000 (10:48 -0700)]
Fix breakage in egencache --update-use-local-desc code.
Zac Medico [Fri, 27 Aug 2010 17:00:43 +0000 (10:00 -0700)]
Use cmp_sort_key() for python3 compatibility.
Michał Górny [Fri, 27 Aug 2010 16:47:22 +0000 (18:47 +0200)]
Support returning multiple flag descriptions when restrict is used.
Return a dict of dicts in parse_metadata_use(), with second-level keys
being the restrict strings (or None when no restrict). When generating
use.local.desc, use the description from the possibly-highest-matching
atom.
Zac Medico [Fri, 27 Aug 2010 16:56:01 +0000 (09:56 -0700)]
Remove unused imports.
Zac Medico [Fri, 27 Aug 2010 16:52:33 +0000 (09:52 -0700)]
Bug #334817 - Make genconfig() warn about EISDIR instead of raising
a IOError.
Zac Medico [Fri, 27 Aug 2010 16:20:26 +0000 (09:20 -0700)]
Fix broken reference to config.pmaskdict for repoman --without-mask.
Sebastian Luther [Fri, 27 Aug 2010 15:57:43 +0000 (08:57 -0700)]
fix ppkg type handling in slot_conflict_handler
Jonathan Callen [Fri, 27 Aug 2010 15:51:31 +0000 (11:51 -0400)]
ecompressdir: use proper exit value
Sebastian Luther [Fri, 27 Aug 2010 14:16:44 +0000 (16:16 +0200)]
config: Add special_env_vars
Sebastian Luther [Fri, 27 Aug 2010 13:09:46 +0000 (15:09 +0200)]
config: Add LocationsManager
Sebastian Luther [Fri, 27 Aug 2010 10:43:44 +0000 (12:43 +0200)]
config: Add VirtualsManager
Sebastian Luther [Fri, 27 Aug 2010 07:33:40 +0000 (09:33 +0200)]
config: Add MaskManager
Sebastian Luther [Fri, 27 Aug 2010 07:02:50 +0000 (09:02 +0200)]
config: Avoid copying _license_manager
Strictly speaking _license_manager is not immutable. Users need to ensure that
extract_global_changes() is called right after __init__ (if at all).
It also has the mutable member _undef_lic_groups. It is used to track
undifiend license groups, to not display an error message for the same
group again and again. Because of this, it's useful to share it between
all LicenseManager instances.
Michał Górny [Fri, 27 Aug 2010 15:16:57 +0000 (17:16 +0200)]
repoman: Fix NameError on musedict when metadata is not available.