Fabian Groffen [Mon, 4 Dec 2006 09:54:10 +0000 (09:54 -0000)]
Just use EPREFIX, as we imported it.
svn path=/main/branches/prefix/; revision=5170
Fabian Groffen [Sun, 3 Dec 2006 20:05:39 +0000 (20:05 -0000)]
Merged from trunk 5163:5164
drop RESTRICT=stricter since every aspect it covers can be handled
properly via other means
svn path=/main/branches/prefix/; revision=5165
Fabian Groffen [Sun, 3 Dec 2006 13:33:20 +0000 (13:33 -0000)]
- fixed emerge not reporting on files which need updating (missing call
to chk_updated_cfg_files)
- cosmetic change to import/use EPREFIX
- Drop wheelgroup warning, as it makes no sense in prefix.
svn path=/main/branches/prefix/; revision=5163
Fabian Groffen [Sun, 3 Dec 2006 09:58:52 +0000 (09:58 -0000)]
Merged from trunk 5158:5161
Skip digest checks when digest is in features.
Make portage.digestgen() automatically exempt the depend phase from
Manifest checks so that it works for repoman without triggering a digest
verification failure.
Move the global statement out of the try block so that it's clearly in
scope for the finally block.
svn path=/main/branches/prefix/; revision=5162
Fabian Groffen [Sat, 2 Dec 2006 15:21:14 +0000 (15:21 -0000)]
Merged from trunk 5149:5157
Always verify the ebuild checksums before executing it. Thanks to solar
for the suggestion and antarus for the initial patch.
For manifest and digest phases, use a global variable to temporarily
exempt the depend phase from manifest checks (in cache regeneration is
triggered).
Temporarily exempt the depend phase during the help phase also.
Avoid checking the same Manifest several times in a row during a regen
with an empty cache.
For consistent behavior in all timezones, make emerge-webrsync use UTC
time for decisions about which snapshots to download.
Only attempt to verify the Manifest if the ebuild is actually in a
portage tree.
Make sure that *all* of the ebuilds are listed in the Manifest.
Make sure that all depend phases triggered by the digest phase are
exempt from digest checks.
svn path=/main/branches/prefix/; revision=5158
Fabian Groffen [Fri, 1 Dec 2006 18:33:20 +0000 (18:33 -0000)]
Merged from trunk 5145:5148
add ReST template to be used for manpage/make.globals/make.conf.example
generation later on (+ fixes)
svn path=/main/branches/prefix/; revision=5149
Fabian Groffen [Wed, 29 Nov 2006 22:00:18 +0000 (22:00 -0000)]
Merged from trunk 5141:5143
Make sure QUIET mode is exported to the environment properly when using
-q mode.
No point in forking a call to true when we can simply use the bash
internal of : for true.
svn path=/main/branches/prefix/; revision=5145
Fabian Groffen [Wed, 29 Nov 2006 21:41:57 +0000 (21:41 -0000)]
On a second thought it's much better if portage makes sure it can find
its own binaries itself. This also solves problems during
bootstrapping, since the portage binpath now always ends up last.
svn path=/main/branches/prefix/; revision=5144
Fabian Groffen [Wed, 29 Nov 2006 19:54:26 +0000 (19:54 -0000)]
I hope this time I really get the path right.
svn path=/main/branches/prefix/; revision=5141
Fabian Groffen [Wed, 29 Nov 2006 19:44:56 +0000 (19:44 -0000)]
It comes in handy sometimes to have access to your own executables.
svn path=/main/branches/prefix/; revision=5140
Fabian Groffen [Wed, 29 Nov 2006 18:48:58 +0000 (18:48 -0000)]
Fix default path order
svn path=/main/branches/prefix/; revision=5139
Fabian Groffen [Sun, 26 Nov 2006 16:38:30 +0000 (16:38 -0000)]
Merged from trunk 5132:5135
Never overwrite an untouched config file and trigger config protection
instead (in case the new config has an unwanted change). In cases where
an installed package in the same slot owns a protected file that will be
merged, bump the mtime on the installed file in order to ensure that it
isn't unmerged. Thanks to Ciaran McCreesh <ciaranm@ciaranm.org> for his
suggestion on bug #8423, comment #40.
Update the dblink.isprotected() docstring.
For bug #8423, make etc-update preserve timestamps when possible.
svn path=/main/branches/prefix/; revision=5138
Fabian Groffen [Sun, 26 Nov 2006 11:18:46 +0000 (11:18 -0000)]
Use latest/default autotools, unset possibly unused variable
svn path=/main/branches/prefix/; revision=5132
Fabian Groffen [Sun, 26 Nov 2006 11:11:28 +0000 (11:11 -0000)]
Require Python 2.4
svn path=/main/branches/prefix/; revision=5131
Fabian Groffen [Sun, 26 Nov 2006 11:01:12 +0000 (11:01 -0000)]
Merged from trunk 5128:5129
For bug #8423, allow the merge phase to overwrite untouched config files
and also allow the unmerge phase to unmerge untouched config files.
svn path=/main/branches/prefix/; revision=5130
Fabian Groffen [Thu, 23 Nov 2006 17:13:30 +0000 (17:13 -0000)]
Merged from trunk 5120:5123
For bug #150585, stack package.keywords incrementally so that -keyword
works as expected for any incremental variable. This brings the
gvisible and getmaskingstatus logic into sync so that the confusing
(masked by: ) message will not be generated in cases where
package.keywords contains -keyword followed by keyword.
For bug #156014, always round up the next kB so that it doesn't show 0
kB when some small file still needs to be fetched.
Allow -keyword to be matched since some ebuilds use it. Thanks to Brian
Harring reporting on bug #150585.
svn path=/main/branches/prefix/; revision=5124
Fabian Groffen [Wed, 22 Nov 2006 18:38:15 +0000 (18:38 -0000)]
Merged from trunk 5113:5119
For bug #142993, make sure that chown and chgrp calls preserve S_ISUID
and S_ISGID mode bits.
Fix apply_permissions logic for cases where mode is unspecified.
Fix bit mask support when preserving S_ISUID and S_ISGID in
apply_permissions.
Really fix bit mask support when preserving S_ISUID and S_ISGID in
apply_permissions.
Fix a KeyError in emerge --info <pkg> when there is no matching ebuild
in the tree. Thanks to Bo ?\195?\152rsted Andresen
<bo.andresen@zlin.dk> for reporting.
Use portage_data.lchown for compatibility.
svn path=/main/branches/prefix/; revision=5120
Fabian Groffen [Mon, 20 Nov 2006 20:53:06 +0000 (20:53 -0000)]
Also for digests hold that svn list won't show added files, so run svn
status afterwards to get them.
svn path=/main/branches/prefix/; revision=5109
Fabian Groffen [Mon, 20 Nov 2006 17:51:48 +0000 (17:51 -0000)]
Merged from trunk 5091:5107
Use mydbapi is None to eliminate the return_all_deps parameter from
dep_check and dep_zapdeps. The result is the same and this way we
avoid having an additional parameter with overlapping meaning.
Allow dep_wordreduce to mark things satisfied by package.provided even
when mydbapi is None.
For depclean, just pass in None for mydbapi (instead of an empty
fakedbapi instance) since that's now supported.
Remove redundant package.provided handling that is now covered by
dep_wordreduce.
Allow the ROOT setting to come from make.conf. Thanks to Daniel
Barkalow <barkalow@iabervon.org> for this patch (submitted on the
gentoo-portage-dev mailing list).
For bug #155739, only check if a dep is in the args when myroot ==
self.target_root.
Print a warning message if a user requests a package from
package.provided (since it won't be merged).
Enable PORTAGE_CONFIGROOT to be set via an new --config-root option.
Thanks to Daniel Barkalow <barkalow@iabervon.org> for the initial patch
(submitted on the gentoo-portage-dev mailing list).
svn path=/main/branches/prefix/; revision=5108
Fabian Groffen [Sun, 19 Nov 2006 17:02:23 +0000 (17:02 -0000)]
Improved repoman SVN support:
- svn list returns outdated information if not preceded by svn update
- svn list doesn't return information on newly added files, so for SVN
run svn status to get the added files
This fixes problems with phantom files being reported as not added,
while they either don't exist any more in the repo, or are added for
sure.
svn path=/main/branches/prefix/; revision=5090
Fabian Groffen [Sun, 19 Nov 2006 16:39:04 +0000 (16:39 -0000)]
Merged from trunk 5080:5088
Revert ACCEPT_LICENSE support, since license group support is a
requirement and it remain unimplemented. This brings trunk back into
sync with the 2.1.2 branch.
For bug #155559, force depclean dep_check calls to preference installed
packages.
Use fake_vardb for cached aux_get calls.
Fix portdbapi.cpv_all() so that it actually returns a list of all
available ebuilds.
svn path=/main/branches/prefix/; revision=5089
Fabian Groffen [Fri, 17 Nov 2006 18:26:25 +0000 (18:26 -0000)]
Merged from trunk 5060:5075
Pull in the new-style virtuals and install them so that the vdb has
complete standalone dep info, in case a portage tree isn't available.
For bug #141118, make dep_zapdeps assign zero cost to new-style
virtuals.
Revert the depclean message, since new-style virtuals will now be kept.
Update the _expand_new_virtuals docstring with a not about zero cost for
new-style virtuals.
Fix _expand_new_virtuals so that it doesn't allow any virtual deps to go
unaccounted for.
Integrate old-style virtuals handling into _expand_new_virtuals() and
prefer new-style over old-style whenever they are available.
For bug #155484, apply PORTAGE_NICENESS as soon as possible (especially
before global updates).
Make fixpackages use PORTAGE_NICENESS.
svn path=/main/branches/prefix/; revision=5077
Fabian Groffen [Thu, 16 Nov 2006 21:36:06 +0000 (21:36 -0000)]
Don't use hard-coded group names, but use the portage group from
configure instead.
svn path=/main/branches/prefix/; revision=5060
Fabian Groffen [Thu, 16 Nov 2006 19:55:52 +0000 (19:55 -0000)]
Merged from trunk 5027:5057
For bug #154989, use a single lock on /var/db/pkg since finer grained
locking is unnecessary and often insufficient.
For bug #154989, lock /var/db/pkg while determining which packages to
unmerge, then release the lock. The lock will be reacquired/released
for each individual unmerge, allowing opportunities for other processes
to acquire it.
Use try/finally to ensure that locks are properly released in
portdbapi.aux_get().
Use try/finally to ensure that locks are properly released in
perform_checksum().
Use try/finally to ensure that locks are properly released in
emergelog().
Use try/finally to ensure that locks are properly released in
dblink.unmerge().
Remove reentrance support for dblink.lockdb() since it's no longer used
and it won't necessarily work correctly now that a global vdb lock is
used.
For bug #154986, show the usual "Filesize does not match recorded size"
message even for fetch restricted files.
For bug #154897, show a summary of fetch restrictions if there are any.
Cache depgraph.altlist results, since altlist is called multiple times
and can be time consuming for a large depgraph.
Make fakedbapi support generic metadata instead of just slots.
Remove useless unmerge() call after collision-protect has prevented
anything from being merged.
Fix a lock file leak.
Make portage.global_updates() return any updates that may have been
performed.
Only reload the config if global updates have actually been performed.
Automatically convert --ask to --pretend when the user doesn't have the
privileges for --ask. Thanks to Daniel Barkalow <barkalow@iabervon.org>
for the initial patch (submitted on gentoo-portage mailing list).
Don't try to lock the vdb unless privileges are sufficient.
For bug #141118, make dep_check do recursive expansion of new-style
virtuals.
Add a note about removal of new-style virtuals in the depclean output.
svn path=/main/branches/prefix/; revision=5059
Fabian Groffen [Mon, 13 Nov 2006 21:39:01 +0000 (21:39 -0000)]
Subversion doesn't eat svn+, so remove the "svn+" part when
feeding it to svn checkout.
svn path=/main/branches/prefix/; revision=5026
Fabian Groffen [Mon, 13 Nov 2006 21:32:24 +0000 (21:32 -0000)]
Merged from trunk 5020:5023
For bug #154921, prevent an IndexError when a + is in USE.
For bug #154919, when depclean is unable to resolve dependencies, notify
the user that it may be necessary to manually uninstalled packages that
no longer exist in the portage tree.
svn path=/main/branches/prefix/; revision=5025
Fabian Groffen [Sun, 12 Nov 2006 16:52:17 +0000 (16:52 -0000)]
Don't announce as SVN if on CVS.
svn path=/main/branches/prefix/; revision=5020
Fabian Groffen [Sun, 12 Nov 2006 16:48:12 +0000 (16:48 -0000)]
It takes some time... but then you have Repoman playing nice with SVN
repos!
svn path=/main/branches/prefix/; revision=5019
Fabian Groffen [Sun, 12 Nov 2006 14:38:07 +0000 (14:38 -0000)]
Giving Repoman a big fling such that it spins on SVN also.
svn path=/main/branches/prefix/; revision=5018
Fabian Groffen [Sun, 12 Nov 2006 10:44:44 +0000 (10:44 -0000)]
Wiping off the dust of Repoman's SVN support.
svn path=/main/branches/prefix/; revision=5017
Fabian Groffen [Sun, 12 Nov 2006 09:19:05 +0000 (09:19 -0000)]
Our repo is called "portage-overlay" iso "portage".
Fix call to chk_updated_cfg_files such that we don't look (and fail) in
the root filesystem if that's not EPREFIX.
svn path=/main/branches/prefix/; revision=5016
Fabian Groffen [Sun, 12 Nov 2006 08:33:40 +0000 (08:33 -0000)]
Added SVN support for syncing next to CVS support.
svn path=/main/branches/prefix/; revision=5015
Fabian Groffen [Sun, 12 Nov 2006 08:17:34 +0000 (08:17 -0000)]
Merged from trunk 4998:5012
Thanks again to Chris White for these additional portage_dep docstrings.
Make digestcheck() fail if an ebuild isn't listed in the Manifest.
Thanks to pva for reporting.
Fix emerge --sync with a cvs:// uri so that it runs
/etc/portage/bin/post_sync like it would with a normal rsync:// uri.
Thanks to drizzt for reporting.
Fix initial cvs checkout logic for bug #100478.
For initial gentoo-x86 checkout, if $PORTDIR exists and is empty then
remove it so that the gentoo-x86 checkout can replace it.
For bug #154554, validate all profile virtuals atoms.
Fix depgraph.pkg_node_map so that it properly supports $ROOT.
svn path=/main/branches/prefix/; revision=5014
Fabian Groffen [Wed, 8 Nov 2006 21:23:42 +0000 (21:23 -0000)]
Merged from trunk 4986:4987
Thanks to Chris White for these portage_dep docstrings.
svn path=/main/branches/prefix/; revision=4997
Fabian Groffen [Wed, 8 Nov 2006 07:21:21 +0000 (07:21 -0000)]
Merged from trunk 4965:4984
Minimize getvirtuals() calls and dict lookups inside dep_virtual().
Fix validate_blockers() so that a package doesn't block itself via a
virtual that it provides.
Print the number of upgrades, downgrades, etc. next to size of
downloads. Thanks to Bo ?\195?\152rsted Andresen <bo.andresen@zlin.dk>
for the initial patch from bug #153847.
Thanks to Chris White for these portage_checksum docstrings.
Thanks to Bo ?\195?\152rsted Andresen <bo.andresen@zlin.dk> for this
output fix for bug #153847.
Plug some holes in the blocker validation logic so that nothing can slip
through.
Remove some stray blocker validation logic.
s/grabdict/grabdict_package/ for bug #63429.
For bug #154207, add a note about package.provided to the depclean
warning message.
Add --newuse back to the suggested options in the depclean warning
message, since it's still needed in some cases.
svn path=/main/branches/prefix/; revision=4986
Fabian Groffen [Mon, 6 Nov 2006 21:12:46 +0000 (21:12 -0000)]
Merged from trunk 4961:4962
Simplify the new-style -> old-style virtuals bridge by doing it
implicitly for all virtuals instead of explicit scanning for available
new-style virtuals.
svn path=/main/branches/prefix/; revision=4965
Fabian Groffen [Mon, 6 Nov 2006 21:08:56 +0000 (21:08 -0000)]
Remove temp source copy, ls the tarbal we created for easy copy and
pasting
svn path=/main/branches/prefix/; revision=4964
Fabian Groffen [Mon, 6 Nov 2006 20:44:34 +0000 (20:44 -0000)]
Merged from trunk 4946:4959
Prevent the --newuse check in depgraph.create() that is intended for the
ebuild type from being done on binary packages (which can lead to a
KeyError). The --newuse check for binaries is elsewhere (in
select_dep).
Ensure that sys-apps/portage is as close as possible to the beginning of
the merge list. This is accomplished by merging it before any soft
deps that it may have.
Remove "update portage before proceeding" message that is no longer
relevant.
Remove old code the used to bump portage near the top of the merge list.
It's ineffective now that a complete depgraph is built.
Make sure the node is still in the graph so that a KeyError can't
happen.
For bug #154223, bridge new-style virtuals into old-style virtuals in
order to prevent old-style virtuals from making new-style virtuals
invisible.
Make config.add_new_virtuals() work properly even if self.virtuals has
previously been initialized.
For bug #154220, run /etc/portage/bin/post_sync at the end of
emerge-webrsync.
svn path=/main/branches/prefix/; revision=4961
Fabian Groffen [Sun, 5 Nov 2006 15:58:12 +0000 (15:58 -0000)]
Inject EPREFIX in settings such that it becomes available to e.g.
portageq which uses it. This used to be the case, but somehow recent
patches removed this on freshly installed boxes.
svn path=/main/branches/prefix/; revision=4942
Fabian Groffen [Sun, 5 Nov 2006 15:39:52 +0000 (15:39 -0000)]
No need to make a lot of noise.
svn path=/main/branches/prefix/; revision=4941
Fabian Groffen [Sun, 5 Nov 2006 09:15:37 +0000 (09:15 -0000)]
Don't check ROOT for writability, but ROOT + EPREFIX instead.
Don't remove EPREFIX from file listings, it confuses as to whether the
paths are correct or not.
svn path=/main/branches/prefix/; revision=4940
Fabian Groffen [Sat, 4 Nov 2006 18:18:02 +0000 (18:18 -0000)]
Merged from trunk 4915:4929
For bug #153951, fail with a simple "Permission denied" error if the
merge phase doesn't have write access to $ROOT.
Silently omit info_pkgs that aren't installed. Thanks to solar.
When transferring cache after sync, compare all metadata to make sure it
is identical (don't trust _mtime_ and _eclasses_ alone). Local tests
show that this can add approximately 15% more time to the metadata
update, but it's needed for things like bug #153591.
Make sure trg is defined.
Fix --ignore-default-opts for bug #153980.
Revert implicit rdepend behavior back to the way it was in
portage-2.0.51. Thanks to vapier for the patch. The original change
seems to have been an accidentally hunk (referencing bug #58819) that
was committed to cvs along with another patch in revision 1.201.2.32 of
ebuild.sh.
svn path=/main/branches/prefix/; revision=4939
Fabian Groffen [Sat, 4 Nov 2006 18:12:28 +0000 (18:12 -0000)]
Use prefixed path
svn path=/main/branches/prefix/; revision=4938
Fabian Groffen [Sat, 4 Nov 2006 17:32:27 +0000 (17:32 -0000)]
Kind of funny, but it saves a lot of bytes, and makes the stuff easier
readable. Looks like importing EPREFIX from portage_const makes it
available on global scope, like in Java it would be. No real change,
just conceptual from portage_const.EPREFIX to EPREFIX, which seems to
work fine so far.
svn path=/main/branches/prefix/; revision=4937
Fabian Groffen [Sat, 4 Nov 2006 17:29:37 +0000 (17:29 -0000)]
Really fix autoconf-2.60 misery:
- don't run autoheader if we don't have config.h (Thanks flameeyes!)
- clean up mess with errors and warnings so we actually see what's
happening
- make sure we abort mission if autoconfing the bunch fails
- require autoconf 2.60 now, as we changed the configure script to do
it's dirty voodoo based on the output of 2.60, which is different from
its predecessor(s)
svn path=/main/branches/prefix/; revision=4936
Fabian Groffen [Sat, 4 Nov 2006 15:11:17 +0000 (15:11 -0000)]
autoconf-2.60 is annoying. Add AC_CONFIG_HEADERS([config.h]) because it
wants it, and remove it afterwards because we don't need it.
svn path=/main/branches/prefix/; revision=4935
Fabian Groffen [Sat, 4 Nov 2006 09:55:44 +0000 (09:55 -0000)]
Also use prefix in dispatch_conf
svn path=/main/branches/prefix/; revision=4934
Fabian Groffen [Thu, 2 Nov 2006 20:45:31 +0000 (20:45 -0000)]
Fix trivial, but rather painful bug, of storing ED in D.
svn path=/main/branches/prefix/; revision=4915
Fabian Groffen [Thu, 2 Nov 2006 18:38:24 +0000 (18:38 -0000)]
Merged from trunk 4905:4912 a colourful set of patches
Implement --color < y | n > for bug #42115 and deprecate --nocolor.
When --color is not specified, rely on the old NOCOLOR variable and/or
stdout auto-detection.
Document the new --color < y | n > option for bug #42115.
Add --color < y | n > help output for bug #42115.
Remove broken nocolor() call, since thats handled internally by the
output module anyway.
Fix the USE_ORDER docs for bug #153764. Thanks to Alec Warner for the
initial patch.
svn path=/main/branches/prefix/; revision=4914
Fabian Groffen [Wed, 1 Nov 2006 12:02:45 +0000 (12:02 -0000)]
Merged from trunk 4892:4903
For bug #153295, make load_infodir ignore files that contain null bytes.
For bug #153282, automatically find the owner package(s) in the event of
a fatal file collision (since the collision is fatal, the performance
hit doesn't matter).
For bug #129670, skip the replace-cvs and replace-wscomments tests if
the diff exit code indicates two two binary files that differ.
For bug #116616, only run the post_process phase if necessary.
svn path=/main/branches/prefix/; revision=4905
Fabian Groffen [Tue, 31 Oct 2006 21:14:14 +0000 (21:14 -0000)]
Merged from trunk 4883:4889
Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating portage's
python modules, then fall back to an explicit sys.path insertion if an
ImportError occurs.
Fix a KeyError when the profile doesn't define default USE.
Add support for frozen config files for which updates are automatically
zapped. Thanks to Bo ?\195?\152rsted Andresen for the initial patch
from bug #151685.
Recommend people use `emake` rather than `make` when installing with
DESTDIR.
svn path=/main/branches/prefix/; revision=4892
Fabian Groffen [Tue, 31 Oct 2006 20:57:37 +0000 (20:57 -0000)]
Sync error message with check
svn path=/main/branches/prefix/; revision=4891
Fabian Groffen [Mon, 30 Oct 2006 20:01:26 +0000 (20:01 -0000)]
Merged from trunk 4876:4881
For bug #153295, do a sanity check for non-string types in
config.environ().
For getmaskingstatus messages, don't assume ARCH is a valid keyword,
since that assumption is not necessarily correct for operating systems
other than Linux. Thanks to Diego Petteno for reporting.
Just use stat instead of lstat for config protect, so that broken
symlinks are just ignored.
svn path=/main/branches/prefix/; revision=4883
Fabian Groffen [Sun, 29 Oct 2006 20:30:32 +0000 (20:30 -0000)]
Merged from trunk 4871:4872
Use a tuple for __slots__ so that it's immutable.
svn path=/main/branches/prefix/; revision=4876
Fabian Groffen [Sun, 29 Oct 2006 16:21:35 +0000 (16:21 -0000)]
bump python requirements to >= 2.3.1 as 2.3 has a bug which makes
portage die.
svn path=/main/branches/prefix/; revision=4875
Fabian Groffen [Sun, 29 Oct 2006 15:21:05 +0000 (15:21 -0000)]
Don't require root, it makes no sense in prefix here. Maybe later
svn path=/main/branches/prefix/; revision=4874
Fabian Groffen [Sun, 29 Oct 2006 13:43:34 +0000 (13:43 -0000)]
Merged from trunk 4866:4869
Prevent an attribute error AttributeError for invalid binary packages
for which there is no CATEGORY data.
Don't forget to continue for invalid binpkgs.
svn path=/main/branches/prefix/; revision=4871
Fabian Groffen [Sat, 28 Oct 2006 16:01:35 +0000 (16:01 -0000)]
Forgot some ${D}'s to replace
svn path=/main/branches/prefix/; revision=4866
Fabian Groffen [Sat, 28 Oct 2006 15:59:07 +0000 (15:59 -0000)]
Merged from trunk 4857:4863
Avoid a TypeError with emerge -kN when there's no matching ebuild.
Use mtree to save/restore bsd file flags before/after prepall and
installation. Thanks to Diego Pettenò for this patch (related
to bug #153109).
svn path=/main/branches/prefix/; revision=4865
Fabian Groffen [Fri, 27 Oct 2006 21:51:36 +0000 (21:51 -0000)]
Merged from trunk 4847:4855
Do not pass the "clean" parameter to doebuild since it causes ${T} to be
cleaned up when it shouldn't be. Thanks to Mr_Bones_ for reporting.
Don't bother to insert /usr/lib/portage/pym into sys.path from inside a
module. That's the caller's job.
Add --with-bdeps to emerge --help output.
Update help for --deep.
Update help for greedy behavior of --update.
Add backward compatibility code for cache modules that override has_key
instead of __contains__.
svn path=/main/branches/prefix/; revision=4857
Fabian Groffen [Thu, 26 Oct 2006 17:40:15 +0000 (17:40 -0000)]
Merged from trunk 4816:4828
For bug #152726, ignore hidden files in vardbapi.cp_list().
For full compatibility with older versions of portage, write the path in
the serialized _eclasses_ when possible.
Fix broken is_eclass_data_valid comparison logic.
Test for basestring instead of types.DictType so that the test more
generic.
Reverse the relationship between __contains__ and has_key in all cache
classes since python handles the "in" operator more efficiently than a
has_key method call.
Streamline portage pythonpath handling and add an override analog to how
the bash side does it.
rename getmaskingreason() to getpmaskcomment() to clarify its function,
report each license as a separate mask instead of combining them all
together into a single value for getmaskingstatus()
need a mutable config instance to use setcpv
add function getlicensetexts() to extract license texts relevant to a
given cpv (to be used by emerge masked by display)
show licenses or pointer to license files on 'masked by' message
svn path=/main/branches/prefix/; revision=4831
Fabian Groffen [Thu, 26 Oct 2006 17:21:33 +0000 (17:21 -0000)]
SANDBOX should be a full path, use sandbox from prefix.
svn path=/main/branches/prefix/; revision=4830
Fabian Groffen [Thu, 26 Oct 2006 17:16:27 +0000 (17:16 -0000)]
Python is kind of weird with arguments and strings... it doesn't bail
out, but doesn't concatenate either.
svn path=/main/branches/prefix/; revision=4829
Fabian Groffen [Thu, 26 Oct 2006 16:09:14 +0000 (16:09 -0000)]
Fix etc-update
svn path=/main/branches/prefix/; revision=4825
Fabian Groffen [Wed, 25 Oct 2006 17:40:43 +0000 (17:40 -0000)]
Merged from trunk 4812:4815
Remove ACCEPT_LICENSE docs until they're really implemented.
Improve reconstruct_eclasses error handling.
For the time being, write a variation of the old _eclass_ format so that
cache written only forces a regen for older versions of portage rather
than a ValueError due to failed long() conversion.
svn path=/main/branches/prefix/; revision=4816
Fabian Groffen [Tue, 24 Oct 2006 20:00:06 +0000 (20:00 -0000)]
Merged from trunk 4796:4810
Add some ACCEPT_LICENSE docs.
Put the package.keywords docs in alphabetical order with the others.
Add some package.license docs.
Add news about ACCEPT_LICENSE and package.license.
Make config.load_infodir also load the data into the env layer in order
to ensure that it has preference over what may have been there.
Don't limit the size of USE in config.load_infodir.
Add package.license to the list of files.
Don't put -* in the env layer, since that layer isn't part of the
incremental stacking in regenerate.
In getmaskingstatus(), add missing check for * in acceptable_licenses.
Don't display the "Please update portage" message in --quiet mode.
Thanks to solar.
Remove paths from _eclasses_ serialization in the cache. This makes the
mtimes of the eclasses the only thing that distinguishes them, but the
probablility of collision is negligible. This same _eclasses_ format
will be used to serialize eclass mtimes in cache that is distributed via
the rsync mirrors. The deserialization code can handle mixtures of both
the old and new formats.
Enable recognition of _mtime_ that doesn't rely on cache mtime mangling.
Add ACCEPT_LICENSE back to incrementals so that profiles can affect it.
Disable ACCEPT_LICENSE support until the details of license groups are
decided and implemented.
svn path=/main/branches/prefix/; revision=4812
Fabian Groffen [Tue, 24 Oct 2006 19:55:59 +0000 (19:55 -0000)]
misc fixes to get prefix going again without double prefixes and stuff
svn path=/main/branches/prefix/; revision=4811
Fabian Groffen [Sun, 22 Oct 2006 14:31:25 +0000 (14:31 -0000)]
Misc prefix fixes
svn path=/main/branches/prefix/; revision=4796
Fabian Groffen [Sun, 22 Oct 2006 14:03:16 +0000 (14:03 -0000)]
Merged from trunk 4785:4794
Optimize config.setcpv so that it only calls regenerate when necessary.
Thanks to Jason Stubbs for the initial patch from bug #17367.
Use reset instead of regenerate (revert part of the previous commit) in
order to properly clear the env layer of the config.
Fix visibility checks so that binary packages aren't masked just because
there is no matching ebuild in the tree.
Call load_infodir before the setup phase for binary packages so that USE
is properly set.
Don't put empty incrementals in the environment, unless they are already
set.
Add support for masking of packages via ACCEPT_LICENSE and
/etc/portage/package.license. Thanks to Jason Stubbs for the initial
patch from bug #17367.
s/str_matches/acceptable_licenses/ typo
Fix gcc version parsing once again for bug #137786. sigh. :)
svn path=/main/branches/prefix/; revision=4795
Fabian Groffen [Sat, 21 Oct 2006 18:01:46 +0000 (18:01 -0000)]
Once again throw everything to the other side. Now:
$D and $ROOT are like normal portage,
$ED and $EROOT are the prefixed versions of their non-E variants.
svn path=/main/branches/prefix/; revision=4785
Fabian Groffen [Sat, 21 Oct 2006 15:16:01 +0000 (15:16 -0000)]
Merged from trunk 4770:4783
Allow an empty PROMPT_COMMAND for bug #152157.
For bug #152175, trigger greedy --update behavior when an atom matches a
slot that isn't installed yet.
Apply the fix for bug #152175 to system/world greedy behavior.
In greedy atom handlink, filter binary package for visiblity.
More filtering binary package for visiblity in greedy atom handling.
Add nodes to the fakedb in depgraph.create instead of
depgraph.select_deps. It used to be in select_deps only for the case of
packages that depend on themselves for bootstrap, but that hack isn't
needed anymore because dep_check returns all deps now.
Update the docs regarding delay of config.setinst calls for bootstrap
deps on old-style virtuals.
Remove redunant population of the fakedb in depgraph.validate_blockers,
since r4776 makes it unnecessary.
Add news about new-style virtuals being usable for bootstrap deps on
self.
Add package.use to the list of files supported in profiles.
Add news about package.use in profiles and default USE in ebuilds via
+flag in IUSE.
For bug #152157, don't send a redundant escape sequence with
${PROMPT_COMMAND}.
Also check keyword visibility via gvisible.
svn path=/main/branches/prefix/; revision=4784
Fabian Groffen [Fri, 20 Oct 2006 21:31:26 +0000 (21:31 -0000)]
Merged from trunk 4768:4769
We there is a circular deps panic in reversed mode, do the circular deps
output without reversed mode since it should reduce the noise level.
svn path=/main/branches/prefix/; revision=4770
Fabian Groffen [Fri, 20 Oct 2006 15:45:10 +0000 (15:45 -0000)]
Fix collision-protect and cleanup a bit
svn path=/main/branches/prefix/; revision=4768
Fabian Groffen [Fri, 20 Oct 2006 15:33:08 +0000 (15:33 -0000)]
Merged from trunk 4765:4766
Clean up the blocker validation logic so that "blocks" nodes are no
longer stored in the main digraph.
svn path=/main/branches/prefix/; revision=4767
Fabian Groffen [Fri, 20 Oct 2006 08:01:22 +0000 (08:01 -0000)]
Merged from trunk 4758:4763
Only call altlist() to validate blockers when necessary.
For userpriv, call setgroups with all groups that the portage user
belongs to (bug #137610).
Remove special case of --emptytree in depgraph.display(). Thanks to
Jason Stubbs for this patch from bug #152030.
Make dosed use sed -i instead of a temp file. Thanks to Tim Cera for
this patch from bug #152017.
svn path=/main/branches/prefix/; revision=4765
Fabian Groffen [Fri, 20 Oct 2006 07:58:48 +0000 (07:58 -0000)]
Just create ${D} by default such that we don't die in errors if a
package didn't install anything here.
svn path=/main/branches/prefix/; revision=4764
Fabian Groffen [Thu, 19 Oct 2006 19:52:15 +0000 (19:52 -0000)]
Merged from trunk 4755:4756
s/digraph.MEDIUM/DepPriority.MEDIUM/
svn path=/main/branches/prefix/; revision=4758
Fabian Groffen [Thu, 19 Oct 2006 19:50:32 +0000 (19:50 -0000)]
Eliminate double prefix by making sure we call doebuild with the
original root.
svn path=/main/branches/prefix/; revision=4757
Fabian Groffen [Wed, 18 Oct 2006 19:37:33 +0000 (19:37 -0000)]
Remove ROOT tricks of adding EPREFIX in ebuilds and eclasses, it is
dirty and causes trouble. Instead, introduced PROOT which is
$ROOT/$EPREFIX as easy convenience.
svn path=/main/branches/prefix/; revision=4755
Fabian Groffen [Wed, 18 Oct 2006 16:51:39 +0000 (16:51 -0000)]
Merged from trunk 4740:4753
Filter empty elements in cumulative env-update variables. Thanks to
Brian Harring for this patch from bug #151694.
Fix CONFIG_PROTECT so that is works with symlinked directories for bug
#151502.
Make empty digest-* files 0 bytes instead of 1 byte. Thanks to Sven
Wegener for reporting this.
Eliminate an unnecessary string concatenation.
Add more dependency priority levels for merge order calculations.
Previously, all installed deps were categorized at the same level with
other soft deps. Now there are 3 priority levels for soft deps:
satisfied buildtime, satisfied runtime, and other.
Remove the unused system slot from DepPriority.
Fix --usepkg --newuse logic so that it doesn't throw a KeyError if
there's no matching ebuild in the tree.
Add __weakref__ to __slots__ so that weakref support isn't disabled.
Don't initialize __weakref__ in the DepPriority constructor.
All packages to be added to the world favorites via --noreplace, even
when --ask is enabled. Thanks to leio for reporting this issue.
Explicitly set the priority when a node is added to enforce merge order
for blocker avoidance.
Handle unresolvable blockers properly for bug #151822.
svn path=/main/branches/prefix/; revision=4754
Fabian Groffen [Tue, 17 Oct 2006 20:39:50 +0000 (20:39 -0000)]
Use portage_const.EPREFIX instead of self["EPREFIX"] for consistency.
Added eprefixify function which does sedding on files to add EPREFIX in.
svn path=/main/branches/prefix/; revision=4740
Fabian Groffen [Tue, 17 Oct 2006 19:44:37 +0000 (19:44 -0000)]
Merged with trunk 4727:4738
Remove blocker nodes from the digraph prior to the merge order
calculation so that they don't trigger false circular dependencies as
reported in comment #17 of bug #151331.
Blockers that depend on merge order must be validated by
depgraph.altlist(reversed=False) before the reverse tree is generated,
since the validation won't work in reverse mode.
Fix altlist blocker validation logic so that the correct nodes are added
to the list when called in reverse mode.
Always add blockers with priority=digraph.SOFT so that blockers with
multiple parents can't trigger a circular deps panick.
Make --depclean treat DEPEND as soft deps instead of forcing the user to
have all build time deps installed.
Use setdefault to avoid an extra dict lookup.
Merge package.use and USE from make.defaults together at each level of
the profile stack. This is analogous to how use.mask and
package.use.mask are planned to be merged for bug #151586.
Stack use.mask/package.use.mask together at each level of the profile
for bug #151586, and do the same with use.force/package.use.force.
Add back the -v option for tar (removed for bug #151146) in
dyn_package(), but don't enable -v when --quiet is enabled.
Encapsulate altlist calls (for blockers that depend on merge order) in
validate_blockers().
svn path=/main/branches/prefix/; revision=4739
Fabian Groffen [Mon, 16 Oct 2006 19:16:48 +0000 (19:16 -0000)]
Merge from trunk 4723:4726
add make.conf diff for sparc-fbsd arch (from Uberlord)
When unable to navigate around blockers, add them back to the main
digraph so that the --tree display can show them properly. This fixes
the KeyError reported in comment #15 of bug #151331
svn path=/main/branches/prefix/; revision=4727
Fabian Groffen [Mon, 16 Oct 2006 16:36:39 +0000 (16:36 -0000)]
Make path a bit cleaner by normalising it.
svn path=/main/branches/prefix/; revision=4725
Fabian Groffen [Mon, 16 Oct 2006 09:06:28 +0000 (09:06 -0000)]
Merge with trunk 4721:4722
For bug #133908, prevent collisions in ${PKGDIR}/All/ by automatically
bumping colliding packages to ${PKGDIR}/${CATEGORY}/ just before a
collision would occur. Newly built packages are always stored in
${PKGDIR}/All/, should this be100% compatible with previous behavior.
svn path=/main/branches/prefix/; revision=4723
Fabian Groffen [Mon, 16 Oct 2006 08:55:51 +0000 (08:55 -0000)]
Merge from trunk 4717:4719
Make grabdict incremental, so that keys occuring multiple times will
stack up instead of overwritting eachother. Thanks to Sven Wegener for
this suggestion. Simplify and optimize grabdict. Thanks to Brian
Harring for suggesting this.
svn path=/main/branches/prefix/; revision=4721
Fabian Groffen [Mon, 16 Oct 2006 08:53:15 +0000 (08:53 -0000)]
Add EPREFIX to ROOT for ebuilds and eclasses, this avoids a lot of
porting work. However, one has to take care that it doesn't yield in
double prefixes. Some misc fixes for prefixes being added or not
slashed.
svn path=/main/branches/prefix/; revision=4720
Fabian Groffen [Sun, 15 Oct 2006 18:40:08 +0000 (18:40 -0000)]
Fix etc-update and config-protect.
Because the profiles contain CONFIG_PROTECT variables, they cannot be
prefixed without defining variables there. Hacking portage to only
prefix those paths from the profiles is a bit ugly (and hard), so
instead it was decided (like Kito already decided once long ago) that
CONFIG_PROTECT paths are non-prefixed, as the only exception in the
system. This means that no corrections need to be done, and that when
the paths are being used they have to be prefixed.
svn path=/main/branches/prefix/; revision=4717
Fabian Groffen [Sun, 15 Oct 2006 15:50:34 +0000 (15:50 -0000)]
Be more careful with slashes, and tidy them up with normalize_path.
Remove Darwin specific return, as we better use RESTRICT="strip", as
pointed out by antarus.
svn path=/main/branches/prefix/; revision=4716
Fabian Groffen [Sun, 15 Oct 2006 15:18:47 +0000 (15:18 -0000)]
Fix collision-protect being broken; don't prefix CONTENTS entries, as
they already contain the prefix.
svn path=/main/branches/prefix/; revision=4715
Fabian Groffen [Sun, 15 Oct 2006 14:15:06 +0000 (14:15 -0000)]
Warn about root, only if ROOT != EPREFIX.
Don't do prepstrip on Darwin, it doesn't have ELF objects
Make sure EPREFIX ends with a trailing slash, don't double prefix ROOT
and use some os.join to glue together paths.
svn path=/main/branches/prefix/; revision=4714
Fabian Groffen [Sun, 15 Oct 2006 10:57:30 +0000 (10:57 -0000)]
Merged from trunk 4711:4712
Trigger binarytree population on bindbapi.cpv_all() calls.
svn path=/main/branches/prefix/; revision=4713
Fabian Groffen [Sun, 15 Oct 2006 10:47:53 +0000 (10:47 -0000)]
Shift destroot with prefix during merge phase. This makes everything go
installed well, and allows us to get rid of a dirty hack for preventing
portage wanting to create the dirs in the prefix path. It also doesn't
require trickery with srcroot any more.
svn path=/main/branches/prefix/; revision=4711
Fabian Groffen [Sun, 15 Oct 2006 10:01:54 +0000 (10:01 -0000)]
Merged from trunk 4707:4708
Add a missing method parameter.
svn path=/main/branches/prefix/; revision=4710
Fabian Groffen [Sun, 15 Oct 2006 10:00:33 +0000 (10:00 -0000)]
Fix for collision-protect to look into the prefix, and also to report on
files including the prefix, not to confuse people.
svn path=/main/branches/prefix/; revision=4709
Fabian Groffen [Sun, 15 Oct 2006 09:14:15 +0000 (09:14 -0000)]
Unfortunately os.path.join is "intelligent":
If any component is an absolute path, all previous components (on
Windows, including the previous drive letter, if there was one) are
thrown away, and joining continues.
This means we cannot join EPREFIX, as it is an absolute path.
svn path=/main/branches/prefix/; revision=4707
Fabian Groffen [Sun, 15 Oct 2006 08:40:18 +0000 (08:40 -0000)]
Properly add EPREFIX to paths on several places.
svn path=/main/branches/prefix/; revision=4706
Fabian Groffen [Sun, 15 Oct 2006 07:28:29 +0000 (07:28 -0000)]
merge with trunk 4703:4704
Simplify binarytree.getname().
svn path=/main/branches/prefix/; revision=4705
Fabian Groffen [Sun, 15 Oct 2006 07:09:35 +0000 (07:09 -0000)]
Chase Zach, merged from trunk 4696:4701
svn path=/main/branches/prefix/; revision=4703
Fabian Groffen [Sun, 15 Oct 2006 07:05:33 +0000 (07:05 -0000)]
Add in prefix when creating trees
svn path=/main/branches/prefix/; revision=4702