portage.git
15 years agoIn mirror_cache(), normalize EAPI by mapping EAPI=0 to empty.
Zac Medico [Wed, 25 Feb 2009 07:50:34 +0000 (07:50 -0000)]
In mirror_cache(), normalize EAPI by mapping EAPI=0 to empty.

svn path=/main/trunk/; revision=12706

15 years agoBug #259882 - Disable the ignore-previously-merged option by default since
Zac Medico [Tue, 24 Feb 2009 23:16:42 +0000 (23:16 -0000)]
Bug #259882 - Disable the ignore-previously-merged option by default since
emerge's confmem already provides similar functionality which is a little
safer.

svn path=/main/trunk/; revision=12705

15 years agoIf deepcopy() raises a TypeError for a lazy item that has been added via a
Zac Medico [Tue, 24 Feb 2009 05:14:37 +0000 (05:14 -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.

svn path=/main/trunk/; revision=12704

15 years agoMake USE_EXPAND wildcard expansion more efficient, and prevent possible
Zac Medico [Mon, 23 Feb 2009 23:22:08 +0000 (23:22 -0000)]
Make USE_EXPAND wildcard expansion more efficient, and prevent possible
duplicates.

svn path=/main/trunk/; revision=12703

15 years agoFix breakage in USE_EXPAND wildcard handling, from r12697.
Zac Medico [Mon, 23 Feb 2009 23:16:16 +0000 (23:16 -0000)]
Fix breakage in USE_EXPAND wildcard handling, from r12697.

svn path=/main/trunk/; revision=12702

15 years agoFix headers that contain $Header instead of $Id.
Zac Medico [Mon, 23 Feb 2009 21:05:22 +0000 (21:05 -0000)]
Fix headers that contain $Header instead of $Id.

svn path=/main/trunk/; revision=12701

15 years agoIn LazyItemsDict, avoid storing empty lists and dicts when no positional or
Zac Medico [Mon, 23 Feb 2009 20:52:10 +0000 (20:52 -0000)]
In LazyItemsDict, avoid storing empty lists and dicts when no positional or
keyword arguments are given.

svn path=/main/trunk/; revision=12700

15 years agoIn config.setcpv(), increase efficiency by filtering USE with IUSE before
Zac Medico [Mon, 23 Feb 2009 18:12:19 +0000 (18:12 -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.

svn path=/main/trunk/; revision=12697

15 years agoFix getmaskingstatus() so that it doesn't inappropriately return a
Zac Medico [Mon, 23 Feb 2009 17:31:40 +0000 (17:31 -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.

svn path=/main/trunk/; revision=12696

15 years agoFix default_encoding logic in _ensure_default_encoding().
Zac Medico [Mon, 23 Feb 2009 16:41:49 +0000 (16:41 -0000)]
Fix default_encoding logic in _ensure_default_encoding().

svn path=/main/trunk/; revision=12695

15 years agoReorganize _ensure_default_encoding().
Zac Medico [Mon, 23 Feb 2009 16:31:57 +0000 (16:31 -0000)]
Reorganize _ensure_default_encoding().

svn path=/main/trunk/; revision=12694

15 years agoRevert vardbapi._owners_cache_version and unicode handling since it needs
Zac Medico [Mon, 23 Feb 2009 08:35:57 +0000 (08:35 -0000)]
Revert vardbapi._owners_cache_version and unicode handling since it needs
some more work.

svn path=/main/trunk/; revision=12693

15 years agoDon't try to call setdefaultencoding() since it's not intended to be called.
Zac Medico [Mon, 23 Feb 2009 08:32:37 +0000 (08:32 -0000)]
Don't try to call setdefaultencoding() since it's not intended to be called.

svn path=/main/trunk/; revision=12692

15 years agoWhen displaying reverse dependencies in verbose --depclean/--prune output,
Zac Medico [Mon, 23 Feb 2009 06:51:10 +0000 (06:51 -0000)]
When displaying reverse dependencies in verbose --depclean/--prune output,
sort the parent packages by cpv.

svn path=/main/trunk/; revision=12691

15 years agoBump vardbapi._owners_cache_version from 1 to 2 since hash value encoding
Zac Medico [Mon, 23 Feb 2009 03:16:05 +0000 (03:16 -0000)]
Bump vardbapi._owners_cache_version from 1 to 2 since hash value encoding
is now hardcoded as utf_8.

svn path=/main/trunk/; revision=12690

15 years agoWhen encoding strings inside vardbapi._counter_hash() and
Zac Medico [Mon, 23 Feb 2009 03:12:49 +0000 (03:12 -0000)]
When encoding strings inside  vardbapi._counter_hash() and
vardbapi._owners_cache._hash_str(), use 'backslashreplace' in order to avoid
potential UnicodeError exceptions. Use constant ascii and utf_8 codecs,
respectively, since these codecs are guaranteed to be available by
_ensure_default_encoding().

svn path=/main/trunk/; revision=12689

15 years agoAdd support in _ensure_default_encoding(), add support for utf_8 and fall
Zac Medico [Mon, 23 Feb 2009 03:03:46 +0000 (03:03 -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.

svn path=/main/trunk/; revision=12688

15 years agoWhen decoding term codes inside the JobStatusDisplay constructor, use the
Zac Medico [Sun, 22 Feb 2009 23:39:03 +0000 (23:39 -0000)]
When decoding term codes inside the JobStatusDisplay constructor, use the
'replace' error handling scheme in order to avoid triggering a potential
UnicodeError.

svn path=/main/trunk/; revision=12687

15 years agoIn EbuildFetchonly.execute(), skip builddir creation when the ebuild does
Zac Medico [Sun, 22 Feb 2009 22:24:08 +0000 (22:24 -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).

svn path=/main/trunk/; revision=12686

15 years agoAvoid spurious CCACHE_DIR permissions adjustments when fetching with
Zac Medico [Sun, 22 Feb 2009 21:12:03 +0000 (21:12 -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.

svn path=/main/trunk/; revision=12685

15 years agoThe python that's inside stage 1 or 2 is built with a minimal
Zac Medico [Sun, 22 Feb 2009 09:56:27 +0000 (09:56 -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.

svn path=/main/trunk/; revision=12684

15 years agoUse a lock to ensure that threaded code doesn't cause problems with proxy
Zac Medico [Sun, 22 Feb 2009 06:00:34 +0000 (06:00 -0000)]
Use a lock to ensure that threaded code doesn't cause problems with proxy
registration and unregistration.

svn path=/main/trunk/; revision=12683

15 years agoUse lazyimport to avoid importing the portage.elog module when portage is
Zac Medico [Sun, 22 Feb 2009 05:29:46 +0000 (05:29 -0000)]
Use lazyimport to avoid importing the portage.elog module when portage is
initially imported.

svn path=/main/trunk/; revision=12682

15 years agoUse lazyimport to avoid importing the dep, output, update, and versions
Zac Medico [Sun, 22 Feb 2009 05:23:34 +0000 (05:23 -0000)]
Use lazyimport to avoid importing the dep, output, update, and versions
modules when portage is initially imported.

svn path=/main/trunk/; revision=12681

15 years agoUse lazyimport to avoid importing the checksum, locks, and util modules
Zac Medico [Sun, 22 Feb 2009 04:47:25 +0000 (04:47 -0000)]
Use lazyimport to avoid importing the checksum, locks, and util modules
when portage is initially imported.

svn path=/main/trunk/; revision=12680

15 years agoFix _LazyImportFrom to use the correct module name when registering and
Zac Medico [Sun, 22 Feb 2009 03:42:37 +0000 (03:42 -0000)]
Fix _LazyImportFrom to use the correct module name when registering and
unregistering.

svn path=/main/trunk/; revision=12679

15 years agoMake lazyimport proxies trigger automatic destruction of other proxies for
Zac Medico [Sun, 22 Feb 2009 03:19:50 +0000 (03:19 -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.

svn path=/main/trunk/; revision=12678

15 years agoFix typo in __all__.
Zac Medico [Sun, 22 Feb 2009 02:48:43 +0000 (02:48 -0000)]
Fix typo in __all__.

svn path=/main/trunk/; revision=12677

15 years agoReduce bloat in portage.util by splitting ObjectProxy and lazyimport into a
Zac Medico [Sun, 22 Feb 2009 02:46:26 +0000 (02:46 -0000)]
Reduce bloat in portage.util by splitting ObjectProxy and lazyimport into a
new portage.proxy package.

svn path=/main/trunk/; revision=12676

15 years agoMake lazy_import() skip proxy creation for modules that already exist
Zac Medico [Sun, 22 Feb 2009 00:33:41 +0000 (00:33 -0000)]
Make lazy_import() skip proxy creation for modules that already exist
in sys.modules.

svn path=/main/trunk/; revision=12675

15 years agoMake the UserDict and LazyItemsDict constructors use an optional positional
Zac Medico [Sat, 21 Feb 2009 22:07:51 +0000 (22:07 -0000)]
Make the UserDict and LazyItemsDict constructors use an optional positional
argument instead of a keyword argument.

svn path=/main/trunk/; revision=12674

15 years agoIn config.setcpv(), use LazyItemsDict to implement lazy evaluation of
Zac Medico [Sat, 21 Feb 2009 21:51:13 +0000 (21:51 -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.

svn path=/main/trunk/; revision=12673

15 years agoIn LazyItemsDict, when a singleton is instantiated, replace the wrapper with
Zac Medico [Sat, 21 Feb 2009 19:09:05 +0000 (19:09 -0000)]
In LazyItemsDict, when a singleton is instantiated, replace the wrapper with
the singleton since the wrapper is no longer needed at this point.

svn path=/main/trunk/; revision=12672

15 years agoRevert r12639 and use string.ascii_letters for python-3.0 compatibility.
Zac Medico [Sat, 21 Feb 2009 02:50:07 +0000 (02:50 -0000)]
Revert r12639 and use string.ascii_letters for python-3.0 compatibility.

svn path=/main/trunk/; revision=12669

15 years agoInside portage.spawn(), open files for logfile handling in binary mode, for
Zac Medico [Sat, 21 Feb 2009 02:44:24 +0000 (02:44 -0000)]
Inside portage.spawn(), open files for logfile handling in binary mode, for
compatibility with python-3.0.

svn path=/main/trunk/; revision=12668

15 years agoInside summarylist(), it's possible for myglsa.packages.keys() to contain
Zac Medico [Sat, 21 Feb 2009 01:55:27 +0000 (01:55 -0000)]
Inside summarylist(), it's possible for myglsa.packages.keys() to contain
unicode objects, which trigger and exception like this:

   File "//usr/lib64/portage/pym/portage/dep.py", line 535, in __init__
    obj_setattr(self, x, getattr(s, x))
   AttributeError: 'unicode' object has no attribute '__eq__'

To solve this problem, convert unicode objects to plain str before passing
them to the portage api.

svn path=/main/trunk/; revision=12667

15 years agoFor python-3.0 compatibility, open files in binary mode inside
Zac Medico [Sat, 21 Feb 2009 00:18:45 +0000 (00:18 -0000)]
For python-3.0 compatibility, open files in binary mode inside
SpawnProcess._start().

svn path=/main/trunk/; revision=12666

15 years agoWhen loading vdb_metadata.pickle inside vardbapi._aux_cache_init(), in
Zac Medico [Fri, 20 Feb 2009 23:37:13 +0000 (23:37 -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.

svn path=/main/trunk/; revision=12665

15 years agoAdd a cross reference from FEATURES=lmirror docs to the "local" mirror docs
Zac Medico [Fri, 20 Feb 2009 21:19:40 +0000 (21:19 -0000)]
Add a cross reference from FEATURES=lmirror docs to the "local" mirror docs
in portage(5).

svn path=/main/trunk/; revision=12664

15 years agoIn python-3.0, integer division results in a float, so convert back to int.
Zac Medico [Fri, 20 Feb 2009 08:10:38 +0000 (08:10 -0000)]
In python-3.0, integer division results in a float, so convert back to int.

svn path=/main/trunk/; revision=12663

15 years agoFix StringIO imports so that 2to3 can handle them. Also, replace shlex +
Zac Medico [Fri, 20 Feb 2009 07:16:16 +0000 (07:16 -0000)]
Fix StringIO imports so that 2to3 can handle them. Also, replace shlex +
StringIO usage with shlex.split() where appropriate.

svn path=/main/trunk/; revision=12662

15 years agoAdd a new portage.utils.lazy_import() function which behaves similar to the
Zac Medico [Fri, 20 Feb 2009 06:15:34 +0000 (06:15 -0000)]
Add a new portage.utils.lazy_import() function which behaves similar to the
snakeoil.demandload.demandload() function.

svn path=/main/trunk/; revision=12661

15 years agoTry to fix svn:keywords again.
Zac Medico [Fri, 20 Feb 2009 03:00:19 +0000 (03:00 -0000)]
Try to fix svn:keywords again.

svn path=/main/trunk/; revision=12659

15 years agoTry to fix svn:keywords again.
Zac Medico [Fri, 20 Feb 2009 02:56:07 +0000 (02:56 -0000)]
Try to fix svn:keywords again.

svn path=/main/trunk/; revision=12658

15 years agoAdd back Rev to svn:keywords (accidentally removed when setting Id). Thanks
Zac Medico [Thu, 19 Feb 2009 22:51:40 +0000 (22:51 -0000)]
Add back Rev to svn:keywords (accidentally removed when setting Id). Thanks
to ABCD for reporting.

svn path=/main/trunk/; revision=12656

15 years agoWhen displaying the list of failed packages, tell the number that failed.
Zac Medico [Thu, 19 Feb 2009 21:45:01 +0000 (21:45 -0000)]
When displaying the list of failed packages, tell the number that failed.
Thanks to Jeremy Olexa <darkside@g.o> for the suggestion.

svn path=/main/trunk/; revision=12655

15 years agoMake isvalidatom() identify empty slot as invalid (missing slot is valid) and
Zac Medico [Thu, 19 Feb 2009 19:19:18 +0000 (19:19 -0000)]
Make isvalidatom() identify empty slot as invalid (missing slot is valid) and
add a corresponding test case.

svn path=/main/trunk/; revision=12654

15 years agoOptimize depgraph._dep_expand() to avoid calling pordbapi.cp_all(),
Zac Medico [Thu, 19 Feb 2009 19:01:26 +0000 (19:01 -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.

svn path=/main/trunk/; revision=12653

15 years agoDecode terminal codes from binary when necessary, for python-3.0 compatibility
Zac Medico [Thu, 19 Feb 2009 12:42:42 +0000 (12:42 -0000)]
Decode terminal codes from binary when necessary, for python-3.0 compatibility
since sys.stdout is a text stream.

svn path=/main/trunk/; revision=12649

15 years agoHandle ValueError when unpickling, since this can be triggered by an
Zac Medico [Thu, 19 Feb 2009 12:36:51 +0000 (12:36 -0000)]
Handle ValueError when unpickling, since this can be triggered by an
unsupported pickle protocol.

svn path=/main/trunk/; revision=12648

15 years agoFix update() methods to work with python-3.0.
Zac Medico [Thu, 19 Feb 2009 12:27:28 +0000 (12:27 -0000)]
Fix update() methods to work with python-3.0.

svn path=/main/trunk/; revision=12647

15 years agoTweak exception handling indentation to avoid a bug in 2to3.
Zac Medico [Thu, 19 Feb 2009 11:48:09 +0000 (11:48 -0000)]
Tweak exception handling indentation to avoid a bug in 2to3.

svn path=/main/trunk/; revision=12646

15 years agoFor python-3.0 compatibility, encode strings as binary before trying to pass
Zac Medico [Thu, 19 Feb 2009 11:41:48 +0000 (11:41 -0000)]
For python-3.0 compatibility, encode strings as binary before trying to pass
them to hashlib.

svn path=/main/trunk/; revision=12645

15 years agoTweak code to avoid python-3.0 errors like this one:
Zac Medico [Thu, 19 Feb 2009 11:36:57 +0000 (11:36 -0000)]
Tweak code to avoid python-3.0 errors like this one:
SyntaxError: can not delete variable 'e' referenced in nested scope

svn path=/main/trunk/; revision=12644

15 years agoRevert accidental python-3.0 syntax.
Zac Medico [Thu, 19 Feb 2009 10:28:58 +0000 (10:28 -0000)]
Revert accidental python-3.0 syntax.

svn path=/main/trunk/; revision=12643

15 years agoFor compatibility with python-3.0, open files in text mode where appropriate.
Zac Medico [Thu, 19 Feb 2009 10:24:06 +0000 (10:24 -0000)]
For compatibility with python-3.0, open files in text mode where appropriate.

svn path=/main/trunk/; revision=12642

15 years agoFor compatibility with python-3.0, always open streams for pickles in binary
Zac Medico [Thu, 19 Feb 2009 10:14:13 +0000 (10:14 -0000)]
For compatibility with python-3.0, always open streams for pickles in binary
mode.

svn path=/main/trunk/; revision=12641

15 years agoFor compatibility with python-3.0, inherit from ObjectProxy instead of
Zac Medico [Thu, 19 Feb 2009 09:49:54 +0000 (09:49 -0000)]
For compatibility with python-3.0, inherit from ObjectProxy instead of
inheriting directly from file.

svn path=/main/trunk/; revision=12640

15 years agoFor python-3.0 compatibility, don't use string.letters.
Zac Medico [Thu, 19 Feb 2009 09:41:55 +0000 (09:41 -0000)]
For python-3.0 compatibility, don't use string.letters.

svn path=/main/trunk/; revision=12639

15 years agoUse a regular expression for the file.name check. This replaces some odd
Zac Medico [Thu, 19 Feb 2009 07:55:45 +0000 (07:55 -0000)]
Use a regular expression for the file.name check. This replaces some odd
map() usage that 2to3 warns about.

svn path=/main/trunk/; revision=12638

15 years agoDon't bother to calculate PORTAGE_COUNTER_HASH when in --pretend mode.
Zac Medico [Thu, 19 Feb 2009 07:29:10 +0000 (07:29 -0000)]
Don't bother to calculate PORTAGE_COUNTER_HASH when in --pretend mode.

svn path=/main/trunk/; revision=12637

15 years agoInside post_emerge(), skip the vardbapi counter check when in --pretend
Zac Medico [Thu, 19 Feb 2009 07:10:34 +0000 (07:10 -0000)]
Inside post_emerge(), skip the vardbapi counter check when in --pretend
mode (significant performance improvement). Thanks to Marat Radchenko
(slonopotamus) for reporting.

svn path=/main/trunk/; revision=12636

15 years agoFor python-3.0 compatibility, raise a real exception instead of a string.
Zac Medico [Thu, 19 Feb 2009 06:50:49 +0000 (06:50 -0000)]
For python-3.0 compatibility, raise a real exception instead of a string.

svn path=/main/trunk/; revision=12635

15 years agoBug #230483 - Convert glsa-check option parsing to use the optparse module.
Zac Medico [Thu, 19 Feb 2009 06:39:59 +0000 (06:39 -0000)]
Bug #230483 - Convert glsa-check option parsing to use the optparse module.
This replaces some code which triggers a traceback from 2to3. Thanks to
Ali Polatel <hawking@g.o> for this patch.

svn path=/main/trunk/; revision=12634

15 years agoFor compatibility with python-3.0, use isinstance() instead of type().
Zac Medico [Thu, 19 Feb 2009 05:29:48 +0000 (05:29 -0000)]
For compatibility with python-3.0, use isinstance() instead of type().

svn path=/main/trunk/; revision=12633

15 years agoFix classes that implement __iter__() to copy it to their keys() method
Zac Medico [Thu, 19 Feb 2009 03:53:21 +0000 (03:53 -0000)]
Fix classes that implement __iter__() to copy it to their keys() method
when running under >=python-3.0.

svn path=/main/trunk/; revision=12632

15 years agoRemove redundant ConfigLoaderKlass.__iter__() method.
Zac Medico [Thu, 19 Feb 2009 03:35:07 +0000 (03:35 -0000)]
Remove redundant ConfigLoaderKlass.__iter__() method.

svn path=/main/trunk/; revision=12631

15 years agoImplement UserDict.__contains__() and __iter__().
Zac Medico [Thu, 19 Feb 2009 03:34:05 +0000 (03:34 -0000)]
Implement UserDict.__contains__() and __iter__().

svn path=/main/trunk/; revision=12630

15 years agoImplement a substitute for UserDict.UserDict so that code converted via
Zac Medico [Thu, 19 Feb 2009 03:27:40 +0000 (03:27 -0000)]
Implement a substitute for UserDict.UserDict so that code converted via
2to3 will run:

     http://bugs.python.org/issue2876

svn path=/main/trunk/; revision=12629

15 years agoIn python-3.0, the UserDict.DictMixin class has been replaced by
Zac Medico [Thu, 19 Feb 2009 02:52:36 +0000 (02:52 -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.

svn path=/main/trunk/; revision=12628

15 years agoSet svn:keywords Id on all files.
Zac Medico [Wed, 18 Feb 2009 22:50:14 +0000 (22:50 -0000)]
Set svn:keywords Id on all files.

svn path=/main/trunk/; revision=12626

15 years agoMake save_ebuild_env() filter NOCOLOR, and remove related code from ebuild.sh
Zac Medico [Wed, 18 Feb 2009 22:23:35 +0000 (22:23 -0000)]
Make save_ebuild_env() filter NOCOLOR, and remove related code from ebuild.sh
since that variable is not loaded from $T/environment anymore.

svn path=/main/trunk/; revision=12625

15 years agoCall depgraph._dep_check_composite_db._clear_cache() inside
Zac Medico [Wed, 18 Feb 2009 02:16:34 +0000 (02:16 -0000)]
Call depgraph._dep_check_composite_db._clear_cache() inside
depgraph._add_pkg() since _dep_check_composite_db._visible() is now
affected by which packages are added to the graph.

svn path=/main/trunk/; revision=12624

15 years agoBug #253904 - Add a lookahead mechanism inside
Zac Medico [Tue, 17 Feb 2009 23:53:36 +0000 (23:53 -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.

svn path=/main/trunk/; revision=12623

15 years agoFix grabfile_package() to preprocess atoms before passing them to
Zac Medico [Tue, 17 Feb 2009 05:23:11 +0000 (05:23 -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.

svn path=/main/trunk/; revision=12622

15 years agoBug #259124 - Inside EbuildFetcher._start(), pass the NOCOLOR variable into
Zac Medico [Mon, 16 Feb 2009 01:27:02 +0000 (01:27 -0000)]
Bug #259124 - Inside EbuildFetcher._start(), pass the NOCOLOR variable into
the fetch environment, so that --color=n is respected.

svn path=/main/trunk/; revision=12621

15 years agounify code for unpacking of tar files
Mike Frysinger [Mon, 16 Feb 2009 00:02:43 +0000 (00:02 -0000)]
unify code for unpacking of tar files

svn path=/main/trunk/; revision=12620

15 years agoFix broken references to DepPriority attributes.
Zac Medico [Sun, 15 Feb 2009 19:14:46 +0000 (19:14 -0000)]
Fix broken references to DepPriority attributes.

svn path=/main/trunk/; revision=12619

15 years agoIn dyn_package(), show a more informative die message if an error occurs when
Zac Medico [Sun, 15 Feb 2009 18:54:50 +0000 (18:54 -0000)]
In dyn_package(), show a more informative die message if an error occurs when
creating the tarball.

svn path=/main/trunk/; revision=12618

15 years agoAdd a test case for the new case which is detected by isvalidatom().
Zac Medico [Sun, 15 Feb 2009 05:13:26 +0000 (05:13 -0000)]
Add a test case for the new case which is detected by isvalidatom().

svn path=/main/trunk/; revision=12617

15 years agoFix more false positives in isvalidatom() from previous commits.
Zac Medico [Sun, 15 Feb 2009 05:10:29 +0000 (05:10 -0000)]
Fix more false positives in isvalidatom() from previous commits.

svn path=/main/trunk/; revision=12616

15 years agoFix isvalidatom() logic from previous commit to avoid false positives.
Zac Medico [Sun, 15 Feb 2009 05:01:42 +0000 (05:01 -0000)]
Fix isvalidatom() logic from previous commit to avoid false positives.

svn path=/main/trunk/; revision=12615

15 years agoFix isvalidatom to properly identify an invalid atom such as
Zac Medico [Sun, 15 Feb 2009 04:59:03 +0000 (04:59 -0000)]
Fix isvalidatom to properly identify an invalid atom such as
'dev-java/nanoxml*'. Thanks to Vlastimil Babka <caster@g.o> for reporting.

svn path=/main/trunk/; revision=12614

15 years agoFix merge order calculation so that the circular runtime path isn't entered
Zac Medico [Sun, 15 Feb 2009 02:35:35 +0000 (02:35 -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.

svn path=/main/trunk/; revision=12613

15 years agoBug #250020 - When calculating merge order, try to ensure that packages
Zac Medico [Sat, 14 Feb 2009 22:08:49 +0000 (22:08 -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)

svn path=/main/trunk/; revision=12612

15 years agoIn depgraph._serialize_tasks(), when appropriate, execute uninstall tasks
Zac Medico [Sat, 14 Feb 2009 21:33:58 +0000 (21:33 -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.

svn path=/main/trunk/; revision=12611

15 years agoFor the --buildpkgonly digraph.hasallzeros() check, remove "nomerge" nodes
Zac Medico [Sat, 14 Feb 2009 19:52:59 +0000 (19:52 -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().

svn path=/main/trunk/; revision=12610

15 years agoAutomatically export QA_PRESTRIPPED if it's set. Thanks to Raúl Porcel
Zac Medico [Sat, 14 Feb 2009 19:22:06 +0000 (19:22 -0000)]
Automatically export QA_PRESTRIPPED if it's set. Thanks to Raúl Porcel
<armin76@g.o> for reporting.

svn path=/main/trunk/; revision=12609

15 years agoIn depgraph._serialize_tasks(), verify that an uninstall task has at least one
Zac Medico [Fri, 13 Feb 2009 03:29:01 +0000 (03:29 -0000)]
In depgraph._serialize_tasks(), verify that an uninstall task has at least one
theoretically mergeable parent before choosing to reverse it's edges.

svn path=/main/trunk/; revision=12605

15 years agoFix Scheduler._prevent_builddir_collisions() to skip non-Package instances
Zac Medico [Fri, 13 Feb 2009 02:53:53 +0000 (02:53 -0000)]
Fix Scheduler._prevent_builddir_collisions() to skip non-Package instances
when necessary.

svn path=/main/trunk/; revision=12604

15 years agoAdd a new "portage.internal" warning for prepalldocs usage since the council
Zac Medico [Thu, 12 Feb 2009 23:12:41 +0000 (23:12 -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.

svn path=/main/trunk/; revision=12603

15 years ago* Remove outdated comment about qa_source() return value (with typo).
Zac Medico [Thu, 12 Feb 2009 21:43:38 +0000 (21:43 -0000)]
* Remove outdated comment about qa_source() return value (with typo).
* Update copyright header.
Thanks to Jeremy Olexa <darkside@g.o> for reporting.

svn path=/main/trunk/; revision=12602

15 years agoInside portage.fetch(), check for the case where FETCOMMAND creates a
Zac Medico [Thu, 12 Feb 2009 03:53:07 +0000 (03:53 -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.

svn path=/main/trunk/; revision=12601

15 years agoBug #258433 - In portage.fetch(), check for missing ${FILE} parameter in
Zac Medico [Thu, 12 Feb 2009 03:20:05 +0000 (03:20 -0000)]
Bug #258433 - In portage.fetch(), check for missing ${FILE} parameter in
FETCHCOMMAND or RESUMECOMMAND and bail out early if necessary.

svn path=/main/trunk/; revision=12600

15 years agoInside depgraph._select_atoms(), only trigger the circular dependency
Zac Medico [Wed, 11 Feb 2009 20:34:40 +0000 (20:34 -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

svn path=/main/trunk/; revision=12599

15 years agoBug #258433 - Note FETCHCOMMAND and RESUMECOMMAND requirements wrt ${FILE}
Zac Medico [Tue, 10 Feb 2009 21:37:57 +0000 (21:37 -0000)]
Bug #258433 - Note FETCHCOMMAND and RESUMECOMMAND requirements wrt ${FILE}
for compatibility with EAPI 2.

svn path=/main/trunk/; revision=12598

15 years agoDocument EAPI 3_pre1.
Zac Medico [Mon, 9 Feb 2009 09:38:31 +0000 (09:38 -0000)]
Document EAPI 3_pre1.

svn path=/main/trunk/; revision=12597

15 years agoAdd new EAPI 3_pre1 value, and disable unpack() support for *.xz for earlier
Zac Medico [Mon, 9 Feb 2009 09:25:39 +0000 (09:25 -0000)]
Add new EAPI 3_pre1 value, and disable unpack() support for *.xz for earlier
EAPI values.

svn path=/main/trunk/; revision=12596

15 years agoKeep 2_pre* EAPI values in the deprecated list so that uninstalls still
Zac Medico [Mon, 9 Feb 2009 09:05:38 +0000 (09:05 -0000)]
Keep 2_pre* EAPI values in the deprecated list so that uninstalls still
work normally.

svn path=/main/trunk/; revision=12595

15 years agoRemove support for deprecated 2_pre* EAPI values.
Zac Medico [Mon, 9 Feb 2009 09:02:46 +0000 (09:02 -0000)]
Remove support for deprecated 2_pre* EAPI values.

svn path=/main/trunk/; revision=12594