From: "André Erdmann" <dywi@mailerd.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/overlay/pkgdir/
Date: Wed, 10 Jul 2013 15:10:42 +0000 (UTC) [thread overview]
Message-ID: <1373465378.45b5e9f8e6aac6d6729e96b46849f7bf4e9c9f56.dywi@gentoo> (raw)
Message-ID: <20130710151042.lMzHurV6tn4jOWxMVLOsEHisNDqeicIN0lGmJ93iZlY@z> (raw)
commit: 45b5e9f8e6aac6d6729e96b46849f7bf4e9c9f56
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jul 10 14:09:38 2013 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jul 10 14:09:38 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=45b5e9f8
pkgdir_base: fixup
* unused variables removed: HASHES, SUPPRESS_EXCEPTIONS
* added DOEBUILD_FETCH to set the doebuild fetch function (class-wide)
* get_distdir(), fetch_src_for_ebuild() added
---
roverlay/overlay/pkgdir/packagedir_base.py | 39 +++++++++++++++++++-----------
1 file changed, 25 insertions(+), 14 deletions(-)
diff --git a/roverlay/overlay/pkgdir/packagedir_base.py b/roverlay/overlay/pkgdir/packagedir_base.py
index 63adfb4..53ebc42 100644
--- a/roverlay/overlay/pkgdir/packagedir_base.py
+++ b/roverlay/overlay/pkgdir/packagedir_base.py
@@ -1,6 +1,6 @@
# R overlay -- overlay package, package directory
# -*- coding: utf-8 -*-
-# Copyright (C) 2012 André Erdmann <dywi@mailerd.de>
+# Copyright (C) 2012, 2013 André Erdmann <dywi@mailerd.de>
# Distributed under the terms of the GNU General Public License;
# either version 2 of the License, or (at your option) any later version.
@@ -37,6 +37,8 @@ import roverlay.overlay.additionsdir
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 ):
"""The PackageDir base class that implements most functionality except
@@ -44,10 +46,9 @@ class PackageDirBase ( object ):
#DISTROOT =
#DISTMAP =
- EBUILD_SUFFIX = '.ebuild'
#FETCHENV =
- #HASHES =
- SUPPRESS_EXCEPTIONS = True
+
+ EBUILD_SUFFIX = '.ebuild'
# MANIFEST_THREADSAFE (tri-state)
# * None -- unknown (e.g. write_manifest() not implemented)
@@ -56,6 +57,12 @@ class PackageDirBase ( object ):
#
MANIFEST_THREADSAFE = None
+ # DOEBUILD_FETCH
+ # doebuild function that fetches $SRC_URI
+ # can be overridden by subclasses if e.g. on-the-fly manifest creation
+ # is required, too
+ DOEBUILD_FETCH = roverlay.tools.ebuild.doebuild_fetch
+
@classmethod
def init_base_cls ( cls ):
# env for calling "ebuild <ebuild file> fetch"
@@ -66,9 +73,6 @@ class PackageDirBase ( object ):
cls.DISTROOT = roverlay.overlay.pkgdir.distroot.static.get_configured()
cls.DISTMAP = roverlay.recipe.distmap.access()
- # FIXME/TODO: config
- #cls.HASHES = frozenset ({ 'sha256', 'sha512', 'whirlpool', })
- cls.HASHES = frozenset ({ 'sha256', })
cls.FETCHENV = fetch_env
# --- end of init_cls (...) ---
@@ -581,6 +585,18 @@ class PackageDirBase ( object ):
return success
# --- end of write (...) ---
+ def get_distdir ( self ):
+ return self.DISTROOT.get_distdir ( self.name )
+ # --- end of get_distdir (...) ---
+
+ def fetch_src_for_ebuild ( self, efile ):
+ return self.DOEBUILD_FETCH (
+ ebuild_file = efile,
+ logger = self.logger,
+ env = self.FETCHENV.get_env ( self.get_distdir().get_root() )
+ )
+ # --- end of fetch_src_for_ebuild (...) ---
+
def import_ebuilds ( self, eview, overwrite, nosync=False ):
"""Imports ebuilds from an additions dir into this package dir.
@@ -625,12 +641,7 @@ class PackageDirBase ( object ):
self._need_manifest = True
# fetch SRC_URI using ebuild(1)
- if not nosync and not roverlay.tools.ebuild.doebuild_fetch (
- efile_dest, self.logger,
- self.FETCHENV.get_env (
- self.DISTROOT.get_distdir ( self.name ).get_root()
- )
- ):
+ if not nosync and not self.fetch_src_for_ebuild ( efile_dest ):
raise Exception ( "doebuild_fetch() failed." )
# imported ebuilds cannot be used for generating metadata.xml
@@ -810,7 +821,6 @@ class PackageDirBase ( object ):
# generate hashes here (benefit from threading)
# FIXME/TODO: ^ actually faster?
- ##p_info.make_hashes ( self.HASHES )
p_info.make_distmap_hash()
self._need_manifest = True
@@ -884,6 +894,7 @@ class PackageDirBase ( object ):
return True
else:
return False
+
elif (
hasattr ( self, '_write_import_manifest' )
and self._write_import_manifest()
next reply other threads:[~2013-07-10 15:10 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-10 16:16 André Erdmann [this message]
2013-07-10 15:10 ` [gentoo-commits] proj/R_overlay:gsoc13/next commit in: roverlay/overlay/pkgdir/ André Erdmann
-- strict thread matches above, loose matches on Subject: below --
2016-02-18 16:33 [gentoo-commits] proj/R_overlay:master " 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-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 [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=1373465378.45b5e9f8e6aac6d6729e96b46849f7bf4e9c9f56.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