portage.git
16 years agoFix PATH comparison in binarytree.inject() some more.
Zac Medico [Wed, 24 Dec 2008 01:42:38 +0000 (01:42 -0000)]
Fix PATH comparison in binarytree.inject() some more.

svn path=/main/trunk/; revision=12295

16 years agoFix broken PATH comparisons when eliminating duplicate entries inside
Zac Medico [Wed, 24 Dec 2008 01:15:01 +0000 (01:15 -0000)]
Fix broken PATH comparisons when eliminating duplicate entries inside
binarytree.inject().

svn path=/main/trunk/; revision=12294

16 years agoBug #252304 - Restore the -V/--version option.
Zac Medico [Wed, 24 Dec 2008 00:06:09 +0000 (00:06 -0000)]
Bug #252304 - Restore the -V/--version option.

svn path=/main/trunk/; revision=12293

16 years agoAdd SIGUSR1 signal handlers that call pdb.set_trace(). Thanks to Brian Harring for
Zac Medico [Tue, 23 Dec 2008 23:48:14 +0000 (23:48 -0000)]
Add SIGUSR1 signal handlers that call pdb.set_trace(). Thanks to Brian Harring for
the suggestion.

svn path=/main/trunk/; revision=12292

16 years agoMake more code conditional on POLLIN events, where appropriate.
Zac Medico [Tue, 23 Dec 2008 23:12:56 +0000 (23:12 -0000)]
Make more code conditional on POLLIN events, where appropriate.

svn path=/main/trunk/; revision=12291

16 years agoMove initial signal handlers to the launcher script.
Zac Medico [Tue, 23 Dec 2008 22:43:28 +0000 (22:43 -0000)]
Move initial signal handlers to the launcher script.

svn path=/main/trunk/; revision=12290

16 years agoRename the PollTask class to AbstractPollTask.
Zac Medico [Tue, 23 Dec 2008 20:59:55 +0000 (20:59 -0000)]
Rename the PollTask class to AbstractPollTask.

svn path=/main/trunk/; revision=12289

16 years agoAdd handling for POLLERR, POLLNVAL, and POLLHUP. Hopefully this solves hung poll...
Zac Medico [Tue, 23 Dec 2008 20:39:52 +0000 (20:39 -0000)]
Add handling for POLLERR, POLLNVAL, and POLLHUP. Hopefully this solves hung poll calls
with defunct ebuild.sh processes, reported on solaris systems by Fabian Groffen
<grobian@g.o>.

svn path=/main/trunk/; revision=12287

16 years agoRegister for poll events before forking, in order to avoid potential race conditions
Zac Medico [Tue, 23 Dec 2008 18:53:13 +0000 (18:53 -0000)]
Register for poll events before forking, in order to avoid potential race conditions
in SpawnProcess._start() and EbuildMetadataPhase._start(). Hopefully this solves
hung poll calls with defunct ebuild.sh processes, reported on solaris systems by
Fabian Groffen <grobian@g.o>.

svn path=/main/trunk/; revision=12285

16 years agoWhen removing entries with duplicate paths inside binarytree.inject(), handle
Zac Medico [Tue, 23 Dec 2008 10:32:00 +0000 (10:32 -0000)]
When removing entries with duplicate paths inside binarytree.inject(), handle
path collisions in $PKGDIR/All when CPV is not identical.

svn path=/main/trunk/; revision=12282

16 years agoFix typo.
Zac Medico [Tue, 23 Dec 2008 09:45:34 +0000 (09:45 -0000)]
Fix typo.

svn path=/main/trunk/; revision=12281

16 years agoBug #252243 - Fix binarytree.prevent_collision() so that it won't create a circular
Zac Medico [Tue, 23 Dec 2008 09:20:18 +0000 (09:20 -0000)]
Bug #252243 - Fix binarytree.prevent_collision() so that it won't create a circular
symlink if there happens to be a symlink in $PKGDIR/All for some reason.

svn path=/main/trunk/; revision=12280

16 years agoSimplify the code from bug #218854. Also, ensure that the set of visible packages
Zac Medico [Tue, 23 Dec 2008 08:15:00 +0000 (08:15 -0000)]
Simplify the code from bug #218854. Also, ensure that the set of visible packages
thats used by depgraph._iter_atoms_for_pkg() is consistent with the packages that
have been selected by depgraph._select_pkg_highest_available(). This should correct
potential inconstencies introduced by the package selection changes from bug #252167.

svn path=/main/trunk/; revision=12279

16 years agoBug #252167 - If the ebuild no longer exists or it's keywords have been dropped,
Zac Medico [Tue, 23 Dec 2008 07:02:00 +0000 (07:02 -0000)]
Bug #252167 - If the ebuild no longer exists or it's keywords have been dropped,
reject built instances (installed or binary). If --usepkgonly is enabled, assume
that the ebuild status should be ignored.

svn path=/main/trunk/; revision=12278

16 years agoRemove code from unused config.load_infodir() method and issue a deprecation
Zac Medico [Mon, 22 Dec 2008 01:24:12 +0000 (01:24 -0000)]
Remove code from unused config.load_infodir() method and issue a deprecation
warning if it's called.

svn path=/main/trunk/; revision=12275

16 years agoFix DEFINED_PHASES code to check for pkg_config and pkg_info functions.
Zac Medico [Sun, 21 Dec 2008 23:07:29 +0000 (23:07 -0000)]
Fix DEFINED_PHASES code to check for pkg_config and pkg_info functions.

svn path=/main/trunk/; revision=12274

16 years agoAdd support for the new DEFINED_PHASES metadata key which is automatically generated
Zac Medico [Sun, 21 Dec 2008 21:41:13 +0000 (21:41 -0000)]
Add support for the new DEFINED_PHASES metadata key which is automatically generated
from the set of phase functions that are defined by the ebuild and any eclasses it
may have inherited.

svn path=/main/trunk/; revision=12273

16 years agoFix --clean <atom> so that it considers all packages within a given slot when
Zac Medico [Sun, 21 Dec 2008 06:47:23 +0000 (06:47 -0000)]
Fix --clean <atom> so that it considers all packages within a given slot when
it's deciding which packages to keep, rather than just considering the ones
matched by the given atom. Any packages not matching the given atom are protected
from being unmerged. Thanks to Mart Raudsepp <leio@g.o> for reporting.

svn path=/main/trunk/; revision=12272

16 years agoUpdate --depclean 'unsatisfied deps' message to recommend the same emerge update
Zac Medico [Sun, 21 Dec 2008 04:20:12 +0000 (04:20 -0000)]
Update --depclean 'unsatisfied deps' message to recommend the same emerge update
command that's recommended earlier. Thanks to Jeremy Olexa <darkside@g.o> for
reporting.

svn path=/main/trunk/; revision=12271

16 years agoRemove the TaskScheduler.run() method since the constructor replaces it with
Zac Medico [Sun, 21 Dec 2008 04:02:15 +0000 (04:02 -0000)]
Remove the TaskScheduler.run() method since the constructor replaces it with
the QueueScheduler.run() method.

svn path=/main/trunk/; revision=12270

16 years agoAdjust the EbuildNestedDie pattern so that it only matches when ( is surrounded v2.2_rc18
Zac Medico [Sat, 20 Dec 2008 20:22:39 +0000 (20:22 -0000)]
Adjust the EbuildNestedDie pattern so that it only matches when ( is surrounded
by whitespace. This filters out false positives triggered by sed expressions in
net-analyzer/amap-5.2-r1 and media-libs/libsndfile-1.0.17-r1. Thanks to Diego
Pettenò <flameeyes@g.o> for reporting.

svn path=/main/trunk/; revision=12265

16 years agoSimplify the InheritAutotools pattern by using \b to match word boundaries.
Zac Medico [Sat, 20 Dec 2008 20:11:03 +0000 (20:11 -0000)]
Simplify the InheritAutotools pattern by using \b to match word boundaries.

svn path=/main/trunk/; revision=12264

16 years agoBug #251591 - Adjust the InheritAutotools pattern to treat more things similar to
Zac Medico [Sat, 20 Dec 2008 19:36:50 +0000 (19:36 -0000)]
Bug #251591 - Adjust the InheritAutotools pattern to treat more things similar to
whitespace. Now it recognizes escaped newlines, || operators, and && operators.

svn path=/main/trunk/; revision=12260

16 years agoBug #251616 - Inside _check_build_log(), remove unnecessary .* patterns from regular
Zac Medico [Fri, 19 Dec 2008 21:36:26 +0000 (21:36 -0000)]
Bug #251616 - Inside _check_build_log(), remove unnecessary .* patterns from regular
expressions. These patterns trigger extreme performance issues when matched against
extremely large lines such as those produced by dev-util/bzr test suite when it
uses \r to rewrite the same line thousands of times.

svn path=/main/trunk/; revision=12259

16 years agoFix DependencyArg.__str__() to ensure that str type is always returned.
Zac Medico [Fri, 19 Dec 2008 02:43:12 +0000 (02:43 -0000)]
Fix DependencyArg.__str__() to ensure that str type is always returned.

svn path=/main/trunk/; revision=12258

16 years agoInside display_preserved_libs(), filter out consumers that belong to the
Zac Medico [Wed, 17 Dec 2008 05:48:20 +0000 (05:48 -0000)]
Inside display_preserved_libs(), filter out consumers that belong to the
same package as the provider only if those consumers are also preserved.

svn path=/main/trunk/; revision=12257

16 years agoInside display_preserved_libs(), filter out any consumers that belong to the
Zac Medico [Mon, 15 Dec 2008 22:45:21 +0000 (22:45 -0000)]
Inside display_preserved_libs(), filter out any consumers that belong to the
same package as the provider.

svn path=/main/trunk/; revision=12253

16 years agoBug #250902 - Inside dblink._find_unused_preserved_libs(), show a warning
Zac Medico [Sun, 14 Dec 2008 20:50:37 +0000 (20:50 -0000)]
Bug #250902 - Inside dblink._find_unused_preserved_libs(), show a warning
instead of raising a KeyError if the preserved libs registry contains a
symlink that points to a lib which is not preserved.

svn path=/main/trunk/; revision=12252

16 years agoBug #250902 - Inside dblink._find_libs_to_preserve(), prevent symlinks from
Zac Medico [Sun, 14 Dec 2008 20:21:32 +0000 (20:21 -0000)]
Bug #250902 - Inside dblink._find_libs_to_preserve(), prevent symlinks from
being erroneously preserved by themselves when the old instance installed
symlinks that the new instance does not install.

svn path=/main/trunk/; revision=12251

16 years agoDetect problems with arguments and return non-zero when appropriate.
Zac Medico [Fri, 12 Dec 2008 22:49:18 +0000 (22:49 -0000)]
Detect problems with arguments and return non-zero when appropriate.

svn path=/main/trunk/; revision=12248

16 years agoUpdate comment about resume opts stored as dict starting with 2.1.6_rc1.
Zac Medico [Fri, 12 Dec 2008 22:14:19 +0000 (22:14 -0000)]
Update comment about resume opts stored as dict starting with 2.1.6_rc1.

svn path=/main/trunk/; revision=12246

16 years agoAdd a new FEATURES=test-fail-continue value which causes ebuild execution
Zac Medico [Fri, 12 Dec 2008 08:53:42 +0000 (08:53 -0000)]
Add a new FEATURES=test-fail-continue value which causes ebuild execution
to continue after the test phase has failed. Thanks to Diego Pettenò
<flameeyes@g.o> for the suggestion.

svn path=/main/trunk/; revision=12214

16 years agoFix --pretend logic in Binpkg some more.
Zac Medico [Fri, 12 Dec 2008 02:19:01 +0000 (02:19 -0000)]
Fix --pretend logic in Binpkg some more.

svn path=/main/trunk/; revision=12213

16 years agoFix --getbinpkg to behave as expected with --pretend and --fetchonly.
Zac Medico [Fri, 12 Dec 2008 01:49:23 +0000 (01:49 -0000)]
Fix --getbinpkg to behave as expected with --pretend and --fetchonly.

svn path=/main/trunk/; revision=12212

16 years agoFix breakage in stale metadata logic inside binarytree._poplulate().
Zac Medico [Fri, 12 Dec 2008 01:33:26 +0000 (01:33 -0000)]
Fix breakage in stale metadata logic inside binarytree._poplulate().

svn path=/main/trunk/; revision=12211

16 years agoFix incorrect usage of trap (only remove on signal at a time).
Zac Medico [Fri, 12 Dec 2008 00:51:50 +0000 (00:51 -0000)]
Fix incorrect usage of trap (only remove on signal at a time).

svn path=/main/trunk/; revision=12210

16 years agoWhen using the old binhost protocol, comparison with the remote
Zac Medico [Fri, 12 Dec 2008 00:35:38 +0000 (00:35 -0000)]
When using the old binhost protocol, comparison with the remote
package isn't supported, so the local package is always preferred
even if --getbinpkgonly is enabled. Simplify bintree.isremote()
so it works the same way regardless of which protocol is used.

svn path=/main/trunk/; revision=12209

16 years agoFix old-style binhost code binarytree.digestCheck() will use local digests when
Zac Medico [Fri, 12 Dec 2008 00:19:46 +0000 (00:19 -0000)]
Fix old-style binhost code binarytree.digestCheck() will use local digests when
a local package overrides a remote one.

svn path=/main/trunk/; revision=12208

16 years agoFix --getbinpkgonly behavior so that binaries from the remote server are
Zac Medico [Fri, 12 Dec 2008 00:04:21 +0000 (00:04 -0000)]
Fix --getbinpkgonly behavior so that binaries from the remote server are
preferred over local packages if they are not identical. Thanks to Lance
Albertson <ramereth@g.o> for reporting.

svn path=/main/trunk/; revision=12207

16 years agoDon't warn about missing repo_name for $PORTDIR when it happens to be empty.
Zac Medico [Thu, 11 Dec 2008 20:28:28 +0000 (20:28 -0000)]
Don't warn about missing repo_name for $PORTDIR when it happens to be empty.

svn path=/main/trunk/; revision=12206

16 years agoAdd --sync support for `git pull`, and also add a failsafe to prevent rsync
Zac Medico [Thu, 11 Dec 2008 20:15:16 +0000 (20:15 -0000)]
Add --sync support for `git pull`, and also add a failsafe to prevent rsync
from being called if $PORTDIR appears to be under revision control. Thanks
to Daniel Robbins for the initial patch.

svn path=/main/trunk/; revision=12205

16 years agoRemove stray part about 'link level dependency awareness' in the 2.1.6 section
Zac Medico [Thu, 11 Dec 2008 19:43:01 +0000 (19:43 -0000)]
Remove stray part about 'link level dependency awareness' in the 2.1.6 section
and remove extraneous line 8. Thanks to  Arun Raghavan <ford_prefect@g.g> for
reporting.

svn path=/main/trunk/; revision=12204

16 years agoFix exit code to return non-zero when an error occurs. Thanks to Christoph
Zac Medico [Thu, 11 Dec 2008 08:21:39 +0000 (08:21 -0000)]
Fix exit code to return non-zero when an error occurs. Thanks to Christoph
Mende <angelos@g.o> for reporting.

svn path=/main/trunk/; revision=12202

16 years agoMake BinpkgFetcher synchronize the local timestamp of the downloaded file
Zac Medico [Thu, 11 Dec 2008 03:23:24 +0000 (03:23 -0000)]
Make BinpkgFetcher synchronize the local timestamp of the downloaded file
with the remote file, if the fetcher hasn't done it automatically.

svn path=/main/trunk/; revision=12201

16 years agoRemove ManifestEntry.__cmp__() since it's not needed and py3k won't use it.
Zac Medico [Wed, 10 Dec 2008 17:52:31 +0000 (17:52 -0000)]
Remove ManifestEntry.__cmp__() since it's not needed and py3k won't use it.

svn path=/main/trunk/; revision=12200

16 years agoFor py3k compat, remove Atom.__cmp__() and use str.__lt__() instead.
Zac Medico [Wed, 10 Dec 2008 17:41:36 +0000 (17:41 -0000)]
For py3k compat, remove Atom.__cmp__() and use str.__lt__() instead.

svn path=/main/trunk/; revision=12199

16 years agoMake Binpkg clean the build dir immediately after locking it. This ensures
Zac Medico [Wed, 10 Dec 2008 08:16:14 +0000 (08:16 -0000)]
Make Binpkg clean the build dir immediately after locking it. This ensures
that a new PORTAGE_LOG_FILE is created.

svn path=/main/trunk/; revision=12198

16 years agoMake BinpkgVerifier rename files that fail verification, similar to how
Zac Medico [Wed, 10 Dec 2008 08:08:18 +0000 (08:08 -0000)]
Make BinpkgVerifier rename files that fail verification, similar to how
distfiles are automatically renamed.

svn path=/main/trunk/; revision=12197

16 years agoMake the Binpkg class handle fetch logging similar to how EbuildBuild does,
Zac Medico [Wed, 10 Dec 2008 07:47:45 +0000 (07:47 -0000)]
Make the Binpkg class handle fetch logging similar to how EbuildBuild does,
directing output to PORTAGE_LOG_FILE instead of emerge-fetch.log which is
only used for prefetchers now.

svn path=/main/trunk/; revision=12196

16 years agoVerify binary packages even when not in "strict" mode (normal distfiles are
Zac Medico [Wed, 10 Dec 2008 06:53:42 +0000 (06:53 -0000)]
Verify binary packages even when not in "strict" mode (normal distfiles are
also verified in this case).

svn path=/main/trunk/; revision=12195

16 years agoCreate a BinpkgPrefetcher composite task to handle fetch, verification,
Zac Medico [Wed, 10 Dec 2008 06:50:50 +0000 (06:50 -0000)]
Create a BinpkgPrefetcher composite task to handle fetch, verification,
and injection.

svn path=/main/trunk/; revision=12194

16 years agoWhen the Binpkg class has fetched a package in --fetchonly mode, wait until
Zac Medico [Wed, 10 Dec 2008 04:02:41 +0000 (04:02 -0000)]
When the Binpkg class has fetched a package in --fetchonly mode, wait until
after the package is verified and injected before returning.

svn path=/main/trunk/; revision=12193

16 years agourlparse.urljoin() only works correctly with recognized protocols and
Zac Medico [Wed, 10 Dec 2008 03:37:03 +0000 (03:37 -0000)]
urlparse.urljoin() only works correctly with recognized protocols and
requires the base url to have a trailing slash, so join PORTAGE_BINHOST
manually. Thanks to Lance Albertson <ramereth@g.o> for reporting.

svn path=/main/trunk/; revision=12192

16 years agoWhen processing output from the "depend" phase, use the number of lines as
Zac Medico [Wed, 10 Dec 2008 02:30:07 +0000 (02:30 -0000)]
When processing output from the "depend" phase, use the number of lines as
a sanity check so that bash's returncode doesn't have to be trusted.

svn path=/main/trunk/; revision=12191

16 years agoWhen attempting to close fd 9 at the end of the depend phase, use exec so that
Zac Medico [Wed, 10 Dec 2008 02:01:23 +0000 (02:01 -0000)]
When attempting to close fd 9 at the end of the depend phase, use exec so that
it really works.

svn path=/main/trunk/; revision=12190

16 years agoBug #250148 - Prevent ebuild.sh subprocess from inheriting file descriptor
Zac Medico [Wed, 10 Dec 2008 01:31:10 +0000 (01:31 -0000)]
Bug #250148 - Prevent ebuild.sh subprocess from inheriting file descriptor
9, since otherwise if a daemon process such as udevd gets spawned then it
can inherit the file descriptor and hang emerge.

svn path=/main/trunk/; revision=12189

16 years agoIn digestgen(), don't call fetch for files that already exist but have
Zac Medico [Tue, 9 Dec 2008 23:40:37 +0000 (23:40 -0000)]
In digestgen(), don't call fetch for files that already exist but have
invalid zero-size in the manifest.

svn path=/main/trunk/; revision=12188

16 years agoSimplify the code from bug #250166.
Zac Medico [Tue, 9 Dec 2008 23:32:33 +0000 (23:32 -0000)]
Simplify the code from bug #250166.

svn path=/main/trunk/; revision=12187

16 years agoBug #250166 - To avoid accidental regeneration of digests with the incorrect
Zac Medico [Tue, 9 Dec 2008 22:03:14 +0000 (22:03 -0000)]
Bug #250166 - To avoid accidental regeneration of digests with the incorrect
files (such as partially downloaded files), trigger the fetch code if the file
exists and it's size doesn't match the current manifest entry. If there really
is a legitimate reason for the digest to change, `ebuild --force digest` can
be used to avoid triggering this code (or else the old digests can be manually
removed from the Manifest).

svn path=/main/trunk/; revision=12186

16 years agoWhen in --debug mode, make the depgraph call self.digraph.debug_print() to
Zac Medico [Tue, 9 Dec 2008 17:29:07 +0000 (17:29 -0000)]
When in --debug mode, make the depgraph call self.digraph.debug_print() to
display the final digraph state. This should help when troubleshooting
problems with blockers that don't resolve automatically, by making it easier
to see what pulled in unwanted packages.

svn path=/main/trunk/; revision=12185

16 years agoFor py3k compat, avoid using list.sort(cmp).
Zac Medico [Tue, 9 Dec 2008 07:52:36 +0000 (07:52 -0000)]
For py3k compat, avoid using list.sort(cmp).

svn path=/main/trunk/; revision=12184

16 years agoFor py3k compat, remove Package.__cmp__() and related cmp() function call.
Zac Medico [Tue, 9 Dec 2008 04:57:01 +0000 (04:57 -0000)]
For py3k compat, remove Package.__cmp__() and related cmp() function call.

svn path=/main/trunk/; revision=12183

16 years agoFix deprecated_profile_check() to account for PORTAGE_CONFIGROOT. Thanks to
Zac Medico [Mon, 8 Dec 2008 21:20:23 +0000 (21:20 -0000)]
Fix deprecated_profile_check() to account for PORTAGE_CONFIGROOT. Thanks to
Jeremy Olexa <darkside@g.o> for the initial patch.

svn path=/main/trunk/; revision=12181

16 years agoAvoid TypeError in BlockerCache.__iter__() that's triggered with
Zac Medico [Mon, 8 Dec 2008 20:55:07 +0000 (20:55 -0000)]
Avoid TypeError in BlockerCache.__iter__() that's triggered with
FEATURES=python-trace. Thanks to Fabian Groffen <grobian@g.o> for reporting.

svn path=/main/trunk/; revision=12180

16 years agoBug #250212 - Add a new 'upstream.workaround' qa category, and use it for
Zac Medico [Mon, 8 Dec 2008 03:24:55 +0000 (03:24 -0000)]
Bug #250212 - Add a new 'upstream.workaround' qa category, and use it for
the EMakeParallelDisabled check. Thanks to Mike Auty <ikelos@g.o> for this
patch.

svn path=/main/trunk/; revision=12179

16 years agoBug #249586 - Use writemsg() to send output to stderr instead of stdout.
Zac Medico [Sun, 7 Dec 2008 20:14:36 +0000 (20:14 -0000)]
Bug #249586 - Use writemsg() to send output to stderr instead of stdout.

svn path=/main/trunk/; revision=12176

16 years agoIf pkg_nofetch needs to be spawned inside fetch() and it happens that
Zac Medico [Sun, 7 Dec 2008 00:19:15 +0000 (00:19 -0000)]
If pkg_nofetch needs to be spawned inside fetch() and it happens that
PORTAGE_BUILDDIR doesn't exist, like when called by digestgen(), use
mkdtemp to create a private temporary directory so that pkg_nofetch
can be spawned (directory needed to satisfy safe $PWD requirement of
bug #239560). This is more user friendly since before the pkg_nofetch
phase would simply be skipped in this case. Thanks to Petteri Räty
<betelgeuse@g.o> for reporting.

svn path=/main/trunk/; revision=12174

16 years agoAdd docs for PORTAGE_GPG_DIR and PORTAGE_GPG_KEY that are used by repoman for
Zac Medico [Sat, 6 Dec 2008 08:10:19 +0000 (08:10 -0000)]
Add docs for PORTAGE_GPG_DIR and PORTAGE_GPG_KEY that are used by repoman for
FEATURES=sign support. Thanks to Petteri Räty <betelgeuse@g.o> for reporting.

svn path=/main/trunk/; revision=12168

16 years agoValidate $ROOT inside the --resume merge list in order to avoid a pottential
Zac Medico [Sat, 6 Dec 2008 05:30:39 +0000 (05:30 -0000)]
Validate $ROOT inside the --resume merge list in order to avoid a pottential
KeyError due to a stale merge list that was for a different $ROOT setting.
Thanks to Ned Ludd <solar@g.o> for reporting.

svn path=/main/trunk/; revision=12166

16 years agoMake fixpackages use a new "#" symbol for /var/db updates (previously '*' v2.2_rc17
Zac Medico [Fri, 5 Dec 2008 00:08:58 +0000 (00:08 -0000)]
Make fixpackages use a new "#" symbol for /var/db updates (previously '*'
which means 'binary update' was used).

svn path=/main/trunk/; revision=12159

16 years agoMake fixpackages less noisy by only generting '*' characters for packages
Zac Medico [Thu, 4 Dec 2008 23:56:13 +0000 (23:56 -0000)]
Make fixpackages less noisy by only generting '*' characters for packages
that are modified by updates.

svn path=/main/trunk/; revision=12157

16 years agoFEATURES=fixpackages is now enabled by default
Zac Medico [Thu, 4 Dec 2008 21:10:06 +0000 (21:10 -0000)]
FEATURES=fixpackages is now enabled by default

svn path=/main/trunk/; revision=12155

16 years agoSync with 2.1.6 branch.
Zac Medico [Thu, 4 Dec 2008 21:09:23 +0000 (21:09 -0000)]
Sync with 2.1.6 branch.

svn path=/main/trunk/; revision=12154

16 years agoEnable FEATURES=fixpackages by default since the performance is pretty
Zac Medico [Thu, 4 Dec 2008 20:27:54 +0000 (20:27 -0000)]
Enable FEATURES=fixpackages by default since the performance is pretty
reasonable now. Thanks to Jeremy Olexa <darkside@g.o> for the suggestion.

svn path=/main/trunk/; revision=12153

16 years agoBug #249805 - Add some more PreservedLibsRegistry.pruneNonExisting() calls,
Zac Medico [Thu, 4 Dec 2008 19:01:37 +0000 (19:01 -0000)]
Bug #249805 - Add some more PreservedLibsRegistry.pruneNonExisting() calls,
to avoid a KeyError from LinkageMap.findConsumers() triggered inside
display_preserved_libs().

svn path=/main/trunk/; revision=12152

16 years agoMake sure depgraph._slot_conflict_explanation() doesn't display the same
Zac Medico [Thu, 4 Dec 2008 06:55:58 +0000 (06:55 -0000)]
Make sure depgraph._slot_conflict_explanation() doesn't display the same
atom more than once.

svn path=/main/trunk/; revision=12150

16 years agoBug #249185 - For common cases in which USE deps trigger SLOT conflicts, give
Zac Medico [Thu, 4 Dec 2008 05:38:09 +0000 (05:38 -0000)]
Bug #249185 - For common cases in which USE deps trigger SLOT conflicts, give
a short explanation and suggest a course of action to solve the problem.

svn path=/main/trunk/; revision=12148

16 years agoBreak references between the depgraph and the dropped tasks inside
Zac Medico [Wed, 3 Dec 2008 20:46:05 +0000 (20:46 -0000)]
Break references between the depgraph and the dropped tasks inside
Scheduler._calc_resume_list(), since the tasks are now saved for
display at the end.

svn path=/main/trunk/; revision=12146

16 years agoWhen --keep-going drops packages due to unsatisfied dependencies, include
Zac Medico [Wed, 3 Dec 2008 20:40:37 +0000 (20:40 -0000)]
When --keep-going drops packages due to unsatisfied dependencies, include
them in the list of packgaes that "failed to build or install" that's
displayed at the end.

svn path=/main/trunk/; revision=12144

16 years agoIt's not safe to use the git commit -a option since there might
Zac Medico [Wed, 3 Dec 2008 08:22:10 +0000 (08:22 -0000)]
It's not safe to use the git commit -a option since there might
be some modified files elsewhere in the working tree that the
user doesn't want to commit. Therefore, call git update-index
in order to ensure that the index is updated with the latest
versions of all new and modified files in the relevant portion
of the working tree.

svn path=/main/trunk/; revision=12142

16 years agoWhen calling `git ls-files -m` to list modified files, use --with-tree=HEAD
Zac Medico [Wed, 3 Dec 2008 05:42:34 +0000 (05:42 -0000)]
When calling `git ls-files -m` to list modified files, use --with-tree=HEAD
so that differences from the most recent commit are given instead of
differences from the index which is used for commit staging purposes.
This is required since otherwise files that have been added via `git add`
(such as echangelog does with the ChangeLog) won't show up in the list
of modified files due to being unmodified relative to the index. Thanks
to Christian Ruppert (idl0r) for reporting.

svn path=/main/trunk/; revision=12140

16 years agoFix depgraph._dep_check_composite_db._visible() to reject installed packages
Zac Medico [Tue, 2 Dec 2008 23:39:22 +0000 (23:39 -0000)]
Fix depgraph._dep_check_composite_db._visible() to reject installed packages
that are masked. This is necessary for correct choices in || deps when we
want to ensure that installed masked packages are not preferred over other
available choices that are not masked. Thanks to Jan Kundrát <jkt@g.o> for
reporting this issue and testing the patch.

svn path=/main/trunk/; revision=12138

16 years agoSkip sourcinf of profile.bashrc during the depend phase.
Zac Medico [Tue, 2 Dec 2008 22:33:44 +0000 (22:33 -0000)]
Skip sourcinf of profile.bashrc during the depend phase.

svn path=/main/trunk/; revision=12136

16 years agoSource bashrc files as late as possible, giving them the opportunity to
Zac Medico [Tue, 2 Dec 2008 22:18:41 +0000 (22:18 -0000)]
Source bashrc files as late as possible, giving them the opportunity to
override as much as possible. Thanks to Ned Ludd <solar@g.o> for the
suggestion.

svn path=/main/trunk/; revision=12134

16 years agoFix inconsistencies between the "clean" and "cleanrm" phases.
Zac Medico [Mon, 1 Dec 2008 18:59:49 +0000 (18:59 -0000)]
Fix inconsistencies between the "clean" and "cleanrm" phases.

svn path=/main/trunk/; revision=12126

16 years agoBug #249185 - For more useful output in cases when one or more USE deps
Zac Medico [Mon, 1 Dec 2008 06:51:28 +0000 (06:51 -0000)]
Bug #249185 - For more useful output in cases when one or more USE deps
trigger "SLOT conflicts", show the specific atoms that triggered the
conflict. TODO: Distiguish between various possible causes and tailor
messages to suit them.

svn path=/main/trunk/; revision=12125

16 years agoChange depgraph._slot_collision_info() from a set to a dict that contains
Zac Medico [Sun, 30 Nov 2008 00:12:34 +0000 (00:12 -0000)]
Change depgraph._slot_collision_info() from a set to a dict that contains
sets of packages pulled into a given slot. This will make the data easier
to analyze when implementing a fix for bug #249185.

svn path=/main/trunk/; revision=12124

16 years agoAdd a sanity check inside depgraph._add_pkg() to ensure that the dependencies
Zac Medico [Sat, 29 Nov 2008 20:22:33 +0000 (20:22 -0000)]
Add a sanity check inside depgraph._add_pkg() to ensure that the dependencies
of the same package are never processed more than once.

svn path=/main/trunk/; revision=12122

16 years agoAdd 'automatically resolved' blockers to the --pretend docs.
Zac Medico [Sat, 29 Nov 2008 06:37:31 +0000 (06:37 -0000)]
Add 'automatically resolved' blockers to the --pretend docs.

svn path=/main/trunk/; revision=12120

16 years agoUse stat st_dev attributes instead of the older approach.
Zac Medico [Thu, 27 Nov 2008 02:34:52 +0000 (02:34 -0000)]
Use stat st_dev attributes instead of the older approach.

svn path=/main/trunk/; revision=12117

16 years agoDon't call prepare_build_dirs() inside doebuild() when called for parallel
Zac Medico [Thu, 27 Nov 2008 02:08:04 +0000 (02:08 -0000)]
Don't call prepare_build_dirs() inside doebuild() when called for parallel
fetching.

svn path=/main/trunk/; revision=12115

16 years agoFor bug #235642, include the stat mode, uid, and gid bits in the hardlink key.
Zac Medico [Wed, 26 Nov 2008 23:52:46 +0000 (23:52 -0000)]
For bug #235642, include the stat mode, uid, and gid bits in the hardlink key.

svn path=/main/trunk/; revision=12113

16 years agoIn movefile(), ignore the hardlink_candidates parameter when it's an empty list.
Zac Medico [Wed, 26 Nov 2008 23:06:41 +0000 (23:06 -0000)]
In movefile(), ignore the hardlink_candidates parameter when it's an empty list.

svn path=/main/trunk/; revision=12111

16 years agoBug #235642 - Create hardlinks when merging identical files. This works by using a
Zac Medico [Wed, 26 Nov 2008 22:31:23 +0000 (22:31 -0000)]
Bug #235642 - Create hardlinks when merging identical files. This works by using a
tuple of (md5, st_size) as a key to a list of hardlink candidates. Multiple candidates
are used in case some happen to be merged to separate devices.

svn path=/main/trunk/; revision=12109

16 years agoDon't direct to /dev/null when creating $EBUILD_EXIT_STATUS_FILE inside die.
Zac Medico [Wed, 26 Nov 2008 20:29:11 +0000 (20:29 -0000)]
Don't direct to /dev/null when creating $EBUILD_EXIT_STATUS_FILE inside die.

svn path=/main/trunk/; revision=12107

16 years agoBug #205044 - When creating $EBUILD_EXIT_STATUS_FILE, don't direct output to /dev...
Zac Medico [Wed, 26 Nov 2008 20:20:02 +0000 (20:20 -0000)]
Bug #205044 - When creating $EBUILD_EXIT_STATUS_FILE, don't direct output to /dev/null
since it should never fail and if it does then the error message might be useful.

svn path=/main/trunk/; revision=12105

16 years agoMake Scheduler.merge() bail out early if PORTAGE_TMPDIR is not properly set.
Zac Medico [Wed, 26 Nov 2008 19:12:04 +0000 (19:12 -0000)]
Make Scheduler.merge() bail out early if PORTAGE_TMPDIR is not properly set.

svn path=/main/trunk/; revision=12103

16 years agoAdd some more clarification to the 'ebuild phase exited unexpectedly' message.
Zac Medico [Wed, 26 Nov 2008 18:29:20 +0000 (18:29 -0000)]
Add some more clarification to the 'ebuild phase exited unexpectedly' message.

svn path=/main/trunk/; revision=12101

16 years agoEliminate redundant Manifest separation code by combining mychanged + mynew sooner.
Zac Medico [Wed, 26 Nov 2008 06:51:17 +0000 (06:51 -0000)]
Eliminate redundant Manifest separation code by combining mychanged + mynew sooner.

svn path=/main/trunk/; revision=12098

16 years agoRemove redundant reference to 'mynew' since 'myupdates' already contains those files.
Zac Medico [Wed, 26 Nov 2008 06:39:12 +0000 (06:39 -0000)]
Remove redundant reference to 'mynew' since 'myupdates' already contains those files.

svn path=/main/trunk/; revision=12096