portage.git
16 years agoRefactor EbuildMetadataPhase._output_handler() and _set_returncode().
Zac Medico [Thu, 25 Dec 2008 05:22:05 +0000 (05:22 -0000)]
Refactor EbuildMetadataPhase._output_handler() and _set_returncode().

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

16 years agoUse long() instead of float() when parsing Package.mtime from the metadata.
Zac Medico [Thu, 25 Dec 2008 04:52:59 +0000 (04:52 -0000)]
Use long() instead of float() when parsing Package.mtime from the metadata.

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

16 years agoMake vardbapi._aux_get() return _mtime_ as a long (never as a float).
Zac Medico [Thu, 25 Dec 2008 04:50:49 +0000 (04:50 -0000)]
Make vardbapi._aux_get() return _mtime_ as a long (never as a float).

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

16 years agoInside portdbapi._metadata_callback(), preserve _eclasses_ when the EAPI is
Zac Medico [Thu, 25 Dec 2008 04:46:23 +0000 (04:46 -0000)]
Inside portdbapi._metadata_callback(), preserve _eclasses_ when the EAPI is
unsupported since the eclass timestamps might be needed in order to decide
that the cache entry should be regenerated. Also, make sure that all metadata
returned from portdbapi.aux_get() is returned as empty strings when the
EAPI is unsupported.

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

16 years agoHandle potential KeyErrors that may be raised from get_eclass_data(), and
Zac Medico [Thu, 25 Dec 2008 04:22:46 +0000 (04:22 -0000)]
Handle potential KeyErrors that may be raised from get_eclass_data(), and
remove unnecessary print statements inside get_eclass_data().

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

16 years agoDon't add any more that one "-" symbol to the front of an unsupported EAPI.
Zac Medico [Thu, 25 Dec 2008 02:53:13 +0000 (02:53 -0000)]
Don't add any more that one "-" symbol to the front of an unsupported EAPI.

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

16 years agoInside mirror_cache(), handle unsupported EAPI like portdbapi does.
Zac Medico [Thu, 25 Dec 2008 02:29:45 +0000 (02:29 -0000)]
Inside mirror_cache(), handle unsupported EAPI like portdbapi does.

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

16 years agoAdd support for synchronizing ebuild and eclass timestamps with the metadata
Zac Medico [Thu, 25 Dec 2008 00:31:45 +0000 (00:31 -0000)]
Add support for synchronizing ebuild and eclass timestamps with the metadata
cache timestamps which emerge --sync operates on a git repository. This is
necessary since git doesn't preserve timestamps. It is assumed that the
timestamps should be synchronized if the relevant ebuilds and eclasses are
unmodified relative to the HEAD commit (as reported by git-ls-files). This
feature was requested by Daniel Robbins, so that it's possible for the funtoo
git repository to distribute pre-generated metadata.

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

16 years agoMake BinpkgFetcher use longs instead of floats when synchronizing timestamps,
Zac Medico [Wed, 24 Dec 2008 22:49:37 +0000 (22:49 -0000)]
Make BinpkgFetcher use longs instead of floats when synchronizing timestamps,
since it's better not to rely on float comparison here.

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

16 years agoBug #252374 - Warn if FEATURES=fakeroot is enabled, but the fakeroot binary
Zac Medico [Wed, 24 Dec 2008 20:31:15 +0000 (20:31 -0000)]
Bug #252374 - Warn if FEATURES=fakeroot is enabled, but the fakeroot binary
is not installed.

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

16 years agoDon't use 'local' builtin outside of a function.
Zac Medico [Wed, 24 Dec 2008 20:01:44 +0000 (20:01 -0000)]
Don't use 'local' builtin outside of a function.

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

16 years agoDocument QA_STRICT_PRESTRIPPED.
Zac Medico [Wed, 24 Dec 2008 19:58:28 +0000 (19:58 -0000)]
Document QA_STRICT_PRESTRIPPED.

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

16 years agoFix typo.
Zac Medico [Wed, 24 Dec 2008 19:44:52 +0000 (19:44 -0000)]
Fix typo.

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

16 years agoReplace QA_DT_HASH with QA_PRESTRIPPED where appropriate. Thanks to Arfrever
Zac Medico [Wed, 24 Dec 2008 19:31:59 +0000 (19:31 -0000)]
Replace QA_DT_HASH with QA_PRESTRIPPED where appropriate. Thanks to Arfrever
for reporting. Also, remove array support since bash arrays don't export
anyway.

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

16 years agoBug #251976 - Add a QA_PRESTRIPPED variable for ebuilds to disable warnings about
Zac Medico [Wed, 24 Dec 2008 03:43:44 +0000 (03:43 -0000)]
Bug #251976 - Add a QA_PRESTRIPPED variable for ebuilds to disable warnings about
pre-stripped files.

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

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