aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Erdmann <dywi@mailerd.de>2013-09-16 17:20:26 +0200
committerAndré Erdmann <dywi@mailerd.de>2013-09-16 17:21:11 +0200
commite3d569207defdb63ca7c1c3fa8f672321ed5070d (patch)
tree6957a3afd0500f8224fa8d40d3ea0c8290455866 /roverlay/overlay
parentinitialize overlay before importing ebuilds (diff)
downloadR_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.py36
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 (...) ---