Zac Medico [Sun, 21 Oct 2007 20:59:00 +0000 (20:59 -0000)]
Do a loop over each dependency type to simplify
select_dep() calls.
svn path=/main/trunk/; revision=8219
Zac Medico [Sun, 21 Oct 2007 20:31:06 +0000 (20:31 -0000)]
Don't catch a ValueError if it isn't the type that's expected
from portage.cpv_expand().
svn path=/main/trunk/; revision=8218
Zac Medico [Sun, 21 Oct 2007 18:38:00 +0000 (18:38 -0000)]
Fix NewsManager.getUnreadItems() so that it works properly
for an unprivileged user in readonly mode.
svn path=/main/trunk/; revision=8215
Zac Medico [Sun, 21 Oct 2007 18:07:15 +0000 (18:07 -0000)]
Bug #196427 - Prevent various news related tracebacks
from occuring when running emerge as an unprivileged
user in --pretend mode.
svn path=/main/trunk/; revision=8214
Marius Mauch [Sun, 21 Oct 2007 11:51:57 +0000 (11:51 -0000)]
note that sets can't contain other sets
svn path=/main/trunk/; revision=8207
Marius Mauch [Sun, 21 Oct 2007 10:55:14 +0000 (10:55 -0000)]
add some notes about restrictions wrt package sets
svn path=/main/trunk/; revision=8206
Marius Mauch [Sun, 21 Oct 2007 10:36:17 +0000 (10:36 -0000)]
fix comment
svn path=/main/trunk/; revision=8204
Marius Mauch [Sun, 21 Oct 2007 10:34:35 +0000 (10:34 -0000)]
ignore "permission denied" errors when changing perms of news skipfile that happen when running with user priviledges in pretend mode
svn path=/main/trunk/; revision=8202
Marius Mauch [Sun, 21 Oct 2007 10:30:17 +0000 (10:30 -0000)]
restore proper call logic
svn path=/main/trunk/; revision=8201
Marius Mauch [Sun, 21 Oct 2007 10:13:46 +0000 (10:13 -0000)]
Remove slashes that cause problems when unpacking files with relative paths (bug #196565)
svn path=/main/trunk/; revision=8200
Zac Medico [Sun, 21 Oct 2007 08:32:44 +0000 (08:32 -0000)]
Remove uneeded "arg" and "addme" parameters where possible.
svn path=/main/trunk/; revision=8199
Zac Medico [Sun, 21 Oct 2007 08:16:32 +0000 (08:16 -0000)]
Use a "depth" parameter to track depth of recursion relative
to the nearest argument atom.
svn path=/main/trunk/; revision=8198
Zac Medico [Sun, 21 Oct 2007 07:23:23 +0000 (07:23 -0000)]
Split the "arg" parameter out of depgraph.select_dep() so
that it's used purely for processing atoms that are pulled
in by parent packages.
svn path=/main/trunk/; revision=8197
Zac Medico [Sun, 21 Oct 2007 06:07:49 +0000 (06:07 -0000)]
Bug #196537 - Make portageq check that the <root> parameter
is an existing directory and exit gracefully if not.
svn path=/main/trunk/; revision=8195
Zac Medico [Sun, 21 Oct 2007 05:47:03 +0000 (05:47 -0000)]
Make depgraph.xcreate() use the filtered repo to determine
availablility of system/world atoms so that the raise_on_missing
parameter can be removed from depgraph.select_dep().
svn path=/main/trunk/; revision=8194
Zac Medico [Sun, 21 Oct 2007 05:20:19 +0000 (05:20 -0000)]
Raise an InvalidDependString exception if necessary when
the depgraph is populating the filtered repo so that we
don't have to check the return value.
svn path=/main/trunk/; revision=8193
Zac Medico [Sun, 21 Oct 2007 04:25:46 +0000 (04:25 -0000)]
Rename variable for consistency.
svn path=/main/trunk/; revision=8192
Zac Medico [Sun, 21 Oct 2007 00:45:15 +0000 (00:45 -0000)]
Split the atom selection logic out of depgraph.select_dep().
svn path=/main/trunk/; revision=8191
Zac Medico [Sat, 20 Oct 2007 23:26:31 +0000 (23:26 -0000)]
Split the package selection logic out of depgraph.select_dep().
svn path=/main/trunk/; revision=8190
Zac Medico [Sat, 20 Oct 2007 22:21:38 +0000 (22:21 -0000)]
Split the masked packages display out of depgraph.select_dep().
svn path=/main/trunk/; revision=8189
Zac Medico [Sat, 20 Oct 2007 21:51:17 +0000 (21:51 -0000)]
Use a simple Package class to bundle package data
for depgraph.create() calls.
svn path=/main/trunk/; revision=8188
Zac Medico [Sat, 20 Oct 2007 08:18:48 +0000 (08:18 -0000)]
Allow the depgraph to add old-style virtual providers but
prefer any pre-existing providers over new ones that are
added.
svn path=/main/trunk/; revision=8187
Zac Medico [Sat, 20 Oct 2007 07:19:35 +0000 (07:19 -0000)]
Remove the config.setinst() call from depgraph.select_dep()
since it's never really guaranteed to work as intended. It's
supposed to help ensure that the correct old-style virtual
is preferred but it will often fail to do so, making it
necessary for the user to manually force the preference.
Proper backtracking (bug #1343) will solve the problem more
reliably.
svn path=/main/trunk/; revision=8186
Zac Medico [Fri, 19 Oct 2007 22:33:57 +0000 (22:33 -0000)]
Bug #196435 - Add some more references to quickpkg(1) since
sometimes people don't realize that it exists.
svn path=/main/trunk/; revision=8185
Zac Medico [Fri, 19 Oct 2007 19:33:38 +0000 (19:33 -0000)]
Refactor _merge_logentries() to make it a little more efficient.
svn path=/main/trunk/; revision=8184
Zac Medico [Fri, 19 Oct 2007 19:27:06 +0000 (19:27 -0000)]
Use a list to buffer strings in _combine_logentries() and do
a single concatenation at the end for better efficiency.
svn path=/main/trunk/; revision=8183
Zac Medico [Fri, 19 Oct 2007 19:18:24 +0000 (19:18 -0000)]
Prevent _combine_logentries() from generating redundant
consecutive 'TYPE: phase' lines that show in summary.log
when the python-based elog functions are used.
svn path=/main/trunk/; revision=8182
Zac Medico [Fri, 19 Oct 2007 19:09:54 +0000 (19:09 -0000)]
Fix broken call to renamed _combine_logentries().
svn path=/main/trunk/; revision=8181
Zac Medico [Fri, 19 Oct 2007 18:33:45 +0000 (18:33 -0000)]
Don't show each character of the log message on a new
line when displaying messages that came from one of
the python-based elog functions. This might not be the
correct solution but it seems to work for now.
svn path=/main/trunk/; revision=8180
Zac Medico [Fri, 19 Oct 2007 16:53:08 +0000 (16:53 -0000)]
Bug #196427 - Don't display news notifications when in --pretend mode.
svn path=/main/trunk/; revision=8179
Zac Medico [Fri, 19 Oct 2007 15:32:03 +0000 (15:32 -0000)]
Pass the whole cpv to elog instead of just ${PF}.
svn path=/main/trunk/; revision=8178
Zac Medico [Fri, 19 Oct 2007 15:17:16 +0000 (15:17 -0000)]
The ERROR color code is currently undefined, so make eerror
use BAD like the bash version does.
svn path=/main/trunk/; revision=8177
Marius Mauch [Fri, 19 Oct 2007 10:27:54 +0000 (10:27 -0000)]
Use the python version of eerror
svn path=/main/trunk/; revision=8176
Zac Medico [Thu, 18 Oct 2007 21:08:40 +0000 (21:08 -0000)]
Handle EnvironmentError instead of OSError since open()
actually raises IOError. Also, treat a missing SLOT
file as SLOT="" since it is currently possible to
install an ebuild with an undefined SLOT even though
repoman generates a SLOT.missing error with such an
ebuild.
svn path=/main/trunk/; revision=8174
Zac Medico [Thu, 18 Oct 2007 19:30:53 +0000 (19:30 -0000)]
Bug #195375 - Make dblink.treewalk() read inforoot/SLOT since
it differs from the expected SLOT value when when USE=multislot
is enabled. A warning message will be shown if the slot differs
and --quiet mode is not enabled.
svn path=/main/trunk/; revision=8172
Zac Medico [Thu, 18 Oct 2007 03:20:16 +0000 (03:20 -0000)]
Adjust quote usage in collision-protect eerror
output.
svn path=/main/trunk/; revision=8170
Zac Medico [Thu, 18 Oct 2007 02:32:41 +0000 (02:32 -0000)]
Fix collision-protect so that it properly cancels the
preinst phase like it used to.
svn path=/main/trunk/; revision=8168
Zac Medico [Wed, 17 Oct 2007 21:44:10 +0000 (21:44 -0000)]
Fix the normalize_needed regex to properly match //
anywhere in the path. Also add support for detection
of . or .. where appropriate.
svn path=/main/trunk/; revision=8166
Zac Medico [Wed, 17 Oct 2007 20:22:54 +0000 (20:22 -0000)]
Bug #196043 - Unify the ouput handling for file collisions
so that similar eerror messages are generated whether or
not collision-protect is enabled.
svn path=/main/trunk/; revision=8163
Zac Medico [Wed, 17 Oct 2007 04:35:32 +0000 (04:35 -0000)]
Add missing "to" to fix grammer.
svn path=/main/trunk/; revision=8161
Zac Medico [Wed, 17 Oct 2007 02:34:54 +0000 (02:34 -0000)]
Bug #196043 - Update the file collision ewarn notice
to try and clarify the cases when a bug should NOT
be filed. Also, recommend the new `portageq owners /
<filename>` command since it works properly even
when paths are ambiguous due to symlinked
directories.
svn path=/main/trunk/; revision=8155
Zac Medico [Wed, 17 Oct 2007 01:17:56 +0000 (01:17 -0000)]
Bug #196043 - Implement a `portageq owners <root> [<filename>]+`
command that is suitable for identifying all packages that own
one or more files when a file collision has occurred. This uses
dblink.isowner() so that the query works properly even when
paths are ambiguous due to symlinked directories.
svn path=/main/trunk/; revision=8154
Zac Medico [Wed, 17 Oct 2007 00:02:29 +0000 (00:02 -0000)]
Optimize dblink.isowner() to use fewer stat calls by
only collecting stat results for parent directories.
This provides equivalent accuracy to the previous
approach but will perform much better when used to
scan all installed packages for owners in the event
of a file collision.
svn path=/main/trunk/; revision=8153
Zac Medico [Tue, 16 Oct 2007 21:15:00 +0000 (21:15 -0000)]
Only re.compile() the normalize_needed pattern once
rather than for each dblink constructor call.
svn path=/main/trunk/; revision=8152
Zac Medico [Tue, 16 Oct 2007 20:38:03 +0000 (20:38 -0000)]
In dblink.getcontents(), use a regular expression to detect
when path normalization is required. Also, only join with
${ROOT} when necessary. This allows unnecessary normpath
and join calls to be optimized away in the general case,
reducing the cpu time for `equery belongs <filename>` by
about 50%.
M pym/portage/dbapi/vartree.py
svn path=/main/trunk/; revision=8151
Marius Mauch [Tue, 16 Oct 2007 17:17:58 +0000 (17:17 -0000)]
Use EmergeConfig instead of portage.config in RootConfig
svn path=/main/trunk/; revision=8150
Marius Mauch [Tue, 16 Oct 2007 17:11:10 +0000 (17:11 -0000)]
Move clean_world() into WorldSet
svn path=/main/trunk/; revision=8149
Marius Mauch [Tue, 16 Oct 2007 16:43:35 +0000 (16:43 -0000)]
use skipfile rather than timestamp to ignore processed files
svn path=/main/trunk/; revision=8148
Marius Mauch [Tue, 16 Oct 2007 16:14:31 +0000 (16:14 -0000)]
Also use EmergeConfig() in MergeTask
svn path=/main/trunk/; revision=8147
Marius Mauch [Tue, 16 Oct 2007 14:50:34 +0000 (14:50 -0000)]
fix typo
svn path=/main/trunk/; revision=8146
Marius Mauch [Tue, 16 Oct 2007 14:47:57 +0000 (14:47 -0000)]
Replace getlist() with PackageSet.getAtoms()
svn path=/main/trunk/; revision=8145
Marius Mauch [Tue, 16 Oct 2007 14:37:36 +0000 (14:37 -0000)]
subclass portage.config to include a setconfig instance to avoid adding one more parameter to most of the emerge functions
svn path=/main/trunk/; revision=8144
Marius Mauch [Tue, 16 Oct 2007 14:28:47 +0000 (14:28 -0000)]
Add debug mode to display the libraries that cause the package to be included
svn path=/main/trunk/; revision=8143
Zac Medico [Tue, 16 Oct 2007 06:15:01 +0000 (06:15 -0000)]
Move the emerge module to _emerge to make it private
since it's mostly unsuitable for api consumers at
this time.
svn path=/main/trunk/; revision=8142
Zac Medico [Mon, 15 Oct 2007 19:52:20 +0000 (19:52 -0000)]
Fix --help summary so that "commit" mode shows.
svn path=/main/trunk/; revision=8140
Zac Medico [Mon, 15 Oct 2007 19:35:24 +0000 (19:35 -0000)]
Update emacs and vim docs to reference NOTE_2.
svn path=/main/trunk/; revision=8138
Zac Medico [Mon, 15 Oct 2007 19:30:00 +0000 (19:30 -0000)]
Update NOTE_2 to document proper use of the using_editor
config option.
svn path=/main/trunk/; revision=8136
Zac Medico [Mon, 15 Oct 2007 18:05:13 +0000 (18:05 -0000)]
Bug #195949 - Add one more using_editor conditional for
diff_command.
svn path=/main/trunk/; revision=8130
Zac Medico [Mon, 15 Oct 2007 16:15:16 +0000 (16:15 -0000)]
Bug #195949 - Use a different diff_command sanity check
when using_editor is true.
svn path=/main/trunk/; revision=8129
Marius Mauch [Mon, 15 Oct 2007 13:13:11 +0000 (13:13 -0000)]
remove unused tmpfs variable
svn path=/main/trunk/; revision=8128
Zac Medico [Mon, 15 Oct 2007 07:40:30 +0000 (07:40 -0000)]
Document the "manifest" mode.
svn path=/main/trunk/; revision=8126
Zac Medico [Mon, 15 Oct 2007 07:38:03 +0000 (07:38 -0000)]
Sort the modes in the repoman --help output.
svn path=/main/trunk/; revision=8125
Zac Medico [Sun, 14 Oct 2007 18:29:30 +0000 (18:29 -0000)]
Add a note to clarify os.walk() behavior with respect
to symlinks to directories.
svn path=/main/trunk/; revision=8124
Zac Medico [Sun, 14 Oct 2007 03:57:21 +0000 (03:57 -0000)]
Remove the checks for files in symlinked directories
from the collision protect code since it hasn't been
needed ever since the followSymlinks parameter was
disabled for portage.listdir() calls in order to
prevent infinite recursion loops.
svn path=/main/trunk/; revision=8121
Zac Medico [Sat, 13 Oct 2007 19:04:42 +0000 (19:04 -0000)]
In some cases, openpty can be slow when it fails. Therefore,
stop trying to use it after the first failure.
svn path=/main/trunk/; revision=8119
Zac Medico [Sat, 13 Oct 2007 18:18:34 +0000 (18:18 -0000)]
Avoid an error message from find when "${D}"/usr/share
does not exist.
svn path=/main/trunk/; revision=8117
Zac Medico [Sat, 13 Oct 2007 17:46:36 +0000 (17:46 -0000)]
Remove unused import.
svn path=/main/trunk/; revision=8115
Zac Medico [Sat, 13 Oct 2007 17:44:06 +0000 (17:44 -0000)]
In the file collision eerror output, don't colorize the
file paths since the escape codes look ugly in the log.
svn path=/main/trunk/; revision=8114
Zac Medico [Sat, 13 Oct 2007 06:44:06 +0000 (06:44 -0000)]
Handle the PortageException that can be raised from
portage.mail.send_mail().
svn path=/main/trunk/; revision=8102
Zac Medico [Sat, 13 Oct 2007 06:16:57 +0000 (06:16 -0000)]
Make the file collision eerror message less verbose
when in --quiet mode.
svn path=/main/trunk/; revision=8100
Zac Medico [Sat, 13 Oct 2007 05:59:12 +0000 (05:59 -0000)]
Remove a chdir() call that's no longer needed for the
collision-protect symlink code.
svn path=/main/trunk/; revision=8098
Zac Medico [Sat, 13 Oct 2007 05:40:35 +0000 (05:40 -0000)]
Use os.listdir() instead of portage.listdir() in dblink.mergeme().
svn path=/main/trunk/; revision=8097
Zac Medico [Sat, 13 Oct 2007 05:27:17 +0000 (05:27 -0000)]
In dblink.treewalk(), use os.walk() instead of portage.listdir()
in order to avoid cacheddir() bloat when listing the files to be
merged from ${D}.
svn path=/main/trunk/; revision=8096
Zac Medico [Fri, 12 Oct 2007 22:34:53 +0000 (22:34 -0000)]
Bug #195370 - Filter some more bogus matches due to
old-style virtuals.
svn path=/main/trunk/; revision=8093
Zac Medico [Fri, 12 Oct 2007 22:00:07 +0000 (22:00 -0000)]
Remove a redundant call to elog_process().
svn path=/main/trunk/; revision=8091
Zac Medico [Fri, 12 Oct 2007 21:42:09 +0000 (21:42 -0000)]
s:this package wants:this package will:
svn path=/main/trunk/; revision=8089
Zac Medico [Fri, 12 Oct 2007 20:56:26 +0000 (20:56 -0000)]
Bug #195527 - Add some more information to the file collision
eerror message to try and prevent user confusion:
- Hint that `equery belongs <filename>` can be used to find
the installed package that owns a file.
- Advise then NOT to file a bug without reporting exactly
which two packages install the same file(s).
svn path=/main/trunk/; revision=8087
Zac Medico [Fri, 12 Oct 2007 18:55:00 +0000 (18:55 -0000)]
Bug #195527 - Unconditionally detect file collisions and log
them as eerror messages via elog. This will allow us to
collect more file collision data but it won't be quite as
annoying as enabling collision-protect by default would be.
svn path=/main/trunk/; revision=8086
Zac Medico [Fri, 12 Oct 2007 05:41:12 +0000 (05:41 -0000)]
Use writemsg() to send exception string to stderr.
svn path=/main/trunk/; revision=8058
Zac Medico [Fri, 12 Oct 2007 01:03:34 +0000 (01:03 -0000)]
Pass into the PackageIndex constructor a list of package
metadata keys that inherit a default value from the header.
svn path=/main/trunk/; revision=8055
Zac Medico [Fri, 12 Oct 2007 00:38:35 +0000 (00:38 -0000)]
Pass default package metadata values into the PackageIndex
constructor for optional things like EAPI and SLOT.
svn path=/main/trunk/; revision=8054
Zac Medico [Fri, 12 Oct 2007 00:12:15 +0000 (00:12 -0000)]
Sync code between binarytree.inject() and populate().
svn path=/main/trunk/; revision=8053
Zac Medico [Thu, 11 Oct 2007 18:14:18 +0000 (18:14 -0000)]
Split USE evaluation code out of binarytree.inject() so
that it can be reused in populate().
svn path=/main/trunk/; revision=8052
Zac Medico [Thu, 11 Oct 2007 16:29:55 +0000 (16:29 -0000)]
Strip the leading path separator from USER_CONFIG_PATH
so that os.path.join works correctly.
svn path=/main/trunk/; revision=8051
Zac Medico [Thu, 11 Oct 2007 14:22:29 +0000 (14:22 -0000)]
In depgraph.select_dep(), check for existing nodes in
installed packages when necessary.
svn path=/main/trunk/; revision=8050
Marius Mauch [Thu, 11 Oct 2007 08:17:24 +0000 (08:17 -0000)]
typo fix
svn path=/main/trunk/; revision=8049
Marius Mauch [Thu, 11 Oct 2007 08:14:31 +0000 (08:14 -0000)]
Do not use aux_get to parse the NEEDED file as we need to distinguish spaces and newlines
svn path=/main/trunk/; revision=8048
Marius Mauch [Thu, 11 Oct 2007 06:05:32 +0000 (06:05 -0000)]
Update todo list
svn path=/main/trunk/; revision=8047
Marius Mauch [Thu, 11 Oct 2007 05:59:11 +0000 (05:59 -0000)]
Add a set to group all consumers of missing libraries as a simple revdep-rebuild replacement
svn path=/main/trunk/; revision=8046
Zac Medico [Thu, 11 Oct 2007 05:37:00 +0000 (05:37 -0000)]
Make depgraph.select_dep() reject installed packages
in the same cases that it used to so that a warning
message is properly generated in depgraph.xcreate()
when a package is unavailable but installed.
svn path=/main/trunk/; revision=8045
Marius Mauch [Thu, 11 Oct 2007 05:19:32 +0000 (05:19 -0000)]
implement new set to group all consumers of preserved libraries
svn path=/main/trunk/; revision=8044
Zac Medico [Thu, 11 Oct 2007 05:19:14 +0000 (05:19 -0000)]
Raise a PackageNotFound exception instead of a ValueError
in order to avoid ambiguity if an unexpected ValueError
occurs.
svn path=/main/trunk/; revision=8043
Zac Medico [Thu, 11 Oct 2007 02:54:00 +0000 (02:54 -0000)]
Move some package selection code from depgraph.create()
to select_dep() so that all package selection is done
in the same place.
svn path=/main/trunk/; revision=8042
Zac Medico [Thu, 11 Oct 2007 02:02:32 +0000 (02:02 -0000)]
Make portdbapi and bindbapi cache PROVIDE in order
to optimize matching of old-style virtuals.
svn path=/main/trunk/; revision=8041
Zac Medico [Wed, 10 Oct 2007 15:34:25 +0000 (15:34 -0000)]
Remove ambiguous "you should edit this file" warning.
Thanks to Cardoe.
svn path=/main/trunk/; revision=8040
Zac Medico [Wed, 10 Oct 2007 08:33:36 +0000 (08:33 -0000)]
Prevent bogus upgrade display when a new-style virtual
is first installed and it replaces an old-style virtual.
svn path=/main/trunk/; revision=8039
Zac Medico [Wed, 10 Oct 2007 08:07:00 +0000 (08:07 -0000)]
Comment about avoiding expensive metadata pulls
in depgraph.select_dep().
svn path=/main/trunk/; revision=8038
Zac Medico [Wed, 10 Oct 2007 07:46:00 +0000 (07:46 -0000)]
Refactor depgraph.select_dep() to eliminate redundant
code that was duplicated for each package type.
svn path=/main/trunk/; revision=8037
Zac Medico [Wed, 10 Oct 2007 06:33:28 +0000 (06:33 -0000)]
Cache IUSE in bindbapi to optimize --newuse calculations.
Also, fix filtering code for reading/writing USE and IUSE
from/to the metadata index.
svn path=/main/trunk/; revision=8036
Zac Medico [Wed, 10 Oct 2007 02:55:07 +0000 (02:55 -0000)]
Migrate depgraph.select_files() to use the filtered repo
for expansion of greedy atoms. Also, use the list of
repos to clean up the category expansion code.
svn path=/main/trunk/; revision=8035