Zac Medico [Wed, 4 Oct 2006 06:10:02 +0000 (06:10 -0000)]
Remove redundant PORTAGE_BUILDDIR creation.
svn path=/main/trunk/; revision=4587
Zac Medico [Wed, 4 Oct 2006 05:09:30 +0000 (05:09 -0000)]
When gathering a group of nodes to merge (with circular RDEPEND), make sure not to prematurely merge any nodes that have unsatisfied hard deps.
svn path=/main/trunk/; revision=4586
Zac Medico [Wed, 4 Oct 2006 04:37:42 +0000 (04:37 -0000)]
Make PORTAGE_BUILDDIR and subdirectories group writable for now (reverts some of the changes from bug #149062). One major problem is that the first phase (setup) is often run as root. We need a way to tell portage about a less privileged user that may need to be given permission on files and directories.
svn path=/main/trunk/; revision=4585
Zac Medico [Tue, 3 Oct 2006 22:18:20 +0000 (22:18 -0000)]
Don't set the gid unnecessarily on $PORTAGE_BUILDDIR/distdir.
svn path=/main/trunk/; revision=4584
Zac Medico [Tue, 3 Oct 2006 22:09:41 +0000 (22:09 -0000)]
For userpriv support, chown files in ${T} if necessary after priveleged phases.
svn path=/main/trunk/; revision=4583
Zac Medico [Tue, 3 Oct 2006 21:04:57 +0000 (21:04 -0000)]
Use 01775 permissions for subdirectories of PORTAGE_TMPDIR, and 0755 permissions for other directories (bug #149062).
svn path=/main/trunk/; revision=4582
Zac Medico [Tue, 3 Oct 2006 19:03:23 +0000 (19:03 -0000)]
Use 755 permissions for ${PORTAGE_WORKDIR}/distdir (bug #149062).
svn path=/main/trunk/; revision=4581
Zac Medico [Tue, 3 Oct 2006 18:33:04 +0000 (18:33 -0000)]
Print a message about make.globals if PORTDIR is undefined.
svn path=/main/trunk/; revision=4580
Zac Medico [Tue, 3 Oct 2006 07:05:50 +0000 (07:05 -0000)]
Add a digraph.NONE constant to represent no priority.
svn path=/main/trunk/; revision=4579
Zac Medico [Tue, 3 Oct 2006 06:45:58 +0000 (06:45 -0000)]
Refector depgraph.altlist() reverse/ignore_priority handling.
svn path=/main/trunk/; revision=4578
Zac Medico [Tue, 3 Oct 2006 01:51:33 +0000 (01:51 -0000)]
Remove a len(nodes) == 1 test that's never True.
svn path=/main/trunk/; revision=4577
Zac Medico [Tue, 3 Oct 2006 01:40:42 +0000 (01:40 -0000)]
In depgraph.altlist(), use a recursive fuction to gather groups of nodes that RDEPEND on eachother.
svn path=/main/trunk/; revision=4576
Zac Medico [Tue, 3 Oct 2006 00:27:45 +0000 (00:27 -0000)]
Fix priority logic in digraph.add().
svn path=/main/trunk/; revision=4575
Zac Medico [Mon, 2 Oct 2006 22:39:03 +0000 (22:39 -0000)]
Optimize varexpand for bug #149900.
svn path=/main/trunk/; revision=4574
Zac Medico [Mon, 2 Oct 2006 22:21:57 +0000 (22:21 -0000)]
Remove unnecessary set creation.
svn path=/main/trunk/; revision=4573
Zac Medico [Mon, 2 Oct 2006 22:08:04 +0000 (22:08 -0000)]
Fix depgraph.altlist() so that it can identify a group of nodes that completely satisfy eachothers non-soft deps. This should complete the fix for bug #149881.
svn path=/main/trunk/; revision=4572
Zac Medico [Mon, 2 Oct 2006 19:29:23 +0000 (19:29 -0000)]
Add medium priority level into the digraph (in addition to the existing hard and
svn path=/main/trunk/; revision=4571
Zac Medico [Sun, 1 Oct 2006 23:15:49 +0000 (23:15 -0000)]
For bug #149781, exclude symlinks to directories when creating binary package with quickpkg.
svn path=/main/trunk/; revision=4570
Zac Medico [Sat, 30 Sep 2006 19:35:29 +0000 (19:35 -0000)]
Fix misspelling of dependencies for bug #149645.
svn path=/main/trunk/; revision=4568
Zac Medico [Sat, 30 Sep 2006 18:24:19 +0000 (18:24 -0000)]
Emulate old --update world/system behavior for bug #149527.
svn path=/main/trunk/; revision=4567
Zac Medico [Sat, 30 Sep 2006 04:06:53 +0000 (04:06 -0000)]
Don't try to match call best_match_to_list() on "blocks" nodes for bug #149576.
svn path=/main/trunk/; revision=4566
Zac Medico [Fri, 29 Sep 2006 21:56:09 +0000 (21:56 -0000)]
Update CONFIG_PROTECT docs to reflect that files are now supported.
svn path=/main/trunk/; revision=4565
Zac Medico [Fri, 29 Sep 2006 21:50:16 +0000 (21:50 -0000)]
Update installsources docs for bug #149491.
svn path=/main/trunk/; revision=4564
Zac Medico [Fri, 29 Sep 2006 21:47:49 +0000 (21:47 -0000)]
Document the new COLLISION_IGNORE variable.
svn path=/main/trunk/; revision=4563
Zac Medico [Fri, 29 Sep 2006 21:36:34 +0000 (21:36 -0000)]
For bug #149412, add a COLLISION_IGNORE user config option that behaves similar to CONFIG_PROTECT_MASK, but for collision-protect.
svn path=/main/trunk/; revision=4562
Zac Medico [Fri, 29 Sep 2006 21:07:01 +0000 (21:07 -0000)]
Document the new --with-bdeps option.
svn path=/main/trunk/; revision=4561
Zac Medico [Fri, 29 Sep 2006 20:37:26 +0000 (20:37 -0000)]
Allow options contained in EMERGE_DEFAULT_OPTS to be overridden by the real command line options.
svn path=/main/trunk/; revision=4560
Zac Medico [Fri, 29 Sep 2006 19:12:47 +0000 (19:12 -0000)]
Move installed sources into ${CATEGORY} subdirectories in order to prevent collisions for bug #149491.
svn path=/main/trunk/; revision=4559
Zac Medico [Fri, 29 Sep 2006 18:28:29 +0000 (18:28 -0000)]
Allow env.d file names with 3 characters. This is a regression from r4451.
svn path=/main/trunk/; revision=4558
Zac Medico [Fri, 29 Sep 2006 17:47:35 +0000 (17:47 -0000)]
Fix quoting of ${D} in make arguments for einstall(). Thanks to Volkov Peter <pva@gentoo.org> for this patch from bug #149494.
svn path=/main/trunk/; revision=4557
Zac Medico [Fri, 29 Sep 2006 17:41:03 +0000 (17:41 -0000)]
Fix broken [ -z "" ] test. Thanks to Volkov Peter <pva@gentoo.org> for this patch from bug #149494.
svn path=/main/trunk/; revision=4556
Zac Medico [Fri, 29 Sep 2006 05:36:50 +0000 (05:36 -0000)]
Fix inverted --with-bdeps logic.
svn path=/main/trunk/; revision=4555
Zac Medico [Fri, 29 Sep 2006 02:10:29 +0000 (02:10 -0000)]
Call sys.stdout.flush() after print statements so that output has the correct order when multiple processes output to a shared pipe.
svn path=/main/trunk/; revision=4554
Zac Medico [Fri, 29 Sep 2006 01:52:50 +0000 (01:52 -0000)]
Properly treat myopts as a dict.
svn path=/main/trunk/; revision=4553
Zac Medico [Fri, 29 Sep 2006 01:26:35 +0000 (01:26 -0000)]
Remove some unreachable code.
svn path=/main/trunk/; revision=4552
Zac Medico [Fri, 29 Sep 2006 01:14:31 +0000 (01:14 -0000)]
Use dict.pop(k, None) to delete items if they exist.
svn path=/main/trunk/; revision=4551
Zac Medico [Fri, 29 Sep 2006 00:47:11 +0000 (00:47 -0000)]
Store myopts in the mtimedb as a list for backward compatibility.
svn path=/main/trunk/; revision=4550
Zac Medico [Fri, 29 Sep 2006 00:05:35 +0000 (00:05 -0000)]
Add missing calls to iteritems() from the last commit.
svn path=/main/trunk/; revision=4549
Zac Medico [Thu, 28 Sep 2006 23:02:03 +0000 (23:02 -0000)]
Add a --with-bdeps=[y,n] option for bug #148870.
svn path=/main/trunk/; revision=4548
Zac Medico [Thu, 28 Sep 2006 18:29:40 +0000 (18:29 -0000)]
Convert myopts into a dictionary so that it can be used for more that boolean flags.
svn path=/main/trunk/; revision=4547
Zac Medico [Thu, 28 Sep 2006 17:36:35 +0000 (17:36 -0000)]
Convert emerge option parsing to use python's optparse module. This patch makes the minimum changes necessary for the conversion and is supposed to be 100% compatible with previous parsing behavior.
svn path=/main/trunk/; revision=4546
Zac Medico [Thu, 28 Sep 2006 00:15:57 +0000 (00:15 -0000)]
Catch a ValueError caused by corrupt cache for bug #149134.
svn path=/main/trunk/; revision=4545
Zac Medico [Wed, 27 Sep 2006 16:50:36 +0000 (16:50 -0000)]
In dep_zapdeps preference selection, use package names instead of the real atoms for an initial rough match against installed packages. More specific preference selection is handled later via slot and version comparison. Thanks to Jason Stubbs for this patch from bug #147766.
svn path=/main/trunk/; revision=4543
Zac Medico [Wed, 27 Sep 2006 15:41:14 +0000 (15:41 -0000)]
Revert dep_zapdeps fakedbapi usage as per comment #31 on bug #147766.
svn path=/main/trunk/; revision=4542
Zac Medico [Wed, 27 Sep 2006 08:44:22 +0000 (08:44 -0000)]
Fix --update so that it updates direct dependencies for bug #149208.
svn path=/main/trunk/; revision=4541
Zac Medico [Wed, 27 Sep 2006 07:01:45 +0000 (07:01 -0000)]
Make sure that all packages are in the dbapi when doing the blocker validation.
svn path=/main/trunk/; revision=4540
Zac Medico [Wed, 27 Sep 2006 06:22:44 +0000 (06:22 -0000)]
Add SLOT support to fakedbapi then use it for depgraph blocker handling and dep_zapdeps preference selection.
svn path=/main/trunk/; revision=4539
Zac Medico [Mon, 25 Sep 2006 21:16:32 +0000 (21:16 -0000)]
Add a warning about the portage group and the possiblility of exploits for bug #149062.
svn path=/main/trunk/; revision=4530
Zac Medico [Mon, 25 Sep 2006 20:40:18 +0000 (20:40 -0000)]
Clean up the logic a little for bug #149092.
svn path=/main/trunk/; revision=4529
Zac Medico [Mon, 25 Sep 2006 20:07:08 +0000 (20:07 -0000)]
Check the dep_check return value and fail with a message if an error has occurred.
svn path=/main/trunk/; revision=4528
Zac Medico [Mon, 25 Sep 2006 18:26:01 +0000 (18:26 -0000)]
Make `emerge world` (without --deep) work as expected for bug #149092.
svn path=/main/trunk/; revision=4527
Mike Frysinger [Mon, 25 Sep 2006 16:22:44 +0000 (16:22 -0000)]
print errors to stderr, not stdout
svn path=/main/trunk/; revision=4526
Zac Medico [Mon, 25 Sep 2006 09:49:37 +0000 (09:49 -0000)]
For bug #149028, don't lock the tbz2 file because the filesytem could be readonly or shared by a cluster.
svn path=/main/trunk/; revision=4525
Zac Medico [Sun, 24 Sep 2006 23:45:07 +0000 (23:45 -0000)]
Clean up and simplify depgraph params logic. This fixes bug #148893.
svn path=/main/trunk/; revision=4524
Zac Medico [Sun, 24 Sep 2006 21:30:07 +0000 (21:30 -0000)]
Remove depgraph params for depclean since it no longer uses the depgraph.
svn path=/main/trunk/; revision=4523
Zac Medico [Sun, 24 Sep 2006 07:49:50 +0000 (07:49 -0000)]
In order to ensure correct merge order such that build time dependencies will really be usable, don't treat RDEPEND as soft_deps. Thanks for Jason Stubbs for recognizing this issue.
svn path=/main/trunk/; revision=4522
Zac Medico [Sun, 24 Sep 2006 01:07:17 +0000 (01:07 -0000)]
Use the same directories for binary package merges as would be used for source based merges (since the normal PORTAGE_BUILDDIR is already used by the setup, preinst, and postinst phases anyway).
svn path=/main/trunk/; revision=4521
Zac Medico [Sat, 23 Sep 2006 22:14:31 +0000 (22:14 -0000)]
Fix portage.pkgmerge() so that it locks files and directories when in use.
svn path=/main/trunk/; revision=4520
Zac Medico [Sat, 23 Sep 2006 19:21:11 +0000 (19:21 -0000)]
Remove pkgmerge since it's apparent that nobody uses it (it's been broken for a long time, anyway).
svn path=/main/trunk/; revision=4519
Zac Medico [Sat, 23 Sep 2006 19:01:03 +0000 (19:01 -0000)]
Remove doebuild_environment return value checks since it no raises and exception if necessary.
svn path=/main/trunk/; revision=4518
Zac Medico [Sat, 23 Sep 2006 10:47:11 +0000 (10:47 -0000)]
Make doebuild_environment raise an exception so that we never have to check the return value.
svn path=/main/trunk/; revision=4516
Zac Medico [Sat, 23 Sep 2006 10:30:25 +0000 (10:30 -0000)]
Only lock PORTAGE_BUILDDIR if the ebuild exists (otherwise we don't run prerm and postrm).
svn path=/main/trunk/; revision=4515
Zac Medico [Sat, 23 Sep 2006 10:28:09 +0000 (10:28 -0000)]
Lock PORTAGE_BUILDDIR all the way through prerm, unmerge, and postrm.
svn path=/main/trunk/; revision=4514
Zac Medico [Sat, 23 Sep 2006 09:47:16 +0000 (09:47 -0000)]
Always check the return value of doebuild_environment().
svn path=/main/trunk/; revision=4513
Zac Medico [Sat, 23 Sep 2006 09:07:42 +0000 (09:07 -0000)]
Move PORTAGE_BUILDDIR locking out of doebuild and into emerge in order to ensure that emerge maintains it's lock through all phases.
svn path=/main/trunk/; revision=4512
Zac Medico [Sat, 23 Sep 2006 07:09:51 +0000 (07:09 -0000)]
Remove outdated "Unable to run required binary" messages that are now unreachable.
svn path=/main/trunk/; revision=4511
Zac Medico [Sat, 23 Sep 2006 06:56:16 +0000 (06:56 -0000)]
Move PORTAGE_LOG_FILE initialization from doebuild to prepare_build_dirs.
svn path=/main/trunk/; revision=4510
Zac Medico [Sat, 23 Sep 2006 05:24:42 +0000 (05:24 -0000)]
Pass in the correct arg= value to select_dep.
svn path=/main/trunk/; revision=4509
Zac Medico [Sat, 23 Sep 2006 05:13:01 +0000 (05:13 -0000)]
Never allow packages explicitly requested on the command line to be tagged "nomerge" unless --noreplace has been specified. This patch accomplishes the same goal as r4494 but without the potential for causing inconsistency in the depgraph.
svn path=/main/trunk/; revision=4508
Zac Medico [Fri, 22 Sep 2006 23:57:01 +0000 (23:57 -0000)]
Ensure that soft_dep is a plain boolean (not vardb match results).
svn path=/main/trunk/; revision=4507
Zac Medico [Fri, 22 Sep 2006 22:31:33 +0000 (22:31 -0000)]
Move the open call out of the inner try block.
svn path=/main/trunk/; revision=4506
Zac Medico [Fri, 22 Sep 2006 22:20:48 +0000 (22:20 -0000)]
Make it possible, once again, to use --noreplace to add a package to the world file.
svn path=/main/trunk/; revision=4505
Zac Medico [Fri, 22 Sep 2006 21:49:22 +0000 (21:49 -0000)]
Use finally: to ensure that the file is closed properly.
svn path=/main/trunk/; revision=4504
Zac Medico [Fri, 22 Sep 2006 21:26:37 +0000 (21:26 -0000)]
Don't use LazyLoad for cache pulls because it causes a race condition.
svn path=/main/trunk/; revision=4503
Zac Medico [Fri, 22 Sep 2006 21:17:19 +0000 (21:17 -0000)]
Improve and simplify __getitem__ error handling.
svn path=/main/trunk/; revision=4502
Zac Medico [Fri, 22 Sep 2006 20:59:45 +0000 (20:59 -0000)]
Use fstat to when retrieve cache timestamps and avoid a race.
svn path=/main/trunk/; revision=4501
Zac Medico [Fri, 22 Sep 2006 20:24:06 +0000 (20:24 -0000)]
For compatibility with float timestamps in python-2.5, convert st_mtime attributes to long wherever portage expects 1s resolution.
svn path=/main/trunk/; revision=4500
Zac Medico [Fri, 22 Sep 2006 19:53:04 +0000 (19:53 -0000)]
Convert stat timestamps to long for compatibility with python-2.5, which returns floats for timestamps.
svn path=/main/trunk/; revision=4499
Zac Medico [Fri, 22 Sep 2006 19:50:27 +0000 (19:50 -0000)]
Allow cache.sqlite to use sqlite3 from python-2.5, if available.
svn path=/main/trunk/; revision=4498
Zac Medico [Fri, 22 Sep 2006 09:55:27 +0000 (09:55 -0000)]
Revert r4495, since conversion from nomerge to merge may put the depgraph into an inconsistent state du to USE flag mismatch. This can be solved by checking all args prior to marking packages as nomerge.
svn path=/main/trunk/; revision=4496
Simon Stelling [Fri, 22 Sep 2006 09:18:54 +0000 (09:18 -0000)]
use EBUILD_SH_ARGS instead of $*; bug 148615
svn path=/main/trunk/; revision=4495
Zac Medico [Fri, 22 Sep 2006 08:11:31 +0000 (08:11 -0000)]
Allow packages specified on the command line to be retroactively upgraded from "nomerge" to "merge" nodes.
svn path=/main/trunk/; revision=4494
Zac Medico [Thu, 21 Sep 2006 11:16:59 +0000 (11:16 -0000)]
Fix another IndexError due to an assumption that digraph nodes split into at least 4 parts.
svn path=/main/trunk/; revision=4493
Zac Medico [Thu, 21 Sep 2006 07:44:05 +0000 (07:44 -0000)]
Prevent --update and/or --deep style behavior when the user hasn't specified them. In these cases a full depgraph isn't desired and we have to ignore the installed deps that are now returned from dep_check.
svn path=/main/trunk/; revision=4492
Zac Medico [Thu, 21 Sep 2006 05:17:54 +0000 (05:17 -0000)]
Prevent an IndexError caused by blocker nodes splitting to 3 items instead of 4.
svn path=/main/trunk/; revision=4491
Zac Medico [Thu, 21 Sep 2006 03:13:58 +0000 (03:13 -0000)]
Add a comment about old-style virtuals inside depgraph.validate_blockers().
svn path=/main/trunk/; revision=4490
Zac Medico [Thu, 21 Sep 2006 03:02:24 +0000 (03:02 -0000)]
Remove an inaccurate comment.
svn path=/main/trunk/; revision=4489
Zac Medico [Thu, 21 Sep 2006 02:54:25 +0000 (02:54 -0000)]
Add a docstring for depgraph.validate_blockers().
svn path=/main/trunk/; revision=4488
Zac Medico [Thu, 21 Sep 2006 00:58:49 +0000 (00:58 -0000)]
Fix depgraph.validate_blockers() logic so that match_from_list works correctly.
svn path=/main/trunk/; revision=4487
Zac Medico [Wed, 20 Sep 2006 22:13:55 +0000 (22:13 -0000)]
Thanks to Jason Stubbs for this patch from bug #16365 which invalidates any blocker that is made irrelevant by a package upgrade.
svn path=/main/trunk/; revision=4486
Zac Medico [Wed, 20 Sep 2006 03:47:18 +0000 (03:47 -0000)]
As suggested by vapier, send emerge -fp output to stdout and make it work together with --quiet.
svn path=/main/trunk/; revision=4485
Zac Medico [Wed, 20 Sep 2006 03:09:44 +0000 (03:09 -0000)]
Make portageq exit successfully for -h or --help.
svn path=/main/trunk/; revision=4484
Zac Medico [Tue, 19 Sep 2006 22:01:20 +0000 (22:01 -0000)]
Make portageq exit with nonzero status when called incorrectly.
svn path=/main/trunk/; revision=4483
Zac Medico [Tue, 19 Sep 2006 18:07:49 +0000 (18:07 -0000)]
For consistency, pass ignore_soft_deps into digraph.hasallzeros().
svn path=/main/trunk/; revision=4482
Zac Medico [Tue, 19 Sep 2006 09:03:17 +0000 (09:03 -0000)]
Fix digraph.hasallzeros() breakage.
svn path=/main/trunk/; revision=4481
Zac Medico [Tue, 19 Sep 2006 07:20:25 +0000 (07:20 -0000)]
Properly close the caches before reloading portage.
svn path=/main/trunk/; revision=4480
Zac Medico [Tue, 19 Sep 2006 06:46:41 +0000 (06:46 -0000)]
This is a new --tree implementation by Jason Stubbs, from bug #147766.
svn path=/main/trunk/; revision=4479
Zac Medico [Tue, 19 Sep 2006 02:36:35 +0000 (02:36 -0000)]
Fix fetch resume logic for bug #145601 and document the meaning of the "fetched" variable.
svn path=/main/trunk/; revision=4478
Zac Medico [Tue, 19 Sep 2006 01:58:04 +0000 (01:58 -0000)]
Fix digraph.debug_print inverted hard/soft logic.
svn path=/main/trunk/; revision=4477
Zac Medico [Tue, 19 Sep 2006 01:00:09 +0000 (01:00 -0000)]
Turn off file name globbing during expansion of ${find_opts} for bug #148115.
svn path=/main/trunk/; revision=4476