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
Zac Medico [Mon, 18 Sep 2006 11:36:47 +0000 (11:36 -0000)]
Allow packages matched by something in package.provided to be explicitly merged by the user.
svn path=/main/trunk/; revision=4475
Zac Medico [Mon, 18 Sep 2006 10:36:23 +0000 (10:36 -0000)]
Idendify soft deps in emerge --debug output.
svn path=/main/trunk/; revision=4474
Zac Medico [Mon, 18 Sep 2006 10:18:58 +0000 (10:18 -0000)]
Thanks again to Jason Stubbs for this patch from bug #147766 which represents PDEPEND relationships withing the depgraph as reverse soft dependencies.
svn path=/main/trunk/; revision=4473
Zac Medico [Mon, 18 Sep 2006 08:31:59 +0000 (08:31 -0000)]
Thanks to Jason Stubbs for this patch from bug #147766 which enables creation of a full and complete depgraph, leaving no dependencies unaccounted for. This will allow more accurate merge order and proper detection of circular dependencies!
svn path=/main/trunk/; revision=4472
Zac Medico [Mon, 18 Sep 2006 04:20:38 +0000 (04:20 -0000)]
Ensure that the parent process gets the first fetch when parallel-fetch is enabled.
svn path=/main/trunk/; revision=4471
Zac Medico [Mon, 18 Sep 2006 03:54:07 +0000 (03:54 -0000)]
Replace relative imports with absolute imports for forward compatibility with python 2.6.
svn path=/main/trunk/; revision=4470
Zac Medico [Mon, 18 Sep 2006 03:14:56 +0000 (03:14 -0000)]
Close the parallel-fetch log file descriptor when it's no longer needed.
svn path=/main/trunk/; revision=4469
Zac Medico [Sun, 17 Sep 2006 20:32:15 +0000 (20:32 -0000)]
Use mtimedb.filename == None to disable mtimedb writes (instead of /dev/null).
svn path=/main/trunk/; revision=4468
Zac Medico [Sun, 17 Sep 2006 04:51:08 +0000 (04:51 -0000)]
Reimplement parallel-fetch so that it simply spawns `emerge --fetch --resume` via portage_exec.spawn. This prevents potential issues with shared file descriptors and unsafe forks as discussed in bug #147516. This patch makes sure that the spawned emerge process does not write to emerge.log or the mtimedb.
svn path=/main/trunk/; revision=4467
Zac Medico [Sat, 16 Sep 2006 07:33:09 +0000 (07:33 -0000)]
In portage.commit_mtimedb(), use the commit() method when possible, so that the mtimedb is only rewritten when it has been modified.
svn path=/main/trunk/; revision=4464
Mike Frysinger [Sat, 16 Sep 2006 05:23:33 +0000 (05:23 -0000)]
document FEATURES=buildsyspkg #147729
svn path=/main/trunk/; revision=4463
Zac Medico [Sat, 16 Sep 2006 01:08:56 +0000 (01:08 -0000)]
Add CATEGORY to the list of readonly variables.
svn path=/main/trunk/; revision=4462
Zac Medico [Sat, 16 Sep 2006 00:50:38 +0000 (00:50 -0000)]
For bug #14321, make dispatch-conf scan for individual files listed in CONFIG_PROTECT.
svn path=/main/trunk/; revision=4461
Zac Medico [Sat, 16 Sep 2006 00:45:25 +0000 (00:45 -0000)]
For bug #14321, make etc-update scan for individual files listed in CONFIG_PROTECT.
svn path=/main/trunk/; revision=4460
Zac Medico [Sat, 16 Sep 2006 00:42:00 +0000 (00:42 -0000)]
For bug #14321, make emerge scan for individual files listed in CONFIG_PROTECT.
svn path=/main/trunk/; revision=4459
Zac Medico [Sat, 16 Sep 2006 00:38:46 +0000 (00:38 -0000)]
For bug #14321, add support for individual files in CONFIG_PROTECT and CONFIG_PROTECT_MASK.
svn path=/main/trunk/; revision=4458
Zac Medico [Fri, 15 Sep 2006 10:49:57 +0000 (10:49 -0000)]
When it's detected that a previously remembered update has been accepted, remove it from confmem.
svn path=/main/trunk/; revision=4453
Zac Medico [Fri, 15 Sep 2006 07:07:13 +0000 (07:07 -0000)]
Add support for SPACE_SEPARATED and COLON_SEPARATED in /etc/env.d/ so that hard coded values are not required.
svn path=/main/trunk/; revision=4452
Zac Medico [Fri, 15 Sep 2006 03:12:26 +0000 (03:12 -0000)]
Move all env.d file name filtering into a single loop.
svn path=/main/trunk/; revision=4451
Zac Medico [Fri, 15 Sep 2006 02:07:18 +0000 (02:07 -0000)]
Simplify the confmem logic so that it's easier to read.
svn path=/main/trunk/; revision=4450
Zac Medico [Thu, 14 Sep 2006 07:52:39 +0000 (07:52 -0000)]
Remove an unused hardlink_active() function.
svn path=/main/trunk/; revision=4449
Zac Medico [Thu, 14 Sep 2006 07:44:54 +0000 (07:44 -0000)]
Simplify portage_locks.hardlink_is_mine() so that it only checks the number of links. Nothing more is needed.
svn path=/main/trunk/; revision=4448
Zac Medico [Thu, 14 Sep 2006 07:17:51 +0000 (07:17 -0000)]
Remove all traces of atexit hardlock cleanup code, since it doesn't work correctly anyway.
svn path=/main/trunk/; revision=4447
Zac Medico [Thu, 14 Sep 2006 06:33:48 +0000 (06:33 -0000)]
In unhardlink_lockfile(), make sure not to touch lockfilename unless we really have a lock. See bug #147453.
svn path=/main/trunk/; revision=4446