portage.git
16 years agoBug #224271 - Add a 'IUSE is not defined' ebuild.minorsyn warning.
Zac Medico [Sat, 7 Jun 2008 09:23:56 +0000 (09:23 -0000)]
Bug #224271 - Add a 'IUSE is not defined' ebuild.minorsyn warning.

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

16 years agoAdd a PackageVirtualDbapi.__getitem__() method.
Zac Medico [Fri, 6 Jun 2008 00:22:35 +0000 (00:22 -0000)]
Add a PackageVirtualDbapi.__getitem__() method.

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

16 years agoAdd Package.counter and mtime attributes.
Zac Medico [Thu, 5 Jun 2008 23:35:23 +0000 (23:35 -0000)]
Add Package.counter and mtime attributes.

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

16 years agoAdd vardbapi.aux_get() support for an "_mtime_" value which corresponds to
Zac Medico [Thu, 5 Jun 2008 17:30:46 +0000 (17:30 -0000)]
Add vardbapi.aux_get() support for an "_mtime_" value which corresponds to
the installed package directory's mtime (numeric value from stat result).
This value can be used to validate indexes or caches used in the optimization
of vdb query operations for various types of package metadata such as
dependencies and file contents.

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

16 years agoBug #224713 - Avoid TypeError when make.conf is missing:
Zac Medico [Wed, 4 Jun 2008 23:44:50 +0000 (23:44 -0000)]
Bug #224713 - Avoid TypeError when make.conf is missing:
TypeError: argument of type 'NoneType' is not iterable

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

16 years agoMention PORTAGE_RO_DISTDIRS in the DISTDIR docs.
Zac Medico [Wed, 4 Jun 2008 21:15:22 +0000 (21:15 -0000)]
Mention PORTAGE_RO_DISTDIRS in the DISTDIR docs.

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

16 years agoUse sets for more accurate cache modification counts BlockerCache and vardbapi.
Zac Medico [Wed, 4 Jun 2008 20:24:31 +0000 (20:24 -0000)]
Use sets for more accurate cache modification counts BlockerCache and vardbapi.

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

16 years agoUse platform module to make it clear what we're displaying. Instead of
Zac Medico [Wed, 4 Jun 2008 03:50:44 +0000 (03:50 -0000)]
Use platform module to make it clear what we're displaying.  Instead of
an 'uname -mrp' call use platform.platform() to describe the system in
emerge --info. (branches/prefix r10555)

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

16 years agoUse "platform" module instead of os.uname, or -- even worse -- a system
Zac Medico [Wed, 4 Jun 2008 03:47:56 +0000 (03:47 -0000)]
Use "platform" module instead of os.uname, or -- even worse -- a system
call to uname.  Change repoman's identification string not to use
"processor" on Linux (where it is huge), Interix (where it doesn't
exist) and AIX/HP-UX (where it prints "unknown"), but "machine" instead.
(branches/prefix r10554)

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

16 years agoFix typo.
Zac Medico [Wed, 4 Jun 2008 01:07:32 +0000 (01:07 -0000)]
Fix typo.

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

16 years agoUse a distdir_writable variable in fetch(), for better control of write
Zac Medico [Wed, 4 Jun 2008 00:48:07 +0000 (00:48 -0000)]
Use a distdir_writable variable in fetch(), for better control of write
operations inside ${DISTDIR}.

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

16 years agoUpdate --depclean and package.provided docs to indicate interaction
Zac Medico [Tue, 3 Jun 2008 23:33:54 +0000 (23:33 -0000)]
Update --depclean and package.provided docs to indicate interaction
between them.

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

16 years agoMake PackagesSystemSet.description refer to the real profile rather than
Zac Medico [Tue, 3 Jun 2008 20:44:29 +0000 (20:44 -0000)]
Make PackagesSystemSet.description refer to the real profile rather than
/etc/portage/profile when possible.

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

16 years agoAvoid an unhandled IndexError thrown from the PackagesSystemSet constructor
Zac Medico [Tue, 3 Jun 2008 20:37:11 +0000 (20:37 -0000)]
Avoid an unhandled IndexError thrown from the PackagesSystemSet constructor
when neither /etc/make.profile nor /etc/portage/profile exist.

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

16 years agoFix regex for compatibility with the regex implementation from FreeBSD's
Zac Medico [Tue, 3 Jun 2008 20:11:00 +0000 (20:11 -0000)]
Fix regex for compatibility with the regex implementation from FreeBSD's
libc (used by bash on FreeBSD). Thanks to Alexis Ballier <aballier@g.o>
for the patch.

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

16 years agoTweak the installed masked code from bug #223447 so that it less noisy
Zac Medico [Tue, 3 Jun 2008 09:38:56 +0000 (09:38 -0000)]
Tweak the installed masked code from bug #223447 so that it less noisy
by suppressing masking messages for packages that haven't been pulled
into the current dependency graph.

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

16 years agoFix typo.
Zac Medico [Tue, 3 Jun 2008 06:51:49 +0000 (06:51 -0000)]
Fix typo.

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

16 years agoWhen pruning the digests to optimize parallel-fetch, use a separate dict
Zac Medico [Tue, 3 Jun 2008 06:50:32 +0000 (06:50 -0000)]
When pruning the digests to optimize parallel-fetch, use a separate dict
so that the original digests are still available if a file needs to be
downloaded.

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

16 years agoUse float mtime instead of int for finer granularity in vardbapi.match()
Zac Medico [Tue, 3 Jun 2008 05:41:32 +0000 (05:41 -0000)]
Use float mtime instead of int for finer granularity in vardbapi.match()
cache staleness checks.

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

16 years agoAdd modification threshold for BlockerCache.flush(), to avoid wasteful IO.
Zac Medico [Tue, 3 Jun 2008 04:04:14 +0000 (04:04 -0000)]
Add modification threshold for BlockerCache.flush(), to avoid wasteful IO.

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

16 years agoFix vardbapi.flush_cache() so that it only updates the cache when the
Zac Medico [Tue, 3 Jun 2008 03:45:58 +0000 (03:45 -0000)]
Fix vardbapi.flush_cache() so that it only updates the cache when the
number of uncached packages reaches a certain threshold (currently 5).
The cache file can be several megabytes in size, so updating it for
every vdb change is wasteful.

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

16 years agoAdd support for a PORTAGE_RO_DISTDIRS variable. When a given file does not
Zac Medico [Tue, 3 Jun 2008 02:24:40 +0000 (02:24 -0000)]
Add support for a PORTAGE_RO_DISTDIRS variable. When a given file does not
exist in DISTDIR, search for the file in this list of directories. Search
order is from left to right. Note that the current implementation works by
creating a symlink inside DISTDIR, but that may change in the future.

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

16 years agoDon't unset PORTAGE_BINPKG_FILE because it's readonly.
Zac Medico [Tue, 3 Jun 2008 01:41:09 +0000 (01:41 -0000)]
Don't unset PORTAGE_BINPKG_FILE because it's readonly.

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

16 years agoFilter PORTAGE_BINPKG_FILE in save_ebuild_env().
Zac Medico [Sun, 1 Jun 2008 18:28:04 +0000 (18:28 -0000)]
Filter PORTAGE_BINPKG_FILE in save_ebuild_env().

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

16 years agoFix typo.
Zac Medico [Sun, 1 Jun 2008 08:33:00 +0000 (08:33 -0000)]
Fix typo.

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

16 years agoMention masked packages in another --resume message.
Zac Medico [Sun, 1 Jun 2008 04:58:37 +0000 (04:58 -0000)]
Mention masked packages in another --resume message.

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

16 years agoReference depgraph.UnsatisfiedResumeDep instead of mydepgraph since the
Zac Medico [Sun, 1 Jun 2008 04:50:27 +0000 (04:50 -0000)]
Reference depgraph.UnsatisfiedResumeDep instead of mydepgraph since the
latter can trigger an UnboundLocalError in some cases (^C for example).

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

16 years agoUpdate the --skipfirst dropped packages warning to mention "masking"
Zac Medico [Sun, 1 Jun 2008 04:47:01 +0000 (04:47 -0000)]
Update the --skipfirst dropped packages warning to mention "masking"
in addition to unsatisfied dependencies.

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

16 years agoUpdate the UnsatisfiedResumeDep display to distinguish masked packages
Zac Medico [Sun, 1 Jun 2008 04:35:51 +0000 (04:35 -0000)]
Update the UnsatisfiedResumeDep display to distinguish masked packages
from those with unsatisfied dependencies.

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

16 years agoRevert changes wrt argument atoms in the previous commit since it's not
Zac Medico [Sun, 1 Jun 2008 04:27:55 +0000 (04:27 -0000)]
Revert changes wrt argument atoms in the previous commit since it's not
really useful.

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

16 years agoMake --skipfirst tolerate masked packages by dropping them (similar to
Zac Medico [Sun, 1 Jun 2008 01:37:34 +0000 (01:37 -0000)]
Make --skipfirst tolerate masked packages by dropping them (similar to
how it would drop a package that has an unsatisfied dependency).

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

16 years agoFix EditablePackageSet.update() to create Atom instances when necessary.
Zac Medico [Sun, 1 Jun 2008 01:27:21 +0000 (01:27 -0000)]
Fix EditablePackageSet.update() to create Atom instances when necessary.

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

16 years agoMake PackageSet._setAtoms() use existing Atom instances when available.
Zac Medico [Sat, 31 May 2008 23:10:14 +0000 (23:10 -0000)]
Make PackageSet._setAtoms() use existing Atom instances when available.

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

16 years agoFix create_world_atom() to take a Package instance in it's arguments.
Zac Medico [Sat, 31 May 2008 20:02:58 +0000 (20:02 -0000)]
Fix create_world_atom() to take a Package instance in it's arguments.

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

16 years agoAdd some isvalidatom() test cases with "null" and missing category.
Zac Medico [Sat, 31 May 2008 09:35:51 +0000 (09:35 -0000)]
Add some isvalidatom() test cases with "null" and missing category.

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

16 years agoFix TypeError: 'tuple' object does not support item assignment
Zac Medico [Sat, 31 May 2008 09:24:01 +0000 (09:24 -0000)]
Fix TypeError: 'tuple' object does not support item assignment

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

16 years ago* Tweak isvalidatom() to treat "null" category as valid, but missing category
Zac Medico [Sat, 31 May 2008 09:11:25 +0000 (09:11 -0000)]
* Tweak isvalidatom() to treat "null" category as valid, but missing category
  as invalid (previously both where treated as invalid).

* Fix a spot inside emerge's unmerge() function that sometimes generates
  invalid atoms by adding an unnecessary "=" to the front. Even when in
  cases that resulted in a valid atom here, adding the "=" was redundant
  because dep_expand() does that automatically now (for backward compat).

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

16 years agoClean up reference to parts of the first graph for --skipfirst.
Zac Medico [Sat, 31 May 2008 02:06:01 +0000 (02:06 -0000)]
Clean up reference to parts of the first graph for --skipfirst.

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

16 years agoOptimize the new --skipfirst code so that in only has to build
Zac Medico [Sat, 31 May 2008 01:54:11 +0000 (01:54 -0000)]
Optimize the new --skipfirst code so that in only has to build
a new depgraph one time when there are unsatisfied deps. This
works by recursively traversing the digraph to remove the parent
packages whose deps become unsatisfied when their dependencies are
pruned from the mergelist.

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

16 years agoFix PackageSet.findAtomForPackage() to find the most specific atom since
Zac Medico [Fri, 30 May 2008 23:46:08 +0000 (23:46 -0000)]
Fix PackageSet.findAtomForPackage() to find the most specific atom since
it can affect behavior when deciding whether or not to add a slot atom to
the world file.

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

16 years agoNow that dbapi._iter_match() is guaranteed to return a real iterator with
Zac Medico [Fri, 30 May 2008 21:14:32 +0000 (21:14 -0000)]
Now that dbapi._iter_match() is guaranteed to return a real iterator with
a next method(), we can just call next() and handle StopIteration.

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

16 years agoFor consistency, make sure that a normal iterator is always returned
Zac Medico [Fri, 30 May 2008 20:46:05 +0000 (20:46 -0000)]
For consistency, make sure that a normal iterator is always returned
from dbapi._iter_match() (and never a list). This way the caller can
be sure that the returned object has a next() method.

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

16 years agoMake the use_cache=0 listdir() implementation inside vardbapi.cpv_all()
Zac Medico [Fri, 30 May 2008 20:19:43 +0000 (20:19 -0000)]
Make the use_cache=0 listdir() implementation inside vardbapi.cpv_all()
rains a PermissionDenied error when appropriate.

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

16 years agoPass a mutable config instance into get_masking_status(). Currently
Zac Medico [Fri, 30 May 2008 09:56:20 +0000 (09:56 -0000)]
Pass a mutable config instance into get_masking_status(). Currently
it doesn't matter for installed packages but it's safer to be
consistent to avoid accidental breakage in the future.

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

16 years agoMake PackageSet.findAtomForPackage() just return the first atom found
Zac Medico [Fri, 30 May 2008 06:50:34 +0000 (06:50 -0000)]
Make PackageSet.findAtomForPackage() just return the first atom found
since best_match_to_list() won't work correctly for atoms matched
via PROVIDE.

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

16 years agoSimplify None Package.slot handling in match_from_list().
Zac Medico [Fri, 30 May 2008 01:08:35 +0000 (01:08 -0000)]
Simplify None Package.slot handling in match_from_list().

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

16 years agoFix Atom attribute handling in get_operator() and dep_getslot() to account
Zac Medico [Fri, 30 May 2008 00:37:34 +0000 (00:37 -0000)]
Fix Atom attribute handling in get_operator() and dep_getslot() to account
for None return values.

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

16 years agoCreate Atom instances earlier to avoid redundant validation.
Zac Medico [Fri, 30 May 2008 00:03:45 +0000 (00:03 -0000)]
Create Atom instances earlier to avoid redundant validation.

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

16 years agoWhen dropping deps from the resume list, make sure that the loop can't
Zac Medico [Thu, 29 May 2008 23:40:58 +0000 (23:40 -0000)]
When dropping deps from the resume list, make sure that the loop can't
be infinite.

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

16 years agoUse Package.metadata instead of calling dbapi.aux_get().
Zac Medico [Thu, 29 May 2008 23:31:54 +0000 (23:31 -0000)]
Use Package.metadata instead of calling dbapi.aux_get().

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

16 years agoUse a frozenset instead of a list for containment tests.
Zac Medico [Thu, 29 May 2008 23:10:33 +0000 (23:10 -0000)]
Use a frozenset instead of a list for containment tests.

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

16 years agoFix typo.
Zac Medico [Thu, 29 May 2008 22:54:37 +0000 (22:54 -0000)]
Fix typo.

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

16 years agoUse izip() to eliminate temporary dict instances.
Zac Medico [Thu, 29 May 2008 22:34:11 +0000 (22:34 -0000)]
Use izip() to eliminate temporary dict instances.

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

16 years agoClean up references to unsatisfied_parents.
Zac Medico [Thu, 29 May 2008 21:00:16 +0000 (21:00 -0000)]
Clean up references to unsatisfied_parents.

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

16 years agoClean up reference to dropped_tasks when finished.
Zac Medico [Thu, 29 May 2008 20:52:13 +0000 (20:52 -0000)]
Clean up reference to dropped_tasks when finished.

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

16 years agoWhen --skipfirst drops packages due to unsatisfied dependencies, display
Zac Medico [Thu, 29 May 2008 20:44:08 +0000 (20:44 -0000)]
When --skipfirst drops packages due to unsatisfied dependencies, display
a warning message with the list of dropped packages.

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

16 years agoClean up exception reference from previous commit.
Zac Medico [Thu, 29 May 2008 19:56:42 +0000 (19:56 -0000)]
Clean up exception reference from previous commit.

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

16 years agoMake --skipfirst handle missing dependencies by dropping the merge tasks
Zac Medico [Thu, 29 May 2008 19:50:50 +0000 (19:50 -0000)]
Make --skipfirst handle missing dependencies by dropping the merge tasks
that have missing dependencies. This involves creating an entirely new
depgraph each time that a missing dependency is discovered. This isn't
the most efficient approach but it's simple and it works well.

This new behavior can server as a fix for bug #12768 by calling emerge
--resume --skipfirst each time that emerge exits unsuccessfully. This
was possible before, but now packages with unsatisfied dependencies
will be properly identified and dropped from the list.

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

16 years agoSave the content of CONFIG_MEMORY_FILE in dblink.treewalk() _before_
Zac Medico [Thu, 29 May 2008 05:23:18 +0000 (05:23 -0000)]
Save the content of CONFIG_MEMORY_FILE in dblink.treewalk() _before_
unmerging other instances, in order to avoid overwritting/undoing
the pruning that's done during unmerge.

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

16 years agoMake the unmerge time CONFIG_MEMORY_FILE pruning slightly more aggressive,
Zac Medico [Thu, 29 May 2008 04:53:15 +0000 (04:53 -0000)]
Make the unmerge time CONFIG_MEMORY_FILE pruning slightly more aggressive,
so that anything not claimed by another package in the same slot is
pruned.

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

16 years agoFilter out installed keyword masked packages when populating
Zac Medico [Thu, 29 May 2008 00:35:09 +0000 (00:35 -0000)]
Filter out installed keyword masked packages when populating
RootConfig.visible_pkgs since otherwise such packages can trigger
undesireable results inside depgraph._iter_atoms_for_pkg().

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

16 years agoFix the code from bug #220341 so that it matches the atom against the
Zac Medico [Thu, 29 May 2008 00:32:27 +0000 (00:32 -0000)]
Fix the code from bug #220341 so that it matches the atom against the
installed package, like it's supposed to.

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

16 years agoSkip redundant Atom construction in select_package().
Zac Medico [Wed, 28 May 2008 22:12:18 +0000 (22:12 -0000)]
Skip redundant Atom construction in select_package().

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

16 years agoUpdate the fix from bug #220341 to protect USE deps from being neglected.
Zac Medico [Wed, 28 May 2008 22:06:45 +0000 (22:06 -0000)]
Update the fix from bug #220341 to protect USE deps from being neglected.

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

16 years agoBug #223447 - Adjust the "installed packages are masked" display to recognize
Zac Medico [Wed, 28 May 2008 08:31:06 +0000 (08:31 -0000)]
Bug #223447 - Adjust the "installed packages are masked" display to recognize
packages that are masked by keywords and are eligible for uninstallation by
depclean. This is a workaround for the fact that depclean may fail to
recognize that the package is eligible for uninstall due to differences in
visibility filtering which can lead to differences in || dep evaluation.
TODO: Share visibility code to fix this inconsistency.

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

16 years agoMake the new behavior from bug #222439 conditional on EAPI being something
Zac Medico [Wed, 28 May 2008 01:27:56 +0000 (01:27 -0000)]
Make the new behavior from bug #222439 conditional on EAPI being something
other than 0 or 1.

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

16 years agoMake set_term_size() handle the CommandNotFound exception if stty
Zac Medico [Wed, 28 May 2008 01:13:40 +0000 (01:13 -0000)]
Make set_term_size() handle the CommandNotFound exception if stty
is missing for some reason.

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

16 years agoConvert doman to use bash's =~ operator instead of calling egrep.
Zac Medico [Wed, 28 May 2008 00:37:22 +0000 (00:37 -0000)]
Convert doman to use bash's =~ operator instead of calling egrep.

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

16 years agoBug #222439 - Add doman support for foo.lang.N filenames. Behavior is
Zac Medico [Tue, 27 May 2008 23:08:22 +0000 (23:08 -0000)]
Bug #222439 - Add doman support for foo.lang.N filenames. Behavior is
as follows:

 foo.1    -> man/man1/foo.1
 foo.lang.1 -> man/lang/man1/foo.1

Thanks to Yuri Vasilevski for the initial patch. I've modified it to
use bash's =~ operator and corresponding $BASH_REMATCH array.

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

16 years agoFix breakage due to frozenset being immutable.
Zac Medico [Tue, 27 May 2008 10:20:20 +0000 (10:20 -0000)]
Fix breakage due to frozenset being immutable.

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

16 years agoFix typo.
Zac Medico [Tue, 27 May 2008 07:53:32 +0000 (07:53 -0000)]
Fix typo.

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

16 years agoMake config._init_dirs() preserver /tmp and /var/tmp permissions if
Zac Medico [Tue, 27 May 2008 07:48:19 +0000 (07:48 -0000)]
Make config._init_dirs() preserver /tmp and /var/tmp permissions if
those directories already exist. This gives freedom to the user to
adjust permissions to suit their taste.

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

16 years agoFix a typo from the previous commit.
Zac Medico [Tue, 27 May 2008 06:22:36 +0000 (06:22 -0000)]
Fix a typo from the previous commit.

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

16 years agoUse new Package.use and iuse attributes to avoid extra split() calls.
Zac Medico [Tue, 27 May 2008 06:08:12 +0000 (06:08 -0000)]
Use new Package.use and iuse attributes to avoid extra split() calls.

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

16 years agoSet Atom.use = None when there are no USE deps (instead of the empty
Zac Medico [Tue, 27 May 2008 05:45:48 +0000 (05:45 -0000)]
Set Atom.use = None when there are no USE deps (instead of the empty
tuple returned from dep_getusedeps()).

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

16 years agoRepoman only checks IUSE for USE deps, so don't evaluate conditional USE deps
Zac Medico [Tue, 27 May 2008 05:42:28 +0000 (05:42 -0000)]
Repoman only checks IUSE for USE deps, so don't evaluate conditional USE deps
in this case.

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

16 years agoFix dbapi._iter_match_use() to escape IUSE values when necessary.
Zac Medico [Tue, 27 May 2008 04:50:37 +0000 (04:50 -0000)]
Fix dbapi._iter_match_use() to escape IUSE values when necessary.

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

16 years agoFix breakage in the BlockerDB constructor.
Zac Medico [Tue, 27 May 2008 04:37:15 +0000 (04:37 -0000)]
Fix breakage in the BlockerDB constructor.

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

16 years agoDefine __slots__ for the _use_dep class.
Zac Medico [Tue, 27 May 2008 04:10:11 +0000 (04:10 -0000)]
Define __slots__ for the _use_dep class.

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

16 years agoFix USE dep matching support in match_from_list() so that it checks
Zac Medico [Tue, 27 May 2008 04:04:28 +0000 (04:04 -0000)]
Fix USE dep matching support in match_from_list() so that it checks
to make sure the package supports all specified IUSE. This involves
updating all Package, FakeVartree, and BlockerDB constructor
arguments to implement a Package.root_config attribute that's used
to access implicit IUSE.

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

16 years agoBug #223685 - Use the finally clause to collect elog messages just
Zac Medico [Tue, 27 May 2008 00:49:09 +0000 (00:49 -0000)]
Bug #223685 - Use the finally clause to collect elog messages just
before releasing the build dir lock, so they never get missed.

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

16 years agoAdd some debug output for arguments and their associated atoms, to help in
Zac Medico [Tue, 27 May 2008 00:10:12 +0000 (00:10 -0000)]
Add some debug output for arguments and their associated atoms, to help in
debugging problems similar to bug #223735.

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

16 years agoDon't silently swallow instances of UnpicklingError since they are easily
Zac Medico [Mon, 26 May 2008 23:22:15 +0000 (23:22 -0000)]
Don't silently swallow instances of UnpicklingError since they are easily
triggered by storing instances of custom classes in a pickle.

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

16 years agoDon't silently swallow instances of UnpicklingError since they are easily
Zac Medico [Mon, 26 May 2008 23:16:13 +0000 (23:16 -0000)]
Don't silently swallow instances of UnpicklingError since they are easily
triggered by storing instances of custom classes in a pickle.

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

16 years agoAvoid triggering "cPickle.UnpicklingError: Global and instance pickles
Zac Medico [Mon, 26 May 2008 23:03:35 +0000 (23:03 -0000)]
Avoid triggering "cPickle.UnpicklingError: Global and instance pickles
are not supported." errors that are triggered when the pickle contains
custom classes.

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

16 years agoSkip source_all_bashrcs() when $EBUILD_PHASE is not set.
Zac Medico [Mon, 26 May 2008 20:12:18 +0000 (20:12 -0000)]
Skip source_all_bashrcs() when $EBUILD_PHASE is not set.

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

16 years ago* Enable config.setcpv() to use a Package instance in place of a cpv.
Zac Medico [Mon, 26 May 2008 08:02:40 +0000 (08:02 -0000)]
* Enable config.setcpv() to use a Package instance in place of a cpv.
* Make depgraph._select_package() pass Package instances into setcpv() calls.
* Enable the Package constructor to use an iterable for metadata items.

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

16 years agoFix a broken reference to the Package.cpv_slot attribute.
Zac Medico [Mon, 26 May 2008 00:34:40 +0000 (00:34 -0000)]
Fix a broken reference to the Package.cpv_slot attribute.

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

16 years agoFix breakage in Package constructor attribute initialization.
Zac Medico [Sun, 25 May 2008 22:49:16 +0000 (22:49 -0000)]
Fix breakage in Package constructor attribute initialization.

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

16 years agoRemove unused code.
Zac Medico [Sun, 25 May 2008 22:33:09 +0000 (22:33 -0000)]
Remove unused code.

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

16 years agoUse the metadata wrapper to initialize Package slot and use attributes.
Zac Medico [Sun, 25 May 2008 21:57:14 +0000 (21:57 -0000)]
Use the metadata wrapper to initialize Package slot and use attributes.

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

16 years agoRemove the Package.cpv_slot attribute.
Zac Medico [Sun, 25 May 2008 21:45:41 +0000 (21:45 -0000)]
Remove the Package.cpv_slot attribute.

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

16 years ago* Add support for Package instances and USE deps in match_from_list().
Zac Medico [Sun, 25 May 2008 21:34:21 +0000 (21:34 -0000)]
* Add support for Package instances and USE deps in match_from_list().
* Add USE dep matching support to depgraph._iter_atoms_for_pkg().

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

16 years ago* Fix PackageSet.findAtomForPackage() to take a Package instance as
Zac Medico [Sun, 25 May 2008 08:45:34 +0000 (08:45 -0000)]
* Fix PackageSet.findAtomForPackage() to take a Package instance as
  an argument.
* Simplify PackageSet.findAtomForPackage() by implementing it on top
  of iterAtomsForPackage().

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

16 years agoFacilitate creation of Atom instances in a few obvious places:
Zac Medico [Sun, 25 May 2008 08:04:21 +0000 (08:04 -0000)]
Facilitate creation of Atom instances in a few obvious places:

 * PackageSet._setAtoms()
 * AtomArg and PackageArg constructors.

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

16 years agoRemove redundant SLOT dep code in portdbapi.xmatch() since it's now
Zac Medico [Sun, 25 May 2008 04:37:55 +0000 (04:37 -0000)]
Remove redundant SLOT dep code in portdbapi.xmatch() since it's now
handled by dbapi._iter_match().

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

16 years agoRemove category validation cruft from catpkgsplit().
Zac Medico [Sun, 25 May 2008 03:05:30 +0000 (03:05 -0000)]
Remove category validation cruft from catpkgsplit().

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

16 years agoFix isvalidatom() so tests pass, and add a USE deps case to the tests.
Zac Medico [Sun, 25 May 2008 02:56:41 +0000 (02:56 -0000)]
Fix isvalidatom() so tests pass, and add a USE deps case to the tests.

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

16 years ago* Fix dep_getusedeps() test to work with tuples.
Zac Medico [Sun, 25 May 2008 02:20:45 +0000 (02:20 -0000)]
* Fix dep_getusedeps() test to work with tuples.
* Add test cases for conditional USE deps.

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

16 years agoAdd support for conditionals inside USE dependencies. This is useful
Zac Medico [Sun, 25 May 2008 01:44:03 +0000 (01:44 -0000)]
Add support for conditionals inside USE dependencies. This is useful
for cases in which the package satisfying a dependency should have
identical or opposite flag state relative to the parent package.

Conditionals are evaluated as follows:

   parent state   conditional   result
     x              [x?]          [x]
    -x              [x?]         [-x]
     x             [-x?]         [-x]
    -x             [-x?]          [x]

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