Zac Medico [Thu, 9 Oct 2008 18:12:45 +0000 (18:12 -0000)]
Fixes for Bug #239560:
* When ensuring sane $PWD in ebuild.sh, die if the `cd "$PORTAGE_BUILDDIR"`
call fails.
* Create $PORTAGE_BUILDDIR for the "fetch" phase too since it might be
necessary to call pkg_nofetch.
svn path=/main/branches/2.1.4/; revision=11662
Zac Medico [Mon, 6 Oct 2008 17:43:56 +0000 (17:43 -0000)]
Bug #239471 - Handle InvalidDependString from portdbapi.getfetchlist() inside
search.output(). (trunk r11602)
svn path=/main/branches/2.1.4/; revision=11641
Zac Medico [Mon, 6 Oct 2008 17:18:18 +0000 (17:18 -0000)]
Bug #239006 - In FakeVartree._aux_get_wrapper(), fall back to vdb metadata
if the live ebuild's EAPI is unsupported. (trunk r11600)
svn path=/main/branches/2.1.4/; revision=11640
Zac Medico [Mon, 6 Oct 2008 17:17:32 +0000 (17:17 -0000)]
Bug #222091 - Filter out any instances of the \1 character from variable
values since this character multiplies each time that the environment
is saved (strange bash behavior). This can eventually result in
mysterious 'Argument list too long' errors from programs that have
huge strings of \1 characters in their environment. (trunk r11485)
svn path=/main/branches/2.1.4/; revision=11639
Zac Medico [Sat, 13 Sep 2008 05:34:55 +0000 (05:34 -0000)]
Fix WorldHandler so that it works properly when ROOT != /. Thanks to solar
for reporting.
svn path=/main/branches/2.1.2/; revision=11507
Zac Medico [Sun, 17 Aug 2008 23:05:32 +0000 (23:05 -0000)]
Bug #229069 - Before deleting the depgraph, break references pointing
to the depgraph from Package instances in the merge list. This helps
reduce the heap size a lot. (trunk r10775)
svn path=/main/branches/2.1.2/; revision=11431
Zac Medico [Sun, 17 Aug 2008 23:03:55 +0000 (23:03 -0000)]
Fix spelling of depgraph._complete_threshold. (trunk r10774)
svn path=/main/branches/2.1.2/; revision=11430
Zac Medico [Sun, 17 Aug 2008 23:03:06 +0000 (23:03 -0000)]
If dep calculation time exceeds 20 seconds then automatically
enable "complete" mode since any performance difference is
not as likely to be noticed by the user after this much time
has passed. (trunk r10773)
svn path=/main/branches/2.1.2/; revision=11429
Zac Medico [Sun, 17 Aug 2008 19:23:54 +0000 (19:23 -0000)]
Clear dbapi caches just after deleting the depgraph in action_build().
This trims down the heap size by a few megs, for bug #229069.
(trunk r10769)
svn path=/main/branches/2.1.2/; revision=11428
Zac Medico [Sun, 17 Aug 2008 19:22:41 +0000 (19:22 -0000)]
Fix some remaining corner cases that cause bug #220341 to reappear
intermittently. Thanks to pva for reporting. (trunk r10768)
svn path=/main/branches/2.1.2/; revision=11427
Zac Medico [Sun, 17 Aug 2008 19:20:37 +0000 (19:20 -0000)]
Bug #228939 - Fix display list interaction with --tree mode to prevent
display of a duplicate list. (trunk r10761)
svn path=/main/branches/2.1.2/; revision=11426
Zac Medico [Sun, 17 Aug 2008 19:19:07 +0000 (19:19 -0000)]
Fix implicit_pattern to match different quote character found in warnings
generated by gcc-4.3. Thanks to aballier for reporting with sample log.
(trunk r10753)
svn path=/main/branches/2.1.2/; revision=11425
Zac Medico [Sun, 17 Aug 2008 19:18:17 +0000 (19:18 -0000)]
Exclude calls to autoheader and makeinfo from the automake "maintainer mode"
check (filter some false positives). Thanks to Flameeyes. (trunk r10752)
svn path=/main/branches/2.1.2/; revision=11424
Zac Medico [Thu, 19 Jun 2008 05:30:28 +0000 (05:30 -0000)]
Pass a Package instance into LineCheck.new(). (trunk r10725)
svn path=/main/branches/2.1.2/; revision=10726
Zac Medico [Thu, 19 Jun 2008 05:14:38 +0000 (05:14 -0000)]
Refactor the 'inherit.autotools' and 'IUSE.undefined' checks
into classes derived from LineCheck.
svn path=/main/branches/2.1.2/; revision=10724
Zac Medico [Thu, 19 Jun 2008 04:09:06 +0000 (04:09 -0000)]
Bug #228075 - Explicitly call gc.collect() to try and free memory
when checking for blockers. This avoids a heap overflow that triggers
'Cannot allocate memory' errors (reported with python-2.5).
(trunk r10717)
svn path=/main/branches/2.1.2/; revision=10722
Zac Medico [Thu, 19 Jun 2008 04:00:59 +0000 (04:00 -0000)]
As suggested by remi`, make the 'inherit.autotools' check only ebuilds that
inherit the autotools eclass directly (rather than indirectly through an
eclass such as apache-2 or x-modular). (trunk r10713:10715)
svn path=/main/branches/2.1.2/; revision=10721
Zac Medico [Thu, 19 Jun 2008 03:42:54 +0000 (03:42 -0000)]
Bug #225285 - Add support for persistent options stored in the EBUILD_DEFAULT_OPTS
environment variable (similar to {EMERGE,QUICKPKG}_DEFAULT_OPTS). (trunk r10713)
svn path=/main/branches/2.1.2/; revision=10720
Zac Medico [Thu, 19 Jun 2008 03:38:09 +0000 (03:38 -0000)]
Bug #225285 - Add a --skip-manifest option that disables all interaction
with the manifest.
svn path=/main/branches/2.1.2/; revision=10719
Zac Medico [Thu, 19 Jun 2008 03:25:51 +0000 (03:25 -0000)]
Use optparse instead of getopt. (trunk r10709:10711)
svn path=/main/branches/2.1.2/; revision=10718
Zac Medico [Tue, 17 Jun 2008 20:10:53 +0000 (20:10 -0000)]
More eblank.
svn path=/main/branches/2.1.2/; revision=10703
Zac Medico [Tue, 17 Jun 2008 20:09:02 +0000 (20:09 -0000)]
Remove the rest of eblank.
svn path=/main/branches/2.1.2/; revision=10702
Zac Medico [Tue, 17 Jun 2008 19:52:20 +0000 (19:52 -0000)]
Revert eblank since a formatting function is out of place among the current
function which represent log levels.
svn path=/main/branches/2.1.2/; revision=10701
Zac Medico [Tue, 17 Jun 2008 07:49:31 +0000 (07:49 -0000)]
Add missing helper_functions.docbook from previous commit.
svn path=/main/branches/2.1.2/; revision=10689
Zac Medico [Tue, 17 Jun 2008 07:47:59 +0000 (07:47 -0000)]
* Document eblank and eqawarn in the ebuild.5 man page.
* Create "Ebuild Helper Functions" section docbook format,
including all the functions documented in the ebuild.5
man page.
(trunk r10687)
svn path=/main/branches/2.1.2/; revision=10688
Zac Medico [Tue, 17 Jun 2008 06:02:48 +0000 (06:02 -0000)]
Add note about bug #226505. (trunk r10685)
svn path=/main/branches/2.1.2/; revision=10686
Zac Medico [Tue, 17 Jun 2008 05:46:33 +0000 (05:46 -0000)]
Add a "Interaction with previous installed version" section to document the
upgrade/downgrade phase execution order change from bug #226505.
(trunk r10683)
svn path=/main/branches/2.1.2/; revision=10684
Zac Medico [Tue, 17 Jun 2008 05:08:26 +0000 (05:08 -0000)]
Add "blank" to the default PORTAGE_ELOG_CLASSES setting. (trunk r10681)
svn path=/main/branches/2.1.2/; revision=10682
Zac Medico [Tue, 17 Jun 2008 04:58:11 +0000 (04:58 -0000)]
Fix BLANK order and color. (trunk r10679)
svn path=/main/branches/2.1.2/; revision=10680
Zac Medico [Tue, 17 Jun 2008 04:05:55 +0000 (04:05 -0000)]
* Rename NEUTRAL color to BLANK for eblank.
* Document the new BLANK code in color.map.5.
* Implement python version of eblank for mod_echo.
(trunk r10677)
svn path=/main/branches/2.1.2/; revision=10678
Zac Medico [Tue, 17 Jun 2008 03:32:04 +0000 (03:32 -0000)]
Add support for an new "eblank" elog function that shows a blank line.
Consecutive eblank calls are all collapsed into a single blank line.
Thanks to Joe Peterson <lavajoe@g.o> for this patch.
(trunk r10675)
svn path=/main/branches/2.1.2/; revision=10676
Zac Medico [Mon, 16 Jun 2008 14:41:00 +0000 (14:41 -0000)]
Fix typo. (trunk r10673)
svn path=/main/branches/2.1.2/; revision=10674
Zac Medico [Mon, 16 Jun 2008 14:33:27 +0000 (14:33 -0000)]
Document the new ACCEPT_CHOSTS variable. (trunk r10671)
svn path=/main/branches/2.1.2/; revision=10672
Zac Medico [Mon, 16 Jun 2008 11:49:22 +0000 (11:49 -0000)]
Tweak the config._accept_chost() regex. (trunk r10669)
svn path=/main/branches/2.1.2/; revision=10670
Zac Medico [Mon, 16 Jun 2008 11:33:14 +0000 (11:33 -0000)]
Re-enable vardbapi.cpv_all() cache now that bug #223417 is solved.
(trunk r10661)
svn path=/main/branches/2.1.2/; revision=10668
Zac Medico [Mon, 16 Jun 2008 11:30:39 +0000 (11:30 -0000)]
Bug #223417 - Due to 1 second mtime granularity in < python-1.5, mtime checks
are not always sufficient to invalidate vardbapi caches. Therefore,
the caches need to be actively invalidated when packages are added and removed.
(trunk r10660)
svn path=/main/branches/2.1.2/; revision=10667
Zac Medico [Mon, 16 Jun 2008 11:16:15 +0000 (11:16 -0000)]
Make some post_merge() things conditional on the vdb lock being held
(mtimedb commit and info dirs processing). (trunk r10659)
svn path=/main/branches/2.1.2/; revision=10666
Zac Medico [Mon, 16 Jun 2008 11:13:12 +0000 (11:13 -0000)]
Add some write access checks in post_merge() in order to avoid triggering
permission related exceptions. (trunk r10658)
svn path=/main/branches/2.1.2/; revision=10665
Zac Medico [Mon, 16 Jun 2008 10:54:51 +0000 (10:54 -0000)]
Fix the 'inherit.autotools' check to account for apache-2_src_unpack()
calling eautoreconf. (trunk r10653)
svn path=/main/branches/2.1.2/; revision=10664
Zac Medico [Mon, 16 Jun 2008 10:47:30 +0000 (10:47 -0000)]
Add two new build log qa checks, suggested by Diego Pettenò:
* Detect automake "maintainer mode". See
http://www.gentoo.org/proj/en/qa/autofailure.xml for more information.
* Detect "Unrecognized options" messages from configure scripts.
(trunk r10652)
svn path=/main/branches/2.1.2/; revision=10663
Zac Medico [Mon, 16 Jun 2008 10:33:08 +0000 (10:33 -0000)]
Pass missing "installed" parameter into Package constructor. (trunk r10651)
svn path=/main/branches/2.1.2/; revision=10662
Zac Medico [Sun, 15 Jun 2008 04:51:12 +0000 (04:51 -0000)]
Fix config._accept_chost_re so it's only an instance variable.
(trunk r10656)
svn path=/main/branches/2.1.2/; revision=10657
Zac Medico [Sun, 15 Jun 2008 04:38:35 +0000 (04:38 -0000)]
Add support for and ACCEPT_CHOSTS variable that controls masking behavior
for binary packages wrt CHOST. The variable is a space separated list of
chosts. It support regular expressions, so if the actual chost contains
any special characters then the user must escape them when setting
ACCEPT_CHOSTS. (trunk r10654)
svn path=/main/branches/2.1.2/; revision=10655
Zac Medico [Wed, 11 Jun 2008 09:36:18 +0000 (09:36 -0000)]
Handle InvalidDependString in _package_cache.__setitem__(). (trunk r10648)
svn path=/main/branches/2.1.2/; revision=10649
Zac Medico [Wed, 11 Jun 2008 09:20:51 +0000 (09:20 -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. (trunk r10643:10646)
svn path=/main/branches/2.1.2/; revision=10647
Zac Medico [Wed, 11 Jun 2008 03:49:52 +0000 (03:49 -0000)]
Use spawn() instead of system(). (trunk r10642)
svn path=/main/branches/2.1.2/; revision=10643
Zac Medico [Tue, 10 Jun 2008 05:34:55 +0000 (05:34 -0000)]
Add another sanity check in the owners cache. (trunk r10640)
svn path=/main/branches/2.1.2/; revision=10641
Zac Medico [Tue, 10 Jun 2008 04:50:25 +0000 (04:50 -0000)]
Use isinstance() instead of handling TypeError. (trunk r10638)
svn path=/main/branches/2.1.2/; revision=10639
Zac Medico [Tue, 10 Jun 2008 04:17:52 +0000 (04:17 -0000)]
Bug #225285 - Allow digestcheck() to succeed when the Manifest is empty and
strict mode is disabled. (trunk r10636)
svn path=/main/branches/2.1.2/; revision=10637
Zac Medico [Tue, 10 Jun 2008 03:33:13 +0000 (03:33 -0000)]
Add some sanity checks and error tolerance in the owners cache.
(trunk r10633)
svn path=/main/branches/2.1.2/; revision=10634
Zac Medico [Tue, 10 Jun 2008 02:14:39 +0000 (02:14 -0000)]
Fix typo. (trunk r10631)
svn path=/main/branches/2.1.2/; revision=10632
Zac Medico [Tue, 10 Jun 2008 01:19:15 +0000 (01:19 -0000)]
Use pkg.mtime instead of calling stat().
svn path=/main/branches/2.1.2/; revision=10630
Zac Medico [Tue, 10 Jun 2008 01:07:54 +0000 (01:07 -0000)]
Fix typo. (trunk r10628)
svn path=/main/branches/2.1.2/; revision=10629
Zac Medico [Mon, 9 Jun 2008 23:25:47 +0000 (23:25 -0000)]
Fix missing initialization. (trunk r10626)
svn path=/main/branches/2.1.2/; revision=10627
Zac Medico [Mon, 9 Jun 2008 15:34:21 +0000 (15:34 -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`
(trunk r10609)
svn path=/main/branches/2.1.2/; revision=10622
Zac Medico [Mon, 9 Jun 2008 15:17:18 +0000 (15:17 -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. (trunk r10608)
svn path=/main/branches/2.1.2/; revision=10620
Zac Medico [Mon, 9 Jun 2008 15:13:35 +0000 (15:13 -0000)]
Bug #225285 - Allow digestcheck() to succeed when the Manifest is missing
and strict mode is disabled. (trunk r10604)
svn path=/main/branches/2.1.2/; revision=10619
Zac Medico [Mon, 9 Jun 2008 15:11:42 +0000 (15:11 -0000)]
Make portdbapi.aux_get() return float type for _mtime_. (trunk r10603)
svn path=/main/branches/2.1.2/; revision=10618
Zac Medico [Mon, 9 Jun 2008 15:09:42 +0000 (15:09 -0000)]
Add additional functions such as eaclocal and eautoheader to the
inherit.autotools regex. Thanks to Arfrever. (trunk r10602)
svn path=/main/branches/2.1.2/; revision=10617
Zac Medico [Mon, 9 Jun 2008 15:08:01 +0000 (15:08 -0000)]
Make repoman pass Package instances into run_checks(), so that the checks
can use the Package.mtime and inherited attributes. (trunk r10599:10601)
svn path=/main/branches/2.1.2/; revision=10616
Zac Medico [Mon, 9 Jun 2008 14:36:04 +0000 (14:36 -0000)]
Bug #224271 - New check 'IUSE.undefined', renamed from generic
"ebuild.minorsyn'. (trunk r10593)
svn path=/main/branches/2.1.2/; revision=10615
Zac Medico [Mon, 9 Jun 2008 14:34:05 +0000 (14:34 -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.
(trunk r10592)
svn path=/main/branches/2.1.2/; revision=10614
Zac Medico [Mon, 9 Jun 2008 14:26:47 +0000 (14:26 -0000)]
remove old/unused gen_wrapper function (trunk r10591)
svn path=/main/branches/2.1.2/; revision=10613
Zac Medico [Mon, 9 Jun 2008 14:22:44 +0000 (14:22 -0000)]
Add Package.counter and mtime attributes. (trunk r10587)
svn path=/main/branches/2.1.2/; revision=10611
Zac Medico [Mon, 9 Jun 2008 14:20:45 +0000 (14:20 -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. (trunk r10586)
svn path=/main/branches/2.1.2/; revision=10610
Zac Medico [Sat, 7 Jun 2008 23:52:19 +0000 (23:52 -0000)]
Inside, create_trees(), pass target_root="/" into the config constructor
when necessary to override the setting in make.conf. (trunk r10598)
svn path=/main/branches/2.1.2/; revision=10599
Zac Medico [Sat, 7 Jun 2008 22:51:52 +0000 (22:51 -0000)]
Validate ROOT from make.conf. (trunk r10596)
svn path=/main/branches/2.1.2/; revision=10597
Zac Medico [Sat, 7 Jun 2008 22:42:44 +0000 (22:42 -0000)]
Make load_emerge_config() filter out empty PORTAGE_CONFIGROOT and ROOT
values, and those containing only whitespace. (trunk r10594)
svn path=/main/branches/2.1.2/; revision=10595
Zac Medico [Sat, 7 Jun 2008 09:28:08 +0000 (09:28 -0000)]
Bug #224271 - Add a 'IUSE is not defined' ebuild.minorsyn warning.
(trunk r10589)
svn path=/main/branches/2.1.2/; revision=10590
Zac Medico [Wed, 4 Jun 2008 23:51:57 +0000 (23:51 -0000)]
Bug #224713 - Avoid TypeError when make.conf is missing:
TypeError: argument of type 'NoneType' is not iterable
(trunk r10582)
svn path=/main/branches/2.1.2/; revision=10583
Zac Medico [Wed, 4 Jun 2008 21:15:58 +0000 (21:15 -0000)]
Mention PORTAGE_RO_DISTDIRS in the DISTDIR docs. (trunk r10580)
svn path=/main/branches/2.1.2/; revision=10581
Zac Medico [Wed, 4 Jun 2008 20:41:35 +0000 (20:41 -0000)]
Use sets for more accurate cache modification counts in BlockerCache and
vardbapi. (trunk r10578)
svn path=/main/branches/2.1.2/; revision=10579
Zac Medico [Wed, 4 Jun 2008 02:01:00 +0000 (02:01 -0000)]
Update --depclean and package.provided docs to indicate interaction
between them. (trunk r10563)
svn path=/main/branches/2.1.2/; revision=10573
Zac Medico [Wed, 4 Jun 2008 01:53:47 +0000 (01:53 -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. (trunk r10558)
svn path=/main/branches/2.1.2/; revision=10572
Zac Medico [Wed, 4 Jun 2008 01:49:25 +0000 (01:49 -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. (trunk r10553)
svn path=/main/branches/2.1.2/; revision=10571
Zac Medico [Wed, 4 Jun 2008 01:42:16 +0000 (01:42 -0000)]
Use float mtime instead of int for finer granularity in vardbapi.match()
cache staleness checks. (trunk r10550)
svn path=/main/branches/2.1.2/; revision=10570
Zac Medico [Wed, 4 Jun 2008 01:37:28 +0000 (01:37 -0000)]
Add modification threshold for BlockerCache.flush(), to avoid wasteful IO.
(trunk r10549)
svn path=/main/branches/2.1.2/; revision=10569
Zac Medico [Wed, 4 Jun 2008 01:23:05 +0000 (01:23 -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. (trunk r10548)
svn path=/main/branches/2.1.2/; revision=10568
Zac Medico [Wed, 4 Jun 2008 01:08:08 +0000 (01:08 -0000)]
Fit typo. (trunk r10566)
svn path=/main/branches/2.1.2/; revision=10567
Zac Medico [Wed, 4 Jun 2008 01:03:08 +0000 (01:03 -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.
(trunk r10547, r10550:10552, and r10564)
svn path=/main/branches/2.1.2/; revision=10565
Zac Medico [Sun, 1 Jun 2008 08:33:18 +0000 (08:33 -0000)]
Fix typo. (trunk r10538)
svn path=/main/branches/2.1.2/; revision=10539
Zac Medico [Sun, 1 Jun 2008 05:01:45 +0000 (05:01 -0000)]
Mention masked packages in another --resume message. (trunk r10535)
svn path=/main/branches/2.1.2/; revision=10537
Zac Medico [Sun, 1 Jun 2008 05:00:53 +0000 (05:00 -0000)]
Reference depgraph.UnsatisfiedResumeDep instead of mydepgraph since the
latter can trigger an UnboundLocalError in some cases (^C for example).
(trunk r10533)
svn path=/main/branches/2.1.2/; revision=10536
Zac Medico [Sun, 1 Jun 2008 04:52:17 +0000 (04:52 -0000)]
Update the --skipfirst dropped packages warning to mention "masking"
in addition to unsatisfied dependencies.
svn path=/main/branches/2.1.2/; revision=10534
Zac Medico [Sun, 1 Jun 2008 04:40:07 +0000 (04:40 -0000)]
Update the UnsatisfiedResumeDep display to distinguish masked packages
from those with unsatisfied dependencies. (trunk r10529)
svn path=/main/branches/2.1.2/; revision=10531
Zac Medico [Sun, 1 Jun 2008 04:38:06 +0000 (04:38 -0000)]
Revert changes wrt argument atoms in the previous commit since it's not
really useful. (trunk r10528)
svn path=/main/branches/2.1.2/; revision=10530
Zac Medico [Sun, 1 Jun 2008 01:41:04 +0000 (01:41 -0000)]
Make --skipfirst tolerate masked packages by dropping them (similar to
how it would drop a package that has an unsatisfied dependency).
(trunk r10526)
svn path=/main/branches/2.1.2/; revision=10527
Zac Medico [Sat, 31 May 2008 23:16:16 +0000 (23:16 -0000)]
Make PackageSet._setAtoms() use existing Atom instances when available.
(trunk r10523)
svn path=/main/branches/2.1.2/; revision=10524
Zac Medico [Sat, 31 May 2008 20:15:45 +0000 (20:15 -0000)]
Fix create_world_atom() to take a Package instance in it's arguments.
(trunk r10521)
svn path=/main/branches/2.1.2/; revision=10522
Zac Medico [Sat, 31 May 2008 09:37:28 +0000 (09:37 -0000)]
Add some isvalidatom() test cases with "null" and missing category.
(trunk r10519)
svn path=/main/branches/2.1.2/; revision=10520
Zac Medico [Sat, 31 May 2008 09:17:07 +0000 (09:17 -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).
(trunk r10516)
svn path=/main/branches/2.1.2/; revision=10517
Zac Medico [Sat, 31 May 2008 02:08:25 +0000 (02:08 -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. (trunk r10512:10514)
svn path=/main/branches/2.1.2/; revision=10515
Zac Medico [Fri, 30 May 2008 23:53:13 +0000 (23:53 -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. (trunk r10511)
svn path=/main/branches/2.1.2/; revision=10512
Zac Medico [Fri, 30 May 2008 21:20:11 +0000 (21:20 -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.
(trunk r10509)
svn path=/main/branches/2.1.2/; revision=10510
Zac Medico [Fri, 30 May 2008 20:47:42 +0000 (20:47 -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. (trunk r10507)
svn path=/main/branches/2.1.2/; revision=10508
Zac Medico [Fri, 30 May 2008 20:24:08 +0000 (20:24 -0000)]
Make the use_cache=0 listdir() implementation inside vardbapi.cpv_all()
raise a PermissionDenied error when appropriate. (trunk r10505)
svn path=/main/branches/2.1.2/; revision=10506
Zac Medico [Fri, 30 May 2008 09:58:34 +0000 (09:58 -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.
(trunk r10503)
svn path=/main/branches/2.1.2/; revision=10504
Zac Medico [Fri, 30 May 2008 06:56:40 +0000 (06:56 -0000)]
Make PackageSet.findAtomForPackage() just return the first atom found
since best_match_to_list() won't work correctly for atoms matched
via PROVIDE. (trunk r10501)
svn path=/main/branches/2.1.2/; revision=10502
Zac Medico [Fri, 30 May 2008 01:09:13 +0000 (01:09 -0000)]
Simplify None Package.slot handling in match_from_list(). (trunk r10499)
svn path=/main/branches/2.1.2/; revision=10500
Zac Medico [Fri, 30 May 2008 00:38:22 +0000 (00:38 -0000)]
Fix Atom attribute handling in get_operator() and dep_getslot() to account
for None return values. (trunk r10497)
svn path=/main/branches/2.1.2/; revision=10498