| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
add && use regex.py from branch feature/webgui
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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')
|
| |
|
| |
|
| |
|
|
|
|
| |
identical to get_distmap_key()
|
|
|
|
|
| |
+ support no_digest keyword arg which sets digest=None
+ get_distmap_value()'s code moved to get_distmap_item()
|
| |
|
| |
|
| |
|
|
|
|
| |
creates a dict with variables like P, PN, PF, ... for "parsing" ebuilds.
|
|
|
|
|
| |
This attribute will be used for storing per-package dependency-related
configuration, e.g. for injecting deps.
|
| |
|
|
|
|
|
| |
Selfdep validation may fail/ignore when dealing with import ebuilds with a
version suffix ("_pre..." etc.).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
versiontuple implements comparision operations (==,!=,<=,<,>=,>).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Rename distfiles of rev-bumped ebuilds.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Add distmap support to distroot/overlay.
revbump functionality in PackageInfo is missing and some debug output has to be
removed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This feature is disabled because it's not used and would therefore only add
overhead.
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
Consistently use spaces instead of tabs for indention.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
_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.
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
* new key: ebuild_filename
* update(): call _remove_auto() after processing all other keywords
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
geändert: roverlay/packageinfo.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
modified: roverlay/packageinfo.py
|
|
|
|
|
|
| |
* distdir can now be stored in _info
modified: roverlay/packageinfo.py
|