portage.git
19 years agoIt comes in handy sometimes to have access to your own executables.
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

19 years agoFix default path order
Fabian Groffen [Wed, 29 Nov 2006 18:48:58 +0000 (18:48 -0000)]
Fix default path order

svn path=/main/branches/prefix/; revision=5139

19 years agoMerged from trunk 5132:5135
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

19 years agoUse latest/default autotools, unset possibly unused variable
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

19 years agoRequire Python 2.4
Fabian Groffen [Sun, 26 Nov 2006 11:11:28 +0000 (11:11 -0000)]
Require Python 2.4

svn path=/main/branches/prefix/; revision=5131

19 years agoMerged from trunk 5128:5129
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

19 years agoMerged from trunk 5120:5123
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

19 years agoMerged from trunk 5113:5119
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

19 years agoAlso for digests hold that svn list won't show added files, so run svn
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

19 years agoMerged from trunk 5091:5107
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

19 years agoImproved repoman SVN support:
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

19 years agoMerged from trunk 5080:5088
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

19 years agoMerged from trunk 5060:5075
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

19 years agoDon't use hard-coded group names, but use the portage group from
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

19 years agoMerged from trunk 5027:5057
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

19 years agoSubversion doesn't eat svn+http://, so remove the "svn+" part when
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

19 years agoMerged from trunk 5020:5023
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

19 years agoDon't announce as SVN if on CVS.
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

19 years agoIt takes some time... but then you have Repoman playing nice with SVN
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

19 years agoGiving Repoman a big fling such that it spins on SVN also.
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

19 years agoWiping off the dust of Repoman's SVN support.
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

19 years agoOur repo is called "portage-overlay" iso "portage".
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

19 years agoAdded SVN support for syncing next to CVS support.
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

19 years agoMerged from trunk 4998:5012
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

19 years agoMerged from trunk 4986:4987
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

19 years agoMerged from trunk 4965:4984
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

19 years agoMerged from trunk 4961:4962
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

19 years agoRemove temp source copy, ls the tarbal we created for easy copy and
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

19 years agoMerged from trunk 4946:4959
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

19 years agoInject EPREFIX in settings such that it becomes available to e.g.
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

19 years agoNo need to make a lot of noise.
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

19 years agoDon't check ROOT for writability, but ROOT + EPREFIX instead.
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

19 years agoMerged from trunk 4915:4929
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

19 years agoUse prefixed path
Fabian Groffen [Sat, 4 Nov 2006 18:12:28 +0000 (18:12 -0000)]
Use prefixed path

svn path=/main/branches/prefix/; revision=4938

19 years agoKind of funny, but it saves a lot of bytes, and makes the stuff easier
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

19 years agoReally fix autoconf-2.60 misery:
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

19 years agoautoconf-2.60 is annoying. Add AC_CONFIG_HEADERS([config.h]) because it
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

19 years agoAlso use prefix in dispatch_conf
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

19 years agoFix trivial, but rather painful bug, of storing ED in D.
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

19 years agoMerged from trunk 4905:4912 a colourful set of patches
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

19 years agoMerged from trunk 4892:4903
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

19 years agoMerged from trunk 4883:4889
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

19 years agoSync error message with check
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

19 years agoMerged from trunk 4876:4881
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

19 years agoMerged from trunk 4871:4872
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

19 years agobump python requirements to >= 2.3.1 as 2.3 has a bug which makes
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

19 years agoDon't require root, it makes no sense in prefix here. Maybe later
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

19 years agoMerged from trunk 4866:4869
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

19 years agoForgot some ${D}'s to replace
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

19 years agoMerged from trunk 4857:4863
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

19 years agoMerged from trunk 4847:4855
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

19 years agoMerged from trunk 4816:4828
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

19 years agoSANDBOX should be a full path, use sandbox from prefix.
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

19 years agoPython is kind of weird with arguments and strings... it doesn't bail
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

19 years agoFix etc-update
Fabian Groffen [Thu, 26 Oct 2006 16:09:14 +0000 (16:09 -0000)]
Fix etc-update

svn path=/main/branches/prefix/; revision=4825

19 years agoMerged from trunk 4812:4815
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

19 years agoMerged from trunk 4796:4810
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

19 years agomisc fixes to get prefix going again without double prefixes and stuff
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

19 years agoMisc prefix fixes
Fabian Groffen [Sun, 22 Oct 2006 14:31:25 +0000 (14:31 -0000)]
Misc prefix fixes

svn path=/main/branches/prefix/; revision=4796

19 years agoMerged from trunk 4785:4794
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

19 years agoOnce again throw everything to the other side. Now:
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

19 years agoMerged from trunk 4770:4783
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

19 years agoMerged from trunk 4768:4769
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

19 years agoFix collision-protect and cleanup a bit
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

19 years agoMerged from trunk 4765:4766
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

19 years agoMerged from trunk 4758:4763
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

19 years agoJust create ${D} by default such that we don't die in errors if a
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

19 years agoMerged from trunk 4755:4756
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

19 years agoEliminate double prefix by making sure we call doebuild with the
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

19 years agoRemove ROOT tricks of adding EPREFIX in ebuilds and eclasses, it is
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

19 years agoMerged from trunk 4740:4753
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

19 years agoUse portage_const.EPREFIX instead of self["EPREFIX"] for consistency.
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

19 years agoMerged with trunk 4727:4738
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

19 years agoMerge from trunk 4723:4726
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

19 years agoMake path a bit cleaner by normalising it.
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

19 years agoMerge with trunk 4721:4722
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

19 years agoMerge from trunk 4717:4719
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

19 years agoAdd EPREFIX to ROOT for ebuilds and eclasses, this avoids a lot of
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

19 years agoFix etc-update and config-protect.
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

19 years agoBe more careful with slashes, and tidy them up with normalize_path.
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

19 years agoFix collision-protect being broken; don't prefix CONTENTS entries, as
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

19 years agoWarn about root, only if ROOT != EPREFIX.
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

19 years agoMerged from trunk 4711:4712
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

19 years agoShift destroot with prefix during merge phase. This makes everything go
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

19 years agoMerged from trunk 4707:4708
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

19 years agoFix for collision-protect to look into the prefix, and also to report on
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

19 years agoUnfortunately os.path.join is "intelligent":
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

19 years agoProperly add EPREFIX to paths on several places.
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

19 years agomerge with trunk 4703:4704
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

19 years agoChase Zach, merged from trunk 4696:4701
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

19 years agoAdd in prefix when creating trees
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

19 years agoAdd a bunch of prefixes that were lost after merging.
Fabian Groffen [Sat, 14 Oct 2006 20:48:55 +0000 (20:48 -0000)]
Add a bunch of prefixes that were lost after merging.

svn path=/main/branches/prefix/; revision=4696

19 years agoManual sync from trunk of output.py, removed trailing newline from
Fabian Groffen [Sat, 14 Oct 2006 18:49:23 +0000 (18:49 -0000)]
Manual sync from trunk of output.py, removed trailing newline from
portage_const.py

svn path=/main/branches/prefix/; revision=4695

19 years agoAdd some prefixes, and don't warn about wheel_group being portage_gid if
Fabian Groffen [Sat, 14 Oct 2006 18:06:53 +0000 (18:06 -0000)]
Add some prefixes, and don't warn about wheel_group being portage_gid if
wheel_group > 500, in which case it probably is a normal user.

svn path=/main/branches/prefix/; revision=4694

19 years agomanually sync with trunk, somehow this was not kept up-to-date
Fabian Groffen [Sat, 14 Oct 2006 15:37:51 +0000 (15:37 -0000)]
manually sync with trunk, somehow this was not kept up-to-date

svn path=/main/branches/prefix/; revision=4693

19 years agopkgmerge no longer exists
Fabian Groffen [Sat, 14 Oct 2006 15:15:10 +0000 (15:15 -0000)]
pkgmerge no longer exists

svn path=/main/branches/prefix/; revision=4692

19 years agoAdd sed from trunk, add to Makefile
Fabian Groffen [Sat, 14 Oct 2006 15:09:32 +0000 (15:09 -0000)]
Add sed from trunk, add to Makefile

svn path=/main/branches/prefix/; revision=4691

19 years ago- Don't use /tmp, but use /var/tmp instead (/tmp might be memory swap,
Fabian Groffen [Sat, 14 Oct 2006 14:41:34 +0000 (14:41 -0000)]
- Don't use /tmp, but use /var/tmp instead (/tmp might be memory swap,
  e.g. Solaris)
- Forget about permissions for now, we're unprivileged
- Some systems don't have libtoolize, but DO have glibtoolize

svn path=/main/branches/prefix/; revision=4690

19 years agoManual sync with trunk, seems this wasn't synced properly once in the
Fabian Groffen [Sat, 14 Oct 2006 14:29:32 +0000 (14:29 -0000)]
Manual sync with trunk, seems this wasn't synced properly once in the
past.

svn path=/main/branches/prefix/; revision=4689

19 years agoMerged from trunk 4677:4683
Fabian Groffen [Sat, 14 Oct 2006 14:16:34 +0000 (14:16 -0000)]
Merged from trunk 4677:4683

svn path=/main/branches/prefix/; revision=4688