aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Use regex in dep string matches.Benda Xu2018-05-302-6/+10
| | | | | | Ignore rules should come later than positive rules. Closes: https://bugs.gentoo.org/653694
* roverlay/depres/depenv: skip vmod dict lookupAndré Erdmann2014-08-231-7/+12
| | | | When checking/normalizing vmod_str, set vmod directly if possible.
* roverlay/depres, slot rules: fix get_slot_result()André Erdmann2014-08-231-1/+1
|
* roverlay/depres, rule constructor: accept bool valueAndré Erdmann2014-07-291-3/+7
| | | | | The wide_match option accepts a boolean value now: wide_match[=[1|y|yes|0|n|no|...]]
* roverlay/depres, slot rules: "wide match"André Erdmann2014-07-291-44/+98
| | | | | | In continuation of commit #50bd6d5aac48317c46b777acf9c1836e792bff58, make the slot match behavior configurable (depending on the slot rule, not the dep env<-package).
* roverlay/depres, rule: temporary fixAndré Erdmann2014-06-251-1/+3
| | | | | | | do not slot-resolve dep_env with a vmod of '>' or '>='. This is a temporary fix. A more controllable (configurable) solution will be added once that "regenerate $list of ebuilds" has been implemented.
* roverlay/depres, rule pools: also export #deptypeAndré Erdmann2014-05-073-7/+50
|
* roverlay/depres/simpledeprule/util: add obj methodAndré Erdmann2014-05-071-3/+17
| | | | get_constructor_args()
* roverlay/depres/deptype: cleanupAndré Erdmann2014-05-071-12/+22
|
* fix potential python 2 issueAndré Erdmann2014-03-252-0/+7
| | | | | | Python 2 checks for __nonzero__(), not __bool__(). roverlay usually relies explicit checks ("if obj.attr == $expected" or "obj.exists()" rather than "if object:"), so this is not a major issue.
* roverlay/depres, rule reader: properly count filesAndré Erdmann2014-02-222-9/+12
| | | | | | | fix a small bug that affects logging only where SimpleDependencyRuleReader.read() always reports a file count of 0. Also, remove an unnecessary "self._pool_add is [not] None" check.
* minor fixesAndré Erdmann2013-12-111-1/+3
| | | | | This commit fixes some issues, most of them are theoretical only, e.g. variables that might be accessed before assignment in with/try..except blocks.
* remove useless return statementsAndré Erdmann2013-12-111-1/+0
|
* fix potential scope issuesAndré Erdmann2013-12-111-43/+46
| | | | Cython complained about the old constructs.
* roverlay/: misc fixup (#2)André Erdmann2013-09-163-5/+18
|
* roverlay/: misc fixup (#1)André Erdmann2013-09-162-3/+0
| | | | remove unused imports, fix undefined/unused args etc.
* dynamic selfdep pool: use sorted rulesAndré Erdmann2013-09-031-20/+10
| | | | sort rule dict by repo
* DynamicDependencyRulePool: change reload() behaviorAndré Erdmann2013-09-031-5/+10
|
* dynamic selfdep pool: try repo-specific match firstAndré Erdmann2013-09-023-83/+210
| | | | | Try to resolve selfdeps within a repo first, before trying to get a match in any repo.
* depres, dep env: provide a ref to the package infoAndré Erdmann2013-09-022-4/+25
| | | | | | | | | | DepEnv objects can now (optionally) contain a reference to "their" PackageInfo object. This allows the dynamic selfdep pool to decide which rules to try (and in which order) based on the package being processed. (I've chosen a (weak) reference because DepEnv objects should not keep PackageInfos in memory.) The actual PackageInfo can then be accessed via <DepEnv>.get_package_info().
* roverlay/depres/listeners: remove unused importAndré Erdmann2013-09-021-1/+0
|
* depres rule pools: accept dep_env, not maskAndré Erdmann2013-09-023-14/+22
| | | | | This allows to take the whole dep environment into account when deciding whether it can be resolved by a specific rule pool or not.
* roverlay/depres/channels: add_dependencies_filtered()André Erdmann2013-08-281-0/+27
| | | | | | Like add_dependencies(), but accepts two additional args, a common and a specific dep string blacklist. A dep str won't be added if it appears in any of these blacklists.
* depresolver: log deptypeAndré Erdmann2013-08-271-2/+6
|
* depres unresolvable listener: log deptypeAndré Erdmann2013-08-271-6/+17
|
* fix deptype.PKG, deptype.SYSAndré Erdmann2013-08-271-2/+4
| | | | | according to the usage guide, these dependency types should be "package _first_" / "system _first_", not "package _only_" / ....
* dep rule parser: '#! ERROR' statementAndré Erdmann2013-08-271-1/+7
| | | | lets the dep parser raise an exception, which causes roverlay to exit.
* roverlay/depres/depresult: ConstantDepResultAndré Erdmann2013-08-231-30/+51
| | | | dep result class that cannot participate in selfdep validation.
* use for_all_files_decorator()André Erdmann2013-08-221-11/+5
| | | | | Use common for_all_files() functionality, e.g. ignore ".git" dirs while recursively searching for files.
* remove unused import in dep rule makerAndré Erdmann2013-08-211-1/+0
|
* fix rule printing / selfdep multi-line rule parsingAndré Erdmann2013-08-213-36/+45
| | | | is_selfdep=N was missing in SimpleRuleMaker.handle_multiline_begin().
* roverlay/depres: non-greedy depres channelAndré Erdmann2013-08-201-13/+168
| | | | | | | | | | | | The non-greedy channel processes all deps, whether successful or not. The default behavior (EbuildJobChannel) is to stop if any mandatory dep cannot be resolved. This is desirable when running overlay creation (it's faster), but can hide unresolvable dep strings, which is not useful when writing dep rules. Single-threaded depres shouldn't be affected, though, since the ebuild channel has to wait until the resolver is done. So, the typical use case for non-greedy depres channels is when dealing with partial results (which overlay creation doesn't).
* dependency resolver: get_threadcount()André Erdmann2013-08-201-0/+4
|
* roverlay/depres/: replace rule pool export_rules()André Erdmann2013-07-192-13/+24
|
* fix has_context() in mapreader/rulemakerAndré Erdmann2013-07-191-0/+7
|
* remove old depres consoleAndré Erdmann2013-07-191-674/+0
|
* roverlay/depres/depresult: remove __getitem__()André Erdmann2013-07-181-15/+0
|
* fixupAndré Erdmann2013-07-174-11/+12
| | | | | This commit fixes some issues (mostly typos). It also adds some logging concerning selfdep validation.
* add debug capabilities to depresultAndré Erdmann2013-07-171-4/+108
|
* roverlay/depres/depenv, fuzzy: ignore certain wordsAndré Erdmann2013-07-161-10/+16
|
* roverlay/depres/listeners: sort unresolvableAndré Erdmann2013-07-161-1/+3
|
* roverlay/depres/depenv: split ANDed dependency strAndré Erdmann2013-07-111-6/+13
| | | | | | | Dependency strings containing an '<whitespace>and<whitespace>' will now be splitted, and each part is resolved individually. Note that this "breaks" some of the existing dependency rules.
* roverlay/depres: create multiple DepEnv instancesAndré Erdmann2013-07-112-15/+25
| | | | | Create multiple DepEnv instances for a dependency string. This can be used to split strings like '<dep1> and <dep2>'.
* fix dot remapping for dynamic selfdepsAndré Erdmann2013-07-111-5/+19
| | | | | | | | | | | | This commit fixes a bug in the dynamic selfdep pool concerning dot chars '.' in dependency strings (which are replaced by '_' in ebuild names). Basically, the dynamic selfdep pool did not call <newly created rule>.done_reading() after reloading its rules which resulted in not having dot-remapped aliases available for dep resolution. In addition to fixing this (mis-)behavior, real package names (provided by packageinfo instances) are now used when available (instead of replacing all '_' chars with '.').
* roverlay/depres, rule maker: reset deptypeAndré Erdmann2013-07-101-0/+6
|
* roverlay/depres/simpledeprule: use util.mapreaderAndré Erdmann2013-07-102-155/+61
| | | | | | * rulemaker: use common code provided by util.mapreader.MapfileParser * reader: offload file reading/parsing to rulemaker, skip vcs directories when scanning directories for rule files
* roverlay/depres/depresult: commentsAndré Erdmann2013-07-091-0/+46
|
* overlay creation: interruptible ebuild jobsAndré Erdmann2013-07-062-12/+31
| | | | | | | | | | | | | | | | This commit adds support for (un-)pausing ebuild creation. EbuildCreation jobs are now able to stop themselves when certain conditions are not met and resume later. This is necessary for performing selfdep reduction at overlay creation time and not after creating all ebuilds. Additionally (and the main motivation for implementing this), it allows to handle optional/mandatory selfdeps individually. Optional and unsatisfiable are simply removed from the ebuild, while mandatory ones cause ebuild creation to fail for a given package. This commit also fixes some exception-handling related issues in the overlay worker module (roverlay/overlay/worker.py->OverlayWorker).
* roverlay/depres/depresult: use versiontupleAndré Erdmann2013-07-051-35/+17
|
* roverlay/depres/depenv: use versiontupleAndré Erdmann2013-07-051-10/+16
|