diff options
author | André Erdmann <dywi@mailerd.de> | 2013-09-16 17:20:26 +0200 |
---|---|---|
committer | André Erdmann <dywi@mailerd.de> | 2013-09-16 17:21:11 +0200 |
commit | e3d569207defdb63ca7c1c3fa8f672321ed5070d (patch) | |
tree | 6957a3afd0500f8224fa8d40d3ea0c8290455866 /roverlay/overlay | |
parent | initialize overlay before importing ebuilds (diff) | |
download | R_overlay-e3d569207defdb63ca7c1c3fa8f672321ed5070d.tar.gz R_overlay-e3d569207defdb63ca7c1c3fa8f672321ed5070d.tar.bz2 R_overlay-e3d569207defdb63ca7c1c3fa8f672321ed5070d.zip |
packagedir_base: add note about incorrect stats
Diffstat (limited to 'roverlay/overlay')
-rw-r--r-- | roverlay/overlay/pkgdir/packagedir_base.py | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/roverlay/overlay/pkgdir/packagedir_base.py b/roverlay/overlay/pkgdir/packagedir_base.py index 870a419..27f395c 100644 --- a/roverlay/overlay/pkgdir/packagedir_base.py +++ b/roverlay/overlay/pkgdir/packagedir_base.py @@ -787,6 +787,29 @@ class PackageDirBase ( roverlay.overlay.base.OverlayObject ): if not nosync and not self.fetch_src_for_ebuild ( efile_dest ): raise Exception ( "doebuild_fetch() failed." ) + # link files to distroot/distmap + # + # NOTE: the stats count imported ebuilds without any src file + # (nosync=True and $SRC_URI not empty) as successful + # (stats_ebuild_imported() below), whereas these ebuilds + # will be ignored when running roverlay again. + # + # This could be fixed by checking whether + # DISTROOT.set_distfile_owner() returns a virtual entry, + # but use-dependent could be virtual, too. + # + for distfile in p.parse_ebuild_distfiles ( + self.get_parent().name, + ignore_unparseable=True, yield_unparseable=True + ): + if distfile is None: + self.DISTROOT.need_distmap_sync() + else: + self.DISTROOT.set_distfile_owner ( + self.get_ref(), distfile + ) + # -- end for + except: # this package dir is "broken" now, # so a new manifest would be good... @@ -809,18 +832,7 @@ class PackageDirBase ( roverlay.overlay.base.OverlayObject ): stats_ebuild_imported() efile_imported ( efile_dest ) - - - # link files to distroot/distmap (if possible) - for distfile in p.parse_ebuild_distfiles ( - self.get_parent().name, - ignore_unparseable=True, yield_unparseable=True - ): - if distfile is None: - self.DISTROOT.need_distmap_sync() - else: - self.DISTROOT.set_distfile_owner ( self.get_ref(), distfile ) - # -- end for + # -- end try return p # --- end of import_ebuild_efile (...) --- |