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
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
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
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
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
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
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
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
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
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
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
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
Zac Medico [Sun, 25 May 2008 22:33:09 +0000 (22:33 -0000)]
Remove unused code.
svn path=/main/trunk/; revision=10422
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
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
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
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
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
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
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
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
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
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
Zac Medico [Sat, 24 May 2008 22:24:58 +0000 (22:24 -0000)]
Fix broken dep_getusedeps() cache behavior so that it returns the
correct type.
svn path=/main/trunk/; revision=10395
Zac Medico [Sat, 24 May 2008 22:03:27 +0000 (22:03 -0000)]
For dep_expand() backward compatibility, handle atoms with missing '='
prefix which did not raise an error here before the portage.dep.Atom
class was introduced.
svn path=/main/trunk/; revision=10394
Zac Medico [Sat, 24 May 2008 21:33:12 +0000 (21:33 -0000)]
Fix paren_reduce() so that it appropriately raises an InvalidDependString()
in some cases, instead of a nonsense ValueError.
svn path=/main/trunk/; revision=10393
Zac Medico [Sat, 24 May 2008 21:23:39 +0000 (21:23 -0000)]
Fix paren_reduce() so that it appropriately raises an InvalidDependString()
in some cases, instead of a nonsense AttributeError.
svn path=/main/trunk/; revision=10392
Zac Medico [Sat, 24 May 2008 21:00:07 +0000 (21:00 -0000)]
Fix use_reduce() so that it appropriately raises an InvalidDependString
instead of an IndexError in some cases (avoid IndexError by using slice
notation).
svn path=/main/trunk/; revision=10391
Zac Medico [Sat, 24 May 2008 20:35:30 +0000 (20:35 -0000)]
Bug #223417 - Make the vardbapi.cpv_all() use_cache parameter useful
for forcing direct os.listdir() calls. This is more of an issue now
that these listdir() calls are frequently triggered when merging
packages (due to things like blocker and preserve-libs handling).
svn path=/main/trunk/; revision=10390
Zac Medico [Sat, 24 May 2008 19:22:00 +0000 (19:22 -0000)]
Bug #223417 - use floating point mtime for finer grained validation in
cachedir().
svn path=/main/trunk/; revision=10389
Zac Medico [Fri, 23 May 2008 18:51:58 +0000 (18:51 -0000)]
Bug #220671 - Fix 'RuntimeError: Set changed size during iteration' error.
svn path=/main/trunk/; revision=10388
Zac Medico [Fri, 23 May 2008 08:42:35 +0000 (08:42 -0000)]
Bug #2272 - Extend dependency atom sytax to specify enabled or disabled
states of USE flags. Matching with the new syntax is currently only
supported in the dbapi classes and dependency resolver (use matching
does not work yet in config files such as package.mask).
svn path=/main/trunk/; revision=10387
Marius Mauch [Wed, 21 May 2008 16:05:03 +0000 (16:05 -0000)]
Raise an error if the named repository doesn't exist
svn path=/main/trunk/; revision=10383
Zac Medico [Tue, 20 May 2008 19:42:39 +0000 (19:42 -0000)]
When using vecho or eqawarn it comes in handy when isolated-functions
have been sourced. (branches/prefix r10380)
svn path=/main/trunk/; revision=10381
Zac Medico [Tue, 20 May 2008 03:06:32 +0000 (03:06 -0000)]
Simplify cache code in vardbapi.aux_get().
svn path=/main/trunk/; revision=10377
Zac Medico [Tue, 20 May 2008 01:51:12 +0000 (01:51 -0000)]
In vardbapi.aux_get(), don't mark cacheed metadata invalid just because
some of the values are missing.
svn path=/main/trunk/; revision=10375
Zac Medico [Tue, 20 May 2008 01:13:25 +0000 (01:13 -0000)]
Inside vardbapi.aux_get(), do more validation on the cache data to
ensure it contains the expected data types.
svn path=/main/trunk/; revision=10373
Zac Medico [Mon, 19 May 2008 23:39:15 +0000 (23:39 -0000)]
Adjust code order to organize it a bit. (branches/2.1.2 r10371)
svn path=/main/trunk/; revision=10372
Zac Medico [Mon, 19 May 2008 23:19:00 +0000 (23:19 -0000)]
Validate and normalize target_root earlier in the config constructor.
svn path=/main/trunk/; revision=10369
Zac Medico [Mon, 19 May 2008 23:06:12 +0000 (23:06 -0000)]
Fix vardbapi.aux_get() logic so that it will correctly pull the metadata
value corresponding to an unrecognized metadata key.
svn path=/main/trunk/; revision=10367
Zac Medico [Mon, 19 May 2008 20:29:48 +0000 (20:29 -0000)]
Exclude "env" from use in variable substitution since we want to avoid
any interaction with the calling environment that might lead to
unexpected results.
svn path=/main/trunk/; revision=10364
Zac Medico [Sun, 18 May 2008 22:43:09 +0000 (22:43 -0000)]
In unmerge(), flush the vardbapi aux_get() cache to disk before releasing
the vardb lock.
svn path=/main/trunk/; revision=10361
Zac Medico [Sun, 18 May 2008 22:27:15 +0000 (22:27 -0000)]
Tweak vardbapi.aux_get() cache logic a bit.
svn path=/main/trunk/; revision=10360
Zac Medico [Sun, 18 May 2008 22:18:08 +0000 (22:18 -0000)]
* To avoid excessive IO on each call to LinkageMap.rebuild(), cache
NEEDED.* files via vardbapi.aux_get().
* Make vardbapi.aux_get() preserve newlines in multi-line metadata
such as NEEDED.* and CONTENTS.
svn path=/main/trunk/; revision=10359
Zac Medico [Sun, 18 May 2008 19:00:30 +0000 (19:00 -0000)]
Bug #222623 - Use "regardless" instead of "irregardless" since the latter
is considered to be incorrect.
svn path=/main/trunk/; revision=10357
Zac Medico [Sat, 17 May 2008 22:44:22 +0000 (22:44 -0000)]
Add the environment and some more files to the existing make.defaults
variable substitution support. Variable substitution occurs in
the following order:
* env.d
* env
* make.globals
* make.defaults
* make.conf
svn path=/main/trunk/; revision=10351
Zac Medico [Sat, 17 May 2008 19:55:03 +0000 (19:55 -0000)]
Fix th logic from the previous commit.
svn path=/main/trunk/; revision=10350
Zac Medico [Sat, 17 May 2008 18:49:10 +0000 (18:49 -0000)]
Add back the "install new portage asap" behavior that got lost when that
area of code was rewritten.
svn path=/main/trunk/; revision=10349
Zac Medico [Fri, 16 May 2008 21:41:01 +0000 (21:41 -0000)]
Detect and filter ebuilds that have invalid versions in portdbapi.cp_list().
svn path=/main/trunk/; revision=10346
Zac Medico [Fri, 16 May 2008 05:54:50 +0000 (05:54 -0000)]
Add dev-util/ftjam to the RDEPEND.suspect list as per bug #221537, comment #3.
Leaving dev-util/jam in place, in case it revives somehow.
svn path=/main/trunk/; revision=10344
Zac Medico [Wed, 14 May 2008 18:56:22 +0000 (18:56 -0000)]
Add a note about interaction between FEATURES="metadata-transfer"
and eclasses from PORTDIR_OVERLAY that override eclasses from PORTDIR.
svn path=/main/trunk/; revision=10337
Zac Medico [Wed, 14 May 2008 18:04:30 +0000 (18:04 -0000)]
Skip blocker atoms for the RDEPEND.suspect check.
svn path=/main/trunk/; revision=10335
Zac Medico [Wed, 14 May 2008 17:53:43 +0000 (17:53 -0000)]
Bug #221537 - Add a new "RDEPEND.suspect" check for packages in RDEPEND that
usually only belong in DEPEND.
svn path=/main/trunk/; revision=10333
Marius Mauch [Tue, 13 May 2008 22:50:48 +0000 (22:50 -0000)]
add xterm-color and interix to list of valid terminals
svn path=/main/trunk/; revision=10329
Marius Mauch [Tue, 13 May 2008 22:44:17 +0000 (22:44 -0000)]
Remove 'eselect compiler' references
svn path=/main/trunk/; revision=10328
Marius Mauch [Tue, 13 May 2008 22:41:38 +0000 (22:41 -0000)]
Prefer deb2tgz over ar for unpacking .deb files when installed (patch by Fabian Groffen, archives.gentoo.org/gentoo-portage-dev/msg_2f9c8543016f1a96f9122aca0ec35ded.xml)
svn path=/main/trunk/; revision=10327
Marius Mauch [Tue, 13 May 2008 22:38:16 +0000 (22:38 -0000)]
make debug mode configurable
svn path=/main/trunk/; revision=10326
Marius Mauch [Tue, 13 May 2008 22:33:58 +0000 (22:33 -0000)]
Add subversion support for repoman (patch by Fabien Groffen, archives.gentoo.org/gentoo-portage-dev/msg_b7080f212c3eb09c943a1ce5a7356f01.xml)
svn path=/main/trunk/; revision=10325
Marius Mauch [Tue, 13 May 2008 20:05:27 +0000 (20:05 -0000)]
ignore consumers from the current package instance when checking if a preserved library can be removed
svn path=/main/trunk/; revision=10324
Marius Mauch [Tue, 13 May 2008 19:36:33 +0000 (19:36 -0000)]
Check vercmp() return value to avoid arbitrary results in case it returns None
svn path=/main/trunk/; revision=10322
Mike Frysinger [Tue, 13 May 2008 12:32:57 +0000 (12:32 -0000)]
fix man markup for PORTAGE_FETCH_RESUME_MIN_SIZE
svn path=/main/trunk/; revision=10320
Zac Medico [Tue, 13 May 2008 06:17:10 +0000 (06:17 -0000)]
capitalize Portage
svn path=/main/trunk/; revision=10318
Zac Medico [Tue, 13 May 2008 06:12:08 +0000 (06:12 -0000)]
Describe how we limit the probability that temporary simultaneous
installation of blocking packages will cause some sort of problem.
svn path=/main/trunk/; revision=10316
Zac Medico [Tue, 13 May 2008 03:38:23 +0000 (03:38 -0000)]
Bug #220533 - Document FEATURES="skiprocheck".
svn path=/main/trunk/; revision=10314
Zac Medico [Mon, 12 May 2008 23:01:57 +0000 (23:01 -0000)]
Define the world_candidates variable earlier to make sure it's in scope.
svn path=/main/trunk/; revision=10313
Zac Medico [Mon, 12 May 2008 22:58:50 +0000 (22:58 -0000)]
Filter sets that are not "world candidates" from the favorites list at
the last moment since the favorites list needs to be complete for
depgraph.loadResumeCommand() to operate correctly.
svn path=/main/trunk/; revision=10312
Zac Medico [Mon, 12 May 2008 22:21:49 +0000 (22:21 -0000)]
In the warning about eclasses in overlay overriding eclasses from PORTDIR,
also advise the user to add FEATURES="metadata-transfer" to make.conf.
svn path=/main/trunk/; revision=10310
Marius Mauch [Mon, 12 May 2008 16:47:05 +0000 (16:47 -0000)]
don't add package sets to 'world' that have world-candidate=False
svn path=/main/trunk/; revision=10303
Zac Medico [Sun, 11 May 2008 23:56:58 +0000 (23:56 -0000)]
Simplify the code for bug #221755 now that the substitution map is updated
automatically by getconfig().
svn path=/main/trunk/; revision=10297
Zac Medico [Sun, 11 May 2008 23:51:41 +0000 (23:51 -0000)]
Make the variable substitution code for bug #221755 slightly more efficient
by allowing getconfig() to directly update the map that's used for
substitutions.
svn path=/main/trunk/; revision=10296
Zac Medico [Sun, 11 May 2008 23:45:52 +0000 (23:45 -0000)]
Fix the variable subsitution code from bug #221755 so that variable
assignments from earlier files don't leak into variable assignments
from later files (except through substitution).
svn path=/main/trunk/; revision=10295
Zac Medico [Sun, 11 May 2008 23:22:43 +0000 (23:22 -0000)]
Bug #221755 - Enable variable substitution in make.defaults to work accross
multiple files instead of being confined to a single file. This allows
profiles to create incremental-like behavior with non-incremental variables
when desired.
svn path=/main/trunk/; revision=10293
Zac Medico [Sun, 11 May 2008 19:37:31 +0000 (19:37 -0000)]
Add back the warning for DISTDIR about storing stuff inside PORTDIR.
svn path=/main/trunk/; revision=10291
Zac Medico [Sun, 11 May 2008 19:35:26 +0000 (19:35 -0000)]
Sync make.conf.example with make.conf.5 for bug #220111.
svn path=/main/trunk/; revision=10290
Zac Medico [Sun, 11 May 2008 19:21:28 +0000 (19:21 -0000)]
Bug #220111 - Update the DISTDIR docs to clarify that it's safe to remove
any and all files from this location after packages are built.
svn path=/main/trunk/; revision=10289
Zac Medico [Sun, 11 May 2008 18:25:35 +0000 (18:25 -0000)]
Make the summary more accurate.
svn path=/main/trunk/; revision=10288
Zac Medico [Sat, 10 May 2008 18:12:44 +0000 (18:12 -0000)]
If the uninstall task did not need to be executed because
of an upgrade, display Blocker -> Upgrade edges since the
corresponding Blocker -> Uninstall edges will not be shown.
svn path=/main/trunk/; revision=10286
Zac Medico [Sat, 10 May 2008 17:09:36 +0000 (17:09 -0000)]
eachother -> each other
svn path=/main/trunk/; revision=10284
Zac Medico [Sat, 10 May 2008 08:47:45 +0000 (08:47 -0000)]
Always include satisfied blockers as an indicator that blocking
packages will be temporarily installed simultaneously.
svn path=/main/trunk/; revision=10281
Zac Medico [Sat, 10 May 2008 08:35:22 +0000 (08:35 -0000)]
When selecting leaf nodes, if there is a mix of merge and uninstall
nodes, save the uninstall nodes from later since sometimes a merge
node will render an install node unnecessary, and we want to avoid
doing a separate uninstall task in that case.
svn path=/main/trunk/; revision=10279
Zac Medico [Sat, 10 May 2008 08:07:35 +0000 (08:07 -0000)]
Fix another KeyError, reported in Bug #221107, comment #4. There's no need
to remove uninstall tasks from scheduled_uninstalls, so just keep them
in there.
svn path=/main/trunk/; revision=10277
Zac Medico [Fri, 9 May 2008 19:12:48 +0000 (19:12 -0000)]
Bug #221053 - Save the resume list before verifying the ebuild Manifests
since it might be possible for the user to use --resume --skipfirst get
past a non-essential package with a broken digest.
svn path=/main/trunk/; revision=10275
Zac Medico [Fri, 9 May 2008 19:04:14 +0000 (19:04 -0000)]
Bug #221071 - Prevent display_problems() from redundantly displaying
the exact same merge list a second time.
svn path=/main/trunk/; revision=10273
Zac Medico [Fri, 9 May 2008 18:36:19 +0000 (18:36 -0000)]
Bug #221107 - Fix depgraph._serialize_tasks() so that it doesn't
try to schedule an uninstall task that's already been scheduled
but hasn't been executed yet due to dependence on installation of
blocking packages.
svn path=/main/trunk/; revision=10271
Zac Medico [Fri, 9 May 2008 15:49:11 +0000 (15:49 -0000)]
Describe how file collisions between blocking packages are resolved when
they are temporarily installed simultaneously.
svn path=/main/trunk/; revision=10269
Zac Medico [Fri, 9 May 2008 08:45:05 +0000 (08:45 -0000)]
Simplify code for derived Package attributes.
svn path=/main/trunk/; revision=10266
Zac Medico [Fri, 9 May 2008 04:17:57 +0000 (04:17 -0000)]
For the "blockers" parameter that's passed into the dblink constructor
now, make it a callable since it really shouldn't be called until the
vdb lock has been acquired.
svn path=/main/trunk/; revision=10264
Zac Medico [Fri, 9 May 2008 03:41:41 +0000 (03:41 -0000)]
If an uninstall task fails inside MergeTask.merge(), use an UninstallFailure
exception to handle it instead of allowing unmerge() to call exit().
svn path=/main/trunk/; revision=10262
Zac Medico [Fri, 9 May 2008 03:00:10 +0000 (03:00 -0000)]
Use set.instersection() instead of a for loop.
svn path=/main/trunk/; revision=10260
Zac Medico [Fri, 9 May 2008 02:28:54 +0000 (02:28 -0000)]
Allow scheduled uninstalls to be selected the same way as other leaf nodes.
svn path=/main/trunk/; revision=10258
Zac Medico [Fri, 9 May 2008 02:14:38 +0000 (02:14 -0000)]
Make the fix for bug #220341 better by checking all selected packages for
matching cpv rather than just the last one.
svn path=/main/trunk/; revision=10256
Zac Medico [Fri, 9 May 2008 01:49:02 +0000 (01:49 -0000)]
Optimize BlockerDB.findInstalledBlockers() so that it doesn't unnecessarily
try to match packages against an empty set of blocker atoms.
svn path=/main/trunk/; revision=10254
Zac Medico [Thu, 8 May 2008 21:51:29 +0000 (21:51 -0000)]
Bug #220987 - Fix UnboundLocalError for 'skip' that only occurs when
using alternate ROOT. Thanks to Ryan Tandy <tarpman@gmail.com>.
svn path=/main/trunk/; revision=10252
Zac Medico [Thu, 8 May 2008 21:18:01 +0000 (21:18 -0000)]
Make some confmem behavior modifications in order to try and make it
less confusing for people who have forgotten about the --noconfmem
option or are completely unaware of it. Thanks to Joe Peterson
<lavajoe@gentoo.org> for suggesting these:
* Always behave like --noconfmem is enabled for downgrades.
* Purge confmem entries when a package is unmerged rather
than replaced.
svn path=/main/trunk/; revision=10250
Zac Medico [Thu, 8 May 2008 19:46:47 +0000 (19:46 -0000)]
Remove stale uninstall tasks from scheduled_uninstalls when necessary.
svn path=/main/trunk/; revision=10246
Zac Medico [Thu, 8 May 2008 19:03:42 +0000 (19:03 -0000)]
Remove unnecessary BlockerDB and BlockerCache _installed_pkgs attributes.
svn path=/main/trunk/; revision=10241
Zac Medico [Thu, 8 May 2008 18:35:39 +0000 (18:35 -0000)]
Don't save "uninstall" tasks in the resume list since they'll be regenerated
by dependency calculations upon resume.
svn path=/main/trunk/; revision=10239
Zac Medico [Thu, 8 May 2008 17:37:38 +0000 (17:37 -0000)]
Bug #220341 - USE=multislot can make an installed package appear as if
it doesn't satisfy a slot dependency. Rebuilding the ebuild won't do
any good as long as USE=multislot is enabled since the newly built
package still won't have the expected slot. Therefore, assume that
such SLOT dependencies are already satisfied rather than forcing a
rebuild.
svn path=/main/trunk/; revision=10237
Zac Medico [Thu, 8 May 2008 17:08:13 +0000 (17:08 -0000)]
Bug #220775 - Source isolated-functions.sh before trying to call vecho.
svn path=/main/trunk/; revision=10235
Zac Medico [Thu, 8 May 2008 16:52:45 +0000 (16:52 -0000)]
Bug #220689 - Fix package selection logic so that it doesn't trigger the
code path from bug 219369 in some unwanted cases.
svn path=/main/trunk/; revision=10233