aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Erdmann <dywi@mailerd.de>2013-07-17 20:09:27 +0200
committerAndré Erdmann <dywi@mailerd.de>2013-07-17 20:09:27 +0200
commit87a457f712fbe30c502f098eee4b2dc961640e63 (patch)
tree23a7ae62d9647ed95d8cec3dc4dcc74dc48f3e23
parentadd debug capabilities to depresult (diff)
downloadR_overlay-87a457f712fbe30c502f098eee4b2dc961640e63.tar.gz
R_overlay-87a457f712fbe30c502f098eee4b2dc961640e63.tar.bz2
R_overlay-87a457f712fbe30c502f098eee4b2dc961640e63.zip
fixup
This commit fixes some issues (mostly typos). It also adds some logging concerning selfdep validation.
-rw-r--r--roverlay/depres/channels.py3
-rw-r--r--roverlay/depres/communication.py2
-rw-r--r--roverlay/depres/listeners.py16
-rw-r--r--roverlay/depres/simpledeprule/rules.py2
-rw-r--r--roverlay/ebuild/creation.py16
-rw-r--r--roverlay/ebuild/depres.py8
-rw-r--r--roverlay/ebuild/evars.py2
-rw-r--r--roverlay/overlay/pkgdir/distroot/distroot.py2
-rw-r--r--roverlay/overlay/pkgdir/metadata/abstractnodes.py4
-rw-r--r--roverlay/overlay/pkgdir/packagedir_base.py4
-rw-r--r--roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py6
-rw-r--r--roverlay/overlay/root.py4
-rw-r--r--roverlay/packagerules/parser/text.py2
-rw-r--r--roverlay/rpackage/descriptionfields.py7
-rw-r--r--roverlay/util/fileio.py2
15 files changed, 47 insertions, 33 deletions
diff --git a/roverlay/depres/channels.py b/roverlay/depres/channels.py
index 60875f0..73459e5 100644
--- a/roverlay/depres/channels.py
+++ b/roverlay/depres/channels.py
@@ -49,7 +49,8 @@ class _EbuildJobChannelBase ( DependencyResolverChannel ):
# set of portage packages (resolved deps)
# this is None unless all deps have been successfully resolved
- self._collected_deps = None
+ self._collected_deps = None
+ self._unresolvable_deps = None
# used to communicate with the resolver
self._depres_queue = None
diff --git a/roverlay/depres/communication.py b/roverlay/depres/communication.py
index 81c9ede..b1f580b 100644
--- a/roverlay/depres/communication.py
+++ b/roverlay/depres/communication.py
@@ -60,7 +60,7 @@ class DependencyResolverListener ( object ):
arguments:
* event_type --
"""
- return bool ( self.mask & event_type )
+ return bool ( self.event_mask & event_type )
# --- end of accepts (...) ---
def notify ( self, event_type, dep_env=None, pkg_env=None, **extra ):
diff --git a/roverlay/depres/listeners.py b/roverlay/depres/listeners.py
index 91d4a0b..0bfb96c 100644
--- a/roverlay/depres/listeners.py
+++ b/roverlay/depres/listeners.py
@@ -31,17 +31,17 @@ class FileListener ( DependencyResolverListener ):
"""
super ( FileListener, self ) . __init__ ()
- self.fh = None
- self.mask = listen_mask
- self._file = _file
+ self.fh = None
+ self.event_mask = listen_mask
+ self._file = _file
if self._file is None:
raise Exception ( "no file assigned" )
# --- end of __init__ (...) ---
def _event ( self, event_type, to_write ):
- """Writes to_write if event_type is accepted by self.listen_mask."""
- if self.mask & event_type:
+ """Writes to_write if event_type is accepted by self.event_mask."""
+ if self.event_mask & event_type:
if not self.fh:
fdir = os.path.dirname ( self._file )
if not os.path.isdir ( fdir ):
@@ -63,15 +63,15 @@ class SetFileListener ( DependencyResolverListener ):
self._buffer = set()
- self.mask = listen_mask
- self._file = _file
+ self.event_mask = listen_mask
+ self._file = _file
if self._file is None:
raise Exception ( "no file assigned" )
# --- end of __init__ (...) ---
def _event ( self, event_type, to_add ):
- if self.mask & event_type:
+ if self.event_mask & event_type:
self._buffer.add ( to_add )
# --- end of _event (...) ---
diff --git a/roverlay/depres/simpledeprule/rules.py b/roverlay/depres/simpledeprule/rules.py
index dea5f38..7e40ed7 100644
--- a/roverlay/depres/simpledeprule/rules.py
+++ b/roverlay/depres/simpledeprule/rules.py
@@ -349,7 +349,7 @@ class SimpleFuzzySlotDependencyRule ( FuzzySimpleRule ):
# can be resolved as slot(ted) dep
if self.mode == 2:
- res = self._resolving_str
+ res = self.resolving_package
elif vmod & dep_env.VMOD_EQ:
slot_str = None
vslot_str = None
diff --git a/roverlay/ebuild/creation.py b/roverlay/ebuild/creation.py
index b2a291e..334c276 100644
--- a/roverlay/ebuild/creation.py
+++ b/roverlay/ebuild/creation.py
@@ -235,6 +235,22 @@ class EbuildCreation ( object ):
hasattr ( self, 'selfdeps' ) or hasattr ( self, 'optional_selfdeps' )
):
self.logger.debug ( "selfdep validation failed." )
+ if hasattr ( self, 'selfdeps' ):
+ for selfdep in self.selfdeps:
+ self.logger.debug (
+ "selfdep {}: {}".format (
+ selfdep.dep, "OK" if selfdep.is_valid() else "FAIL"
+ )
+ )
+ if hasattr ( self, 'optional_selfdeps' ):
+ for selfdep in self.optional_selfdeps:
+ self.logger.debug (
+ "optional selfdep {}: {}".format (
+ selfdep.dep, "OK" if selfdep.is_valid() else "FAIL"
+ )
+ )
+
+
return False
else:
raise AssertionError (
diff --git a/roverlay/ebuild/depres.py b/roverlay/ebuild/depres.py
index 81f2711..3bdbee9 100644
--- a/roverlay/ebuild/depres.py
+++ b/roverlay/ebuild/depres.py
@@ -177,14 +177,6 @@ class EbuildDepRes ( object ):
def success ( self ) : return self.status == 0
#def fail ( self ) : return self.status < 0
- def get_result ( self ):
- """Returns the result of dependency resolution,
- as tuple ( <status>, <evars>, <has R suggests> )
- """
- raise NotImplementedError()
- return ( self.status, self.result, self.has_suggests )
- # --- end of get_result (...) ---
-
def resolve ( self ):
"""Try to make/get dependency resolution results. Returns None."""
try:
diff --git a/roverlay/ebuild/evars.py b/roverlay/ebuild/evars.py
index 138fc04..f602033 100644
--- a/roverlay/ebuild/evars.py
+++ b/roverlay/ebuild/evars.py
@@ -132,7 +132,7 @@ class UseExpandListValue (
)
else:
raise ValueError (
- "depstr {!r} cannot be parsed".format ( depstr )
+ "depstr {!r} cannot be parsed".format ( dep.dep )
)
# --- end of _get_depstr_key (...) ---
diff --git a/roverlay/overlay/pkgdir/distroot/distroot.py b/roverlay/overlay/pkgdir/distroot/distroot.py
index 25e0c09..7c4a18f 100644
--- a/roverlay/overlay/pkgdir/distroot/distroot.py
+++ b/roverlay/overlay/pkgdir/distroot/distroot.py
@@ -182,7 +182,7 @@ class DistrootBase ( object ):
else root_relpath + os.sep + item
)
if os.path.isdir ( abspath ):
- for result in iter_distfiles ( abspath, relpath ):
+ for result in recursive_iter ( abspath, relpath ):
yield result
else:
yield ( abspath, relpath )
diff --git a/roverlay/overlay/pkgdir/metadata/abstractnodes.py b/roverlay/overlay/pkgdir/metadata/abstractnodes.py
index a00bde8..ee45d6a 100644
--- a/roverlay/overlay/pkgdir/metadata/abstractnodes.py
+++ b/roverlay/overlay/pkgdir/metadata/abstractnodes.py
@@ -79,8 +79,8 @@ class _MetadataBasicNode ( object ):
def _flaglist ( self ):
"""Returns a "flagname=flagvalue" list."""
return [
- '{name}="{val}"'.format ( f_tup [0], f_tup [1] ) \
- for ftup in self.flags.items()
+ '{name}="{val}"'.format ( f_tup[0], f_tup[1] )
+ for f_tup in self.flags.items()
]
# --- end of _flaglist (...) ---
diff --git a/roverlay/overlay/pkgdir/packagedir_base.py b/roverlay/overlay/pkgdir/packagedir_base.py
index ad00a05..8c0bd0b 100644
--- a/roverlay/overlay/pkgdir/packagedir_base.py
+++ b/roverlay/overlay/pkgdir/packagedir_base.py
@@ -155,7 +155,7 @@ class PackageDirBase ( object ):
* pvr -- version ($PVR) of the ebuild
"""
p = roverlay.packageinfo.PackageInfo (
- physical_only=True, pvr=pvr, ebuild_file=efile
+ physical_only=True, pvr=pvr, ebuild_file=efile, name=self.name
)
# TODO/FIXME: parse SRC_URI, knowledge of distfile path would be good...
self._packages [ p ['ebuild_verstr'] ] = p
@@ -389,7 +389,7 @@ class PackageDirBase ( object ):
self.modified = True
if self.runtime_incremental:
with self._lock:
- return self.write_ebuilds ( overwrite=False )
+ return self.write_ebuilds ( overwrite=False, additions_dir=None )
else:
return True
# --- end of new_ebuild (...) ---
diff --git a/roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py b/roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py
index 71cfd23..67aa937 100644
--- a/roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py
+++ b/roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py
@@ -62,7 +62,9 @@ class PackageDir ( roverlay.overlay.pkgdir.packagedir_base.PackageDirBase ):
else:
self.logger.error (
'Couldn\'t create Manifest for {ebuild}! '
- 'Return code was {ret}.'.format ( ebuild=ebuild_file, ret=ret )
+ 'Return code was {ret}.'.format (
+ ebuild=ebuild_file, ret=call.returncode
+ )
)
return False
# --- end of _do_ebuildmanifest (...) ---
@@ -102,7 +104,7 @@ class PackageDir ( roverlay.overlay.pkgdir.packagedir_base.PackageDirBase ):
# TODO: optimize this further?
# -> "not has physical_only?"
# (should be covered by "has package_file")
- p_info.make_distmap_hash()
+ p.make_distmap_hash()
distdir.add ( p ['package_file'], p ['package_src_destpath'], p )
# -- end for;
diff --git a/roverlay/overlay/root.py b/roverlay/overlay/root.py
index 099d6d5..1e423b0 100644
--- a/roverlay/overlay/root.py
+++ b/roverlay/overlay/root.py
@@ -502,7 +502,7 @@ class Overlay ( object ):
if backup_file is True:
do_backup ( desc_file + '.bak' )
elif isinstance ( backup_file, int ):
- do_backuo ( desc_file + '.' + str ( backup_file ) )
+ do_backup ( desc_file + '.' + str ( backup_file ) )
elif backup_file:
do_backup ( str ( backup_file ), makedir=True )
# -- end if
@@ -749,6 +749,8 @@ class Overlay ( object ):
yield self._get_category ( x )
# --- end of scan_categories (...) ---
+ self.logger.info ( "Scanning the overlay for existing packages" )
+
if os.path.isdir ( self.physical_location ):
for cat in scan_categories():
try:
diff --git a/roverlay/packagerules/parser/text.py b/roverlay/packagerules/parser/text.py
index 9e7e55b..4060e95 100644
--- a/roverlay/packagerules/parser/text.py
+++ b/roverlay/packagerules/parser/text.py
@@ -77,7 +77,7 @@ class RuleParser ( object ):
)
else:
- raise NotParseable ( l, lino )
+ raise self.NotParseable ( l, lino )
# --- end of _feed (...) ---
def _create ( self ):
diff --git a/roverlay/rpackage/descriptionfields.py b/roverlay/rpackage/descriptionfields.py
index fedd1cc..58b83c5 100644
--- a/roverlay/rpackage/descriptionfields.py
+++ b/roverlay/rpackage/descriptionfields.py
@@ -68,8 +68,9 @@ class DescriptionField ( object ):
"""Removes a flag from this DescriptionField. Does nothing if the flag
does not exist.
"""
- self.flags.discard ( flag.lower() )
-
+ #COULDFIX: not used
+ #self.flags.discard ( flag.lower() )
+ pass
# --- end of del_flag (...) ---
def add_alias ( self, alias, alias_type='withcase' ):
@@ -152,7 +153,7 @@ class DescriptionField ( object ):
arguments:
* field_identifier --
"""
- if field_indentifier:
+ if field_identifier:
return bool ( self.name == field_identifier )
else:
return False
diff --git a/roverlay/util/fileio.py b/roverlay/util/fileio.py
index 546a2ef..5d996f8 100644
--- a/roverlay/util/fileio.py
+++ b/roverlay/util/fileio.py
@@ -72,7 +72,7 @@ def write_text_file (
CH.write ( NL )
else:
if append_newline_eof:
- FH.write ( NL )
+ CH.write ( NL )
else:
with open ( filepath, mode ) as FH:
for line in lines: