Zac Medico [Wed, 11 Jun 2008 09:06:54 +0000 (09:06 -0000)]
Bug #225767 - Suppress warnings for installed packages masked by keywords
if there is an equivalent ebuild in the portage tree (same cpv) with
visible keywords.
svn path=/main/trunk/; revision=10644
Zac Medico [Wed, 11 Jun 2008 03:37:55 +0000 (03:37 -0000)]
Use spawn() instead of system().
svn path=/main/trunk/; revision=10642
Zac Medico [Tue, 10 Jun 2008 05:31:48 +0000 (05:31 -0000)]
Add another sanity check in the owners cache.
svn path=/main/trunk/; revision=10640
Zac Medico [Tue, 10 Jun 2008 04:48:51 +0000 (04:48 -0000)]
Use isinstance() instead of handling TypeError.
svn path=/main/trunk/; revision=10638
Zac Medico [Tue, 10 Jun 2008 04:13:24 +0000 (04:13 -0000)]
Bug #225285 - Allow digestcheck() to succeed when the Manifest is empty and
strict mode is disabled.
svn path=/main/trunk/; revision=10636
Zac Medico [Tue, 10 Jun 2008 03:31:30 +0000 (03:31 -0000)]
Add some sanity checks and error tolerance in the owners cache.
svn path=/main/trunk/; revision=10633
Zac Medico [Tue, 10 Jun 2008 02:13:59 +0000 (02:13 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10631
Zac Medico [Tue, 10 Jun 2008 01:05:45 +0000 (01:05 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10628
Zac Medico [Mon, 9 Jun 2008 23:25:29 +0000 (23:25 -0000)]
Fix missing initialization.
svn path=/main/trunk/; revision=10626
Zac Medico [Mon, 9 Jun 2008 14:24:09 +0000 (14:24 -0000)]
Remove unused PackageVirtualDbapi.__getitem__() method.
svn path=/main/trunk/; revision=10612
Zac Medico [Mon, 9 Jun 2008 13:55:06 +0000 (13:55 -0000)]
Add CONTENTS indexing support for optimization of owner lookups. The
vardbapi cache maintains a hash table (inside vdb_metadata.pickle)
that serves to index package contents by mapping the basename of file
to a list of possible packages that own it. This is used to optimize
owner lookups by narrowing the search down to a smaller number of
packages. It increases the size of vdb_metadata.pickle by approximately
30% and it's used in the following cases:
* When an unexpected file collision occurs (whether
or not collision-protect is enabled)
* `emerge <filename>`
* `portageq owners`
The
svn path=/main/trunk/; revision=10609
Zac Medico [Sun, 8 Jun 2008 20:23:14 +0000 (20:23 -0000)]
When inside fakeroot, directories with portage's gid appear
to have root's gid. Therefore, use root's gid instead of
portage's gid to avoid spurrious permissions adjustments
when inside fakeroot.
svn path=/main/trunk/; revision=10608
Marius Mauch [Sun, 8 Jun 2008 19:01:17 +0000 (19:01 -0000)]
make sure that scanelf is called with the right paths, and properly register all preserved objects to fix bug #223591
svn path=/main/trunk/; revision=10607
Zac Medico [Sun, 8 Jun 2008 05:11:39 +0000 (05:11 -0000)]
Bug #225285 - Allow digestcheck() to succeed when the Manifest is missing
and strict mode is disabled.
svn path=/main/trunk/; revision=10604
Zac Medico [Sun, 8 Jun 2008 04:20:21 +0000 (04:20 -0000)]
Make portdbapi.aux_get() return float type for _mtime_.
svn path=/main/trunk/; revision=10603
Zac Medico [Sun, 8 Jun 2008 03:15:06 +0000 (03:15 -0000)]
Add additional functions such as eaclocal and eautoheader to the
inherit.autotools regex. Thanks to Arfrever.
svn path=/main/trunk/; revision=10602
Zac Medico [Sun, 8 Jun 2008 02:22:43 +0000 (02:22 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10601
Zac Medico [Sun, 8 Jun 2008 02:19:46 +0000 (02:19 -0000)]
Make repoman pass Package instances into run_checks(), so that the checks
can use the Package.mtime and inherited attributes.
svn path=/main/trunk/; revision=10600
Zac Medico [Sat, 7 Jun 2008 23:50:16 +0000 (23:50 -0000)]
Inside, create_trees(), pass target_root="/" into the config constructor
when necessary to override the setting in make.conf.
svn path=/main/trunk/; revision=10598
Zac Medico [Sat, 7 Jun 2008 22:51:16 +0000 (22:51 -0000)]
Validate ROOT from make.conf.
svn path=/main/trunk/; revision=10596
Zac Medico [Sat, 7 Jun 2008 22:40:29 +0000 (22:40 -0000)]
Make load_emerge_config() filter out empty PORTAGE_CONFIGROOT and ROOT
values, and those containing only whitespace.
svn path=/main/trunk/; revision=10594
Zac Medico [Sat, 7 Jun 2008 22:18:17 +0000 (22:18 -0000)]
Bug #224271 - New check 'IUSE.undefined', renamed from generic
'ebuild.minorsyn'.
svn path=/main/trunk/; revision=10593
Zac Medico [Sat, 7 Jun 2008 22:07:21 +0000 (22:07 -0000)]
As suggested by Flameeyes, add a new 'inherit.autotools' check which warns
when autotools has been inherited but none of the eautomake, eautoconf or
eautoreconf functions are called like they are supposed to be.
svn path=/main/trunk/; revision=10592
Mike Frysinger [Sat, 7 Jun 2008 17:18:35 +0000 (17:18 -0000)]
remove old/unused gen_wrapper function
svn path=/main/trunk/; revision=10591
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
Zac Medico [Fri, 6 Jun 2008 00:22:35 +0000 (00:22 -0000)]
Add a PackageVirtualDbapi.__getitem__() method.
svn path=/main/trunk/; revision=10588
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
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
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
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
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
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
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
Zac Medico [Wed, 4 Jun 2008 01:07:32 +0000 (01:07 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10566
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
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
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
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
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
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
Zac Medico [Tue, 3 Jun 2008 06:51:49 +0000 (06:51 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10552
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
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
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
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
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
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
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
Zac Medico [Sun, 1 Jun 2008 08:33:00 +0000 (08:33 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10538
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Zac Medico [Thu, 29 May 2008 22:54:37 +0000 (22:54 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10487
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Zac Medico [Tue, 27 May 2008 07:53:32 +0000 (07:53 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10453
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
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
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
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
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