Zac Medico [Wed, 30 May 2012 23:56:33 +0000 (16:56 -0700)]
InheritEclass: support subclass inherited_api
Zac Medico [Wed, 30 May 2012 23:20:27 +0000 (16:20 -0700)]
InheritEclass: move eclass info to a dict
This handles the info more like it will be handled when we parse it
directly from eclasses.
Zac Medico [Wed, 30 May 2012 22:36:31 +0000 (15:36 -0700)]
Use any() to optimize intersection operations.
Zac Medico [Wed, 30 May 2012 20:25:08 +0000 (13:25 -0700)]
_wildcard_set: specify allow_repo=False
This make is behave as it did prior to the change in Atom constructor
behavior in commit
587cce4816afc7d57b3edf0be6c0670ec0be89c9.
Arfrever Frehtes Taifersar Arahesis [Wed, 30 May 2012 00:40:15 +0000 (02:40 +0200)]
portage.dep.Atom: Ignore allow_repo argument when non-None eapi is passed.
Allow repository when allow_repo=False is not passed and eapi=None is passed.
Mike Frysinger [Wed, 23 May 2012 19:06:19 +0000 (15:06 -0400)]
repoman: add a mini framework for checking eclasses, and fill it out
Rather than copying & pasting the same behavior for the different eclass
checks, add a common class for them to extend. This makes adding more
eclass checks trivial, and keeps down bitrot.
This does abuse the checking interface slightly -- the eclass will change
its category between unused and missing based on the checks.
URL: https://bugs.gentoo.org/417159
URL: https://bugs.gentoo.org/417231
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Thu, 24 May 2012 04:05:30 +0000 (00:05 -0400)]
repoman: unroll escaped lines so we can check the entirety of it
Sometimes people wrap long lines in their ebuilds to make it easier to
read, but this causes us issues when doing line-by-line checking. So
automatically unroll those lines before passing the full content down
to our checkers.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Thu, 24 May 2012 19:06:11 +0000 (12:06 -0700)]
reconstruct_eclasses: unicode hashes for python2
Mike Frysinger [Thu, 24 May 2012 03:48:16 +0000 (23:48 -0400)]
repoman: tweak elif vcs check style to be consistent
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Wed, 23 May 2012 18:59:45 +0000 (11:59 -0700)]
validate_entry: handle KeyError for bug #417253
This error is triggered by corrupt cache entries.
Zac Medico [Thu, 17 May 2012 00:22:18 +0000 (17:22 -0700)]
Profile parent repo: references for bug #414961.
If "profile-formats = portage-2" is specified in metadata/layout.conf,
then paths such as 'gentoo:targets/desktop' or ':targets/desktop' in
profile parent files can be used to express paths relative to the root
'profiles' directory of a repository. When the repo name is omitted
before the colon, it refers to the current repository that the parent
file is inside of.
Zac Medico [Thu, 17 May 2012 20:20:48 +0000 (13:20 -0700)]
movefile: fix abs symlink adjustment, bug #416431
László Szalma [Thu, 17 May 2012 20:07:52 +0000 (13:07 -0700)]
merge: fix abs symlink adjustment, bug #416431
Zac Medico [Wed, 16 May 2012 23:57:58 +0000 (16:57 -0700)]
getconfig: only raise ParseError
Zac Medico [Wed, 16 May 2012 20:47:26 +0000 (13:47 -0700)]
RepoConfig: cleanup portage1_profiles code
Zac Medico [Wed, 16 May 2012 20:02:47 +0000 (13:02 -0700)]
FEATURES=config-protect-if-modified by default.
The plan is to send out a GLEP 42 news item for this before it goes to
stable, as discussed here:
http://archives.gentoo.org/gentoo-dev/msg_7fe557809defad4faca2ee5c6e52d134.xml
Zac Medico [Wed, 16 May 2012 19:44:15 +0000 (12:44 -0700)]
_eapi_invalid: elog permission issue, bug #416231
Zac Medico [Wed, 16 May 2012 04:54:58 +0000 (21:54 -0700)]
config: fix /etc/portage/make.profile error msg
Zac Medico [Wed, 16 May 2012 00:06:38 +0000 (17:06 -0700)]
getconfig: use shlex.error_leader() more
This fixes it to show the correct file/line, even when one file sources
another.
Zac Medico [Mon, 14 May 2012 23:56:20 +0000 (16:56 -0700)]
bintree: validate remove cpv more
Zac Medico [Mon, 14 May 2012 22:50:31 +0000 (15:50 -0700)]
prepstrip: fix installsources breakage
The debug.sources path changed in commit
4941c3c674400116f118a9c75b520c3fd1a25490.
Zac Medico [Mon, 14 May 2012 22:38:00 +0000 (15:38 -0700)]
prepstrip: fix hardlink race in process_elf
Zac Medico [Mon, 14 May 2012 20:53:36 +0000 (13:53 -0700)]
prepstrip: fix hardlink handling for subshells
Mike Frysinger [Mon, 14 May 2012 18:20:15 +0000 (14:20 -0400)]
prepstrip: make splitdebug/installsources parallel safe
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 May 2012 18:19:25 +0000 (14:19 -0400)]
prepstrip: tweak style and document helper funcs a bit
Mostly make sure we be consistent with ${var} rather than $var.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 May 2012 17:35:46 +0000 (13:35 -0400)]
prepstrip: run the log parsing in parallel to file stripping
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 14 May 2012 17:35:29 +0000 (13:35 -0400)]
multijob_post_fork: simpler handling of return value
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Mon, 14 May 2012 18:48:41 +0000 (11:48 -0700)]
depgraph: send output to stderr when appropriate
This also removes the stderr -> stdout redirect from display_problems,
since the app-portage/autounmask program is no longer supported, and
that will fix bug #406867.
Zac Medico [Mon, 14 May 2012 08:42:12 +0000 (01:42 -0700)]
prepstrip: wait for Pre-stripped check to finish
Zac Medico [Mon, 14 May 2012 08:29:40 +0000 (01:29 -0700)]
prepstrip: disable parallel for splitdebug, etc..
Zac Medico [Mon, 14 May 2012 08:00:29 +0000 (01:00 -0700)]
multijob_post_fork: return child status
Zac Medico [Mon, 14 May 2012 06:54:41 +0000 (23:54 -0700)]
Atom: use a single _get_atom_re() call
Zac Medico [Mon, 14 May 2012 06:28:41 +0000 (23:28 -0700)]
BlockerCache: use _unicode() for pickled atoms
Zac Medico [Mon, 14 May 2012 05:29:40 +0000 (22:29 -0700)]
Split out _hide_url_passwd() and use it more.
Zac Medico [Mon, 14 May 2012 05:01:51 +0000 (22:01 -0700)]
binhost: http auth for python3 (bug #413983)
This uses the code from commit
58a8cd1bb943522bc53d02c008ee8eff798bfaaa
as a fallback for python3 when the default urlopen function fails. This
has been tested and is known to work with thttpd password
authentication (it works unencrypted and also when encrypted with
stunnel).
Zac Medico [Mon, 14 May 2012 03:29:07 +0000 (20:29 -0700)]
getbinpkg: fix base64 usage for python3
Zac Medico [Mon, 14 May 2012 03:18:08 +0000 (20:18 -0700)]
tbz2.scan: use finally to close file
Zac Medico [Mon, 14 May 2012 01:53:50 +0000 (18:53 -0700)]
Revert "Bug #413983: Add portage.util.urlopen(), which transparently handles authentication in the way compatible with Python 3."
This reverts commit
0a9cc38a66ded0cf0e5b534cb24b970fc9c21920. As
reported in bug #415579, that commit broke FTP authentication.
Zac Medico [Mon, 14 May 2012 01:23:53 +0000 (18:23 -0700)]
glsa: use _pkg_str + vercmp, not pkgcmp
Zac Medico [Mon, 14 May 2012 01:02:11 +0000 (18:02 -0700)]
_sets/security: use _pkg_str + vercmp, not pkgcmp
Zac Medico [Mon, 14 May 2012 00:51:40 +0000 (17:51 -0700)]
_sets/dbapi: use _pkg_str + vercmp, not pkgcmp
Zac Medico [Mon, 14 May 2012 00:46:44 +0000 (17:46 -0700)]
portdbapi: don't convert _pkg_str to str
Zac Medico [Mon, 14 May 2012 00:29:36 +0000 (17:29 -0700)]
dblink: use _pkg_str + vercmp, not pkgcmp
Zac Medico [Mon, 14 May 2012 00:08:17 +0000 (17:08 -0700)]
dep_check: use _pkg_str + vercmp, not pkgcmp
Zac Medico [Sun, 13 May 2012 23:40:29 +0000 (16:40 -0700)]
_pkg_str: validate repo (move code from Package)
Zac Medico [Sun, 13 May 2012 22:35:16 +0000 (15:35 -0700)]
unmerge: use cpv_sort_key instead of pkgcmp
Zac Medico [Sun, 13 May 2012 22:30:31 +0000 (15:30 -0700)]
_pkg_str: make version -r0 consistent with input
Zac Medico [Sun, 13 May 2012 22:15:57 +0000 (15:15 -0700)]
cpv_sort_key: use _pkg_str
Zac Medico [Sun, 13 May 2012 21:43:21 +0000 (14:43 -0700)]
repoman: simplify ebuild sort code
Zac Medico [Sun, 13 May 2012 21:42:08 +0000 (14:42 -0700)]
egencache: use vercmp instead of pkgcmp
Zac Medico [Sun, 13 May 2012 20:36:59 +0000 (13:36 -0700)]
best_match_to_list: use _pkg_str
Zac Medico [Sun, 13 May 2012 20:21:55 +0000 (13:21 -0700)]
match_from_list: avoid multiple meanings of mycpv
Zac Medico [Sun, 13 May 2012 20:10:52 +0000 (13:10 -0700)]
cpvequal: use _pkg_str
Zac Medico [Sun, 13 May 2012 19:49:41 +0000 (12:49 -0700)]
_pms_eapi_re: require whitespace before comment
See discussion on gentoo-pms mailing list here:
http://archives.gentoo.org/gentoo-pms/msg_1f76a55d04b4f2a3721cddc611434aad.xml
Zac Medico [Sun, 13 May 2012 09:31:15 +0000 (02:31 -0700)]
match_from_list: preserve input in result
This fixes an unintended change in behavior from commit
f31320b67c9f593a2a8592e1a4e547f5f641943a.
Zac Medico [Sun, 13 May 2012 09:05:14 +0000 (02:05 -0700)]
Use _pkg_str.version more.
Zac Medico [Sun, 13 May 2012 08:44:07 +0000 (01:44 -0700)]
Don't cache vercmp results.
It's probably not very helpful to cache vercmp results, since identical
version comparisons probably don't recur very often.
Zac Medico [Sun, 13 May 2012 08:36:25 +0000 (01:36 -0700)]
_pkg_str: add version attribute for comparisons
This attribute can be passed directly into vercmp, avoiding the need to
generate this string many times.
Zac Medico [Sun, 13 May 2012 07:32:04 +0000 (00:32 -0700)]
depgraph: minimize match_from_list operations
In _iter_match_pkgs, call match_from_list on one cpv at a time, in
order to avoid unnecessary match_from_list comparisons on versions that
are never yielded from this method.
Zac Medico [Sun, 13 May 2012 06:23:35 +0000 (23:23 -0700)]
SimpleResolverTestCase: handle PYTHONHASHSEED
Zac Medico [Sun, 13 May 2012 01:07:29 +0000 (18:07 -0700)]
_pkg_str: add slot and repo attributes
Zac Medico [Sat, 12 May 2012 23:27:32 +0000 (16:27 -0700)]
match_from_list: handle Package.UNKNOWN_REPO
Zac Medico [Sat, 12 May 2012 22:57:03 +0000 (15:57 -0700)]
_pkg_str: add cpv attribute for match_from_list
Arfrever Frehtes Taifersar Arahesis [Sat, 12 May 2012 22:30:46 +0000 (00:30 +0200)]
Check type of xml.etree.ElementTree.TreeBuilder before applying
workaround for http://bugs.python.org/issue14007.
Zac Medico [Sat, 12 May 2012 22:16:23 +0000 (15:16 -0700)]
test_digraph: fix get_cycles for PYTHONHASHSEED
Zac Medico [Sat, 12 May 2012 21:11:32 +0000 (14:11 -0700)]
test_digraph: fix bfs for PYTHONHASHSEED=random
Zac Medico [Sat, 12 May 2012 19:27:17 +0000 (12:27 -0700)]
test_stackLists: fix for PYTHONHASHSEED="random"
Arfrever Frehtes Taifersar Arahesis [Sat, 12 May 2012 16:25:16 +0000 (18:25 +0200)]
Add workaround for bugs.python.org/issue14007.
Zac Medico [Sat, 12 May 2012 09:25:39 +0000 (02:25 -0700)]
Add a _pkg_str class to cache catpkgsplit results
This will compensate for the removal of the catpkgsplit cache in commit
68888b0450b1967cb70673a5f06b04c167ef879c.
Zac Medico [Sat, 12 May 2012 07:36:15 +0000 (00:36 -0700)]
catpkgsplit: don't cache results
The cache has been subtly broken since commit
eb2056631021a04b62c228206e44376f5c7a81ba when the eapi parameter was
added. If necessary, we can add a cpv class (or something like that) in
order to avoid redundant catpkgsplit calls in places like
match_from_list.
Mike Frysinger [Fri, 11 May 2012 16:36:22 +0000 (12:36 -0400)]
prepstrip/ecompressdir: parallelize operations
Stealing some ideas from ferringb, add a new API for doing parallel
processing in bash, and then deploy this with the stripping and
compressing stages.
For stripping coreutils which has about 100 ELFs, this brings time
to strip down from ~7 seconds to ~0.7 seconds on my system.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Arfrever Frehtes Taifersar Arahesis [Sat, 12 May 2012 04:07:12 +0000 (06:07 +0200)]
Add portage.eapi.eapi_allows_dots_in_use_flags().
Arfrever Frehtes Taifersar Arahesis [Sat, 12 May 2012 03:58:38 +0000 (05:58 +0200)]
Allow dots in package names in EAPI="4-python".
Zac Medico [Sat, 12 May 2012 01:34:36 +0000 (18:34 -0700)]
Fix handling of empty PORTDIR{,_OVERLAY} setting.
Zac Medico [Fri, 11 May 2012 23:39:06 +0000 (16:39 -0700)]
Cleanup profile-formats code.
Zac Medico [Fri, 11 May 2012 23:28:05 +0000 (16:28 -0700)]
RepoConfig: sort __slots__
Zac Medico [Fri, 11 May 2012 23:17:32 +0000 (16:17 -0700)]
Avoid redundant layout.conf parsing.
By passing the RepoConfigLoader instance into LocationsManager, we can
re-use previously parsed layout.conf data. The RepoConfigLoader
instance will also be useful for bug #414961.
Zac Medico [Fri, 11 May 2012 22:53:50 +0000 (15:53 -0700)]
config: load repositories before profile
This is useful for bug #414961, since we want to have access to the
repositories when we're loading the profile.
Zac Medico [Fri, 11 May 2012 21:49:29 +0000 (14:49 -0700)]
config: propagate SYNC to self.repositories
This resolves a circular dependency on the SYNC variable, which is
useful for bug #414961, since we want to be able to initialize
self.repositories before the SYNC variable is known.
Zac Medico [Fri, 11 May 2012 21:04:15 +0000 (14:04 -0700)]
config: use shlex to split known_repos
Zac Medico [Fri, 11 May 2012 06:32:26 +0000 (23:32 -0700)]
PollScheduler: use local EventLoop (thread safe)
For API consumers, this makes the doebuild() function compatible with
threads, avoiding a ValueError raised by the signal module, as reported
at http://bugs.sabayon.org/show_bug.cgi?id=3305. Classes derived from
PollScheduler still use the signal module when possible.
Zac Medico [Thu, 10 May 2012 21:23:56 +0000 (14:23 -0700)]
Don't write or trust cache for unsupported EAPIs.
Since we're supposed to be able to efficiently obtain the EAPI from
_parse_eapi_ebuild_head, we don't need to write or trust cache entries
for unsupported EAPIs.
Arfrever Frehtes Taifersar Arahesis [Thu, 10 May 2012 19:54:25 +0000 (21:54 +0200)]
Make REPOSITORY variable again available in global scope of ebuilds,
which use EAPI="4-python".
This fixes regression introduced in commit
1c26d24dfc869a6f5ef426f7c02e1d25abcda34e.
Zac Medico [Wed, 9 May 2012 22:28:54 +0000 (15:28 -0700)]
porttree.py: remove unused imports
Zac Medico [Wed, 9 May 2012 22:23:24 +0000 (15:23 -0700)]
Refer to bug #402167 where appropriate.
Zac Medico [Wed, 9 May 2012 22:08:08 +0000 (15:08 -0700)]
doebuild_environment: clean up EAPI related code
Zac Medico [Wed, 9 May 2012 20:31:52 +0000 (13:31 -0700)]
EbuildMetadataPhase: handle empty EAPI from bash
Zac Medico [Wed, 9 May 2012 20:00:32 +0000 (13:00 -0700)]
Split out eapi_invalid function.
Zac Medico [Wed, 9 May 2012 18:21:15 +0000 (11:21 -0700)]
ebuild.sh: remove redundant EAPI=0 default
Zac Medico [Wed, 9 May 2012 18:10:56 +0000 (11:10 -0700)]
Show unsatisfied REQUIRED_USE for bug #415125.
Zac Medico [Wed, 9 May 2012 08:12:58 +0000 (01:12 -0700)]
doebuild_environment: remove unused eapi parsing
Zac Medico [Wed, 9 May 2012 06:38:47 +0000 (23:38 -0700)]
Parse EAPI with pattern from PMS section 7.3.1.
This implements the specification that was approved in Gentoo's council
meeting on May 8, 2012 (see bug #402167). The parse-eapi-ebuild-head
FEATURES setting is now enabled by default, and causes non-conformant
ebuilds to be treated as invalid. This behavior will soon become
enabled unconditionally.
Zac Medico [Wed, 9 May 2012 00:45:53 +0000 (17:45 -0700)]
die: fix ${T}/build.log{,.gz} message
Zac Medico [Tue, 8 May 2012 16:38:44 +0000 (09:38 -0700)]
make.conf.5: COLLISION_IGNORE s/shell/fnmatch/
Zac Medico [Tue, 8 May 2012 15:42:12 +0000 (08:42 -0700)]
Strip EPREFIX in RESTRICT=binchecks QA Notice.
Zac Medico [Tue, 8 May 2012 07:39:36 +0000 (00:39 -0700)]
NEEDED.ELF.2: include sonames from $ORIGIN
This reverts the behavior change from bug #205531 (see commit
5baa57a65368472c2c22b9bd2b30e634ef644b92). That special handling should
be unnecessary since the changes from bug #289180 (see commit
296fc63fee262600811520fccf4692f47a39ffba), where the
LinkageMapELF.findConsumers() exclude_providers argument is used to
exclude irrelevant consumers.
Zac Medico [Tue, 8 May 2012 06:23:40 +0000 (23:23 -0700)]
COLLISION_IGNORE: support fnmatch patterns
This allows it to be combined with the COLLISION_IGNORE_UNOWNED
variable from commit
33545ea18e8816addb3c54bb26a0cc788b8512e6, so only
one variable is needed.
Zac Medico [Sat, 5 May 2012 16:54:14 +0000 (09:54 -0700)]
COLLISION_IGNORE: handle prefix
Zac Medico [Sat, 5 May 2012 16:37:51 +0000 (09:37 -0700)]
COLLISION_IGNORE_UNOWNED: tweak default *.py[co]
Arfrever Frehtes Taifersar Arahesis [Sat, 5 May 2012 16:00:57 +0000 (18:00 +0200)]
Enable globstar shell option by default in EAPI="4-python".