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: Wed, 10 Jul 2013 16:16:54 +0000 (UTC) [thread overview] Message-ID: <1373465378.45b5e9f8e6aac6d6729e96b46849f7bf4e9c9f56.dywi@gentoo> (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()
WARNING: multiple messages have this Message-ID (diff)
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 16:17 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: linkBe 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