aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* use regex for PF/PN/PVR parsingAndré Erdmann2014-07-171-20/+40
| | | | add && use regex.py from branch feature/webgui
* roverlay/overlay/, addition control: designAndré Erdmann2014-07-141-1/+9
| | | | | | | | | | | | | | | | | | | Prepare code for addition control: * overlay {root,category,package_dir}: renamed add() -> add_package() * overlay root: renamed add_to() -> add_package_to_category() * add_package[_to_category](): require an addition_control parameter This is supposed to evaluate "addition overrides" based on packages/ebuilds already existing in the overlay. Additionally, package rules[1] can be used to set addition overrides. *** Only package rules will be fully implemented (at present) *** * overlay package_dir, add_package() is not correctly implemented (does not read addition overrides from package_info and thus effectively ignores them) [1] rather than requiring addition-control rules to be written manually, roverlay will read packages/ebuilds/... from cmdline arguments / files and create package rules on the fly. (e.g. 'roverlay --regen-package "sci-R/sth" [--regen-only] --no-sync create')
* packageinfo, revbump(): add 'ebuild_only' paramAndré Erdmann2014-06-301-19/+24
|
* remove useless return statementsAndré Erdmann2013-12-111-1/+0
|
* packageinfo, parse_ebuild_distfiles(): accept kwargsAndré Erdmann2013-09-031-2/+2
|
* packageinfo: get_src_uri_dest()André Erdmann2013-09-021-3/+8
| | | | identical to get_distmap_key()
* packageinfo, get_distmap_value(): include distfileAndré Erdmann2013-08-301-12/+22
| | | | | + support no_digest keyword arg which sets digest=None + get_distmap_value()'s code moved to get_distmap_item()
* break long lineAndré Erdmann2013-08-301-1/+2
|
* roverlay/packageinfo: rename get_status_{object,view}André Erdmann2013-08-301-2/+2
|
* packageinfo: parse SRC_URI, get status view objectAndré Erdmann2013-08-291-1/+47
|
* packageinfo: create_vartable()André Erdmann2013-08-281-0/+17
| | | | creates a dict with variables like P, PN, PF, ... for "parsing" ebuilds.
* roverlay/packageinfo: add depconf attributeAndré Erdmann2013-08-231-0/+1
| | | | | This attribute will be used for storing per-package dependency-related configuration, e.g. for injecting deps.
* roverlay/packageinfo: add repo_name, package_filename_xAndré Erdmann2013-08-191-7/+11
|
* support suffixes $PV when importing ebuildsAndré Erdmann2013-08-021-7/+11
| | | | | Selfdep validation may fail/ignore when dealing with import ebuilds with a version suffix ("_pre..." etc.).
* roverlay/packageinfo: bind hashdict in __init__()André Erdmann2013-08-011-7/+10
|
* fixupAndré Erdmann2013-07-251-1/+1
|
* fix versiontuple (again)André Erdmann2013-07-171-4/+5
| | | | | | | | | | | | | | | The le/lt/ge/gt comparision functions were completely wrong, which caused selfdep validation to misbehave. Checking "(0,97) <= (1,1,2)" always returned False (but 0 < 1!), whereas "(1,1,2) >= (0,97)" returned False, too (which is be correct, but "neither less nor greater nor equal" makes no sense at all). In a second (incremental) run, all comparisions would then evaluate to true, because PackageInfo created normal tuples for scanned ebuilds, for which IntVersionTuple returns NotImplemented (when comparing). And bool( NotImplemented ) <=> True, so even IntVersionTuple(1,1) was "less than" tuple(0,0). This commit fixes this issue.
* overlay creation: interruptible ebuild jobsAndré Erdmann2013-07-061-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).
* packageinfo: init_selfdep_validate(), versiontupleAndré Erdmann2013-07-051-5/+23
| | | | versiontuple implements comparision operations (==,!=,<=,<,>=,>).
* roverlay/depres: return depresult objectsAndré Erdmann2013-07-041-6/+19
| | | | | | | | | | | | | | Dependency resolution now creates depresult objects if a rule matches a dependency string. Previously, it returned a 2-tuple (score,resolving_dep). This is "necessary" for selfdep reduction (also see pseudocode in overlay/root.py). Additionally, this commit allows to define selfdeps that don't belong to the default category ("sci-R") in rule files, either by OR-ing a deptype with "#deptype <deptype>,selfdep" or by prefixing a single rule with "@selfdep". The rule stub syntax ("zoo") is mostly unaffected by this change, but roverlay is able to detect (non-)default-category selfdeps now.
* roverlay/packageinfo, revbump: set src_uri_destAndré Erdmann2013-06-221-22/+26
| | | | Rename distfiles of rev-bumped ebuilds.
* roverlay/packageinfo: fixup; remove update lockAndré Erdmann2013-06-221-90/+73
|
* roverlay/packageinfo: support revbumpsAndré Erdmann2013-06-221-35/+56
|
* roverlay: use distmapAndré Erdmann2013-06-211-3/+45
| | | | | | | Add distmap support to distroot/overlay. revbump functionality in PackageInfo is missing and some debug output has to be removed.
* packageinfo: create distmap data, make hashesAndré Erdmann2013-06-191-4/+39
|
* additions dir: code comments/fixupAndré Erdmann2013-06-121-1/+50
| | | | | | | | | | | | | | | | | Besides other changes, this commit makes the "import hand-written ebuilds" feature available. Note that this (currently) only works with the (default) ebuildmanifest pkg dir implementation. Other changes include: * additions dir: ** more lenient regex in _EbuildAdditionsView ** handle ambiguous patch file names (where version could be patchno) * pkgdir_base ** fetch src of imported ebuilds * packageinfo ** update(): put unknown keys in quotes ** get_create(): get an info key by creating it, if necessary
* fix Manifest file creation: '->' in SRC_URIAndré Erdmann2013-06-061-0/+7
|
* packageinfo: add support for lazy actionsAndré Erdmann2013-06-051-6/+35
| | | | | This feature is disabled because it's not used and would therefore only add overhead.
* packageinfo: doc, method stubs, set_direct_unsafeAndré Erdmann2013-06-041-13/+56
| | | | | | | | * doc: PackageInfo key list methods for new package rule actions (not committed yet): * method stubs: attach_lazy_action()/apply_lazy_actions() * set_direct_unsafe(): direct ("unsafe"!) write access to the info dict
* retabgsoc2013_start_codingAndré Erdmann2013-06-041-550/+551
| | | | Consistently use spaces instead of tabs for indention.
* package rules: properly apply evarsAndré Erdmann2013-04-231-12/+33
| | | | | | | As mentioned in usage guide, applying the same action twice to a package results in two appearances of the same variable in the ebuild. This commit removes that limitation, only the last applied evar action will affect ebuild creation.
* packageinfo: _remove_auto(), fix has_key*()André Erdmann2013-02-091-31/+34
| | | | | | | | | _remove_auto() deletes keys that are no longer required now instead of creating a new dict() (behavior changed from a "whitelist"- to a "blacklist" approach) has_key()/has_key_or(): catch KeyError and log it as error since <package>.get( key, do_fallback=True ) should not raise it.
* packageinfo: update_unsafe(), add ebuild variablesAndré Erdmann2013-01-301-9/+36
| | | | | | | new function update_unsafe() that simply adds information to a PackageInfo instance without locking or checking for writability. added EVAR* key that can be used to add per-package ebuild variables (evar)
* roverlay/packageinfo: ebuild_filename, remove_autoAndré Erdmann2013-01-291-4/+22
| | | | | * new key: ebuild_filename * update(): call _remove_auto() after processing all other keywords
* misc changesAndré Erdmann2012-11-291-14/+52
| | | | | | | | | | | | | | | | | | | | * roverlay.py, -> renamed "overlay" variable to "overlay_creator" -> some action if-branches replaced by elif-branches * roverlay/__init__.py, -> replaced "config.<sth>" and "roverlay.config.<sth>" with "roverlay_config.<sth>" in load_config_file(...) * roverlay/overlay/, -> the default overlay is now created in ./root.py (new_configured()) instead of ./creator.py -> fix Overlay.list_packages() * roverlay/packageinfo.py -> make update key sets class-wide Bump version to 0.2.1
* PackageInfo, update: filter keys with value = NoneAndré Erdmann2012-08-131-5/+9
| | | | | | | | | Added a set simple_keys_filter_none that matches keys that will be only be added if their value is not None. This is required to fix an issue caused by the remote module's package_nofail functions that unconditionally forward keywords like src_uri_base.
* PackageInfo: accept src_uri_base keyAndré Erdmann2012-08-091-1/+2
|
* PackageInfo: use src_uri_base for src_uri if availableAndré Erdmann2012-08-091-1/+6
|
* code comments and GPLAndré Erdmann2012-08-061-4/+35
|
* read description data in PackageInfoAndré Erdmann2012-08-021-13/+34
|
* PackageInfo.update: reduce if-checksAndré Erdmann2012-07-311-17/+14
| | | | | | use a simple_keys iterable to determine which key,value pairs can directly be used (self._info [key] = value) instead of an if-check per key. The logger message for unknown keys is a bit more accurate now.
* fix <str>.format() in packageinfoAndré Erdmann2012-07-301-1/+1
|
* PackageInfo: _remove_auto:ebuild_written, fix getAndré Erdmann2012-07-241-2/+29
| | | | geändert: roverlay/packageinfo.py
* incremental overlay writing (#3)André Erdmann2012-07-201-3/+4
| | | | | | | | | | | | | | | * Ebuilds can now be written incrementally (but without deletion of old ebuilds) * Can now create dependency rules for scanned ebuilds / ebuilds in the overlay * Ebuilds will now only be created if necessary (= does not already exist as file or Manifest is missing). This will later be configurable. geändert: roverlay.py geändert: roverlay/overlay/category.py geändert: roverlay/overlay/creator.py neue Datei: roverlay/overlay/header.py geändert: roverlay/overlay/package.py geändert: roverlay/overlay/root.py geändert: roverlay/packageinfo.py
* packageinfo: compare_version, has_keyAndré Erdmann2012-07-191-1/+33
|
* incremental overlay writing (at runtime)André Erdmann2012-07-181-11/+15
| | | | | | | | | | | | Packages can now be written directly after adding them to the overlay. Also removed unused code / code duplicates, e.g. show() and write() in package.py. geändert: roverlay/overlay/category.py geändert: roverlay/overlay/creator.py geändert: roverlay/overlay/package.py geändert: roverlay/overlay/root.py geändert: roverlay/packageinfo.py
* started with incremental overlay writingAndré Erdmann2012-07-171-26/+50
| | | | | | | | | geändert: roverlay/overlay/__init__.py geändert: roverlay/overlay/category.py geändert: roverlay/overlay/creator.py geändert: roverlay/overlay/package.py umbenannt: roverlay/overlay/__init__.py -> roverlay/overlay/root.py geändert: roverlay/packageinfo.py
* move fix_ebuild_name to utilAndré Erdmann2012-07-161-7/+2
|
* PackageInfo: fix illegal ebuild namesAndré Erdmann2012-06-281-2/+13
| | | | modified: roverlay/packageinfo.py
* extend PackageInfoAndré Erdmann2012-06-261-21/+20
| | | | | | * distdir can now be stored in _info modified: roverlay/packageinfo.py