Zac Medico [Sat, 2 Jun 2012 06:45:18 +0000 (23:45 -0700)]
ebuild.sh: export EAPI for helpers
This fixes some cases where it wouldn't be exported since commit
20817801dd4ef0117bcc7b33c90650da1e920385.
Zac Medico [Sat, 2 Jun 2012 06:24:10 +0000 (23:24 -0700)]
InheritEclass: remove unused inherited_api code
Zac Medico [Sat, 2 Jun 2012 06:21:49 +0000 (23:21 -0700)]
InheritEclass: exempt eclasses that export src_*
We really need to annotate exceptions like these directly in the
eclasses, but hardcode them for now.
Zac Medico [Sat, 2 Jun 2012 06:19:14 +0000 (23:19 -0700)]
repoman: inherit.missing non-fatal (experimental)
Zac Medico [Sat, 2 Jun 2012 05:14:33 +0000 (22:14 -0700)]
InheritEclass: kde4-base exemptions
Zac Medico [Sat, 2 Jun 2012 04:52:17 +0000 (21:52 -0700)]
InheritEclass: add stable / conservative mode
Zac Medico [Sat, 2 Jun 2012 04:06:14 +0000 (21:06 -0700)]
ecompressdir: fix brokenlink newdest logic
Was broken in commit
bbacf8674168cf033de0ccb161f568d0b26f032b.
Zac Medico [Sat, 2 Jun 2012 03:05:41 +0000 (20:05 -0700)]
repoman.1: document inherit.missing/unused
Zac Medico [Sat, 2 Jun 2012 02:55:21 +0000 (19:55 -0700)]
config: whitelist PORTAGE_COMPRESS, don't save it
Zac Medico [Sat, 2 Jun 2012 02:45:37 +0000 (19:45 -0700)]
ecompressdir: avoid ecompress.break interference
Zac Medico [Sat, 2 Jun 2012 02:36:52 +0000 (19:36 -0700)]
ecompressdir: fix ln -s for bug #418309
This fixes parallel funk_up_dir decompress calls so that they don't
inappropriately compete with eachother to fix the same broken symlinks.
Zac Medico [Sat, 2 Jun 2012 02:28:31 +0000 (19:28 -0700)]
ecompressdir: fix funk_up_dir return value
Zac Medico [Sat, 2 Jun 2012 00:13:13 +0000 (17:13 -0700)]
config: lazy VirtualsManager instantiation
Zac Medico [Fri, 1 Jun 2012 22:51:10 +0000 (15:51 -0700)]
config: lazy MaskManager instantiation
Zac Medico [Fri, 1 Jun 2012 22:12:02 +0000 (15:12 -0700)]
config: lazy KeywordsManager instantiation
This allows a config instance to be instantiated by portageq, while
accessing /etc/portage/package.keywords only on demand, solving
bug #418475 by avoiding PermissionDenied exceptions when possible.
Zac Medico [Fri, 1 Jun 2012 21:43:41 +0000 (14:43 -0700)]
portageexit: skip SANDBOX_ON check
This check is redundant, since the portdbapi constructor already has
special SANDBOX_ON / SANDBOX_WRITE handling.
Zac Medico [Fri, 1 Jun 2012 21:30:37 +0000 (14:30 -0700)]
grablines: raise PermissionDenied if appropriate
Zac Medico [Fri, 1 Jun 2012 21:27:46 +0000 (14:27 -0700)]
portageexit: skip secpass check
The portdbapi should handle secpass already internally, and access to
secpass here can trigger unnecessary instantiation of a config instance
via the portage.data module.
Zac Medico [Fri, 1 Jun 2012 03:31:37 +0000 (20:31 -0700)]
InheritEclass: base and cmake-utils exemptions
Mike Frysinger [Fri, 1 Jun 2012 03:15:55 +0000 (23:15 -0400)]
make.conf(5): document PORTAGE_{GRPNAME,USERNAME,INST_UID,INST_GID}
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Fri, 1 Jun 2012 02:23:30 +0000 (19:23 -0700)]
InheritEclass: support inherit after && or ||
Zac Medico [Thu, 31 May 2012 22:27:23 +0000 (15:27 -0700)]
InheritEclass: exempt vim for eutils
Zac Medico [Thu, 31 May 2012 00:59:03 +0000 (17:59 -0700)]
InheritEclass: fix autotools for polylib-9999
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.