* [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/depres/simpledeprule/, roverlay/overlay/
@ 2013-07-11 8:45 André Erdmann
2013-07-11 8:49 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
0 siblings, 1 reply; 2+ messages in thread
From: André Erdmann @ 2013-07-11 8:45 UTC (permalink / raw
To: gentoo-commits
commit: ab7750a06b411f219e5de1c444e928755903a880
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Jul 11 08:37:10 2013 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Jul 11 08:37:10 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=ab7750a0
fix dot remapping for dynamic selfdeps
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/simpledeprule/abstractrules.py | 24 +++++++++++++++++++-----
roverlay/overlay/category.py | 15 +++++++++++----
2 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/roverlay/depres/simpledeprule/abstractrules.py b/roverlay/depres/simpledeprule/abstractrules.py
index b80eb00..a94d2f3 100644
--- a/roverlay/depres/simpledeprule/abstractrules.py
+++ b/roverlay/depres/simpledeprule/abstractrules.py
@@ -20,7 +20,8 @@ class SimpleRule ( deprule.DependencyRule ):
def __init__ ( self,
dep_str=None, priority=50, resolving_package=None,
- is_selfdep=0, logger_name='simple_rule'
+ is_selfdep=0, logger_name='simple_rule',
+ selfdep_package_names=None, finalize=False,
):
"""Initializes a SimpleIgnoreDependencyRule.
@@ -40,11 +41,24 @@ class SimpleRule ( deprule.DependencyRule ):
self.dep_alias.append ( dep_str )
if self.is_selfdep:
- # add the actual package name (replace '_' by '.')
- # to self.dep_alias
- actual_name = dep_str.replace ( '_', '.' )
- if actual_name != dep_str:
+ # add the actual package name to self.dep_alias
+ # (replace '_' by '.' or use selfdep_package_names)
+ #
+ #
+ # no need to check for duplicates, they get removed
+ # in done_reading anyway
+
+ if selfdep_package_names:
+ for alias in selfdep_package_names:
+ self.dep_alias.append ( alias )
+ ##elif selfdep_package_names is False: ignore
+ else:
+ actual_name = dep_str.replace ( '_', '.' )
self.dep_alias.append ( dep_str )
+ # -- end if dep_str
+
+ if finalize:
+ self.done_reading()
# --- end of __init__ (...) ---
def done_reading ( self ):
diff --git a/roverlay/overlay/category.py b/roverlay/overlay/category.py
index 8038141..330058c 100644
--- a/roverlay/overlay/category.py
+++ b/roverlay/overlay/category.py
@@ -164,11 +164,18 @@ class Category ( object ):
for name, subdir in self._subdirs.items():
if not subdir.empty():
yield dict (
- dep_str = name,
- resolving_package = ( self.name + "/" + name ),
- is_selfdep = 2 if is_default_category else 1,
+ dep_str = name,
+ resolving_package = ( self.name + "/" + name ),
+ is_selfdep = 2 if is_default_category else 1,
# prefer packages from the default category (really?)
- priority = 80 if is_default_category else 90,
+ priority = 80 if is_default_category else 90,
+ finalize = True,
+ selfdep_package_names = filter (
+ None, (
+ p.get ( 'package_name', do_fallback=True )
+ for p in subdir.iter_package_info()
+ )
+ ),
)
else:
for name, subdir in self._subdirs.items():
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] proj/R_overlay:master commit in: roverlay/depres/simpledeprule/, roverlay/overlay/
2013-07-11 8:45 [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/depres/simpledeprule/, roverlay/overlay/ André Erdmann
@ 2013-07-11 8:49 ` André Erdmann
0 siblings, 0 replies; 2+ messages in thread
From: André Erdmann @ 2013-07-11 8:49 UTC (permalink / raw
To: gentoo-commits
commit: ab7750a06b411f219e5de1c444e928755903a880
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Jul 11 08:37:10 2013 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Jul 11 08:37:10 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=ab7750a0
fix dot remapping for dynamic selfdeps
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/simpledeprule/abstractrules.py | 24 +++++++++++++++++++-----
roverlay/overlay/category.py | 15 +++++++++++----
2 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/roverlay/depres/simpledeprule/abstractrules.py b/roverlay/depres/simpledeprule/abstractrules.py
index b80eb00..a94d2f3 100644
--- a/roverlay/depres/simpledeprule/abstractrules.py
+++ b/roverlay/depres/simpledeprule/abstractrules.py
@@ -20,7 +20,8 @@ class SimpleRule ( deprule.DependencyRule ):
def __init__ ( self,
dep_str=None, priority=50, resolving_package=None,
- is_selfdep=0, logger_name='simple_rule'
+ is_selfdep=0, logger_name='simple_rule',
+ selfdep_package_names=None, finalize=False,
):
"""Initializes a SimpleIgnoreDependencyRule.
@@ -40,11 +41,24 @@ class SimpleRule ( deprule.DependencyRule ):
self.dep_alias.append ( dep_str )
if self.is_selfdep:
- # add the actual package name (replace '_' by '.')
- # to self.dep_alias
- actual_name = dep_str.replace ( '_', '.' )
- if actual_name != dep_str:
+ # add the actual package name to self.dep_alias
+ # (replace '_' by '.' or use selfdep_package_names)
+ #
+ #
+ # no need to check for duplicates, they get removed
+ # in done_reading anyway
+
+ if selfdep_package_names:
+ for alias in selfdep_package_names:
+ self.dep_alias.append ( alias )
+ ##elif selfdep_package_names is False: ignore
+ else:
+ actual_name = dep_str.replace ( '_', '.' )
self.dep_alias.append ( dep_str )
+ # -- end if dep_str
+
+ if finalize:
+ self.done_reading()
# --- end of __init__ (...) ---
def done_reading ( self ):
diff --git a/roverlay/overlay/category.py b/roverlay/overlay/category.py
index 8038141..330058c 100644
--- a/roverlay/overlay/category.py
+++ b/roverlay/overlay/category.py
@@ -164,11 +164,18 @@ class Category ( object ):
for name, subdir in self._subdirs.items():
if not subdir.empty():
yield dict (
- dep_str = name,
- resolving_package = ( self.name + "/" + name ),
- is_selfdep = 2 if is_default_category else 1,
+ dep_str = name,
+ resolving_package = ( self.name + "/" + name ),
+ is_selfdep = 2 if is_default_category else 1,
# prefer packages from the default category (really?)
- priority = 80 if is_default_category else 90,
+ priority = 80 if is_default_category else 90,
+ finalize = True,
+ selfdep_package_names = filter (
+ None, (
+ p.get ( 'package_name', do_fallback=True )
+ for p in subdir.iter_package_info()
+ )
+ ),
)
else:
for name, subdir in self._subdirs.items():
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-07-11 8:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-11 8:45 [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/depres/simpledeprule/, roverlay/overlay/ André Erdmann
2013-07-11 8:49 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox