Zac Medico [Tue, 24 Jun 2008 22:30:48 +0000 (22:30 -0000)]
Use weakref.WeakValueDictionary to make cached Atom instances eligible for
garbage collection when no strong references remain.
svn path=/main/trunk/; revision=10772
Zac Medico [Tue, 24 Jun 2008 21:14:45 +0000 (21:14 -0000)]
Bug #229233 - Fix Atom -> str breakage in the depgraph.display_problems()
package.provided warning message.
svn path=/main/trunk/; revision=10771
Zac Medico [Tue, 24 Jun 2008 05:52:48 +0000 (05:52 -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.
svn path=/main/trunk/; revision=10769
Zac Medico [Tue, 24 Jun 2008 01:00:47 +0000 (01:00 -0000)]
Fix some remaining corner cases that cause bug #220341 to reappear
intermittently. Thanks to pva for reporting.
svn path=/main/trunk/; revision=10768
Zac Medico [Mon, 23 Jun 2008 18:22:07 +0000 (18:22 -0000)]
Use paths from portage.const instead of hardcoded versions.
(branches/prefix r10765)
svn path=/main/trunk/; revision=10766
Zac Medico [Mon, 23 Jun 2008 10:00:12 +0000 (10:00 -0000)]
Bug #228977 - During dblink._preserve_libs() calls, cache results of
LinkageMap.findProviders(), LinkageMap.findConsumers(), and os.path.realpath()
calls in order to improve performance. This makes a huge difference in
performance for glibc upgrades since glibc provides so many libs to
check consumerge for.
svn path=/main/trunk/; revision=10764
Zac Medico [Mon, 23 Jun 2008 02:40:38 +0000 (02:40 -0000)]
Bug #228935 - Add a new "command not found" build log QA Notice. Thanks to
Olivier Huber for the initial patch.
svn path=/main/trunk/; revision=10763
Zac Medico [Mon, 23 Jun 2008 01:24:25 +0000 (01:24 -0000)]
Bug #228977 - Protect against possible infinite loop in
dblink._preserve_libs().
svn path=/main/trunk/; revision=10762
Zac Medico [Sun, 22 Jun 2008 23:15:19 +0000 (23:15 -0000)]
Bug #228939 - Fix display list interaction with --tree mode to prevent
display of a duplicate list.
svn path=/main/trunk/; revision=10761
Zac Medico [Sun, 22 Jun 2008 04:04:50 +0000 (04:04 -0000)]
Fix broken path handling wrt $ROOT in LibraryConsumerSet.mapPathsToAtoms().
svn path=/main/trunk/; revision=10759
Zac Medico [Sat, 21 Jun 2008 22:41:40 +0000 (22:41 -0000)]
Fix Atom -> str breakage in depgraph._show_slot_collision_notice(). Thanks
to Arfrever for reporting.
svn path=/main/trunk/; revision=10758
Zac Medico [Sat, 21 Jun 2008 22:22:59 +0000 (22:22 -0000)]
Implement Atom.__cmp__() so that things like list.sort() work correctly
for Atom instances.
svn path=/main/trunk/; revision=10757
Zac Medico [Sat, 21 Jun 2008 17:11:54 +0000 (17:11 -0000)]
Bug #228489 - Restore the "ci" alias for "commit" mode. Thanks to grobian
for the patch.
svn path=/main/trunk/; revision=10756
Zac Medico [Sat, 21 Jun 2008 16:14:03 +0000 (16:14 -0000)]
Fix Atom -> str breakage in depgraph.display_problems().
svn path=/main/trunk/; revision=10755
Zac Medico [Sat, 21 Jun 2008 14:58:13 +0000 (14:58 -0000)]
Make LibraryConsumerSet.mapPathsToAtoms() use the contents index for more
efficient owner lookups.
svn path=/main/trunk/; revision=10754
Zac Medico [Sat, 21 Jun 2008 11:58:44 +0000 (11:58 -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.
svn path=/main/trunk/; revision=10753
Zac Medico [Sat, 21 Jun 2008 10:53:58 +0000 (10:53 -0000)]
Exclude calls to autoheader and makeinfo from the automake "maintainer mode"
check (filter some false positives). Thanks to Flameeyes.
svn path=/main/trunk/; revision=10752
Zac Medico [Sat, 21 Jun 2008 09:26:53 +0000 (09:26 -0000)]
Use bash's built-in echo instead of the actual echo binary since it has
compatibility issues on FreeBSD systems. Thanks to aballier for reporting
the issue and testing this patch.
svn path=/main/trunk/; revision=10751
Mike Frysinger [Sat, 21 Jun 2008 05:18:26 +0000 (05:18 -0000)]
drop old -i,--include-masked option #226429 by Tobias Klausmann
svn path=/main/trunk/; revision=10750
Zac Medico [Fri, 20 Jun 2008 22:31:17 +0000 (22:31 -0000)]
Fix Atom -> str breakage in WorldSet.write().
svn path=/main/trunk/; revision=10749
Zac Medico [Fri, 20 Jun 2008 20:36:41 +0000 (20:36 -0000)]
Remove unused Atom.string attribute.
svn path=/main/trunk/; revision=10748
Zac Medico [Fri, 20 Jun 2008 19:43:33 +0000 (19:43 -0000)]
Add subversion support for repoman. (thanks grobian)
svn path=/main/trunk/; revision=10747
Zac Medico [Fri, 20 Jun 2008 18:00:25 +0000 (18:00 -0000)]
Bug #228595 - Use os.path.realpath() before comparing paths to those
returned from portdbapi.getRepositoryPath() since those paths are
also cannonical.
svn path=/main/trunk/; revision=10746
Zac Medico [Fri, 20 Jun 2008 17:36:18 +0000 (17:36 -0000)]
Make isvalidatom() use the Atom cache to avoid validating the same atom
twice.
svn path=/main/trunk/; revision=10745
Zac Medico [Fri, 20 Jun 2008 17:04:13 +0000 (17:04 -0000)]
Make Atom use str.__eq__ and __ne__ also.
svn path=/main/trunk/; revision=10744
Zac Medico [Fri, 20 Jun 2008 16:59:56 +0000 (16:59 -0000)]
Make Atom use str.__hash__.
svn path=/main/trunk/; revision=10743
Zac Medico [Fri, 20 Jun 2008 16:47:45 +0000 (16:47 -0000)]
Make the Atom cache dict private and add a docstring for _AtomCache.
svn path=/main/trunk/; revision=10742
Zac Medico [Fri, 20 Jun 2008 16:18:46 +0000 (16:18 -0000)]
Use a metaclass to cache Atom instances transparently. This should improve
performance and conserve memory in cases when the same atom is more than
once.
svn path=/main/trunk/; revision=10741
Zac Medico [Fri, 20 Jun 2008 14:37:49 +0000 (14:37 -0000)]
Instead of having Atom inherit from str, just emulate the interface. This
allows us to define __slots__ (not allowed when inheriting from str) and
therefore should conserve some memory by avoiding a __dict__ attribute
on every Atom.
svn path=/main/trunk/; revision=10740
Zac Medico [Fri, 20 Jun 2008 13:39:14 +0000 (13:39 -0000)]
Make the visibility related config methods such as getMaskAtom() and
getProfileMaskAtom() private since these methods really should take
Package instances before we expose them as public api.
svn path=/main/trunk/; revision=10739
Marius Mauch [Fri, 20 Jun 2008 05:12:46 +0000 (05:12 -0000)]
reenable warning about missing repository names
svn path=/main/trunk/; revision=10735
Marius Mauch [Fri, 20 Jun 2008 05:01:55 +0000 (05:01 -0000)]
revert accidential commit
svn path=/main/trunk/; revision=10734
Marius Mauch [Fri, 20 Jun 2008 04:59:45 +0000 (04:59 -0000)]
update release notes/news
svn path=/main/trunk/; revision=10733
Zac Medico [Fri, 20 Jun 2008 03:46:40 +0000 (03:46 -0000)]
Document the new emerge <file> feature.
svn path=/main/trunk/; revision=10732
Zac Medico [Fri, 20 Jun 2008 03:14:20 +0000 (03:14 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10731
Zac Medico [Fri, 20 Jun 2008 03:13:13 +0000 (03:13 -0000)]
Make emerge <path> path search for multiple owners of directories. This
makes it possible to use `emerge /lib/modules` as a decent substitute
for module-rebuild.
svn path=/main/trunk/; revision=10730
Zac Medico [Thu, 19 Jun 2008 05:26:49 +0000 (05:26 -0000)]
Pass a Package instance into LineCheck.new(), and use this to avoid
passing the ebuild mtime into the EbuildHeader constructor (the
mtime is given when the new() method is called).
svn path=/main/trunk/; revision=10725
Zac Medico [Thu, 19 Jun 2008 05:01:18 +0000 (05:01 -0000)]
Refactor the 'inherit.autotools' and 'IUSE.undefined' checks
into classes derived from LineCheck.
svn path=/main/trunk/; revision=10723
Zac Medico [Wed, 18 Jun 2008 21:33:30 +0000 (21:33 -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).
svn path=/main/trunk/; revision=10717
Zac Medico [Wed, 18 Jun 2008 08:11:24 +0000 (08:11 -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).
svn path=/main/trunk/; revision=10715
Zac Medico [Wed, 18 Jun 2008 06:55:41 +0000 (06:55 -0000)]
Add an exemption for x-modular in the "inherit.autotools" check. Thanks to
remi` for reporting.
svn path=/main/trunk/; revision=10714
Zac Medico [Wed, 18 Jun 2008 04:49:32 +0000 (04:49 -0000)]
Bug #225285 - Add support for persistent options stored in the EBUILD_DEFAULT_OPTS
environment variable (similar to {EMERGE,QUICKPKG}_DEFAULT_OPTS).
svn path=/main/trunk/; revision=10713
Zac Medico [Wed, 18 Jun 2008 04:38:32 +0000 (04:38 -0000)]
Bug #225285 - Add a --skip-manifest option that disables all interaction
with the manifest.
svn path=/main/trunk/; revision=10712
Zac Medico [Wed, 18 Jun 2008 03:36:38 +0000 (03:36 -0000)]
Add a help string for --debug.
svn path=/main/trunk/; revision=10711
Zac Medico [Wed, 18 Jun 2008 03:30:55 +0000 (03:30 -0000)]
Use optparse instead of getopt.
svn path=/main/trunk/; revision=10710
Zac Medico [Tue, 17 Jun 2008 20:16:03 +0000 (20:16 -0000)]
More eblank.
svn path=/main/trunk/; revision=10704
Zac Medico [Tue, 17 Jun 2008 19:39:38 +0000 (19:39 -0000)]
Remove eblank docs.
svn path=/main/trunk/; revision=10698
Marius Mauch [Tue, 17 Jun 2008 18:13:56 +0000 (18:13 -0000)]
remove stray line
svn path=/main/trunk/; revision=10696
Marius Mauch [Tue, 17 Jun 2008 17:35:46 +0000 (17:35 -0000)]
Remove eblank nonsense
svn path=/main/trunk/; revision=10695
Marius Mauch [Tue, 17 Jun 2008 17:35:18 +0000 (17:35 -0000)]
Remove eblank nonsense
svn path=/main/trunk/; revision=10694
Marius Mauch [Tue, 17 Jun 2008 17:03:40 +0000 (17:03 -0000)]
Do not preserve the master link of a library to avoid packages being linked against preserved libs on rebuilds
svn path=/main/trunk/; revision=10693
Marius Mauch [Tue, 17 Jun 2008 16:12:34 +0000 (16:12 -0000)]
fix typo
svn path=/main/trunk/; revision=10690
Zac Medico [Tue, 17 Jun 2008 07:46:23 +0000 (07:46 -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.
svn path=/main/trunk/; revision=10687
Zac Medico [Tue, 17 Jun 2008 06:01:04 +0000 (06:01 -0000)]
Add note about bug #226505.
svn path=/main/trunk/; revision=10685
Zac Medico [Tue, 17 Jun 2008 05:44:21 +0000 (05:44 -0000)]
Add a "Interaction with previous installed version" section to document the
upgrade/downgrade phase execution order change from bug #226505.
svn path=/main/trunk/; revision=10683
Zac Medico [Tue, 17 Jun 2008 05:07:36 +0000 (05:07 -0000)]
Add "blank" to the default PORTAGE_ELOG_CLASSES setting.
svn path=/main/trunk/; revision=10681
Zac Medico [Tue, 17 Jun 2008 04:57:34 +0000 (04:57 -0000)]
Fix BLANK order and color.
svn path=/main/trunk/; revision=10679
Zac Medico [Tue, 17 Jun 2008 04:05:20 +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.
svn path=/main/trunk/; revision=10677
Zac Medico [Tue, 17 Jun 2008 03:31:43 +0000 (03:31 -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.
svn path=/main/trunk/; revision=10675
Zac Medico [Mon, 16 Jun 2008 14:40:30 +0000 (14:40 -0000)]
Fix typo.
svn path=/main/trunk/; revision=10673
Zac Medico [Mon, 16 Jun 2008 14:30:11 +0000 (14:30 -0000)]
Document the new ACCEPT_CHOSTS variable.
svn path=/main/trunk/; revision=10671
Zac Medico [Mon, 16 Jun 2008 11:48:36 +0000 (11:48 -0000)]
Tweak the config._accept_chost() regex.
svn path=/main/trunk/; revision=10669
Zac Medico [Mon, 16 Jun 2008 10:24:43 +0000 (10:24 -0000)]
Re-enable vardbapi.cpv_all() cache now that bug #223417 is solved.
svn path=/main/trunk/; revision=10661
Zac Medico [Mon, 16 Jun 2008 10:19:50 +0000 (10:19 -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.
svn path=/main/trunk/; revision=10660
Zac Medico [Mon, 16 Jun 2008 08:32:54 +0000 (08:32 -0000)]
Make some post_merge() things conditional on the vdb lock being held
(mtimedb commit and info dirs processing).
svn path=/main/trunk/; revision=10659
Zac Medico [Mon, 16 Jun 2008 08:10:49 +0000 (08:10 -0000)]
Add some write access checks in post_merge() in order to avoid triggering
permission related exceptions.
svn path=/main/trunk/; revision=10658
Zac Medico [Sun, 15 Jun 2008 04:50:09 +0000 (04:50 -0000)]
Fix config._accept_chost_re so it's only an instance variable.
svn path=/main/trunk/; revision=10656
Zac Medico [Sun, 15 Jun 2008 04:38:15 +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.
svn path=/main/trunk/; revision=10654
Zac Medico [Sat, 14 Jun 2008 13:15:44 +0000 (13:15 -0000)]
Fix the 'inherit.autotools' check to account for apache-2_src_unpack()
calling eautoreconf.
svn path=/main/trunk/; revision=10653
Zac Medico [Sat, 14 Jun 2008 07:15:21 +0000 (07:15 -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.
svn path=/main/trunk/; revision=10652
Zac Medico [Thu, 12 Jun 2008 02:41:32 +0000 (02:41 -0000)]
Pass missing "installed" parameter into Package constructor.
svn path=/main/trunk/; revision=10651
Zac Medico [Wed, 11 Jun 2008 09:33:41 +0000 (09:33 -0000)]
Handle InvalidDependString in _package_cache.__setitem__().
svn path=/main/trunk/; revision=10648
Zac Medico [Wed, 11 Jun 2008 09:16:53 +0000 (09:16 -0000)]
Fix indent.
svn path=/main/trunk/; revision=10646
Zac Medico [Wed, 11 Jun 2008 09:15:39 +0000 (09:15 -0000)]
Handle InvalidDependString.
svn path=/main/trunk/; revision=10645
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