portage.git
13 years agoMerge install_qa_check_prefix from prefix branch.
Zac Medico [Wed, 2 Nov 2011 01:47:56 +0000 (18:47 -0700)]
Merge install_qa_check_prefix from prefix branch.

13 years ago_profile_node: use collections.namedtuple v2.2.0_alpha72
Zac Medico [Sun, 30 Oct 2011 07:15:57 +0000 (00:15 -0700)]
_profile_node: use collections.namedtuple

13 years agonews.py: remove unused 'updates' variable
Zac Medico [Sun, 30 Oct 2011 07:08:22 +0000 (00:08 -0700)]
news.py: remove unused 'updates' variable

13 years ago_legacy_globals: fix grammar in comment
Zac Medico [Sun, 30 Oct 2011 06:52:42 +0000 (23:52 -0700)]
_legacy_globals: fix grammar in comment

13 years agoFix typos in comments.
Arfrever Frehtes Taifersar Arahesis [Sun, 30 Oct 2011 06:40:52 +0000 (07:40 +0100)]
Fix typos in comments.

13 years agogit_sync_timestamps: validation_chf == mtime
Zac Medico [Sun, 30 Oct 2011 06:20:53 +0000 (23:20 -0700)]
git_sync_timestamps: validation_chf == mtime

13 years agoegencache: tweak redundant write check condition
Zac Medico [Sun, 30 Oct 2011 05:24:58 +0000 (22:24 -0700)]
egencache: tweak redundant write check condition

We can use the raise_stat_collision attribute to determine when it is
necessary to check for redundant writes.

13 years agoenv_update: lstrip os.sep in join with eprefix
Zac Medico [Sun, 30 Oct 2011 00:25:42 +0000 (17:25 -0700)]
env_update: lstrip os.sep in join with eprefix

13 years agoportagetree: remove broken depcheck method
Zac Medico [Sat, 29 Oct 2011 23:52:06 +0000 (16:52 -0700)]
portagetree: remove broken depcheck method

It called dep_check without the required third argument.

13 years agoUse dbapi._known_keys more.
Zac Medico [Sat, 29 Oct 2011 23:43:21 +0000 (16:43 -0700)]
Use dbapi._known_keys more.

13 years agocache/template.__getitem__: filter INHERITED
Zac Medico [Sat, 29 Oct 2011 23:10:13 +0000 (16:10 -0700)]
cache/template.__getitem__: filter INHERITED

Never return INHERITED, since portdbapi.aux_get() will generate it
automatically from _eclasses_, and we want to omit it in comparisons
between cache entries like those that egencache uses to avoid redundant
writes (see commit 0e120da008c9d0d41c9372c81145c6e153028a6d).

13 years agoaction_metadata: clean up src entry validation
Zac Medico [Sat, 29 Oct 2011 22:43:35 +0000 (15:43 -0700)]
action_metadata: clean up src entry validation

This eliminates a bunch of redundant eclasses code that we handle with
template.validate_entry() instead.

13 years agoEbuildMetadataPhase: use /dev/null for stdin
Zac Medico [Sat, 29 Oct 2011 21:41:38 +0000 (14:41 -0700)]
EbuildMetadataPhase: use /dev/null for stdin

13 years agoactions.py: remove unused variables
Zac Medico [Sat, 29 Oct 2011 21:31:00 +0000 (14:31 -0700)]
actions.py: remove unused variables

13 years agoaction_metadata: use auxdbkeys to compare entries
Zac Medico [Sat, 29 Oct 2011 20:55:07 +0000 (13:55 -0700)]
action_metadata: use auxdbkeys to compare entries

This borrows the approach that egencache uses since commit
0e120da008c9d0d41c9372c81145c6e153028a6d.

13 years agoegencache: avoid redundant md5-dict writes
Zac Medico [Sat, 29 Oct 2011 20:36:23 +0000 (13:36 -0700)]
egencache: avoid redundant md5-dict writes

The pms cache already does this automatically, since __setitem__ calls
are used to detect stat collisions in order to solve bug #139134.

13 years agoegencache: ensure correct porttrees
Zac Medico [Sat, 29 Oct 2011 19:38:51 +0000 (12:38 -0700)]
egencache: ensure correct porttrees

The GenCache class assumes that portdb.porttrees[0] is the desired
tree, so assert that it is true. The behavior should have already been
correct, since PORTDIR_OVERLAY was already set to an empty string when
necessary.

13 years agoegencache: fix StatCollision handling breakage
Zac Medico [Sat, 29 Oct 2011 18:56:14 +0000 (11:56 -0700)]
egencache: fix StatCollision handling breakage

This has been broken since the _eclasses_ structure changed in commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.

13 years agoegencache: update ebuild_hash.mtime after utime
Zac Medico [Sat, 29 Oct 2011 18:33:27 +0000 (11:33 -0700)]
egencache: update ebuild_hash.mtime after utime

13 years agoemerge --metadata: support md5-dict
Zac Medico [Sat, 29 Oct 2011 17:48:30 +0000 (10:48 -0700)]
emerge --metadata: support md5-dict

This adds support to action_metadata() for use of arbitrary validation
methods, which were introduced in commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.

13 years agoman/portage.5: profile-formats example
Zac Medico [Sat, 29 Oct 2011 08:16:11 +0000 (01:16 -0700)]
man/portage.5: profile-formats example

13 years agoman/portage.5: cache-formats example
Zac Medico [Sat, 29 Oct 2011 08:11:09 +0000 (01:11 -0700)]
man/portage.5: cache-formats example

13 years agoegencache: multiple cache-formats support
Zac Medico [Sat, 29 Oct 2011 07:59:02 +0000 (00:59 -0700)]
egencache: multiple cache-formats support

If layout.conf contains "cache-formats = md5-dict pms", egencache will
now write both formats.

13 years agogit_sync_timestamps: fix breakage
Zac Medico [Sat, 29 Oct 2011 06:57:29 +0000 (23:57 -0700)]
git_sync_timestamps: fix breakage

This has been broken since metadbmodule support was removed in commit
d4ea29bf6a3ce35d49e0f54f9173e3a6e42da2d6.

13 years agoRepoConfig: add iter_pregenerated_caches method
Zac Medico [Sat, 29 Oct 2011 06:15:21 +0000 (23:15 -0700)]
RepoConfig: add iter_pregenerated_caches method

This will be used by egencache to generate cache for all supported
formats.

13 years agoquickpkg: fix regression in hardlink support
Zac Medico [Sat, 29 Oct 2011 05:35:01 +0000 (22:35 -0700)]
quickpkg: fix regression in hardlink support

Hardlink support has been broken since commit
4198da0184aaec30c41f2e5d2c7af71c4d35b662, which omitted the hardlink
logic from TarFile.gettarinfo().

13 years agoFix an issue where emerge will abort when merge starts if we have a file in our Manif...
Daniel Robbins [Sat, 29 Oct 2011 04:06:00 +0000 (04:06 +0000)]
Fix an issue where emerge will abort when merge starts if we have a file in our Manifest that does not exist on disk, even with thin-manifest enabled.

13 years agoDeprecate unused 'virtual' constructor parameters
Zac Medico [Sat, 29 Oct 2011 04:17:11 +0000 (21:17 -0700)]
Deprecate unused 'virtual' constructor parameters

13 years ago_trees_dict: define __slots__
Zac Medico [Sat, 29 Oct 2011 03:34:34 +0000 (20:34 -0700)]
_trees_dict: define __slots__

13 years agoportageq: refer to <eroot> instead of <root>
Zac Medico [Sat, 29 Oct 2011 03:26:18 +0000 (20:26 -0700)]
portageq: refer to <eroot> instead of <root>

Since commit a715b65f7bd36409c1283e6911265d1f4405ab7a, portageq takes
EROOT as the first argument of commands that require a root argument.
So, update the docs to refer to <eroot> instead of <root>.

13 years agoUse EROOT to validate path arguments.
Zac Medico [Sat, 29 Oct 2011 03:20:29 +0000 (20:20 -0700)]
Use EROOT to validate path arguments.

13 years agoUse any() instead of list(filter()).
Zac Medico [Sat, 29 Oct 2011 03:10:23 +0000 (20:10 -0700)]
Use any() instead of list(filter()).

13 years agoUse bytes instead of unicode with isinstance.
Zac Medico [Sat, 29 Oct 2011 00:12:11 +0000 (17:12 -0700)]
Use bytes instead of unicode with isinstance.

This is preferred since the bytes type is available in all supported
python versions, while the unicode type is only available in python2.

13 years agoResolverPlayground: remove unused root attribute
Zac Medico [Fri, 28 Oct 2011 22:20:35 +0000 (15:20 -0700)]
ResolverPlayground: remove unused root attribute

13 years agoconfig: discard profiles_complex attribute
Zac Medico [Fri, 28 Oct 2011 22:06:50 +0000 (15:06 -0700)]
config: discard profiles_complex attribute

Like LocationsManager, it's only used in the constructor, so there's
no need to hold a reference after the constructor completes.

13 years agoCheck for bytes instead of unicode in args.
Zac Medico [Fri, 28 Oct 2011 20:13:07 +0000 (13:13 -0700)]
Check for bytes instead of unicode in args.

This simplifies the checks since the bytes type is available in all
supported python versions, while the unicode type is only available in
python2.

13 years agoquickpkg: fix unicode for bug #388773
Zac Medico [Fri, 28 Oct 2011 18:03:02 +0000 (11:03 -0700)]
quickpkg: fix unicode for bug #388773

13 years agoSetConfig: use read_file/readfp for unicode
Zac Medico [Fri, 28 Oct 2011 07:21:05 +0000 (00:21 -0700)]
SetConfig: use read_file/readfp for unicode

13 years agoRepoConfigLoader: python3.2 readfp deprecation
Zac Medico [Fri, 28 Oct 2011 07:17:25 +0000 (00:17 -0700)]
RepoConfigLoader: python3.2 readfp deprecation

13 years agoRepoConfigLoader: use readfp for unicode
Zac Medico [Fri, 28 Oct 2011 06:48:44 +0000 (23:48 -0700)]
RepoConfigLoader: use readfp for unicode

13 years agoRepoConfigLoader: sort layout.conf attributes
Zac Medico [Fri, 28 Oct 2011 06:20:26 +0000 (23:20 -0700)]
RepoConfigLoader: sort layout.conf attributes

13 years agoRepoConfigLoader: support incremental aliases
Zac Medico [Fri, 28 Oct 2011 06:17:19 +0000 (23:17 -0700)]
RepoConfigLoader: support incremental aliases

This allows a user to discard unwanted aliases that are specified in
a repo's layout.conf.

13 years agoRepoConfigLoader: comment on masters override
Zac Medico [Fri, 28 Oct 2011 05:38:31 +0000 (22:38 -0700)]
RepoConfigLoader: comment on masters override

13 years agoRepoConfig.update(): getattr/setattr loop
Zac Medico [Fri, 28 Oct 2011 05:30:34 +0000 (22:30 -0700)]
RepoConfig.update(): getattr/setattr loop

13 years agoparse_layout_conf: comment on masters fallback
Zac Medico [Fri, 28 Oct 2011 05:14:51 +0000 (22:14 -0700)]
parse_layout_conf: comment on masters fallback

13 years agoFix profile-formats spelling in messages.
Zac Medico [Fri, 28 Oct 2011 04:55:28 +0000 (21:55 -0700)]
Fix profile-formats spelling in messages.

13 years agoMaskManager: portage-1-compat warnings.warn
Zac Medico [Fri, 28 Oct 2011 02:48:16 +0000 (19:48 -0700)]
MaskManager: portage-1-compat warnings.warn

13 years agostacklevel=3 for properties warnings
Zac Medico [Fri, 28 Oct 2011 02:32:49 +0000 (19:32 -0700)]
stacklevel=3 for properties warnings

There's an extra level for the @property wrapper.

13 years agoFix mydcfg from last commit.
Zac Medico [Fri, 28 Oct 2011 02:15:34 +0000 (19:15 -0700)]
Fix mydcfg from last commit.

13 years agoconfig: remove cruft
Zac Medico [Fri, 28 Oct 2011 02:04:25 +0000 (19:04 -0700)]
config: remove cruft

The mygcfg and packages_list attributes are both useless.

13 years agograb_pmask: use local repo_config reference
Zac Medico [Fri, 28 Oct 2011 01:45:19 +0000 (18:45 -0700)]
grab_pmask: use local repo_config reference

The previous code worked, but it looked wrong because it was using the
'repo' variable from the parent scope.

13 years agoFix missed ROOT -> EROOT changes.
Zac Medico [Fri, 28 Oct 2011 01:17:55 +0000 (18:17 -0700)]
Fix missed ROOT -> EROOT changes.

These go along with commit a715b65f7bd36409c1283e6911265d1f4405ab7a.

13 years agocreate_trees: ensure trees is _trees_dict type
Zac Medico [Fri, 28 Oct 2011 00:53:51 +0000 (17:53 -0700)]
create_trees: ensure trees is _trees_dict type

13 years agoLocationsManager: extensible _profile_node object
Zac Medico [Thu, 27 Oct 2011 20:49:40 +0000 (13:49 -0700)]
LocationsManager: extensible _profile_node object

Use immutable object attrubutes instead of tuples, for extensibility.

13 years agoparse_layout_conf: grab repo_name for error msgs
Zac Medico [Thu, 27 Oct 2011 19:41:42 +0000 (12:41 -0700)]
parse_layout_conf: grab repo_name for error msgs

This allows us to avoid duplicate warnings for 'unspecified' repo since
parse_layout_conf is initially called without specifying the repo in
LocationsManager.load_profiles().

13 years agoFix profile-formats spelling in messages.
Zac Medico [Thu, 27 Oct 2011 19:02:26 +0000 (12:02 -0700)]
Fix profile-formats spelling in messages.

13 years agoLocationsManager._addProfile: realpath parents
Zac Medico [Thu, 27 Oct 2011 18:49:20 +0000 (11:49 -0700)]
LocationsManager._addProfile: realpath parents

If it seems that a parent may point outside of the current repo,
realpath it.

13 years agoLocationsManager.load_profiles: realpath repos
Zac Medico [Thu, 27 Oct 2011 18:29:33 +0000 (11:29 -0700)]
LocationsManager.load_profiles: realpath repos

Since we already call realpath on make.profile, we also need to call
realpath on the repo paths that we compare its nodes to.

13 years agoLocationsManager: portage-1-compat warnings.warn
Zac Medico [Thu, 27 Oct 2011 17:22:33 +0000 (10:22 -0700)]
LocationsManager: portage-1-compat warnings.warn

13 years agoparse_layout_conf: fix profile-formats warning
Zac Medico [Thu, 27 Oct 2011 17:10:53 +0000 (10:10 -0700)]
parse_layout_conf: fix profile-formats warning

13 years agofix previous commit to call ensure_dirs
Zac Medico [Thu, 27 Oct 2011 16:46:04 +0000 (09:46 -0700)]
fix previous commit to call ensure_dirs

13 years agoRun pkg_pretend in PORTAGE_TMPDIR for bug #388593
Zac Medico [Thu, 27 Oct 2011 16:31:33 +0000 (09:31 -0700)]
Run pkg_pretend in PORTAGE_TMPDIR for bug #388593

13 years agorepoman: add opts and repo config debug output
Zac Medico [Thu, 27 Oct 2011 05:55:42 +0000 (22:55 -0700)]
repoman: add opts and repo config debug output

13 years agorepoman: add opts and repo config debug output
Zac Medico [Thu, 27 Oct 2011 05:52:04 +0000 (22:52 -0700)]
repoman: add opts and repo config debug output

13 years agoparse_layout_conf: fix inverted update-changelog
Zac Medico [Thu, 27 Oct 2011 05:32:34 +0000 (22:32 -0700)]
parse_layout_conf: fix inverted update-changelog

The logic got inverted when parse_layout_conf was split out in commit
0be173a54a5248cfd70a3543d7099d2dd3ee254b.

13 years agoRepoConfigLoader: redundant cache_formats setting
Zac Medico [Thu, 27 Oct 2011 05:09:19 +0000 (22:09 -0700)]
RepoConfigLoader: redundant cache_formats setting

There's a loop that already handles this via setattr.

13 years agoman/make.conf.5: mention LINGUAS in USE_ORDER doc
Zac Medico [Thu, 27 Oct 2011 04:43:25 +0000 (21:43 -0700)]
man/make.conf.5: mention LINGUAS in USE_ORDER doc

The reason for env.d being in USE_ORDER is not really obvious, so
mention LINGUAS as an example (from bug #187016).

13 years agoAdd emerge --check-news for bug #388233.
Zac Medico [Thu, 27 Oct 2011 04:22:26 +0000 (21:22 -0700)]
Add emerge --check-news for bug #388233.

13 years agoAdd public news functions for bug #388233.
Zac Medico [Thu, 27 Oct 2011 03:13:12 +0000 (20:13 -0700)]
Add public news functions for bug #388233.

count_unread_news(portdb, vardb, repos=None, update=True)
display_news_notifications(news_counts)

13 years agoman/make.conf.5: elaborate on prelink-checksums
Martin von Gagern [Wed, 26 Oct 2011 21:59:14 +0000 (14:59 -0700)]
man/make.conf.5: elaborate on prelink-checksums

13 years agoBug #388615 - optimize FEATURES=prelink-checksums
Martin von Gagern [Wed, 26 Oct 2011 21:49:36 +0000 (14:49 -0700)]
Bug #388615 - optimize FEATURES=prelink-checksums

Only spawn prelink if the file has an ELF header.

13 years agoUpdateChangeLog: sort files
Zac Medico [Wed, 26 Oct 2011 18:13:27 +0000 (11:13 -0700)]
UpdateChangeLog: sort files

13 years agolayout.conf: rename cache_format to cache_formats
Zac Medico [Tue, 25 Oct 2011 22:52:59 +0000 (15:52 -0700)]
layout.conf: rename cache_format to cache_formats

We read layout.conf cache-formats from left to right and use the first
supported type that's found. This will allow support for multiple
formats in parallel, providing for smooth transitions between formats.

13 years agoadd profile-formats portage-1 awareness and enforcement
Brian Harring [Tue, 25 Oct 2011 05:41:17 +0000 (22:41 -0700)]
add profile-formats portage-1 awareness and enforcement

Currently it just spits warnings for implicit portage-1 format usage;
down the line, this will be converted into an explicit error.

For repo's that configure themselves as portage-1 or pms explicitly, enforce
it.

13 years agolayout.conf: add profile-format awareness
Brian Harring [Tue, 25 Oct 2011 05:40:16 +0000 (22:40 -0700)]
layout.conf: add profile-format awareness

Note the portage-1-compat mode; this isn't settable externally, is
purely an internal mode for tracking if a repository is in portage-1
compat mode, rather than explicit portage-1 mode.

This compat mode will be removed once portage becomes strict.

13 years agoTrack profile format, and if compatibility mode is in use.
Brian Harring [Tue, 25 Oct 2011 05:37:34 +0000 (22:37 -0700)]
Track profile format, and if compatibility mode is in use.

Warn if the profile is using portage-1 format, but isn't marked as such.

13 years agosplit out layout.conf parsing so it's usable elsewhere
Brian Harring [Tue, 25 Oct 2011 00:38:33 +0000 (17:38 -0700)]
split out layout.conf parsing so it's usable elsewhere

13 years agoruntests.sh: fix arguments pass-through
Zac Medico [Tue, 25 Oct 2011 19:52:40 +0000 (12:52 -0700)]
runtests.sh: fix arguments pass-through

13 years agotest_config: test PORTDIR default masters
Zac Medico [Tue, 25 Oct 2011 16:41:15 +0000 (09:41 -0700)]
test_config: test PORTDIR default masters

13 years agoexpand_new_virt: fix vardbapi.root reference
Zac Medico [Tue, 25 Oct 2011 14:51:26 +0000 (07:51 -0700)]
expand_new_virt: fix vardbapi.root reference

13 years agoUse EROOT instead of ROOT for keys everywhere.
Zac Medico [Tue, 25 Oct 2011 08:59:39 +0000 (01:59 -0700)]
Use EROOT instead of ROOT for keys everywhere.

It makes more sense to use EROOT instead of ROOT for keys in mappings
like portage.db, since it allows for multiple prefixes to exist
simultaneously within the same map without having a key collision.
This affects all portageq commands which take a <root> parameter, since
that parameter now corresponds to EROOT instead of ROOT. None of this
makes any difference for non-prefix users, since EROOT and ROOT are
identical when EPREFIX is empty.

13 years agocreate_trees: save target_root for later use
Zac Medico [Tue, 25 Oct 2011 08:25:24 +0000 (01:25 -0700)]
create_trees: save target_root for later use

13 years agoResolverPlayground: use create_trees
Zac Medico [Tue, 25 Oct 2011 08:09:26 +0000 (01:09 -0700)]
ResolverPlayground: use create_trees

13 years agoruntests.sh: add --python-versions option
Zac Medico [Tue, 25 Oct 2011 06:42:51 +0000 (23:42 -0700)]
runtests.sh: add --python-versions option

13 years agotests/emerge: test pkg_config and pkg_info
Zac Medico [Tue, 25 Oct 2011 06:27:58 +0000 (23:27 -0700)]
tests/emerge: test pkg_config and pkg_info

13 years agoRemove unused root parameters from doebuild calls
Zac Medico [Tue, 25 Oct 2011 06:18:42 +0000 (23:18 -0700)]
Remove unused root parameters from doebuild calls

13 years agotests/emerge: test file owner lookup
Zac Medico [Tue, 25 Oct 2011 00:15:51 +0000 (17:15 -0700)]
tests/emerge: test file owner lookup

13 years agodoebuid: deprecate redundant "root" parameter
Zac Medico [Mon, 24 Oct 2011 22:26:35 +0000 (15:26 -0700)]
doebuid: deprecate redundant "root" parameter

13 years agodeprecate "root" attributes
Zac Medico [Mon, 24 Oct 2011 17:54:48 +0000 (10:54 -0700)]
deprecate "root" attributes

In preparation for prefix support, were EROOT will be used in place of
ROOT in many places, deprecate unnecessary "root" attributes in order
to eliminate them as a possible source of confusion.

13 years agotest_global_updates: test move with operator v2.2.0_alpha71
Zac Medico [Sun, 23 Oct 2011 22:23:25 +0000 (15:23 -0700)]
test_global_updates: test move with operator

13 years agotest_global_updates: add missing Atom constructor
Zac Medico [Sun, 23 Oct 2011 22:17:10 +0000 (15:17 -0700)]
test_global_updates: add missing Atom constructor

13 years agotest bug #388187
Zac Medico [Sun, 23 Oct 2011 22:15:34 +0000 (15:15 -0700)]
test bug #388187

13 years agoman/repoman.1: reference changelog/layout.conf
Zac Medico [Sun, 23 Oct 2011 21:12:40 +0000 (14:12 -0700)]
man/repoman.1: reference changelog/layout.conf

13 years agoSkip global updates prior to sync (called after).
Zac Medico [Sun, 23 Oct 2011 18:51:43 +0000 (11:51 -0700)]
Skip global updates prior to sync (called after).

13 years agoparse_updates: filter invalid for bug #388187
Zac Medico [Sun, 23 Oct 2011 18:31:05 +0000 (11:31 -0700)]
parse_updates: filter invalid for bug #388187

13 years agoman/portage.5: layout.conf update-changelog v2.2.0_alpha70
Zac Medico [Fri, 21 Oct 2011 08:50:06 +0000 (01:50 -0700)]
man/portage.5: layout.conf update-changelog

13 years agoUpdateChangeLog: tweak clold_lines logic
Zac Medico [Fri, 21 Oct 2011 08:11:32 +0000 (01:11 -0700)]
UpdateChangeLog: tweak clold_lines logic

There are two cases here that have to be mutually exclusive.

13 years agoupdate_copyright: make pretend a keyword arg
Zac Medico [Fri, 21 Oct 2011 07:37:32 +0000 (00:37 -0700)]
update_copyright: make pretend a keyword arg

13 years ago_update_copyright_year: optimize no-match case
Zac Medico [Fri, 21 Oct 2011 07:19:48 +0000 (00:19 -0700)]
_update_copyright_year: optimize no-match case

13 years agoupdate_copyright: process files as raw bytes
Zac Medico [Fri, 21 Oct 2011 07:06:32 +0000 (00:06 -0700)]
update_copyright: process files as raw bytes

This function will work correctly with files encoded in any character
set, as long as the copyright statements consist of plain ASCII.