public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "André Erdmann" <dywi@mailerd.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/
Date: Thu, 29 Aug 2013 12:36:34 +0000 (UTC)	[thread overview]
Message-ID: <1377779705.fcc2ea15a521f82319570ca2bb54928a39514e0c.dywi@gentoo> (raw)

commit:     fcc2ea15a521f82319570ca2bb54928a39514e0c
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Aug 29 12:34:27 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Aug 29 12:35:05 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=fcc2ea15

packagedir_base: set distfile owner while scanning

+ use overlay base object

calling set_distfile_owner() is a no-op, currently.

---
 roverlay/overlay/pkgdir/packagedir_base.py | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/roverlay/overlay/pkgdir/packagedir_base.py b/roverlay/overlay/pkgdir/packagedir_base.py
index 425f31b..e8567b9 100644
--- a/roverlay/overlay/pkgdir/packagedir_base.py
+++ b/roverlay/overlay/pkgdir/packagedir_base.py
@@ -33,14 +33,14 @@ import roverlay.tools.ebuildenv
 import roverlay.tools.patch
 
 import roverlay.overlay.additionsdir
-
+import roverlay.overlay.base
 import roverlay.overlay.pkgdir.distroot.static
 import roverlay.overlay.pkgdir.metadata
 
 # TODO: proper reading of $SRC_URI when importing (or scanning) ebuilds
 #        This would make manifest creation being more controlled
 
-class PackageDirBase ( object ):
+class PackageDirBase ( roverlay.overlay.base.OverlayObject ):
    """The PackageDir base class that implements most functionality except
    for Manifest file creation."""
 
@@ -108,12 +108,14 @@ class PackageDirBase ( object ):
       * parent                 (pointer to) the object that is creating this
                                instance
       """
-      self.logger              = logger.getChild ( name )
+      super ( PackageDirBase, self ).__init__ (
+         name, logger, directory, parent
+      )
+
       self.name                = name
       self._lock               = threading.RLock()
       # { <version> : <PackageInfo> }
       self._packages           = dict()
-      self.physical_location   = directory
       self.get_header          = get_header
       self.runtime_incremental = runtime_incremental
 
@@ -134,6 +136,10 @@ class PackageDirBase ( object ):
       self._need_metadata    = False
    # --- end of __init__ (...) ---
 
+   def set_category ( self, category ):
+      self.set_parent ( category )
+   # --- end of set_category (...) ---
+
    def iter_package_info ( self, pkg_filter=None ):
       if pkg_filter is None:
          return self._packages.values()
@@ -163,7 +169,7 @@ class PackageDirBase ( object ):
          return False
    # --- end of remove_ebuild_file (...) ---
 
-   def _scan_add_package ( self, efile, pvr ):
+   def _scan_add_package ( self, efile, pvr, LINK_DISTMAP=False ):
       """Called for each ebuild that is found during scan().
       Creates a PackageInfo for the ebuild and adds it to self._packages.
 
@@ -176,7 +182,11 @@ class PackageDirBase ( object ):
       p = roverlay.packageinfo.PackageInfo (
          physical_only=True, pvr=pvr, ebuild_file=efile, name=self.name
       )
-      # TODO/FIXME: parse SRC_URI, knowledge of distfile path would be good...
+
+      # link distfiles to distmap
+      for distfile in p.parse_ebuild_distfiles ( self.get_parent().name ):
+         self.DISTROOT.set_distfile_owner ( self.get_ref(), distfile )
+
       self._packages [ p ['ebuild_verstr'] ] = p
       return p
    # --- end of _scan_add_package (...) ---
@@ -254,10 +264,10 @@ class PackageDirBase ( object ):
       if added:
          # add a link to this PackageDir into the package info,
          # !! package_info <-> self (double-linked)
-         package_info.overlay_package_ref = weakref.ref ( self )
+         package_info.overlay_package_ref = self.get_ref()
          return True
       elif added is None:
-         return weakref.ref ( self )
+         return self.get_ref()
       else:
          return added
    # --- end of add (...) ---
@@ -486,7 +496,8 @@ class PackageDirBase ( object ):
                      "$PN {!r} does not match directory name, ignoring {!r}.".\
                      format ( pn, f )
                   )
-            except:
+            except Exception as err:
+               self.logger.exception ( err )
                self.logger.warning (
                   "ebuild {!r} has an invalid file name!".format ( f )
                )


             reply	other threads:[~2013-08-29 12:36 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-29 12:36 André Erdmann [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-02-18 16:33 [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/ André Erdmann
2015-01-26 17:41 André Erdmann
2014-08-23 19:03 André Erdmann
2014-07-29 18:29 ` André Erdmann
2014-07-18 16:20 André Erdmann
2014-07-18  2:28 [gentoo-commits] proj/R_overlay:wip/addition_control " André Erdmann
2014-07-18 16:20 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-09-17 13:49 André Erdmann
2013-09-03 15:51 André Erdmann
2013-08-30 15:28 André Erdmann
2013-08-29 12:36 André Erdmann
2013-08-29 12:36 André Erdmann
2013-08-28 15:54 André Erdmann
2013-08-28  9:38 André Erdmann
2013-08-07 16:10 André Erdmann
2013-08-06 16:02 André Erdmann
2013-07-10 16:16 André Erdmann
2013-07-10 16:16 André Erdmann
2013-07-10 16:16 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-10 16:16 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-07-10 16:16 [gentoo-commits] proj/R_overlay:gsoc13/next " André Erdmann
2013-07-10 16:16 ` [gentoo-commits] proj/R_overlay:master " André Erdmann
2013-06-13 16:34 André Erdmann
2013-04-25 16:44 André Erdmann
2013-02-09 20:45 André Erdmann
2013-02-05 20:39 André Erdmann
2013-01-28 23:54 André Erdmann
2013-01-28 23:54 André Erdmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1377779705.fcc2ea15a521f82319570ca2bb54928a39514e0c.dywi@gentoo \
    --to=dywi@mailerd.de \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox