Zac Medico [Thu, 25 Oct 2007 02:01:02 +0000 (02:01 -0000)]
Make the Package class generate the digraph nodes.
svn path=/main/trunk/; revision=8285
Zac Medico [Thu, 25 Oct 2007 00:05:39 +0000 (00:05 -0000)]
Fix inverted logic error.
svn path=/main/trunk/; revision=8284
Zac Medico [Wed, 24 Oct 2007 21:31:07 +0000 (21:31 -0000)]
Convert depgraph creation from using recursive calls to
using a stack of dependencies which will be more suitable
for implementation of backtracking.
svn path=/main/trunk/; revision=8283
Zac Medico [Wed, 24 Oct 2007 15:45:24 +0000 (15:45 -0000)]
Add back support for greedy SLOTs when --update is enabled as
per bug #150361. This is currently disabled for sets since
greedy SLOT atoms could be a property of the set itself.
svn path=/main/trunk/; revision=8282
Zac Medico [Wed, 24 Oct 2007 06:47:59 +0000 (06:47 -0000)]
Fix broken import.
svn path=/main/trunk/; revision=8270
Zac Medico [Wed, 24 Oct 2007 06:42:39 +0000 (06:42 -0000)]
Add back support for helpful `emaint --check world` suggestions
and also show package masking reasons when appropriate.
svn path=/main/trunk/; revision=8269
Zac Medico [Wed, 24 Oct 2007 06:13:13 +0000 (06:13 -0000)]
Add back support for detecting if the world file contains
atoms that match packages in package.provided.
svn path=/main/trunk/; revision=8268
Zac Medico [Wed, 24 Oct 2007 05:50:53 +0000 (05:50 -0000)]
Add back support for handling missing system/world atoms
that was removed with depgraph.xcreate(). This doesn't
have support for mapping atoms back to the original sets
yet, but at least a masked or unavailable system/world
atom won't compeletely break the depgraph now.
svn path=/main/trunk/; revision=8267
Zac Medico [Wed, 24 Oct 2007 01:59:42 +0000 (01:59 -0000)]
Replace sys.exit() calls with return statements in emerge_main().
svn path=/main/trunk/; revision=8266
Zac Medico [Wed, 24 Oct 2007 01:44:21 +0000 (01:44 -0000)]
Remove --update greedy SLOTs code from depgraph.select_files()
so that any desired SLOTs have to be pulled in explicitly. Any
SLOTs that are not explicitly pulled in will be removed by
--depclean.
svn path=/main/trunk/; revision=8265
Zac Medico [Wed, 24 Oct 2007 01:33:51 +0000 (01:33 -0000)]
Make world atoms non-greedy for SLOTs in action_depclean()
since users can simply add SLOT atoms to world for any
specific SLOTs that they want to keep.
svn path=/main/trunk/; revision=8264
Marius Mauch [Wed, 24 Oct 2007 01:11:52 +0000 (01:11 -0000)]
remove 'system' and 'world' as actions, and remove most of the special case code as well
svn path=/main/trunk/; revision=8263
Zac Medico [Tue, 23 Oct 2007 23:11:33 +0000 (23:11 -0000)]
Fix selective logic to work properly with masked packages.
svn path=/main/trunk/; revision=8262
Zac Medico [Tue, 23 Oct 2007 22:58:53 +0000 (22:58 -0000)]
Match packages against arguments earlier in
depgraph._select_package() so that corrupt
PROVIDE is detected sooner.
svn path=/main/trunk/; revision=8261
Zac Medico [Tue, 23 Oct 2007 22:55:04 +0000 (22:55 -0000)]
Fix logic for the "selective" depgraph parameter so
that it behaves correctly in cases where installed
packages provide old-style virtuals but none of the
available packages do.
svn path=/main/trunk/; revision=8260
Marius Mauch [Tue, 23 Oct 2007 22:35:27 +0000 (22:35 -0000)]
document PROFILE_ONLY_VARIABLES
svn path=/main/trunk/; revision=8259
Marius Mauch [Tue, 23 Oct 2007 20:58:13 +0000 (20:58 -0000)]
revert r8256 (plans changed)
svn path=/main/trunk/; revision=8258
Marius Mauch [Tue, 23 Oct 2007 20:33:08 +0000 (20:33 -0000)]
move base classes for package sets into a separate module
svn path=/main/trunk/; revision=8257
Marius Mauch [Tue, 23 Oct 2007 20:24:54 +0000 (20:24 -0000)]
just pass the SetConfig instance instead of only the settings and trees attributes
svn path=/main/trunk/; revision=8256
Zac Medico [Tue, 23 Oct 2007 19:30:15 +0000 (19:30 -0000)]
Optimize PROFILE_ONLY_VARIABLES handling.
svn path=/main/trunk/; revision=8255
Marius Mauch [Tue, 23 Oct 2007 19:24:27 +0000 (19:24 -0000)]
make 'world' and 'system' behave like their sets/ counterparts
svn path=/main/trunk/; revision=8254
Marius Mauch [Tue, 23 Oct 2007 19:13:31 +0000 (19:13 -0000)]
make PROFILE_ONLY_VARIABLES incremental
svn path=/main/trunk/; revision=8253
Marius Mauch [Tue, 23 Oct 2007 18:50:09 +0000 (18:50 -0000)]
protect variables specified in PROFILE_ONLY_VARIABLES from being set by the user
svn path=/main/trunk/; revision=8252
Alec Warner [Tue, 23 Oct 2007 07:49:22 +0000 (07:49 -0000)]
add quickie logger function
svn path=/main/trunk/; revision=8251
Alec Warner [Tue, 23 Oct 2007 07:48:47 +0000 (07:48 -0000)]
Begin to use python logging framework. Remove if quiet < bla logic and instead use loglevels (critical, error, warn, info, debug). Default to WARN for repoman, which will print CRITICAL, ERROR, and WARN messages. one -v will print INFO messages and two -v's will print DEBUG messages, each -q will reduce the loglevel by one. -q and -v can be given in any order.
svn path=/main/trunk/; revision=8250
Zac Medico [Tue, 23 Oct 2007 05:36:37 +0000 (05:36 -0000)]
Don't show the "checking files for package collisions" message
when --quiet is enabled.
svn path=/main/trunk/; revision=8248
Alec Warner [Tue, 23 Oct 2007 03:57:29 +0000 (03:57 -0000)]
aha, i knew that diff was screwy, the mail to portage-commits and grep made it obvious as to why; lets try removing those dupe checks.
svn path=/main/trunk/; revision=8247
Alec Warner [Tue, 23 Oct 2007 03:53:49 +0000 (03:53 -0000)]
fix tabbing
svn path=/main/trunk/; revision=8246
Alec Warner [Tue, 23 Oct 2007 03:51:01 +0000 (03:51 -0000)]
Sigh, this integration did not go well, please check the diff (it seemed to add some weird ass code, but it looked fine on sources.gentoo.org). Next time I'll try and either work in a branch or commit faster ;)
svn path=/main/trunk/; revision=8245
Zac Medico [Tue, 23 Oct 2007 02:38:02 +0000 (02:38 -0000)]
Print the Id tag an it's own line to avoid going
over 80 columns.
svn path=/main/trunk/; revision=8243
Zac Medico [Tue, 23 Oct 2007 02:32:54 +0000 (02:32 -0000)]
Fix the version Id tag.
svn path=/main/trunk/; revision=8242
Zac Medico [Tue, 23 Oct 2007 01:11:08 +0000 (01:11 -0000)]
Fix config.setinst() to return early when the given
package already provides the virtual.
svn path=/main/trunk/; revision=8240
Zac Medico [Tue, 23 Oct 2007 00:49:24 +0000 (00:49 -0000)]
Remove a redundant self.treeVirtuals deepcopy from the
config constructor.
svn path=/main/trunk/; revision=8238
Zac Medico [Tue, 23 Oct 2007 00:27:33 +0000 (00:27 -0000)]
Bug #196652 - Check for useless ABOUT-NLS|COPYING|LICENSE
files in dodoc arguments.
svn path=/main/trunk/; revision=8236
Zac Medico [Mon, 22 Oct 2007 23:32:24 +0000 (23:32 -0000)]
Fix broken imports.
svn path=/main/trunk/; revision=8235
Zac Medico [Mon, 22 Oct 2007 22:32:08 +0000 (22:32 -0000)]
In depgraph.create(), if a direct circular dependency is
not an unsatisfied buildtime dependency then drop it here
since otherwise it can skew the merge order calculation
in an unwanted way.
svn path=/main/trunk/; revision=8233
Zac Medico [Mon, 22 Oct 2007 06:59:26 +0000 (06:59 -0000)]
In depgraph.create(), don't ignore direct circular dependencies
anymore since altlist() is able to handle it properly in cases
where the dependency is satisfied. If the dep is unsatisfied
then it can not be ignored.
svn path=/main/trunk/; revision=8225
Zac Medico [Mon, 22 Oct 2007 05:45:58 +0000 (05:45 -0000)]
Bug #184118 - Add an emaint "cleanresume" action that deletes
any existing resume lists from the mtimedb. Thanks to Arfrever
Frehtes Taifersar Arahesis for the initial patch.
svn path=/main/trunk/; revision=8224
Zac Medico [Mon, 22 Oct 2007 03:50:32 +0000 (03:50 -0000)]
Bug #196680 - Handle a CacheError inside mirror_cache() when
reading from the source cache.
svn path=/main/trunk/; revision=8222
Zac Medico [Sun, 21 Oct 2007 23:23:42 +0000 (23:23 -0000)]
Combine depgraph._select_dep() into create() so that
create() simply calls itself recursively. In order
to implement backtracking, create() will eventually
operate on a stack instead of calling itself.
svn path=/main/trunk/; revision=8221
Zac Medico [Sun, 21 Oct 2007 21:23:36 +0000 (21:23 -0000)]
Always pass package metadata into depgraph.create() so
it doesn't have to get it itself.
svn path=/main/trunk/; revision=8220
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