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
Zac Medico [Wed, 10 Oct 2007 02:03:45 +0000 (02:03 -0000)]
Initialize the list of package repos inside the
depgraph constructor so it's always available.
svn path=/main/trunk/; revision=8034
Zac Medico [Tue, 9 Oct 2007 23:36:16 +0000 (23:36 -0000)]
Unify the masking reasons output so that the same code
path is used for both ebuilds and binary packages.
svn path=/main/trunk/; revision=8033
Marius Mauch [Tue, 9 Oct 2007 21:41:07 +0000 (21:41 -0000)]
document default sets
svn path=/main/trunk/; revision=8032
Marius Mauch [Tue, 9 Oct 2007 21:29:54 +0000 (21:29 -0000)]
add descriptions for dbapi set classes
svn path=/main/trunk/; revision=8031
Marius Mauch [Tue, 9 Oct 2007 21:26:01 +0000 (21:26 -0000)]
add description to security set handlers
svn path=/main/trunk/; revision=8030
Marius Mauch [Tue, 9 Oct 2007 20:48:28 +0000 (20:48 -0000)]
security sets actually have one option
svn path=/main/trunk/; revision=8029
Marius Mauch [Tue, 9 Oct 2007 20:13:46 +0000 (20:13 -0000)]
document all options
svn path=/main/trunk/; revision=8028
Marius Mauch [Tue, 9 Oct 2007 19:21:03 +0000 (19:21 -0000)]
Start documentation of set handler classes
svn path=/main/trunk/; revision=8025
Marius Mauch [Tue, 9 Oct 2007 18:55:33 +0000 (18:55 -0000)]
Exclude .metadata files in multi set configurations for StaticFileSet
svn path=/main/trunk/; revision=8021
Zac Medico [Tue, 9 Oct 2007 17:57:37 +0000 (17:57 -0000)]
Fix USE logic for built packages when populating the filtered repo.
svn path=/main/trunk/; revision=8017
Marius Mauch [Tue, 9 Oct 2007 17:43:26 +0000 (17:43 -0000)]
Replace hardcoded path with new constant
svn path=/main/trunk/; revision=8016
Zac Medico [Tue, 9 Oct 2007 15:46:11 +0000 (15:46 -0000)]
Fix InvalidDependString namespace and initialize USE before
visibility check.
svn path=/main/trunk/; revision=8015
Zac Medico [Tue, 9 Oct 2007 15:38:53 +0000 (15:38 -0000)]
When an ebuild has conditionals in it's LICENSE, calculate
USE before the visibility check.
svn path=/main/trunk/; revision=8014
Zac Medico [Tue, 9 Oct 2007 11:07:33 +0000 (11:07 -0000)]
In depgraph.xcreate(), installed packages are excluded
from the filtered tree. Clear out the history of atoms
so that they can be processed again to satisfy
dependencies with installed packages if necessary.
svn path=/main/trunk/; revision=8013
Zac Medico [Tue, 9 Oct 2007 10:06:55 +0000 (10:06 -0000)]
Bug #149816 - Implement visibility filtering support for
binary packages. This works by creating a virtual filtered
repository that can be composed of multiple package types,
including ebuilds, binary packages, and installed packages.
svn path=/main/trunk/; revision=8012
Zac Medico [Tue, 9 Oct 2007 09:28:29 +0000 (09:28 -0000)]
Make portdbapi.aux_get() cache more often.
svn path=/main/trunk/; revision=8011
Zac Medico [Tue, 9 Oct 2007 09:26:49 +0000 (09:26 -0000)]
Properly exclude old-style virtuals from the portdbapi.cp_list() cache.
svn path=/main/trunk/; revision=8010
Zac Medico [Tue, 9 Oct 2007 06:06:27 +0000 (06:06 -0000)]
Remove a redundant os.access() call in portdbapi.aux_get()
and handle the potential OSError instead.
svn path=/main/trunk/; revision=8009
Zac Medico [Tue, 9 Oct 2007 03:50:54 +0000 (03:50 -0000)]
Optimize away a match_from_list() call inside
portdbapi.xmatch("match-all") when given atom has no
operator or version. Also, make cp_list() use the
xmatch("match-all") cache when possible.
svn path=/main/trunk/; revision=8008
Zac Medico [Sun, 7 Oct 2007 23:04:52 +0000 (23:04 -0000)]
Factor package.mask and profile masking logic out of
portdbapi.visible() and move it to config.getMaskAtom()
and getProfileMaskAtom(). This will allow the code to
be reused for binary packages.
svn path=/main/trunk/; revision=8001
Zac Medico [Sun, 7 Oct 2007 22:24:39 +0000 (22:24 -0000)]
Cache IUSE for portdbapi.gvisible() calls.
svn path=/main/trunk/; revision=8000
Zac Medico [Sun, 7 Oct 2007 22:08:02 +0000 (22:08 -0000)]
Restore profile masking support to getmaskingstatus().
svn path=/main/trunk/; revision=7999
Zac Medico [Sun, 7 Oct 2007 21:55:35 +0000 (21:55 -0000)]
Allow config.setcpv() to take a dictionary of package metadata
in place of a dbapi instance so that extra cache pulls can be
avoided.
svn path=/main/trunk/; revision=7998
Zac Medico [Sun, 7 Oct 2007 21:46:34 +0000 (21:46 -0000)]
Factor the KEYWORDS masking logic out of portdbapi.visible()
and move it to config.getMissingEeywords(). This will allow
the code to be reused for binary packages.
svn path=/main/trunk/; revision=7997
Zac Medico [Sun, 7 Oct 2007 21:28:23 +0000 (21:28 -0000)]
Remove duplicate call to digestgen().
svn path=/main/trunk/; revision=7996
Zac Medico [Sun, 7 Oct 2007 21:25:02 +0000 (21:25 -0000)]
Move the "commit" mode manifest generation earlier in order
to avoid digest verification issues when FEATURES="strict"
is enabled.
svn path=/main/trunk/; revision=7995
Mike Frysinger [Sun, 7 Oct 2007 19:33:35 +0000 (19:33 -0000)]
add --debug option and display a message about skipping non-files so we dont get confusing loops where portage claims there are things to update but etc-update claims there are not
svn path=/main/trunk/; revision=7994
Mike Frysinger [Sun, 7 Oct 2007 19:16:50 +0000 (19:16 -0000)]
add standard --help/--version options
svn path=/main/trunk/; revision=7993
Mike Frysinger [Sun, 7 Oct 2007 19:06:49 +0000 (19:06 -0000)]
unify diff_command handling
svn path=/main/trunk/; revision=7992
Mike Frysinger [Sun, 7 Oct 2007 18:00:56 +0000 (18:00 -0000)]
add support for .lzma / .tar.lzma to unpack
svn path=/main/trunk/; revision=7991
Mike Frysinger [Sun, 7 Oct 2007 17:52:51 +0000 (17:52 -0000)]
add QA check for .pyc/.pyo files in /usr/share
svn path=/main/trunk/; revision=7990
Zac Medico [Sat, 6 Oct 2007 22:26:49 +0000 (22:26 -0000)]
Fix binarytree.populate() so that it properly caches
all the metadata necessary for visibility filtering.
svn path=/main/trunk/; revision=7989
Zac Medico [Sat, 6 Oct 2007 22:23:05 +0000 (22:23 -0000)]
In PackageIndex.write(), skip writing the CHOST for a
package entry if it's CHOST matches the header.
svn path=/main/trunk/; revision=7988
Zac Medico [Sat, 6 Oct 2007 22:02:10 +0000 (22:02 -0000)]
In PackageIndex.readBody(), make each package entry
inherit CHOST from the header.
svn path=/main/trunk/; revision=7987
Zac Medico [Sat, 6 Oct 2007 20:24:36 +0000 (20:24 -0000)]
Bug #194552 - Include EAPI in the binary package metadata index.
svn path=/main/trunk/; revision=7986
Zac Medico [Sat, 6 Oct 2007 19:19:43 +0000 (19:19 -0000)]
Fix package.license support so that SLOT atoms
will work.
svn path=/main/trunk/; revision=7985
Marius Mauch [Sat, 6 Oct 2007 16:30:29 +0000 (16:30 -0000)]
Handle Exceptions in mod_mail_summary.finalize() and check if the server actually supports TLS, bug #183808
svn path=/main/trunk/; revision=7984