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 )
)
next 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