diff options
author | André Erdmann <dywi@mailerd.de> | 2012-06-20 12:47:15 +0200 |
---|---|---|
committer | André Erdmann <dywi@mailerd.de> | 2012-06-20 12:47:15 +0200 |
commit | 52641417e17d63dce2c03f330a02b27a674e82ef (patch) | |
tree | 0dca8aec1837e70380e90e1465cff887968c0294 /roverlay | |
parent | utily.py fix + code removed (diff) | |
download | R_overlay-52641417e17d63dce2c03f330a02b27a674e82ef.tar.gz R_overlay-52641417e17d63dce2c03f330a02b27a674e82ef.tar.bz2 R_overlay-52641417e17d63dce2c03f330a02b27a674e82ef.zip |
using the overlay module now
* updated PackageInfo
* adjusted other modules
* fixes, todo/fixme notes
modified: roverlay/const.py
modified: roverlay/ebuild/__init__.py
modified: roverlay/ebuild/construction.py
modified: roverlay/ebuild/creation.py
modified: roverlay/manifest/helpers.py
modified: roverlay/overlay/__init__.py
modified: roverlay/overlay/category.py
modified: roverlay/overlay/package.py
modified: roverlay/packageinfo.py
modified: roverlay/rpackage/descriptionreader.py
Diffstat (limited to 'roverlay')
-rw-r--r-- | roverlay/const.py | 4 | ||||
-rw-r--r-- | roverlay/ebuild/__init__.py | 17 | ||||
-rw-r--r-- | roverlay/ebuild/construction.py | 61 | ||||
-rw-r--r-- | roverlay/ebuild/creation.py | 12 | ||||
-rw-r--r-- | roverlay/manifest/helpers.py | 1 | ||||
-rw-r--r-- | roverlay/overlay/__init__.py | 77 | ||||
-rw-r--r-- | roverlay/overlay/category.py | 10 | ||||
-rw-r--r-- | roverlay/overlay/package.py | 40 | ||||
-rw-r--r-- | roverlay/packageinfo.py | 145 | ||||
-rw-r--r-- | roverlay/rpackage/descriptionreader.py | 4 |
10 files changed, 227 insertions, 144 deletions
diff --git a/roverlay/const.py b/roverlay/const.py index 0ab36f9..a69a33a 100644 --- a/roverlay/const.py +++ b/roverlay/const.py @@ -18,7 +18,7 @@ _CONSTANTS = dict ( ), EBUILD = dict ( indent = '\t', - default_header = [ + default_header = '\n'.join ( ( '# Copyright 1999-%i Gentoo Foundation' % ( time.gmtime() [0] ), '# Distributed under the terms of the GNU General Public License v2', '# $Header: $', @@ -26,7 +26,7 @@ _CONSTANTS = dict ( 'EAPI=4', '', 'inherit R-packages' - ], + ) ), ), OVERLAY = dict ( category = 'sci-R', diff --git a/roverlay/ebuild/__init__.py b/roverlay/ebuild/__init__.py index 259a352..17e9a8d 100644 --- a/roverlay/ebuild/__init__.py +++ b/roverlay/ebuild/__init__.py @@ -16,7 +16,7 @@ class Ebuild ( object ): self.header = header # --- end of __init__ (...) --- - def write ( self, fh, header=None ): + def write ( self, fh, header=None, header_is_fallback=False ): """Write the ebuild into a file-like object. arguments: @@ -25,13 +25,14 @@ class Ebuild ( object ): if not self.content: raise Exception ( "ebuild is empty!" ) - if header is None: - if not self.header is None: - fh.write ( self.header ) - fh.write ( '\n' ) - else: - fh.write ( header ) - fh.write ( '\n' ) + header_order = ( self.header, header ) if header_is_fallback \ + else ( header, self.header ) + + for h in header_order: + if not h is None: + fh.write ( h ) + fh.write ( '\n\n' ) + break fh.write ( self.content ) fh.write ( '\n' ) diff --git a/roverlay/ebuild/construction.py b/roverlay/ebuild/construction.py index ed5bca5..3e858a0 100644 --- a/roverlay/ebuild/construction.py +++ b/roverlay/ebuild/construction.py @@ -9,25 +9,29 @@ import roverlay.config from roverlay.util import shorten_str from roverlay.ebuild import Ebuild +EBUILD_INDENT = roverlay.config.get ( 'EBUILD.indent', '\t' ) + +ADD_REMAP = { + # pkg vs package + 'package_name' : 'pkg_name', + 'package_version' : 'pkg_version', + 'package_revision' : 'pkg_revision', + # TITLE is in DESCRIPTION + 'TITLE' : 'DESCRIPTION', + + # TODO: remove these entries by fixing ebuildcreator/ebuildjob + 'DEPENDS' : 'DEPEND', + 'RDEPENDS' : 'RDEPEND', + 'RSUGGESTS' : 'R_SUGGESTS', +} + +IUSE_SUGGESTS = "R_suggests" + class EbuildConstruction ( object ): """Class that helps to create Ebuild objects.""" - EBUILD_INDENT = roverlay.config.get ( 'EBUILD.indent', '\t' ) - - ADD_REMAP = { - # pkg vs package - 'package_name' : 'pkg_name', - 'package_version' : 'pkg_version', - 'package_revision' : 'pkg_revision', - # TITLE is in DESCRIPTION - 'TITLE' : 'DESCRIPTION', - # TODO: remove these entries by fixing ebuildcreator/ebuildjob - 'DEPENDS' : 'DEPEND', - 'RDEPENDS' : 'RDEPEND', - 'RSUGGESTS' : 'R_SUGGESTS', - } def __init__ ( self, logger ): """Initializes an EbuildConstruction object. @@ -66,7 +70,7 @@ class EbuildConstruction ( object ): # -- todo raise Exception ("Ebuild is readonly.") - _key = Ebuild.ADD_REMAP [key] if key in Ebuild.ADD_REMAP else key + _key = ADD_REMAP [key] if key in ADD_REMAP else key if _key is None: self.logger.debug ( "add (%s, %s): filtered key.", key, value ) @@ -121,9 +125,9 @@ class EbuildConstruction ( object ): ret ['R_SUGGESTS'] = self._data ['R_SUGGESTS'] # +R_SUGGESTS, -R_SUGGESTS? - ret ['IUSE'].append ( 'R_suggests' ) + ret ['IUSE'].append ( IUSE_SUGGESTS ) # do these braces help or confuse? TODO FIXME - ret ['RDEPEND'].append ( '( R_suggests ? ${R_SUGGESTS} )' ) + ret ['RDEPEND'].append ( '%s? ( ${R_SUGGESTS} )' % IUSE_SUGGESTS ) return ret @@ -163,7 +167,7 @@ class EbuildConstruction ( object ): var_value = ' '.join ( value ) elif indent_list: var_value = ( - '\n' + (indent_level + 1) * Ebuild.EBUILD_INDENT + '\n' + (indent_level + 1) * EBUILD_INDENT ).join ( value ) else: '\n'.join ( value ) @@ -181,7 +185,7 @@ class EbuildConstruction ( object ): ret ='%s%s="%s"' % ( - indent_level * Ebuild.EBUILD_INDENT, + indent_level * EBUILD_INDENT, varname, var_value ) @@ -205,7 +209,7 @@ class EbuildConstruction ( object ): """ lines = [] line = None - last_line_empty = False + last_line_empty = True for line in line_list: line = line.rstrip() @@ -273,13 +277,13 @@ class EbuildConstruction ( object ): try: ebuild_lines = [] - if 'ebuild_header' in self._data: - ebuild_lines = copy.copy ( self._data ['ebuild_header'] ) - ebuild_lines.append ( "" ) + #if 'ebuild_header' in self._data: + # ebuild_lines = copy.copy ( self._data ['ebuild_header'] ) + # ebuild_lines.append ( "" ) - add_easyvar ( ebuild_lines, "PKG_FILE" ) - if 'PKG_ORIGIN' in self._data: - add_easyvar ( ebuild_lines, "PKG_ORIGIN", None, False ) + #add_easyvar ( ebuild_lines, "PKG_FILE" ) + #if 'PKG_ORIGIN' in self._data: + # add_easyvar ( ebuild_lines, "PKG_ORIGIN", None, False ) ebuild_lines.append ( "" ) @@ -321,8 +325,9 @@ class EbuildConstruction ( object ): return remove_newlines ( ebuild_lines ) except ( ValueError, KeyError, NameError ) as err: - self.logger.exception ( err ) + #self.logger.exception ( err ) self.logger.error ( "Cannot create ebuild text lines." ) - return None + #return None + raise # --- end of make_ebuild_lines (...) --- diff --git a/roverlay/ebuild/creation.py b/roverlay/ebuild/creation.py index eed54b2..5fa91ac 100644 --- a/roverlay/ebuild/creation.py +++ b/roverlay/ebuild/creation.py @@ -148,15 +148,15 @@ class EbuildCreation ( object ): have_desc = True if 'Description' in desc: - ebuilder.add ( - 'DESCRIPTION', - ( '// ' if have_description else '' ) + desc ['Description'] - ) + if have_desc: + ebuilder.add ( 'DESCRIPTION', '// ' + desc ['Description'] ) + else: + ebuilder.add ( 'DESCRIPTION', desc ['Description'] ) ebuilder.add ( 'SRC_URI', self.package_info ['package_url'] ) - if self._resolve_dependencies(): + if self._resolve_dependencies ( ebuilder ): return ( ebuilder.get_ebuild(), ebuilder.has_rsuggests ) return None @@ -187,6 +187,7 @@ class EbuildCreation ( object ): ebuild_info = self._make_ebuild() if ebuild_info is None: + self.logger.info ( "Cannot create an ebuild for this package." ) self.status = -1 else: self.package_info.set_writeable() @@ -195,6 +196,7 @@ class EbuildCreation ( object ): suggests=ebuild_info [1] ) self.package_info.set_readonly() + self.logger.debug ( "Ebuild is ready." ) self.status = 0 except Exception as e: # log this and set status to fail diff --git a/roverlay/manifest/helpers.py b/roverlay/manifest/helpers.py index 78a76e2..09f3296 100644 --- a/roverlay/manifest/helpers.py +++ b/roverlay/manifest/helpers.py @@ -198,6 +198,7 @@ class ManifestEnv ( object ): # set PORDIR_OVERLAY + # ! FIXME the overlay module does not enforce usage of this config key our_env ['PORTDIR_OVERLAY'] = config.get_or_fail ( [ 'OVERLAY', 'dir' ] ) diff --git a/roverlay/overlay/__init__.py b/roverlay/overlay/__init__.py index 081f0b8..7e4bbea 100644 --- a/roverlay/overlay/__init__.py +++ b/roverlay/overlay/__init__.py @@ -56,8 +56,9 @@ class Overlay ( object ): # self._profiles_dir = os.path.join ( self.physical_location, 'profiles' ) - self._catlock = threading.Lock() - self._categories = dict() + self._catlock = threading.Lock() + self._categories = dict() + self._default_header = config.get ( 'EBUILD.default_header', None ) # --- end of __init__ (...) --- def _get_category ( self, category ): @@ -99,11 +100,12 @@ class Overlay ( object ): """Presents the ebuilds/metadata stored in this overlay. arguments: - * **show_kw -- keywords for package.PackageDir.show(...) + * **show_kw -- ignored! (keywords for package.PackageDir.show(...)) returns: None (implicit) """ - for cat in self._categories.values(): cat.show ( **show_kw ) + for cat in self._categories.values(): + cat.show ( default_header=self._default_header ) # --- end of show (...) --- def write ( self, **write_kw ): @@ -112,7 +114,7 @@ class Overlay ( object ): TODO include Manifest generation in package.py arguments: - * **write_kw -- keywords for package.PackageDir.write(...) + * **write_kw -- ignored! (keywords for package.PackageDir.write(...)) returns: None (implicit) @@ -127,7 +129,7 @@ class Overlay ( object ): for cat in self._categories.values(): if cat.physical_location and not cat.empty(): util.dodir ( cat.physical_location ) - cat.write() + cat.write ( default_header=self._default_header ) self._write_categories ( only_active=True ) # --- end of write (...) --- @@ -243,6 +245,36 @@ class Overlay ( object ): self._write_profiles_file ( 'use.desc', use_desc + '\n' ) # --- end of _write_usedesc (...) --- + def _import_eclass ( self, reimport_eclass ): + + if self.eclass_files: + # import eclass files + eclass_dir = os.path.join ( self.physical_location, 'eclass' ) + try: + util.dodir ( eclass_dir ) + + for eclass in self.eclass_files: + src = eclass + dest = None + if isinstance ( eclass, str ): + dest = os.path.basename ( eclass ) + else: + # list-like specification ( src, destname ) + src = eclass [0] + dest = eclass [1] + + dest = os.path.join ( eclass_dir, dest ) + + if reimport_eclass or not os.path.isfile ( dest ): + shutil.copyfile ( src, dest ) + + + except Exception as e: + #self.logger.exception ( e ) TODO try-catch blocks + self.logger.critical ( "Cannot import eclass files!" ) + raise + # --- end of _import_eclass (...) --- + def _init_overlay ( self, reimport_eclass=False, make_profiles_dir=False ): """Initializes the overlay at its physical/filesystem location. @@ -259,36 +291,11 @@ class Overlay ( object ): raise Exception ( "no directory assigned." ) try: - root = self.physical_location # mkdir overlay root - os.makedirs ( root, exist_ok=True ) # raises? - - if self.eclass_files: - # import eclass files - eclass_dir = os.path.join ( root, 'eclass' ) - try: - util.dodir ( eclass_dir ) - - for eclass in self.eclass_files: - src = eclass - dest = None - if isinstance ( eclass, str ): - dest = os.path.basename ( eclass ) - else: - # list-like specification ( src, destname ) - src = eclass [0] - dest = eclass [1] - - if reimport_eclass or not os.path.isfile ( dest ): - shutil.copyfile ( src, dest ) - - - except Exception as e: - #self.logger.exception ( e ) TODO try-catch blocks - self.logger.critical ( "Cannot import eclass files!" ) - raise - - # -- eclass + os.makedirs ( self.physical_location, exist_ok=True ) # raises? + + self._import_eclass ( reimport_eclass ) + if make_profiles_dir: self._write_profiles_dir ( only_active_categories=False ) diff --git a/roverlay/overlay/category.py b/roverlay/overlay/category.py index 768f296..10e57c2 100644 --- a/roverlay/overlay/category.py +++ b/roverlay/overlay/category.py @@ -30,7 +30,7 @@ class Category ( object ): """Returns True if this category contains 0 ebuilds.""" return \ len ( self._subdirs ) == 0 or \ - not False in ( d.empty() for d in self._subdirs ) + not False in ( d.empty() for d in self._subdirs.values() ) # --- end of empty (...) --- def add ( self, package_info ): @@ -44,10 +44,10 @@ class Category ( object ): # TODO make keys available pkg_name = package_info ['name'] - if not pkg_name in self._content: + if not pkg_name in self._subdirs: self._lock.acquire() - if not pkg_name in self._content: - self._content [pkg_name] = PackageDir ( + if not pkg_name in self._subdirs: + self._subdirs [pkg_name] = PackageDir ( pkg_name, self.logger, None if self.physical_location is None else \ @@ -55,7 +55,7 @@ class Category ( object ): ) self._lock.release() - self._content [pkg_name].add ( package_info ) + self._subdirs [pkg_name].add ( package_info ) # --- end of add (...) --- def generate_metadata ( self, **metadata_kw ): diff --git a/roverlay/overlay/package.py b/roverlay/overlay/package.py index d43ec1f..cebe568 100644 --- a/roverlay/overlay/package.py +++ b/roverlay/overlay/package.py @@ -7,6 +7,7 @@ import os.path import sys from roverlay.metadata import MetadataJob +from roverlay import manifest SUPPRESS_EXCEPTIONS = True @@ -22,6 +23,7 @@ class PackageDir ( object ): * directory -- filesystem location of this PackageDir """ self.logger = logger.getChild ( name ) + self.name = name self._lock = threading.RLock() self._packages = dict() self._metadata = None @@ -54,7 +56,7 @@ class PackageDir ( object ): ) # --- end of _get_ebuild_filepath (...) --- - def write ( self ): + def write ( self, default_header=None ): """Writes this directory to its (existent!) filesystem location. returns: None (implicit) @@ -74,10 +76,21 @@ class PackageDir ( object ): fh = None try: efile = self._get_ebuild_filepath ( ver ) - ebuild = p_info.ebuild + + ebuild = p_info ['ebuild'] fh = open ( efile, 'w' ) - ebuild.write ( fh ) + if isinstance ( ebuild, str ): + if default_header is not None: + fh.write ( default_header ) + fh.write ( '\n\n' ) + fh.write ( ebuild ) + fh.write ( '\n' ) + else: + ebuild.write ( + fh, + header=default_header, header_is_fallback=True + ) if fh: fh.close() # adjust owner/perm? TODO @@ -86,7 +99,9 @@ class PackageDir ( object ): # this marks the package as 'written to fs' # TODO update PackageInfo - p_info ['ebuild_filepath'] = efile + p_info.set_writeable() + p_info ['ebuild_file'] = efile + p_info.set_readonly() self.logger.info ( "Wrote ebuild %s." % efile ) except IOError as e: @@ -113,7 +128,7 @@ class PackageDir ( object ): self._lock.release() # --- end of write (...) --- - def show ( self, stream=sys.stderr ): + def show ( self, stream=sys.stderr, default_header=None ): """Prints this dir (the ebuilds and the metadata) into a stream. arguments: @@ -129,10 +144,13 @@ class PackageDir ( object ): for ver, p_info in self._packages.items(): efile = self._get_ebuild_filepath ( ver ) - ebuild = p_info.ebuild + ebuild = p_info ['ebuild'] stream.write ( "[BEGIN ebuild %s]\n" % efile ) - ebuild.write ( stream ) + ebuild.write ( + stream, + header=default_header, header_is_fallback=True + ) stream.write ( "[END ebuild %s]\n" % efile ) mfile = self._get_metadata_filepath() @@ -185,7 +203,7 @@ class PackageDir ( object ): shortver = package_info ['ebuild_verstr'] def already_exists ( release=False ): - if filename in self._packages: + if shortver in self._packages: if release: self._lock.release() @@ -248,7 +266,7 @@ class PackageDir ( object ): for p_info in self._packages: self._metadata.update ( p_info ) else: - self._metadata.update ( _latest_package() ) + self._metadata.update ( self._latest_package() ) self._lock.release() # --- end of generate_metadata (...) --- @@ -272,8 +290,8 @@ class PackageDir ( object ): # metadata.xml's full path cannot be used for manifest creation here # 'cause DISTDIR would be unknown # - pkg_info_for_manifest = _latest_package ( - pkg_filter=lambda pkg : not pkg ['ebuild_filepath'] is None, + pkg_info_for_manifest = self._latest_package ( + pkg_filter=lambda pkg : not pkg ['ebuild_file'] is None, use_lock=True ) diff --git a/roverlay/packageinfo.py b/roverlay/packageinfo.py index 7a77ca0..38513ff 100644 --- a/roverlay/packageinfo.py +++ b/roverlay/packageinfo.py @@ -9,23 +9,38 @@ import threading from roverlay import config, util +# +# PackageInfo keys known to be used (read) in the roverlay modules: +# +# * desc_data in ebuild/creation, metadata/__init__ +# * distdir in manifest/helpers +# * ebuild in overlay/package +# * ebuild_file in manifest/helpers, overlay/package +# * ebuild_verstr in overlay/package +# * name in ebuild/creation, overlay/category +# * package_file in rpackage/descriptionreader +# * package_name in rpackage/descriptionreader +# * package_url in ebuild/creation +# * version in ebuild/package (as tuple) +# + LOGGER = logging.getLogger ( 'PackageInfo' ) VIRTUAL_KEYS = dict ( - DISTDIR = frozenset ( ( 'distdir', 'pkg_distdir' ) ), - # removing this key - #EBUILD_FILE = frozenset ( ( 'ebuild_file', 'efile' ) ), - HAS_SUGGESTS = frozenset ( ( 'has_suggests', 'has_rsuggests' ) ), - SRC_URI = frozenset ( ( 'src_uri', 'package_url', 'url' ) ), - ALWAYS_FALLBACK = frozenset ( ( 'ebuild_filepath' ) ), + SRC_URI = frozenset ( ( 'src_uri', 'package_url' ) ), + ALWAYS_FALLBACK = frozenset ( ( 'ebuild', 'ebuild_file' ) ), ) - class PackageInfo ( object ): """PackageInfo offers easy, subscriptable (['sth']) access to package information, whether stored or calculated. """ + EBUILDVER_REGEX = re.compile ( '[-]{1,}' ) + PKGSUFFIX_REGEX = re.compile ( + config.get_or_fail ( 'R_PACKAGE.suffix_regex' ) + '$' + ) + def __init__ ( self, **initial_info ): """Initializes a PackageInfo. @@ -112,17 +127,30 @@ class PackageInfo ( object ): raises: KeyError """ + # normal dict access shouldn't be slowed down here + if key in self._info: return self._info [key] + key_low = key.lower() + if key_low in self._info: + return self._info [key_low] + # 'virtual' keys - calculate result - if key_low in VIRTUAL_KEYS ['DISTDIR']: + elif key_low == 'distdir': if 'package_dir' in self._info: return self._info ['package_dir'] - elif 'origin' in self._info: - return util.get_distdir ( self._info ['origin'] ) + elif 'package_file' in self._info: + return os.path.dirname ( self._info ['package_file'] ) - elif key_low in VIRTUAL_KEYS ['HAS_SUGGESTS']: + #elif 'origin' in self._info: + else: + return os.path.join ( + config.get_or_fail ( ['DISTFILES', 'root' ] ), + self._info ['origin'] + ) + + elif key_low == 'has_suggests': if 'has_suggests' in self._info: return self._info ['has_suggests'] @@ -136,17 +164,17 @@ class PackageInfo ( object ): # comment from ebuild: ## calculate SRC_URI using self._data ['origin'], ## either here or in eclass - return "**packageinfo needs information from sync module!" - - # normal keys - if key in self._info: - return self._info [key] + return "http://TODO!!!/" + self._info ['package_filename'] + #return "**packageinfo needs information from sync module!" - elif key_low in self._info: - return self._info [key_low] - elif do_fallback or key_low in VIRTUAL_KEYS ['ALWAYS_FALLBACK']: + # fallback + if do_fallback: return fallback_value + + elif key_low in VIRTUAL_KEYS ['ALWAYS_FALLBACK']: + return None + else: raise KeyError ( key ) # --- end of get (...) --- @@ -183,21 +211,27 @@ class PackageInfo ( object ): self._writelock_acquire() - if 'filepath' in info: - self._use_filepath ( info ['filepath'] ) + for key in info.keys(): + if key == 'desc': + self ['desc_data'] = info [key] - if 'ebuild' in info: - self._use_ebuild ( info ['ebuild'] ) + elif key == 'desc_data': + self ['desc_data'] = info [key] - if 'desc_data' in info - self ['desc_data'] = info ['desc_data'] - elif 'desc' in info: - self ['desc_data'] = info ['desc'] + elif key == 'ebuild': + self._use_ebuild ( info [key] ) + elif key == 'filepath': + self._use_filepath ( info [key] ) - if 'suggests' in info: - self ['has_suggests'] = info ['suggests'] + elif key == 'origin': + self ['origin'] = info [key] + elif key == 'suggests': + self ['has_suggests'] = info [key] + + else: + LOGGER.warning ( "unknown info key %s!" % key ) self._update_lock.release() # --- end of update (**kw) --- @@ -209,14 +243,10 @@ class PackageInfo ( object ): * filepath -- """ - package_file = os.path.basename ( filepath ) + filename_with_ext = os.path.basename ( filepath ) # remove .tar.gz .tar.bz2 etc. - filename = re.sub ( - config.get ( 'R_PACKAGE.suffix_regex' ) + '$', - '', - package_file - ) + filename = PackageInfo.PKGSUFFIX_REGEX.sub ( '', filename_with_ext ) package_name, sepa, package_version = filename.partition ( config.get ( 'R_PACKAGE.name_ver_separator', '_' ) @@ -228,13 +258,38 @@ class PackageInfo ( object ): raise Exception ( "cannot use file '%s'." % filename ) return + version_str = PackageInfo.EBUILDVER_REGEX.sub ( '.', package_version ) + + try: + version = tuple ( int ( z ) for z in version_str.split ( '.' ) ) + self ['version'] = version + except ValueError as ve: + # version string is malformed + # TODO: discard or continue with bad version? + logging.error ( + "Cannot parse version string '%s' for '%s'" + % ( filepath, version_str ) + ) + raise + + - self ['filepath'] = filepath - self ['package_file'] = package_file - self ['package_dir' ] = os.path.dirname ( filepath ) - self ['filename'] = filename - self ['package_name'] = package_name - self ['package_version'] = package_version + # using package name as name (unless modified later), + # using pkg_version for the ebuild version + self ['name'] = package_name + self ['ebuild_verstr'] = version_str + + + # for DescriptionReader + self ['package_file'] = filepath + self ['package_name'] = package_name + + self ['package_filename'] = filename_with_ext + + # keys never used (FIXME remove or use) + #self ['filename'] = filename + #self ['filepath'] = filepath + #self ['package_version'] = package_version # --- end of _use_filepath (...) --- def _use_ebuild ( self, ebuild ): @@ -244,11 +299,5 @@ class PackageInfo ( object ): * ebuild -- """ self ['ebuild'] = ebuild - # set status to ready for overlay - - # this does no longer work FIXME - self ['has_suggests'] = ebuild.has_rsuggests - # todo move Ebuild funcs to here - self ['ebuild_dir'] = ebuild.suggest_dir_name() - self ['ebuild_name'] = ebuild.suggest_name() + # ##set status to ready for overlay # --- end of _use_ebuild (...) --- diff --git a/roverlay/rpackage/descriptionreader.py b/roverlay/rpackage/descriptionreader.py index 279aac3..e700907 100644 --- a/roverlay/rpackage/descriptionreader.py +++ b/roverlay/rpackage/descriptionreader.py @@ -212,7 +212,7 @@ class DescriptionReader ( object ): try: desc_lines = get_desc_from_file ( - self.fileinfo ['filepath'], + self.fileinfo ['package_file'], self.fileinfo ['package_name'] ) @@ -288,7 +288,7 @@ class DescriptionReader ( object ): if self._parse_read_data ( read_data ): self.logger.debug ( "Successfully read file '%s' with data = %s.", - self.fileinfo ['filepath'], str ( read_data ) + self.fileinfo ['package_file'], str ( read_data ) ) self.desc_data = read_data |