Zac Medico [Sun, 9 Aug 2009 23:16:50 +0000 (23:16 -0000)]
Make everything safe for unicode (this should fix the elog modules that
send mail).
svn path=/main/trunk/; revision=13965
Zac Medico [Sun, 9 Aug 2009 22:54:00 +0000 (22:54 -0000)]
Fix EOutput to safely write unicode to stderr/stdout. Thanks to Arfrever for
reporting.
svn path=/main/trunk/; revision=13964
Zac Medico [Sun, 9 Aug 2009 22:31:01 +0000 (22:31 -0000)]
Fix typo in comment. Thanks to Arfrever.
svn path=/main/trunk/; revision=13963
Zac Medico [Sun, 9 Aug 2009 22:29:55 +0000 (22:29 -0000)]
Encode unicode messages as bytes in order to avoid TypeError from
syslog.syslog() with python-2.x.
svn path=/main/trunk/; revision=13962
Zac Medico [Sun, 9 Aug 2009 22:05:24 +0000 (22:05 -0000)]
Write log files in text mode (unicode). Thanks to Arfrever for reporting.
svn path=/main/trunk/; revision=13961
Zac Medico [Sun, 9 Aug 2009 21:43:28 +0000 (21:43 -0000)]
Always use encoding='utf_8' for unicode() calls.
svn path=/main/trunk/; revision=13960
Zac Medico [Sun, 9 Aug 2009 20:42:11 +0000 (20:42 -0000)]
Bug #280690 - Fix incorrect idendification of start quote as end quote when
the start quote is immediately followed by a newline.
svn path=/main/trunk/; revision=13959
Zac Medico [Sun, 9 Aug 2009 19:49:00 +0000 (19:49 -0000)]
Inside collect_ebuild_messages(), open elog files in text mode (unicode).
Thanks to jlec for reporting.
svn path=/main/trunk/; revision=13958
Zac Medico [Sat, 8 Aug 2009 23:17:45 +0000 (23:17 -0000)]
Convert scanelf output to unicode inside LinkageMap.rebuild().
svn path=/main/trunk/; revision=13957
Zac Medico [Sat, 8 Aug 2009 22:32:42 +0000 (22:32 -0000)]
Use writemsg_stdout() for safe display of unicode overlay paths.
svn path=/main/trunk/; revision=13956
Zac Medico [Sat, 8 Aug 2009 22:24:27 +0000 (22:24 -0000)]
Use writemsg_stdout() for safe unicode output.
svn path=/main/trunk/; revision=13955
Zac Medico [Sat, 8 Aug 2009 22:06:14 +0000 (22:06 -0000)]
Add missing noiselevel argument in writemsg_stdout() calls.
svn path=/main/trunk/; revision=13954
Zac Medico [Sat, 8 Aug 2009 22:03:54 +0000 (22:03 -0000)]
Use writemsg_stdout() for safe unicode output.
svn path=/main/trunk/; revision=13953
Zac Medico [Sat, 8 Aug 2009 21:45:57 +0000 (21:45 -0000)]
Move global portage import to the top and add writemsg and
writemsg_stdout imports for safe unicode output.
svn path=/main/trunk/; revision=13952
Zac Medico [Sat, 8 Aug 2009 21:34:52 +0000 (21:34 -0000)]
Simplify command introspection inside usage().
svn path=/main/trunk/; revision=13951
Zac Medico [Sat, 8 Aug 2009 21:18:15 +0000 (21:18 -0000)]
In Task.__str__(), emulate tuple.__str__, but don't show 'foo' as u'foo' for
unicode strings.
svn path=/main/trunk/; revision=13950
Zac Medico [Sat, 8 Aug 2009 19:24:56 +0000 (19:24 -0000)]
Account for hardlinks when computing SIZE metadata.
svn path=/main/trunk/; revision=13949
Zac Medico [Fri, 7 Aug 2009 22:37:44 +0000 (22:37 -0000)]
Use writemsg_stdout() for safe unicode output.
svn path=/main/trunk/; revision=13948
Zac Medico [Fri, 7 Aug 2009 21:03:11 +0000 (21:03 -0000)]
Open repo_name in text mode (unicode).
svn path=/main/trunk/; revision=13947
Zac Medico [Fri, 7 Aug 2009 08:47:47 +0000 (08:47 -0000)]
In config.__setitem__(), convert keys/values to unicode in order to avoid
potential UnicodeDecodeError exceptions later.
svn path=/main/trunk/; revision=13946
Zac Medico [Fri, 7 Aug 2009 08:31:39 +0000 (08:31 -0000)]
Convert environment variables to unicode inside the config constructor, in
order to avoid potential UnicodeDecodeError exceptions later.
svn path=/main/trunk/; revision=13945
Zac Medico [Fri, 7 Aug 2009 08:21:56 +0000 (08:21 -0000)]
Make spawn decode unicode in order to avoid a potential UnicodeEncodeError
from os.execve().
svn path=/main/trunk/; revision=13944
Zac Medico [Thu, 6 Aug 2009 22:44:45 +0000 (22:44 -0000)]
In getconfig(), specify utf_8 encoding for py3k.
svn path=/main/trunk/; revision=13943
Zac Medico [Thu, 6 Aug 2009 22:39:16 +0000 (22:39 -0000)]
In shlex_split(), don't encode unicode for py3k. Thanks to Arfrever.
svn path=/main/trunk/; revision=13942
Zac Medico [Thu, 6 Aug 2009 21:58:41 +0000 (21:58 -0000)]
Make getconfig() return unicode type and remove corresponding env_update()
workaround from bug #280460.
svn path=/main/trunk/; revision=13941
Zac Medico [Thu, 6 Aug 2009 21:57:31 +0000 (21:57 -0000)]
Fix filter_loglevels() and filter_phases() to work with unicode.
svn path=/main/trunk/; revision=13940
Zac Medico [Thu, 6 Aug 2009 21:47:56 +0000 (21:47 -0000)]
Add a new portage.util.shlex_split() function to wrap all shlex.split() calls,
since shlex.split() doesn't behave well with unicode strings.
svn path=/main/trunk/; revision=13939
Zac Medico [Thu, 6 Aug 2009 20:57:08 +0000 (20:57 -0000)]
Filter PORTAGE_NONFATAL from the environment where appropriate.
svn path=/main/trunk/; revision=13938
Zac Medico [Thu, 6 Aug 2009 20:54:53 +0000 (20:54 -0000)]
Bug #280521 - Update selinux support to use the libselinux swig wrapper api
instead of python-selinux. Thanks to Chris PeBenito <pebenito@gentoo.org>
for the initial patch which I've tweaked with whitespace changes and
unicode support.
svn path=/main/trunk/; revision=13937
Arfrever Frehtes Taifersar Arahesis [Thu, 6 Aug 2009 20:48:05 +0000 (20:48 -0000)]
Implement nonfatal().
svn path=/main/trunk/; revision=13936
Zac Medico [Thu, 6 Aug 2009 19:26:48 +0000 (19:26 -0000)]
Bug #277537 - Synchronize order of PATH elements with the order defined by
/etc/profile (promote paths under /usr to the front). Thanks to Michał Górny
<gentoo@mgorny.alt.pl>.
svn path=/main/trunk/; revision=13935
Zac Medico [Thu, 6 Aug 2009 19:06:12 +0000 (19:06 -0000)]
Bug #277544 - Add missing -c switch in bzip2 arguments. Thanks to Michał Górny
<gentoo@mgorny.alt.pl> for the patch.
svn path=/main/trunk/; revision=13934
Zac Medico [Thu, 6 Aug 2009 18:55:44 +0000 (18:55 -0000)]
Inside _post_src_install_uid_fix() (since we're already walking the files
here), compute total size of installed files and save it as SIZE in the vardb.
This will be useful for the packagekit backend.
svn path=/main/trunk/; revision=13933
Zac Medico [Thu, 6 Aug 2009 09:27:54 +0000 (09:27 -0000)]
Convert unicode if necessary before writing to stdout.
svn path=/main/trunk/; revision=13932
Zac Medico [Thu, 6 Aug 2009 09:18:49 +0000 (09:18 -0000)]
Add unicode conversions in various logging code.
svn path=/main/trunk/; revision=13931
Zac Medico [Thu, 6 Aug 2009 08:25:23 +0000 (08:25 -0000)]
Convert paths to unicode when working with CONTENTS.
svn path=/main/trunk/; revision=13930
Zac Medico [Thu, 6 Aug 2009 07:00:36 +0000 (07:00 -0000)]
Fix broken os.walk call in _post_src_install_uid_fix().
svn path=/main/trunk/; revision=13929
Zac Medico [Thu, 6 Aug 2009 05:47:03 +0000 (05:47 -0000)]
Use realpath to resolve __file__ when searching for test inside main().
svn path=/main/trunk/; revision=13928
Zac Medico [Thu, 6 Aug 2009 05:37:52 +0000 (05:37 -0000)]
Remove odd os.getcwd() call used inside main() when searching for tests.
svn path=/main/trunk/; revision=13927
Zac Medico [Thu, 6 Aug 2009 05:35:14 +0000 (05:35 -0000)]
Do not pass unicode strings into os.walk calls, since it can cause
internal os.path.join calls to raise UnicodeDecodeError.
svn path=/main/trunk/; revision=13926
Zac Medico [Thu, 6 Aug 2009 01:05:43 +0000 (01:05 -0000)]
Fix transposition of CodecInfo streamreader and streamwriter attributes
inside _gen_missing_encodings(). This solves 'TypeError: an integer is
required' exceptions from codecs.open().readlines([sizehint]), triggered
when python is built with USE=build (stage 1). Thanks to Daniel Robbins
for reporting.
svn path=/main/trunk/; revision=13925
Zac Medico [Wed, 5 Aug 2009 18:46:46 +0000 (18:46 -0000)]
Fix UnicodeEncodeError in vardbapi._owners_cache._hash_str(), reported by
jlec on irc.
svn path=/main/trunk/; revision=13924
Zac Medico [Wed, 5 Aug 2009 18:07:45 +0000 (18:07 -0000)]
Bug #280460 - Fix UnicodeDecodeError in env_update() due to non-unicode
strings from getconfig(). TODO: Make getconfig() return unicode.
svn path=/main/trunk/; revision=13921
Fabian Groffen [Wed, 5 Aug 2009 17:43:10 +0000 (17:43 -0000)]
correct pointer, as pointed out by darkside in IRC
svn path=/main/trunk/; revision=13920
Zac Medico [Wed, 5 Aug 2009 04:59:10 +0000 (04:59 -0000)]
Fix insert_optional_args() to properly handle thinks like -Dk which require
multiple substitutions of default arguments.
svn path=/main/trunk/; revision=13919
Zac Medico [Wed, 5 Aug 2009 00:35:11 +0000 (00:35 -0000)]
s/utf8/utf_8/ for consistency
svn path=/main/trunk/; revision=13917
Zac Medico [Wed, 5 Aug 2009 00:27:15 +0000 (00:27 -0000)]
Fix the FEATURES=parse-eapi-ebuild-head regex to handle comments on the same
line, like this:
EAPI=2 #foo
Thanks to Markus Meier <maekke@gentoo.org> for reporting.
svn path=/main/trunk/; revision=13916
Zac Medico [Wed, 5 Aug 2009 00:17:15 +0000 (00:17 -0000)]
Open ld.so.conf as text (unicode).
svn path=/main/trunk/; revision=13915
Zac Medico [Wed, 5 Aug 2009 00:12:39 +0000 (00:12 -0000)]
In _check_build_log(), open the log in text mode (unicode).
svn path=/main/trunk/; revision=13914
Zac Medico [Wed, 5 Aug 2009 00:09:15 +0000 (00:09 -0000)]
Open file in text mode (unicode) where appropriate.
svn path=/main/trunk/; revision=13913
Zac Medico [Tue, 4 Aug 2009 23:19:45 +0000 (23:19 -0000)]
Open all files in binary mode for py3k compatibility.
svn path=/main/trunk/; revision=13912
Zac Medico [Tue, 4 Aug 2009 23:07:57 +0000 (23:07 -0000)]
Fix bindbapi.aux_get and aux_update to work with py3k/unicode.
svn path=/main/trunk/; revision=13911
Zac Medico [Tue, 4 Aug 2009 22:45:47 +0000 (22:45 -0000)]
Avoid UnicodeEncodeError with unicode package.mask comments. Thanks to
Thanks to Scott Moreau (soreau) for reporting.
svn path=/main/trunk/; revision=13910
Zac Medico [Tue, 4 Aug 2009 21:40:32 +0000 (21:40 -0000)]
Fix vardbapi._aux_get() to always return unicode.
svn path=/main/trunk/; revision=13909
Zac Medico [Tue, 4 Aug 2009 21:14:58 +0000 (21:14 -0000)]
Fix tar_contents() to open files in binary mode for py3k compatibility.
svn path=/main/trunk/; revision=13908
Zac Medico [Tue, 4 Aug 2009 21:12:22 +0000 (21:12 -0000)]
Always return unicode from vardbapi.aux_get().
svn path=/main/trunk/; revision=13907
Zac Medico [Tue, 4 Aug 2009 20:00:20 +0000 (20:00 -0000)]
Decode arguments to unicode if necessary (needed at least for unicode file
names passed to the owners command).
svn path=/main/trunk/; revision=13906
Zac Medico [Tue, 4 Aug 2009 19:40:57 +0000 (19:40 -0000)]
Bug #280269 - Fix Atom.__str__ so that it doesn't try to encode a unicode
string (resulting in UnicodeEncodeError). If an Atom instance is passed into
the constructor, just return the given instance.
svn path=/main/trunk/; revision=13905
Zac Medico [Tue, 4 Aug 2009 19:27:24 +0000 (19:27 -0000)]
Bug #280269 - Decode commandline arguments to unicode when necessary.
svn path=/main/trunk/; revision=13904
Zac Medico [Tue, 4 Aug 2009 19:20:34 +0000 (19:20 -0000)]
Bug #280269 - Fix StaticFileSet.multiBuilder() to handle unicode filenames.
svn path=/main/trunk/; revision=13903
Zac Medico [Tue, 4 Aug 2009 18:45:48 +0000 (18:45 -0000)]
Open CONTENTS in text mode (to avoid UnicodeEncodeError). Thanks to Markos
Chandras <hwoarang@gentoo.org> for reporting.
svn path=/main/trunk/; revision=13902
Zac Medico [Tue, 4 Aug 2009 18:26:27 +0000 (18:26 -0000)]
Open log files in text mode (to avoid UnicodeEncodeError). Thanks to Markos
Chandras <hwoarang@gentoo.org> for reporting.
svn path=/main/trunk/; revision=13901
Zac Medico [Tue, 4 Aug 2009 18:09:46 +0000 (18:09 -0000)]
Avoid UnicodeEncodeError in writemsg(). Thanks to Markos Chandras
<hwoarang@gentoo.org> for reporting.
svn path=/main/trunk/; revision=13900
Zac Medico [Tue, 4 Aug 2009 16:30:10 +0000 (16:30 -0000)]
Bug #280275 - Fix exception: AttributeError: 'config' object has no attribute
'_license_groups'.
svn path=/main/trunk/; revision=13898
Zac Medico [Tue, 4 Aug 2009 16:05:50 +0000 (16:05 -0000)]
Bug #280320 - Fix broken _emerge.main ImportError handler..
svn path=/main/trunk/; revision=13895
Zac Medico [Tue, 4 Aug 2009 09:14:46 +0000 (09:14 -0000)]
Revert the code from bug #278729 for now since it need to be redone in order
to account for the issue described in comment #3.
svn path=/main/trunk/; revision=13894
Zac Medico [Tue, 4 Aug 2009 08:44:28 +0000 (08:44 -0000)]
In the dep_zapdeps() code from bug #278729, set all_use_satisfied = False
if the choice includes an unavailable package.
svn path=/main/trunk/; revision=13893
Zac Medico [Tue, 4 Aug 2009 07:19:17 +0000 (07:19 -0000)]
Fix dep_zapdeps exception 'ValueError: need more than 3 values to unpack'
from r13888.
svn path=/main/trunk/; revision=13892
Zac Medico [Tue, 4 Aug 2009 07:09:35 +0000 (07:09 -0000)]
Bug #280259 - Fix emaint to call binarytree._load_pkgindex() for unicode
handling.
svn path=/main/trunk/; revision=13891
Zac Medico [Tue, 4 Aug 2009 07:02:57 +0000 (07:02 -0000)]
Bug #280259 - Fix binarytree to always open the Packages file as unicode.
svn path=/main/trunk/; revision=13890
Zac Medico [Tue, 4 Aug 2009 06:45:46 +0000 (06:45 -0000)]
Bug #280259 - Use codecs.open() when reading the Packages file inside
binarytree.inject(), in order to avoid a UnicodeDecodeError when the
file is later written as a unicode stream (via atomic_ofstream).
svn path=/main/trunk/; revision=13889
Zac Medico [Tue, 4 Aug 2009 06:18:13 +0000 (06:18 -0000)]
Fix a regression caused by the code from bug #278729, which causes incorrect
preference evaluation for cases like kde-base/nepomuk:
|| (
>=dev-libs/soprano-2.3.0[clucene,dbus,raptor,redland]
>=dev-libs/soprano-2.3.0[clucene,dbus,raptor,java]
)
In cases like this we need to prefer the choice which is already satisfied
by current USE configuration. Thanks to Maciej Mrozowski <reavertm@poczta.fm>
for reporting.
svn path=/main/trunk/; revision=13888
Arfrever Frehtes Taifersar Arahesis [Tue, 4 Aug 2009 01:24:48 +0000 (01:24 -0000)]
Set "emerge" xterm title at the beginning of running emerge.
svn path=/main/trunk/; revision=13887
Zac Medico [Tue, 4 Aug 2009 00:13:08 +0000 (00:13 -0000)]
Add a PDEPEND.suspect category.
svn path=/main/trunk/; revision=13884
Zac Medico [Mon, 3 Aug 2009 23:43:52 +0000 (23:43 -0000)]
Fix NameError from r13880. Thanks to Arfrever for reporting.
svn path=/main/trunk/; revision=13883
Zac Medico [Mon, 3 Aug 2009 22:27:31 +0000 (22:27 -0000)]
Make the USE=test RDEPEND check (bug #236786) also apply to PDEPEND.
svn path=/main/trunk/; revision=13882
Zac Medico [Mon, 3 Aug 2009 21:20:22 +0000 (21:20 -0000)]
Bug #278729 - Inside dep_zapdeps(), ignore USE dependencies since we don't
want USE settings to adversely affect || preference evaluation. Drop invalid
atoms inside _expand_new_virtuals() since we only want real Atom instances
inside dep_zapdeps().
svn path=/main/trunk/; revision=13881
Zac Medico [Mon, 3 Aug 2009 20:49:09 +0000 (20:49 -0000)]
Bug #278729 - Add an Atom.without_use attribute which is identical to the
atom itself, except without any USE dependencies.
svn path=/main/trunk/; revision=13880
Zac Medico [Mon, 3 Aug 2009 20:13:17 +0000 (20:13 -0000)]
Remove the code from bug #278895 since we're going to need a daemon process
in the ebuild's login session in order to pass signals from the controlling
terminal to the detached session. A simple fifo-based approach in ebuild.sh
does not seem to work since bash's read builtin occasionally loses the fifo
data when it's 'Interrupted system call'. Maybe a python script will work
better for the session leader/daemon. NOTE: The daemon will also be useful
for implementing a fifo-based die helper (to replace the current signal-
based approach).
svn path=/main/trunk/; revision=13879
Zac Medico [Sat, 1 Aug 2009 20:02:37 +0000 (20:02 -0000)]
Only treat non-negative integers as valid in insert_optional_args().
svn path=/main/trunk/; revision=13874
Zac Medico [Sat, 1 Aug 2009 19:58:52 +0000 (19:58 -0000)]
Add support for --usepkg=n so that it's possible to disable it on
the command line after it's been enabled in EMERGE_DEFAULT_OPTS.
Also do the same for --usepkgonly, --getbinpkg, and --getbinpkgonly.
svn path=/main/trunk/; revision=13873
Zac Medico [Sat, 1 Aug 2009 18:58:23 +0000 (18:58 -0000)]
Add support for --complete-graph=n so that it's possible to disable it on
the command line after it's been enabled in EMERGE_DEFAULT_OPTS.
svn path=/main/trunk/; revision=13872
Zac Medico [Fri, 31 Jul 2009 15:20:28 +0000 (15:20 -0000)]
In the _check_build_log(), exclude output from dev-libs/yaz-3.0.47 which
looks like this:
Configuration:
Automake: ${SHELL} /var/tmp/portage/dev-libs/yaz-3.0.47/work/yaz-3.0.47/config/missing --run automake-1.10
Thanks to Robin H. Johnson <robbat2@gentoo.org> for reporting.
svn path=/main/trunk/; revision=13870
Zac Medico [Thu, 30 Jul 2009 23:58:41 +0000 (23:58 -0000)]
In depgraph._show_slot_collision_notice(), display $ROOT (if not /) with each
slot atom.
svn path=/main/trunk/; revision=13865
Zac Medico [Thu, 30 Jul 2009 23:09:29 +0000 (23:09 -0000)]
Bug #276264 - Advise manual removal of the metadata/cache/ direcory when using
eclass-overrides.
svn path=/main/trunk/; revision=13864
Zac Medico [Thu, 30 Jul 2009 22:08:40 +0000 (22:08 -0000)]
Add a python-based setsid script for use with USERLAND=BSD.
svn path=/main/trunk/; revision=13863
Zac Medico [Thu, 30 Jul 2009 21:45:00 +0000 (21:45 -0000)]
Fix breakage in owners() handling of abs paths.
svn path=/main/trunk/; revision=13862
Zac Medico [Thu, 30 Jul 2009 21:29:45 +0000 (21:29 -0000)]
Move the setsid code (from bug #278895) as early as possible.
svn path=/main/trunk/; revision=13861
Mounir Lamouri [Thu, 30 Jul 2009 20:59:09 +0000 (20:59 -0000)]
Updating find_updated_config_files function description
svn path=/main/trunk/; revision=13860
Zac Medico [Thu, 30 Jul 2009 20:48:08 +0000 (20:48 -0000)]
Rename get_updated_config_files() to find_updated_config_files() and make
it an iterator of tuples.
svn path=/main/trunk/; revision=13859
Mounir Lamouri [Thu, 30 Jul 2009 20:36:02 +0000 (20:36 -0000)]
Add get_updated_config_files in portage API
chk_updated_cfg_files in _emerge API is now using get_updated_config_files
It lets other app to get updated config files without ouputs
svn path=/main/trunk/; revision=13858
Zac Medico [Thu, 30 Jul 2009 07:31:06 +0000 (07:31 -0000)]
Inside die(), only send the signal for subshell die support when we are
actually in a subshell.
svn path=/main/trunk/; revision=13857
Zac Medico [Thu, 30 Jul 2009 07:29:34 +0000 (07:29 -0000)]
Bug #278895 - Make ebuild.sh clean up orphaned processes that may have been
left behind by ebuild phases. This works by using setsid to create a new
login session for the ebuild.sh process, and `kill -s SIGHUP 0` to send
a SIGHUP signal to all processes in the session. The setsid is currently
not done on the python side since that would cause the sandbox process in
the session, and sandbox produces a warning message if it catches a SIGHUP
signal.
svn path=/main/trunk/; revision=13856
Zac Medico [Wed, 29 Jul 2009 22:44:21 +0000 (22:44 -0000)]
Fix depgraph._show_missed_update() to keep each $ROOT separate.
svn path=/main/trunk/; revision=13855
Zac Medico [Wed, 29 Jul 2009 07:04:41 +0000 (07:04 -0000)]
Account for $ROOT inside depgraph._show_missed_update_unsatisfied_dep().
svn path=/main/trunk/; revision=13854
Zac Medico [Tue, 28 Jul 2009 23:32:19 +0000 (23:32 -0000)]
Remove redundant loop inside depgraph._show_missed_update_slot_conflicts().
svn path=/main/trunk/; revision=13853
Zac Medico [Tue, 28 Jul 2009 23:27:52 +0000 (23:27 -0000)]
When backtracking due to an unsatisfied dependency, show a normal unsatisfied
dependency message for the given atom. Thanks to Thomas Sachau
<tommy@gentoo.org> for reporting.
svn path=/main/trunk/; revision=13852
Zac Medico [Sat, 25 Jul 2009 09:33:18 +0000 (09:33 -0000)]
Fix --onlydeps breakage. Thanks to Arfrever for reporting.
svn path=/main/trunk/; revision=13851
Zac Medico [Wed, 22 Jul 2009 18:26:52 +0000 (18:26 -0000)]
Bug #270040 - Make repoman parse the categories file from the overlay.
svn path=/main/trunk/; revision=13850
Zac Medico [Tue, 21 Jul 2009 20:33:11 +0000 (20:33 -0000)]
Add comment in calc_depclean() about topological sort optimization that
minimizes issues with implicit deps.
svn path=/main/trunk/; revision=13846