Zac Medico [Sun, 28 Oct 2007 09:05:18 +0000 (09:05 -0000)]
Fix cp_list() to prevent it from returning a reference
to one of it's internal lists.
svn path=/main/trunk/; revision=8331
Zac Medico [Sun, 28 Oct 2007 07:26:24 +0000 (07:26 -0000)]
Sort all dbapi.cp_list() results in ascending order and
cache the results when possible. The order is preserved
in dbapi.match() so those results are also sorted.
svn path=/main/trunk/; revision=8329
Zac Medico [Sat, 27 Oct 2007 20:43:49 +0000 (20:43 -0000)]
Replace depgraph._slot_node_map with _slot_pkg_map so
that it's easier to get existing Package instances.
svn path=/main/trunk/; revision=8324
Zac Medico [Sat, 27 Oct 2007 04:41:56 +0000 (04:41 -0000)]
Make depgraph._select_atoms() more flexible by allowing
the repositories to be passed in as a parameter.
svn path=/main/trunk/; revision=8319
Zac Medico [Sat, 27 Oct 2007 01:59:32 +0000 (01:59 -0000)]
Reuse an existing EmergeConfig instance instead of
constructing a new one.
svn path=/main/trunk/; revision=8318
Zac Medico [Sat, 27 Oct 2007 01:46:37 +0000 (01:46 -0000)]
Fix broken $ROOT handling for setconfig in the MergeTask
constructor.
svn path=/main/trunk/; revision=8317
Zac Medico [Fri, 26 Oct 2007 19:35:01 +0000 (19:35 -0000)]
In portage.fetch(), condense digest check ouput to a single
line for all digests.
svn path=/main/trunk/; revision=8316
Zac Medico [Fri, 26 Oct 2007 18:06:07 +0000 (18:06 -0000)]
Optimize repoman to share portdbapi.cp_list() results
between all profiles since those results never change.
The cached results also propagate to the xmatch
match-all when appropriate (old-style virtuals are
excluded since they are profile dependent).
svn path=/main/trunk/; revision=8313
Zac Medico [Fri, 26 Oct 2007 16:34:51 +0000 (16:34 -0000)]
Add missing break statement for xmatch minimum-visible.
svn path=/main/trunk/; revision=8310
Zac Medico [Fri, 26 Oct 2007 08:38:16 +0000 (08:38 -0000)]
Optimize repoman visibility checks to access as little
metadata as possible. (improves performance especially
in cases where metadata needs to be generated). This
works by starting at the lowest version since that's
most likely to have keywords and it returns as soon as
the first visible package is found.
svn path=/main/trunk/; revision=8309
Zac Medico [Fri, 26 Oct 2007 06:10:58 +0000 (06:10 -0000)]
Make emerge add sets to the world file as one would expect.
svn path=/main/trunk/; revision=8308
Zac Medico [Fri, 26 Oct 2007 05:18:38 +0000 (05:18 -0000)]
Allow sets to get through world file validation and
expand properly. It's now possible to put @system
in the world file and get the old behavior where
world includes system.
svn path=/main/trunk/; revision=8307
Zac Medico [Fri, 26 Oct 2007 04:38:59 +0000 (04:38 -0000)]
Prevent premature expansion of old-style virtuals
inside depgraph.select_files().
svn path=/main/trunk/; revision=8306
Zac Medico [Fri, 26 Oct 2007 03:55:22 +0000 (03:55 -0000)]
Optimize the algorithm used for expansion of set
arguments into atoms.
svn path=/main/trunk/; revision=8305
Marius Mauch [Fri, 26 Oct 2007 01:13:26 +0000 (01:13 -0000)]
update notes about package sets
svn path=/main/trunk/; revision=8304
Marius Mauch [Fri, 26 Oct 2007 01:07:06 +0000 (01:07 -0000)]
break potential cycles in set expansion
svn path=/main/trunk/; revision=8303
Marius Mauch [Fri, 26 Oct 2007 01:03:24 +0000 (01:03 -0000)]
use SetConfig.getSetAtoms instead of PackageSet.getAtoms for expanding sets to allow recursion, and drop the default 'sets/' prefix for setnames
svn path=/main/trunk/; revision=8302
Marius Mauch [Fri, 26 Oct 2007 00:55:26 +0000 (00:55 -0000)]
use a @ prefix for sets, and replace world/system with their real prefixed names if found on the commandline
svn path=/main/trunk/; revision=8301
Marius Mauch [Thu, 25 Oct 2007 23:59:44 +0000 (23:59 -0000)]
Allow sets to contain non-atoms
svn path=/main/trunk/; revision=8300
Zac Medico [Thu, 25 Oct 2007 19:56:45 +0000 (19:56 -0000)]
FIX: indentation problem, also end the Portage identification
line with a ) if repoman wasn't forced to do its job.
(branches/prefix r8281)
svn path=/main/trunk/; revision=8296
Zac Medico [Thu, 25 Oct 2007 19:54:36 +0000 (19:54 -0000)]
Fix: Make repoman actually USE -m commit message again (and -M
commit message file). (branches/prefix r8280)
svn path=/main/trunk/; revision=8295
Zac Medico [Thu, 25 Oct 2007 17:01:32 +0000 (17:01 -0000)]
Correct expected split counts for CONTENTS lines.
svn path=/main/trunk/; revision=8294
Zac Medico [Thu, 25 Oct 2007 16:49:59 +0000 (16:49 -0000)]
Handle a potential IndexError.
svn path=/main/trunk/; revision=8293
Zac Medico [Thu, 25 Oct 2007 16:43:06 +0000 (16:43 -0000)]
Remove obsolete whitespace handling code for "obj" filenames
in CONTENTS.
svn path=/main/trunk/; revision=8292
Zac Medico [Thu, 25 Oct 2007 16:36:48 +0000 (16:36 -0000)]
Handle multiple consecutive spaces in filenames as per
bug #196836#c6.
svn path=/main/trunk/; revision=8291
Zac Medico [Thu, 25 Oct 2007 06:02:17 +0000 (06:02 -0000)]
For the emergelog message, send in the original list of
arguments that exists before expansion of sets.
svn path=/main/trunk/; revision=8290
Zac Medico [Thu, 25 Oct 2007 05:57:32 +0000 (05:57 -0000)]
If the title string is too big then xtermTitle() can
misbehave by causing the terminal to echo some of the
characters and generate a "beep" sound. This is easily
triggered by doing things like `emerge world` now since
all the the atoms are expanded.
svn path=/main/trunk/; revision=8289
Zac Medico [Thu, 25 Oct 2007 05:29:01 +0000 (05:29 -0000)]
Filter atoms that come from sets when generating
the list of atoms to record in the world file.
svn path=/main/trunk/; revision=8288
Zac Medico [Thu, 25 Oct 2007 04:50:01 +0000 (04:50 -0000)]
For the global AUTOCLEAN, pass an empty list into unmerge()
so it behaves like it used to.
svn path=/main/trunk/; revision=8287
Zac Medico [Thu, 25 Oct 2007 02:52:54 +0000 (02:52 -0000)]
Spit out a depgraph._get_existing_pkg() method for getting an
existing Package instance added to the graph for a given SLOT.
svn path=/main/trunk/; revision=8286
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