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.
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