Mike Frysinger [Mon, 11 Jun 2012 20:16:59 +0000 (16:16 -0400)]
repoman: update cat/pkg info in header all the time
There are edge cases where repoman's changelog code is not as good as
the existing echangelog. Mostly related to out of date headers. Have
the code check the header in more cases not just for missing lines, but
also outdated values all the time.
While we're at it, write some tests!
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Tue, 12 Jun 2012 07:21:57 +0000 (00:21 -0700)]
test_match_from_list: fix _pkg_str usage
Zac Medico [Tue, 12 Jun 2012 06:40:52 +0000 (23:40 -0700)]
dbapi: construct _pkg_str during match on-demand
Zac Medico [Tue, 12 Jun 2012 02:18:15 +0000 (19:18 -0700)]
repoman: tweak code for bug #420735
Zac Medico [Tue, 12 Jun 2012 02:00:09 +0000 (19:00 -0700)]
config: pass tolerant param to getconfig more
Zac Medico [Mon, 11 Jun 2012 23:23:59 +0000 (16:23 -0700)]
repoman: Manifest after ChangeLog, bug #420735
Zac Medico [Mon, 11 Jun 2012 23:08:21 +0000 (16:08 -0700)]
Move post_src_install metadata code to one func.
Zac Medico [Mon, 11 Jun 2012 22:37:30 +0000 (15:37 -0700)]
QueryCommand: add get_db() classmethod
Zac Medico [Mon, 11 Jun 2012 05:32:24 +0000 (22:32 -0700)]
Package: move SLOT validation to _pkg_str
Zac Medico [Mon, 11 Jun 2012 01:15:07 +0000 (18:15 -0700)]
Add a _get_slot_re() function.
Zac Medico [Mon, 11 Jun 2012 00:58:14 +0000 (17:58 -0700)]
Package: use _eapi_attrs
Zac Medico [Sun, 10 Jun 2012 23:41:25 +0000 (16:41 -0700)]
_get_pv_re: use _eapi_attrs
Zac Medico [Sun, 10 Jun 2012 23:18:15 +0000 (16:18 -0700)]
dep: remove old "DEPEND SYNTAX" comments
Zac Medico [Sun, 10 Jun 2012 23:16:25 +0000 (16:16 -0700)]
use_reduce: use _eapi_attrs
Zac Medico [Sun, 10 Jun 2012 23:05:21 +0000 (16:05 -0700)]
_get_eapi_attrs: move to eapi module
Zac Medico [Sun, 10 Jun 2012 22:43:40 +0000 (15:43 -0700)]
dep: move regex constants to top of file
Zac Medico [Sun, 10 Jun 2012 22:37:06 +0000 (15:37 -0700)]
_get_atom_wildcard_re: use _eapi_attrs
Zac Medico [Sun, 10 Jun 2012 22:20:23 +0000 (15:20 -0700)]
_get_atom_re: share cache between more EAPIs
Zac Medico [Sun, 10 Jun 2012 22:16:03 +0000 (15:16 -0700)]
_get_useflag_re: use _eapi_attrs
Zac Medico [Sun, 10 Jun 2012 21:51:25 +0000 (14:51 -0700)]
_get_usedep_re: use _eapi_attrs
Zac Medico [Sun, 10 Jun 2012 21:08:14 +0000 (14:08 -0700)]
Atom: use _eapi_attrs in constructor
Zac Medico [Sun, 10 Jun 2012 20:48:24 +0000 (13:48 -0700)]
_get_atom_re: handle many combinations
A namedtuple of _eapi_attrs is used to hash atom regular expressions,
making it easy to handle many different combinations, as will be
necessary for the addition of new features such as abi-slot deps.
Zac Medico [Sun, 10 Jun 2012 08:24:59 +0000 (01:24 -0700)]
cache/sqlite.py: dynamically add columns to table
Zac Medico [Sat, 9 Jun 2012 02:03:42 +0000 (19:03 -0700)]
InheritEclass: avoid false positive in func regex
Zac Medico [Fri, 8 Jun 2012 22:08:19 +0000 (15:08 -0700)]
depgraph: pass use_reduce result to dep_check
This allows us to avoid extraneous use_reduce/paren_enclose calls.
Zac Medico [Fri, 8 Jun 2012 02:51:48 +0000 (19:51 -0700)]
InheritEclass: avoid false positive in func regex
Zac Medico [Wed, 6 Jun 2012 01:35:35 +0000 (18:35 -0700)]
repoman: try to sign Manifest only if it exists
This case occurs with "thin-manifests = true" in metadata/layout.conf
when there are no distfiles (like for live ebuilds), as reported in
bug #419717.
Zac Medico [Wed, 6 Jun 2012 00:11:00 +0000 (17:11 -0700)]
parse_layout_conf: fix cache-formats pms fallback
This fixes an issue where egencache would not generate metadata/cache
unless the directory already existed.
Zac Medico [Mon, 4 Jun 2012 22:22:21 +0000 (15:22 -0700)]
helper-functions.sh: multijob support bash <4.1
The redirect_alloc_fd() compatibility function is borrowed from Mike
Frysinger's proposed multiprocessing.eclass:
http://archives.gentoo.org/gentoo-dev/msg_5ecd3b1dd0720522807c136d8fd2cd5f.xml
Zac Medico [Mon, 4 Jun 2012 21:59:12 +0000 (14:59 -0700)]
Handle more import exceptions involving xml.
See http://bugs.python.org/issue14988
Zac Medico [Mon, 4 Jun 2012 20:34:09 +0000 (13:34 -0700)]
repoman: fix _mask_manager assignment
This broke in commit
09980f19e584b644b9e2cf4d5e1e0369b6062ca1.
Zac Medico [Mon, 4 Jun 2012 04:06:10 +0000 (21:06 -0700)]
InheritEclass: exempt auto/libtool for multilib
Zac Medico [Mon, 4 Jun 2012 03:25:10 +0000 (20:25 -0700)]
InheritEclass: exempt autotools for libtool
Zac Medico [Mon, 4 Jun 2012 01:19:10 +0000 (18:19 -0700)]
Package: calc visiblity on demand
This delays visiblity calculations until after FakeVartree applies its
metadata tweaks, so commit
650c960be3170bade8bb63ddedcd4796c75ec374
will work as intended.
Zac Medico [Mon, 4 Jun 2012 00:36:28 +0000 (17:36 -0700)]
FakeVartree: use KEYWORDS from unbuilt ebuild
This allows us to avoid triggering the code from bug #350285 (see
commit
b7de3d1fb10e40b4ef03462f8a145968689ac587) in cases when the
KEYWORDS from the unbuilt ebuild would unmask the package.
Arfrever Frehtes Taifersar Arahesis [Sun, 3 Jun 2012 06:34:34 +0000 (08:34 +0200)]
Delete workaround for bugs.python.org/issue14007.
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