Zac Medico [Thu, 21 Jun 2012 04:42:49 +0000 (21:42 -0700)]
resolver/output: cleanup counters
Zac Medico [Thu, 21 Jun 2012 01:02:22 +0000 (18:02 -0700)]
InheritEclass: add user esethome func
Zac Medico [Wed, 20 Jun 2012 23:01:01 +0000 (16:01 -0700)]
depgraph._complete_graph: old virt sanity check
Zac Medico [Wed, 20 Jun 2012 21:56:49 +0000 (14:56 -0700)]
misc-functions.sh: unwrap die messages
Jeremy Olexa <darkside@gentoo.org> complained that die was not handling
these line continuations as it's supposed to. Maybe there's a bug in
die's line continuation sed expression, but it won't hurt to unwrap
these particular messages.
Zac Medico [Wed, 20 Jun 2012 21:23:47 +0000 (14:23 -0700)]
backtracking: only feedback first slot conflict
Only create BacktrackNode instances for the first conflict which
occurred, since the conflicts that occurred later may have been
caused by the first conflict.
Zac Medico [Wed, 20 Jun 2012 10:05:26 +0000 (03:05 -0700)]
ResolverPlayground: distinguish uninstall merge
Zac Medico [Wed, 20 Jun 2012 09:51:32 +0000 (02:51 -0700)]
ResolverPlayground: distinguish binpkg merge
Zac Medico [Wed, 20 Jun 2012 09:02:55 +0000 (02:02 -0700)]
ResolverPlayground: support binary packages
Zac Medico [Wed, 20 Jun 2012 07:00:28 +0000 (00:00 -0700)]
Atom: cleanup str()/unicode() usage
Zac Medico [Wed, 20 Jun 2012 04:30:00 +0000 (21:30 -0700)]
depgraph._iter_atoms_for_pkg: fix for --rebuild-*
The SetArg instances that are generated for --rebuild-if-* behvior need
to be passed into _set_args() in order for _iter_atoms_for_pkg to be
aware of these arguments.
Zac Medico [Tue, 19 Jun 2012 21:27:11 +0000 (14:27 -0700)]
depgraph: optimize slot conflict backtrack order
Zac Medico [Tue, 19 Jun 2012 00:40:04 +0000 (17:40 -0700)]
depgraph: defer slot conflict backtracking
Defer slot conflict backtracking until after _complete_graph is used to
complete the graph, so that all relevant reverse dependencies are
available for making informed backtracking decisions.
Zac Medico [Sun, 17 Jun 2012 19:44:56 +0000 (12:44 -0700)]
depgraph._add_pkg: preserve previous pkg depth
Zac Medico [Sun, 17 Jun 2012 17:52:28 +0000 (10:52 -0700)]
depgraph: use package sets for rebuild/reinstall
Zac Medico [Sun, 17 Jun 2012 16:16:15 +0000 (09:16 -0700)]
DependencyArg: add __slots__
Sergei Trofimovich [Sun, 17 Jun 2012 08:42:51 +0000 (11:42 +0300)]
repoman: add 'VIRTUAL.suspect' class of warnings
Searches all the *DEPENDS against static
map of:
{ 'package' : 'virtual' }
Example output:
> VIRTUAL.suspect 1
> dev-haskell/cabal/cabal-1.15.0_pre20120608.ebuild: consider using 'virtual/pkgconfig' insted of 'dev-util/pkgconf'
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Zac Medico [Sun, 17 Jun 2012 15:22:00 +0000 (08:22 -0700)]
grabfile_package: show real file name in error
Zac Medico [Sun, 17 Jun 2012 04:58:38 +0000 (21:58 -0700)]
_process_slot_conflicts: do one slot at a time
This allows us to avoid redundant processing of slots that have
already been processed by a previous call.
Zac Medico [Sun, 17 Jun 2012 03:06:36 +0000 (20:06 -0700)]
depgraph: split out _handle_slot_conflict method
Zac Medico [Sat, 16 Jun 2012 20:27:30 +0000 (13:27 -0700)]
depgraph: simplify _select_pkg_highest_available
This hunk of code is no longer needed since the content of
_highest_pkg_cache is discarded each time a package is added to the
graph.
Zac Medico [Sat, 16 Jun 2012 20:24:12 +0000 (13:24 -0700)]
depgraph: _autounmask in _highest_pkg_cache key
Sergei Trofimovich [Fri, 15 Jun 2012 18:10:25 +0000 (21:10 +0300)]
repoman: warn about every 'pkgconfig' implementation in RDEPENDs
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Zac Medico [Fri, 15 Jun 2012 23:42:44 +0000 (16:42 -0700)]
Unmerge symlink listed as dir for bug #421165.
Zac Medico [Fri, 15 Jun 2012 23:03:59 +0000 (16:03 -0700)]
Add USE + license autounmask for bug #420847.
Zac Medico [Thu, 14 Jun 2012 00:23:54 +0000 (17:23 -0700)]
test_autounmask: add case for bug #420847
Arfrever Frehtes Taifersar Arahesis [Wed, 13 Jun 2012 17:44:44 +0000 (19:44 +0200)]
Fix test failure with Python 2.6.
Zac Medico [Wed, 13 Jun 2012 10:15:23 +0000 (03:15 -0700)]
runtests.sh: add pypy-1.9 to PYTHON_VERSIONS
Mike Frysinger [Tue, 12 Jun 2012 22:07:58 +0000 (18:07 -0400)]
repoman: handle trailing newlines better
Automatically strip trailing newlines from the ChangeLog, and be
better about not adding them in the first place (still not perfect,
but getting there).
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
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