Zac Medico [Wed, 11 Mar 2009 06:23:11 +0000 (06:23 -0000)]
Add a new upstream.workaround check for hardcoded MAKEOPTS=-j1 (previously
only emake -j1 was recognized). Thanks to Maciej Mrozowski <reavertm@poczta.fm>
for this patch. (trunk r12718)
svn path=/main/branches/2.1.6/; revision=12973
Zac Medico [Wed, 11 Mar 2009 06:22:20 +0000 (06:22 -0000)]
Fix test breakage due to change in calling order of AsynchronousTask start
listeners from r12713. (trunk r12717)
svn path=/main/branches/2.1.6/; revision=12972
Zac Medico [Wed, 11 Mar 2009 06:22:00 +0000 (06:22 -0000)]
Fix a case in which a SRC_URI is incorrectly idendified as invalid, and add
a corresponding test case. Thanks to Jacob Floyd for reporting. (trunk r12716)
svn path=/main/branches/2.1.6/; revision=12971
Zac Medico [Wed, 11 Mar 2009 06:21:31 +0000 (06:21 -0000)]
Remove recursion code from Scheduler._system_merge_started() since indirect
deps are checked when the corresponding parent is merged. (trunk r12715)
svn path=/main/branches/2.1.6/; revision=12970
Zac Medico [Wed, 11 Mar 2009 06:21:17 +0000 (06:21 -0000)]
In traversing deps to add to Scheduler._unsatisfied_system_deps, only traverse
completed 'merge' nodes since those are the only ones that need to be checked
for unsatisfied runtime deps, and it's normal for nodes that aren't yet
complete to have unsatisfied runtime deps. (trunk r12714)
svn path=/main/branches/2.1.6/; revision=12969
Zac Medico [Wed, 11 Mar 2009 06:20:51 +0000 (06:20 -0000)]
Bug #259954 - Do not spawn parallel build when the system is in a fragile
state due to a system package having an unsatisfied runtime dependency
(such as sys-libs/pam having an unsatisfied PDEPEND on sys-auth/pambase).
(trunk r12713)
svn path=/main/branches/2.1.6/; revision=12968
Zac Medico [Wed, 11 Mar 2009 06:19:49 +0000 (06:19 -0000)]
reject all set*id binaries that have DT_RPATH:$ORIGIN #260331 (trunk r12712)
svn path=/main/branches/2.1.6/; revision=12967
Zac Medico [Wed, 11 Mar 2009 06:19:26 +0000 (06:19 -0000)]
Remove stray parenthesis. (trunk r12711)
svn path=/main/branches/2.1.6/; revision=12966
Zac Medico [Wed, 11 Mar 2009 06:19:03 +0000 (06:19 -0000)]
Inside depgraph._merge_order_bias(), promote deep system runtime deps toward
the front of the merge list. This should help optimize merge order to account
for implicit system dependencies. (trunk r12710)
svn path=/main/branches/2.1.6/; revision=12965
Zac Medico [Wed, 11 Mar 2009 06:18:50 +0000 (06:18 -0000)]
Implement BlockerDepPriority.__str__(). (trunk r12709)
svn path=/main/branches/2.1.6/; revision=12964
Zac Medico [Wed, 11 Mar 2009 06:18:38 +0000 (06:18 -0000)]
Fix typo in DepPriority.__str__(). (trunk r12708)
svn path=/main/branches/2.1.6/; revision=12963
Zac Medico [Wed, 11 Mar 2009 06:18:20 +0000 (06:18 -0000)]
Implement lazy evaluation of USE_EXPAND variables in config.setcpv(), since
those variables are only needed when an ebuild shell is spawned. Thanks to
Marat Radchenko <slonopotamusorama@gmail.com> for testing this patch. He
reports a 14% reduction in the time consumed for `emerge -vpe world` on an
ARM device (from 3m12.008s to 2m45.055s). (trunk r12707)
svn path=/main/branches/2.1.6/; revision=12962
Zac Medico [Wed, 11 Mar 2009 06:18:09 +0000 (06:18 -0000)]
In mirror_cache(), normalize EAPI by mapping EAPI=0 to empty. (trunk r12706)
svn path=/main/branches/2.1.6/; revision=12961
Zac Medico [Wed, 11 Mar 2009 06:17:54 +0000 (06:17 -0000)]
Bug #259882 - Disable the ignore-previously-merged option by default since
emerge's confmem already provides similar functionality which is a little
safer. (trunk r12705)
svn path=/main/branches/2.1.6/; revision=12960
Zac Medico [Wed, 11 Mar 2009 06:17:35 +0000 (06:17 -0000)]
If deepcopy() raises a TypeError for a lazy item that has been added via a
call to LazyItemsDict.addLazySingleton(), automatically evaluate the
the singleton and instead call deepcopy() on the result. (trunk r12704)
svn path=/main/branches/2.1.6/; revision=12959
Zac Medico [Wed, 11 Mar 2009 06:17:19 +0000 (06:17 -0000)]
Make USE_EXPAND wildcard expansion more efficient, and prevent possible
duplicates. (trunk r12703)
svn path=/main/branches/2.1.6/; revision=12958
Zac Medico [Wed, 11 Mar 2009 06:17:00 +0000 (06:17 -0000)]
Fix breakage in USE_EXPAND wildcard handling, from r12697. (trunk r12702)
svn path=/main/branches/2.1.6/; revision=12957
Zac Medico [Wed, 11 Mar 2009 06:16:25 +0000 (06:16 -0000)]
Fix headers that contain $Header instead of $Id. (trunk r12701)
svn path=/main/branches/2.1.6/; revision=12956
Zac Medico [Wed, 11 Mar 2009 06:16:14 +0000 (06:16 -0000)]
In LazyItemsDict, avoid storing empty lists and dicts when no positional or
keyword arguments are given. (trunk r12700)
svn path=/main/branches/2.1.6/; revision=12955
Zac Medico [Wed, 11 Mar 2009 06:15:37 +0000 (06:15 -0000)]
In config.setcpv(), increase efficiency by filtering USE with IUSE before
calculating USE_EXPAND variables. Also use a generator expression instead
of a list comprehension in the USE_EXPAND generation code. (trunk r12697)
svn path=/main/branches/2.1.6/; revision=12954
Zac Medico [Wed, 11 Mar 2009 06:15:23 +0000 (06:15 -0000)]
Fix getmaskingstatus() so that it doesn't inappropriately return a
'missing keyword' mask is some cases when the user has ** in package.keywords.
Thanks to Raúl Porcel <armin76@g.o> for reporting. (trunk r12696)
svn path=/main/branches/2.1.6/; revision=12953
Zac Medico [Wed, 11 Mar 2009 06:15:03 +0000 (06:15 -0000)]
Fix default_encoding logic in _ensure_default_encoding(). (trunk r12695)
svn path=/main/branches/2.1.6/; revision=12952
Zac Medico [Wed, 11 Mar 2009 06:14:51 +0000 (06:14 -0000)]
Reorganize _ensure_default_encoding(). (trunk r12694)
svn path=/main/branches/2.1.6/; revision=12951
Zac Medico [Wed, 11 Mar 2009 06:14:33 +0000 (06:14 -0000)]
Don't try to call setdefaultencoding() since it's not intended to be called.
(trunk r12692)
svn path=/main/branches/2.1.6/; revision=12950
Zac Medico [Wed, 11 Mar 2009 06:14:17 +0000 (06:14 -0000)]
When displaying reverse dependencies in verbose --depclean/--prune output,
sort the parent packages by cpv. (trunk r12691)
svn path=/main/branches/2.1.6/; revision=12949
Zac Medico [Wed, 11 Mar 2009 06:13:14 +0000 (06:13 -0000)]
Add support in _ensure_default_encoding(), add support for utf_8 and fall
back to utf_8 if the encoding returned by sys.getdefaultencoding() is
unavailable. (trunk r12688)
svn path=/main/branches/2.1.6/; revision=12948
Zac Medico [Wed, 11 Mar 2009 06:13:02 +0000 (06:13 -0000)]
When decoding term codes inside the JobStatusDisplay constructor, use the
'replace' error handling scheme in order to avoid triggering a potential
UnicodeError. (trunk r12687)
svn path=/main/branches/2.1.6/; revision=12947
Zac Medico [Wed, 11 Mar 2009 06:12:24 +0000 (06:12 -0000)]
In EbuildFetchonly.execute(), skip builddir creation when the ebuild does
not set RESTRICT=fetch (since it's not possible for pkg_nofetch to be executed
in this case). (trunk r12686)
svn path=/main/branches/2.1.6/; revision=12946
Zac Medico [Wed, 11 Mar 2009 06:11:58 +0000 (06:11 -0000)]
Avoid spurious CCACHE_DIR permissions adjustments when fetching with
a temporary PORTAGE_TMPDIR setting (for fetchonly). Thanks to
Marat Radchenko <slonopotamusorama@gmail.com> for reporting. (trunk r12685)
svn path=/main/branches/2.1.6/; revision=12945
Zac Medico [Wed, 11 Mar 2009 06:11:39 +0000 (06:11 -0000)]
The python that's inside stage 1 or 2 is built with a minimal
configuration which does not include the /usr/lib/pythonX.Y/encodings
directory. This results in error like the following:
LookupError: no codec search functions registered: can't find encoding
In order to solve this problem, detect it early and manually register
a search function for the ascii codec. Starting with python-3.0 this
problem is more noticeable because of stricter handling of encoding
and decoding between strings of characters and bytes. (trunk r12684)
svn path=/main/branches/2.1.6/; revision=12944
Zac Medico [Wed, 11 Mar 2009 06:11:21 +0000 (06:11 -0000)]
Use a lock to ensure that threaded code doesn't cause problems with proxy
registration and unregistration. (trunk r12683)
svn path=/main/branches/2.1.6/; revision=12943
Zac Medico [Wed, 11 Mar 2009 06:10:55 +0000 (06:10 -0000)]
Use lazyimport to avoid importing the portage.elog module when portage is
initially imported. (trunk r12682)
svn path=/main/branches/2.1.6/; revision=12942
Zac Medico [Wed, 11 Mar 2009 06:10:35 +0000 (06:10 -0000)]
Use lazyimport to avoid importing the dep, output, update, and versions
modules when portage is initially imported. (trunk r12681)
svn path=/main/branches/2.1.6/; revision=12941
Zac Medico [Wed, 11 Mar 2009 06:10:10 +0000 (06:10 -0000)]
Use lazyimport to avoid importing the checksum, locks, and util modules
when portage is initially imported. (trunk r12680)
svn path=/main/branches/2.1.6/; revision=12940
Zac Medico [Wed, 11 Mar 2009 06:09:56 +0000 (06:09 -0000)]
Fix _LazyImportFrom to use the correct module name when registering and
unregistering. (trunk r12679)
svn path=/main/branches/2.1.6/; revision=12939
Zac Medico [Wed, 11 Mar 2009 06:09:29 +0000 (06:09 -0000)]
Make lazyimport proxies trigger automatic destruction of other proxies for
modules that have been imported. This way, destruction of a single proxy
can trigger destruction of all the rest. (trunk r12678)
svn path=/main/branches/2.1.6/; revision=12938
Zac Medico [Wed, 11 Mar 2009 06:09:08 +0000 (06:09 -0000)]
Fix typo in __all__. (trunk r12677)
svn path=/main/branches/2.1.6/; revision=12937
Zac Medico [Wed, 11 Mar 2009 06:08:40 +0000 (06:08 -0000)]
Reduce bloat in portage.util by splitting ObjectProxy and lazyimport into a
new portage.proxy package. (trunk r12676)
svn path=/main/branches/2.1.6/; revision=12936
Zac Medico [Wed, 11 Mar 2009 06:06:44 +0000 (06:06 -0000)]
Make lazy_import() skip proxy creation for modules that already exist
in sys.modules. (trunk r12675)
svn path=/main/branches/2.1.6/; revision=12935
Zac Medico [Wed, 11 Mar 2009 06:06:19 +0000 (06:06 -0000)]
Make the UserDict and LazyItemsDict constructors use an optional positional
argument instead of a keyword argument. (trunk r12674)
svn path=/main/branches/2.1.6/; revision=12934
Zac Medico [Wed, 11 Mar 2009 06:05:37 +0000 (06:05 -0000)]
In config.setcpv(), use LazyItemsDict to implement lazy evaluation of
PORTAGE_IUSE. The PORTAGE_IUSE value is lazily evaluated since re.escape()
is slow and the value is only used when an ebuild phase needs to be executed
(it's used only to generate QA notices). Thanks to Marat Radchenko
<slonopotamusorama@gmail.com> for identifying this performance issue and
submitting the initial patch which used a memoization approach instead of
lazy evaluation. (trunk r12673)
svn path=/main/branches/2.1.6/; revision=12933
Zac Medico [Wed, 11 Mar 2009 06:05:17 +0000 (06:05 -0000)]
In LazyItemsDict, when a singleton is instantiated, replace the wrapper with
the singleton since the wrapper is no longer needed at this point.
(trunk r12672)
svn path=/main/branches/2.1.6/; revision=12932
Zac Medico [Wed, 11 Mar 2009 06:04:15 +0000 (06:04 -0000)]
Revert r12639 and use string.ascii_letters for python-3.0 compatibility.
(trunk r12669)
svn path=/main/branches/2.1.6/; revision=12931
Zac Medico [Wed, 11 Mar 2009 06:03:50 +0000 (06:03 -0000)]
Inside portage.spawn(), open files for logfile handling in binary mode, for
compatibility with python-3.0. (trunk r12668)
svn path=/main/branches/2.1.6/; revision=12930
Zac Medico [Wed, 11 Mar 2009 06:02:25 +0000 (06:02 -0000)]
For python-3.0 compatibility, open files in binary mode inside
SpawnProcess._start(). (trunk r12666)
svn path=/main/branches/2.1.6/; revision=12929
Zac Medico [Wed, 11 Mar 2009 06:01:59 +0000 (06:01 -0000)]
When loading vdb_metadata.pickle inside vardbapi._aux_cache_init(), in
order to avoid an extreme performance issue, disable buffering when opening
the file under python-3.0. Unfortunately, performance is still poor relative
to python-2.x, but buffering makes it much worse. (trunk r12665)
svn path=/main/branches/2.1.6/; revision=12928
Zac Medico [Wed, 11 Mar 2009 06:01:34 +0000 (06:01 -0000)]
Add a cross reference from FEATURES=lmirror docs to the "local" mirror docs
in portage(5). (trunk r12664)
svn path=/main/branches/2.1.6/; revision=12927
Zac Medico [Wed, 11 Mar 2009 06:01:15 +0000 (06:01 -0000)]
In python-3.0, integer division results in a float, so convert back to int.
(trunk r12663)
svn path=/main/branches/2.1.6/; revision=12926
Zac Medico [Wed, 11 Mar 2009 06:00:59 +0000 (06:00 -0000)]
Fix StringIO imports so that 2to3 can handle them. Also, replace shlex +
StringIO usage with shlex.split() where appropriate. (trunk r12662)
svn path=/main/branches/2.1.6/; revision=12925
Zac Medico [Wed, 11 Mar 2009 05:59:45 +0000 (05:59 -0000)]
Add a new portage.utils.lazy_import() function which behaves similar to the
snakeoil.demandload.demandload() function. (trunk r12661)
svn path=/main/branches/2.1.6/; revision=12924
Zac Medico [Wed, 11 Mar 2009 05:57:54 +0000 (05:57 -0000)]
When displaying the list of failed packages, tell the number that failed.
Thanks to Jeremy Olexa <darkside@g.o> for the suggestion. (trunk r12655)
svn path=/main/branches/2.1.6/; revision=12923
Zac Medico [Wed, 11 Mar 2009 05:57:35 +0000 (05:57 -0000)]
Make isvalidatom() identify empty slot as invalid (missing slot is valid) and
add a corresponding test case. (trunk r12654)
svn path=/main/branches/2.1.6/; revision=12922
Zac Medico [Wed, 11 Mar 2009 05:57:06 +0000 (05:57 -0000)]
Optimize depgraph._dep_expand() to avoid calling pordbapi.cp_all(),
since it can be more efficient to call cp_list() on each category.
Thanks to Marat Radchenko <slonopotamusorama@gmail.com> for the
suggestion. (trunk r12653)
svn path=/main/branches/2.1.6/; revision=12921
Zac Medico [Wed, 11 Mar 2009 05:56:33 +0000 (05:56 -0000)]
Decode terminal codes from binary when necessary, for python-3.0 compatibility
since sys.stdout is a text stream. (trunk r12649)
svn path=/main/branches/2.1.6/; revision=12920
Zac Medico [Wed, 11 Mar 2009 05:56:01 +0000 (05:56 -0000)]
Handle ValueError when unpickling, since this can be triggered by an
unsupported pickle protocol. (trunk r12648)
svn path=/main/branches/2.1.6/; revision=12919
Zac Medico [Wed, 11 Mar 2009 05:55:40 +0000 (05:55 -0000)]
Fix update() methods to work with python-3.0. (trunk r12647)
svn path=/main/branches/2.1.6/; revision=12918
Zac Medico [Wed, 11 Mar 2009 05:55:18 +0000 (05:55 -0000)]
Tweak exception handling indentation to avoid a bug in 2to3. (trunk r12646)
svn path=/main/branches/2.1.6/; revision=12917
Zac Medico [Wed, 11 Mar 2009 05:53:05 +0000 (05:53 -0000)]
Tweak code to avoid python-3.0 errors like this one:
SyntaxError: can not delete variable 'e' referenced in nested scope
(trunk r12644)
svn path=/main/branches/2.1.6/; revision=12916
Zac Medico [Wed, 11 Mar 2009 05:52:44 +0000 (05:52 -0000)]
Revert accidental python-3.0 syntax. (trunk r12643)
svn path=/main/branches/2.1.6/; revision=12915
Zac Medico [Wed, 11 Mar 2009 05:52:24 +0000 (05:52 -0000)]
For compatibility with python-3.0, open files in text mode where appropriate.
(trunk r12642)
svn path=/main/branches/2.1.6/; revision=12914
Zac Medico [Wed, 11 Mar 2009 05:51:57 +0000 (05:51 -0000)]
For compatibility with python-3.0, always open streams for pickles in binary
mode. (trunk r12641)
svn path=/main/branches/2.1.6/; revision=12913
Zac Medico [Wed, 11 Mar 2009 05:48:59 +0000 (05:48 -0000)]
For compatibility with python-3.0, inherit from ObjectProxy instead of
inheriting directly from file. (trunk r12640)
svn path=/main/branches/2.1.6/; revision=12912
Zac Medico [Wed, 11 Mar 2009 05:48:48 +0000 (05:48 -0000)]
For python-3.0 compatibility, don't use string.letters. (trunk r12639)
svn path=/main/branches/2.1.6/; revision=12911
Zac Medico [Wed, 11 Mar 2009 05:48:37 +0000 (05:48 -0000)]
Use a regular expression for the file.name check. This replaces some odd
map() usage that 2to3 warns about. (trunk r12638)
svn path=/main/branches/2.1.6/; revision=12910
Zac Medico [Wed, 11 Mar 2009 05:48:16 +0000 (05:48 -0000)]
Don't bother to calculate PORTAGE_COUNTER_HASH when in --pretend mode.
(trunk r12637)
svn path=/main/branches/2.1.6/; revision=12909
Zac Medico [Wed, 11 Mar 2009 05:47:28 +0000 (05:47 -0000)]
Inside post_emerge(), skip the vardbapi counter check when in --pretend
mode (significant performance improvement). Thanks to Marat Radchenko
(slonopotamus) for reporting. (trunk r12636)
svn path=/main/branches/2.1.6/; revision=12908
Zac Medico [Wed, 11 Mar 2009 05:47:00 +0000 (05:47 -0000)]
For python-3.0 compatibility, raise a real exception instead of a string.
(trunk r12635)
svn path=/main/branches/2.1.6/; revision=12907
Zac Medico [Wed, 11 Mar 2009 05:46:21 +0000 (05:46 -0000)]
For compatibility with python-3.0, use isinstance() instead of type().
(trunk r12633)
svn path=/main/branches/2.1.6/; revision=12906
Zac Medico [Wed, 11 Mar 2009 05:45:49 +0000 (05:45 -0000)]
Fix classes that implement __iter__() to copy it to their keys() method
when running under >=python-3.0. (trunk r12632)
svn path=/main/branches/2.1.6/; revision=12905
Zac Medico [Wed, 11 Mar 2009 05:45:30 +0000 (05:45 -0000)]
Remove redundant ConfigLoaderKlass.__iter__() method. (trunk r12631)
svn path=/main/branches/2.1.6/; revision=12904
Zac Medico [Wed, 11 Mar 2009 05:45:06 +0000 (05:45 -0000)]
Implement UserDict.__contains__() and __iter__(). (trunk r12630)
svn path=/main/branches/2.1.6/; revision=12903
Zac Medico [Wed, 11 Mar 2009 05:43:56 +0000 (05:43 -0000)]
Implement a substitute for UserDict.UserDict so that code converted via
2to3 will run:
http://bugs.python.org/issue2876 (trunk r12629)
svn path=/main/branches/2.1.6/; revision=12902
Zac Medico [Wed, 11 Mar 2009 05:43:00 +0000 (05:43 -0000)]
In python-3.0, the UserDict.DictMixin class has been replaced by
Mapping and MutableMapping from the collections module, but 2to3
doesn't currently account for this change:
http://bugs.python.org/issue2876
As a workaround for the above issue, implement Mapping and
MutableMapping classes as substitutes for UserDict.DictMixin so
that code converted via 2to3 will run. (trunk r12628)
svn path=/main/branches/2.1.6/; revision=12901
Zac Medico [Wed, 11 Mar 2009 05:42:27 +0000 (05:42 -0000)]
Set svn:keywords Id on all files.
svn path=/main/branches/2.1.6/; revision=12900
Zac Medico [Wed, 11 Mar 2009 05:21:31 +0000 (05:21 -0000)]
Make save_ebuild_env() filter NOCOLOR, and remove related code from ebuild.sh
since that variable is not loaded from $T/environment anymore. (trunk r12625)
svn path=/main/branches/2.1.6/; revision=12899
Zac Medico [Wed, 11 Mar 2009 05:20:52 +0000 (05:20 -0000)]
Bug #253904 - Add a lookahead mechanism inside
depgraph._dep_check_composite_db._visible() which masks package choices
that are likely to trigger slot conflicts. Thanks to Vlastimil Babka
<caster@g.o> for the suggestion.
(trunk r12622:12624)
svn path=/main/branches/2.1.6/; revision=12898
Zac Medico [Wed, 11 Mar 2009 05:19:19 +0000 (05:19 -0000)]
Fix grabfile_package() to preprocess atoms before passing them to
isvalidatom() because isvalidatom() has gotten more strict since r12614.
Thanks to ABCD for reporting. (trunk r12622)
svn path=/main/branches/2.1.6/; revision=12897
Zac Medico [Wed, 11 Mar 2009 05:18:56 +0000 (05:18 -0000)]
Bug #259124 - Inside EbuildFetcher._start(), pass the NOCOLOR variable into
the fetch environment, so that --color=n is respected. (trunk r12621)
svn path=/main/branches/2.1.6/; revision=12896
Zac Medico [Wed, 11 Mar 2009 05:18:42 +0000 (05:18 -0000)]
(trunk r12620)
svn path=/main/branches/2.1.6/; revision=12895
Zac Medico [Wed, 11 Mar 2009 05:18:22 +0000 (05:18 -0000)]
Fix broken references to DepPriority attributes. (trunk r12619)
svn path=/main/branches/2.1.6/; revision=12894
Zac Medico [Wed, 11 Mar 2009 05:17:58 +0000 (05:17 -0000)]
In dyn_package(), show a more informative die message if an error occurs when
creating the tarball. (trunk r12618)
svn path=/main/branches/2.1.6/; revision=12893
Zac Medico [Wed, 11 Mar 2009 05:17:26 +0000 (05:17 -0000)]
Fix isvalidatom to properly identify an invalid atom such as
'dev-java/nanoxml*'. Thanks to Vlastimil Babka <caster@g.o> for reporting.
(trunk r12613:12617)
svn path=/main/branches/2.1.6/; revision=12892
Zac Medico [Wed, 11 Mar 2009 05:14:58 +0000 (05:14 -0000)]
Fix merge order calculation so that the circular runtime path isn't entered
when it's possible to select a node that only has unsatisfied PDEPEND. This
reverts an unintended change from the patch for bug #250020, and solves a
problem with libperl being merged after perl when building stage 1.
(trunk r12613)
svn path=/main/branches/2.1.6/; revision=12891
Zac Medico [Wed, 11 Mar 2009 05:14:23 +0000 (05:14 -0000)]
Bug #250020 - When calculating merge order, try to ensure that packages
listed in DEPEND are updated before whenever possible (even though the
DEPEND may already be satisfied by an installed instance). The changes
to the merge order algorithm should also account for many common cases of
bug #199856, but does not necessarily solve all cases. Whenever possible,
the new algorithm avoids dropping dependencies that are satisfied by installed
packages. Such dependencies are only dropped in a couple of cases:
* when solving circular dependencies
* when promoting packages to in the merge list (either
due an unsatisfied PDEPEND or a portage upgrade) (trunk r12612)
svn path=/main/branches/2.1.6/; revision=12890
Zac Medico [Wed, 11 Mar 2009 05:12:20 +0000 (05:12 -0000)]
In depgraph._serialize_tasks(), when appropriate, execute uninstall tasks
sooner. This solves some cases of bug #256870 since there is a smaller window
of time for some other failure to cause the uninstall to get discarded.
(trunk r12611)
svn path=/main/branches/2.1.6/; revision=12889
Zac Medico [Wed, 11 Mar 2009 05:08:53 +0000 (05:08 -0000)]
For the --buildpkgonly digraph.hasallzeros() check, remove "nomerge" nodes
from the graph. This makes it unnecessary to tweak the dependency priority
for onlydeps packages inside depgraph._add_pkg_dep(). (trunk r12610)
svn path=/main/branches/2.1.6/; revision=12888
Zac Medico [Wed, 11 Mar 2009 05:08:39 +0000 (05:08 -0000)]
Automatically export QA_PRESTRIPPED if it's set. Thanks to Raúl Porcel
<armin76@g.o> for reporting. (trunk r12609)
svn path=/main/branches/2.1.6/; revision=12887
Zac Medico [Wed, 11 Mar 2009 05:08:15 +0000 (05:08 -0000)]
In depgraph._serialize_tasks(), verify that an uninstall task has at least one
theoretically mergeable parent before choosing to reverse it's edges.
(trunk r12605)
svn path=/main/branches/2.1.6/; revision=12886
Zac Medico [Wed, 11 Mar 2009 05:08:02 +0000 (05:08 -0000)]
Fix Scheduler._prevent_builddir_collisions() to skip non-Package instances
when necessary. (trunk r12604)
svn path=/main/branches/2.1.6/; revision=12885
Zac Medico [Wed, 11 Mar 2009 05:07:40 +0000 (05:07 -0000)]
Add a new "portage.internal" warning for prepalldocs usage since the council
ruled that it shouldn't be used in ebuilds. Thanks to Petteri Räty
<betelgeuse@g.o> for the initial patch. (trunk r12603)
svn path=/main/branches/2.1.6/; revision=12884
Zac Medico [Wed, 11 Mar 2009 05:07:13 +0000 (05:07 -0000)]
* Remove outdated comment about qa_source() return value (with typo).
* Update copyright header.
Thanks to Jeremy Olexa <darkside@g.o> for reporting. (trunk r12602)
svn path=/main/branches/2.1.6/; revision=12883
Zac Medico [Wed, 11 Mar 2009 03:54:24 +0000 (03:54 -0000)]
Inside portage.fetch(), check for the case where FETCOMMAND creates a
directory where a file is expected. This can happen if FETCHCOMMAND
erroneously contains wget's -P option where it should instead have -O, as
reported in bug #258433, comment #16. (trunk r12601)
svn path=/main/branches/2.1.6/; revision=12882
Zac Medico [Wed, 11 Mar 2009 03:54:02 +0000 (03:54 -0000)]
Bug #258433 - In portage.fetch(), check for missing ${FILE} parameter in
FETCHCOMMAND or RESUMECOMMAND and bail out early if necessary. (trunk r12600)
svn path=/main/branches/2.1.6/; revision=12881
Zac Medico [Wed, 11 Mar 2009 03:53:38 +0000 (03:53 -0000)]
Inside depgraph._select_atoms(), only trigger the circular dependency
avoidance code for buildtime dependencies. This solves a problem with
virtual/mysql inappropriately pulling in mysql-community from PDEPEND
when satisfying deps of plain mysql. Thanks to Krzysiek Pawlik <nelchael@g.o>
for reporting this issue:
http://archives.gentoo.org/gentoo-dev/msg_efce154d642fe6ede38d084a33c7f949.xml
(trunk r12599)
svn path=/main/branches/2.1.6/; revision=12880
Zac Medico [Wed, 11 Mar 2009 03:51:22 +0000 (03:51 -0000)]
Bug #258433 - Note FETCHCOMMAND and RESUMECOMMAND requirements wrt ${FILE}
for compatibility with EAPI 2. (trunk r12598)
svn path=/main/branches/2.1.6/; revision=12879
Zac Medico [Wed, 11 Mar 2009 03:50:47 +0000 (03:50 -0000)]
Document EAPI 3_pre1. (trunk r12597)
svn path=/main/branches/2.1.6/; revision=12878
Zac Medico [Wed, 11 Mar 2009 03:50:20 +0000 (03:50 -0000)]
Add new EAPI 3_pre1 value, and disable unpack() support for *.xz for earlier
EAPI values. (trunk r12596)
svn path=/main/branches/2.1.6/; revision=12877
Zac Medico [Wed, 11 Mar 2009 03:49:47 +0000 (03:49 -0000)]
Keep 2_pre* EAPI values in the deprecated list so that uninstalls still
work normally. (trunk r12595)
svn path=/main/branches/2.1.6/; revision=12876
Zac Medico [Wed, 11 Mar 2009 03:49:16 +0000 (03:49 -0000)]
Remove support for deprecated 2_pre* EAPI values. (trunk r12594)
svn path=/main/branches/2.1.6/; revision=12875
Zac Medico [Wed, 11 Mar 2009 03:48:50 +0000 (03:48 -0000)]
(trunk r12593)
svn path=/main/branches/2.1.6/; revision=12874