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: Wed, 10 Jul 2013 16:16:56 +0000 (UTC)	[thread overview]
Message-ID: <1373468836.d0803a228f07e2c535dac48b21d07499d0a6e8db.dywi@gentoo> (raw)

commit:     d0803a228f07e2c535dac48b21d07499d0a6e8db
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jul 10 15:07:16 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jul 10 15:07:16 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=d0803a22

remove portagemanifest

---
 .../overlay/pkgdir/packagedir_portagemanifest.py   | 183 ---------------------
 1 file changed, 183 deletions(-)

diff --git a/roverlay/overlay/pkgdir/packagedir_portagemanifest.py b/roverlay/overlay/pkgdir/packagedir_portagemanifest.py
deleted file mode 100644
index f4527a1..0000000
--- a/roverlay/overlay/pkgdir/packagedir_portagemanifest.py
+++ /dev/null
@@ -1,183 +0,0 @@
-# R overlay -- overlay package, package directory (portage manifest)
-# -*- coding: utf-8 -*-
-# Copyright (C) 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.
-
-__all__ = [ 'PackageDir', ]
-
-import os
-import shlex
-
-import portage.manifest
-import portage.exception
-
-import logging
-logging.getLogger ( __name__ ).warning (
-   "experimental code, importing ebuilds doesn't work!"
-)
-del logging
-
-import roverlay.config
-import roverlay.strutil
-import roverlay.packageinfo
-import roverlay.overlay.pkgdir.packagedir_base
-import roverlay.overlay.pkgdir.distroot
-
-class PackageDir ( roverlay.overlay.pkgdir.packagedir_base.PackageDirBase ):
-   # FIXME: portagemanifest is broken, it cannot create Manifest files for
-   # package dirs with imported ebuilds
-
-   MANIFEST_THREADSAFE = True
-
-   def import_ebuilds ( self, *args, **kwargs ):
-      raise NotImplementedError (
-         "ebuild imports not supported by portagemanifest!"
-      )
-   # --- end of import_ebuilds (...) ---
-
-   def _scan_add_package ( self, efile, pvr ):
-      """Called for each ebuild that is found during scan().
-      Creates a PackageInfo for the ebuild and adds it to self._packages.
-
-      arguments:
-      * efile -- full path to the ebuild file
-      * pvr   -- version ($PVR) of the ebuild
-      """
-
-      # read SRC_URI from the ebuild file which is the only way to get
-      # the correct package name
-      src_uri = None
-      with open ( efile, 'r' ) as FH:
-         reader                   = shlex.shlex ( FH )
-         reader.whitespace_split  = False
-         reader.wordchars        += ' ,./$()[]:+-@*~<>'
-
-         # assumption: only one SRC_URI= statement per ebuild
-         # (true for roverlay ebuilds)
-         mode  = 0
-         token = reader.get_token()
-         while token:
-            if mode == 0 and token == 'SRC_URI':
-               mode = 1
-            elif mode == 1 and token == '=':
-               mode = 2
-            elif mode == 2:
-               mode = 3
-               src_uri = tuple (
-                  roverlay.strutil.split_whitespace (
-                     roverlay.strutil.unquote ( token )
-                  )
-               )
-
-            # break loop if SRC_URI parsed
-            token = reader.get_token() if mode < 3 else None
-         # --- while;
-         del token, reader, mode
-      # --- with;
-
-      # another assumption:
-      #  name of the R package is src_uri[2] if src_uri[1] == '->', else [0]
-      #
-      if src_uri:
-         # > 2, > 1? ebuild would be broken if $SRC_URI ends with '->'
-         #if len ( src_uri ) > 2 and src_uri [1] == '->':
-         if len ( src_uri ) > 1 and src_uri [1] == '->':
-            package_filename = src_uri[2]
-         else:
-            package_filename = src_uri[0].rpartition ( '/' ) [2]
-
-         p = roverlay.packageinfo.PackageInfo (
-            physical_only=True, pvr=pvr, ebuild_file=efile,
-            package_filename=package_filename
-         )
-      else:
-         p = roverlay.packageinfo.PackageInfo (
-            physical_only=True, pvr=pvr, ebuild_file=efile
-         )
-      # --- if;
-
-      self._packages [ p ['ebuild_verstr'] ] = p
-   # --- end of _scan_add_package (...) ---
-
-   def _write_manifest ( self, pkgs_for_manifest ):
-      """Generates and writes the Manifest file for this package.
-
-      expects: called after writing metadata/ebuilds
-
-      returns: True
-      """
-
-      # TODO: this needs proper testing
-      # * the written Manifest file must not differ from the one generated by
-      #   ebuild(1) (the order of the entries is not important, though)
-      # * safe for incremental usage?
-      # * correct usage of the portage libs (also see other comments below)
-      # * what happens if an ebuild has been removed?
-      # * ...
-      #
-
-      distdir = self.DISTROOT.get_distdir ( self.name )
-
-      # allow_missing=True -- don't write empty Manifest files
-      manifest = portage.manifest.Manifest (
-         self.physical_location,
-         distdir.get_root(),
-         allow_missing=True,
-      )
-
-      # metadata.xml
-      #os.path.basename ( self._metadata.filepath )
-      try:
-         manifest.addFile ( 'MISC', 'metadata.xml' )
-      except portage.exception.FileNotFound as f404:
-         # package dir has no metadata.xml file
-         #
-         # This happens for a few package dirs that dont contain any package
-         # with enough information required for metadata creation
-         #
-         # packagedir_ebuildmanifest accepts this case without complaining,
-         # so ignore it here, too.
-         #
-         pass
-
-
-      for p in pkgs_for_manifest:
-
-         ebuild_filename  = p ['ebuild_filename']
-         package_filename = p ['package_src_destpath']
-
-         if not manifest.hasFile ( 'EBUILD', ebuild_filename ):
-            manifest.addFile ( 'EBUILD', ebuild_filename )
-
-         if not manifest.hasFile ( 'DIST', package_filename ):
-            distdir.add ( p ['package_file'], package_filename, p )
-            manifest.addFile (
-               'DIST',
-               package_filename,
-               # TODO:
-               # ignoreMissing for DIST files, else addFile raises
-               # FileNotFound -- is this the correct way to add DIST files?
-               ignoreMissing=True
-            )
-         else:
-            # ebuildmanifest adds all package files to the distdir without
-            # doing the check above (if hasFile())
-            # be "fully compatible" and do that here, too
-            try:
-               distdir.add ( p ['package_file'], package_filename, p )
-            except Exception as err:
-               self.logger.exception ( err )
-
-      # ??? FIXME: (read) portage api docs
-      #
-      # manifest.create -- recreate from scratch (required?)
-      # -> assumeDistHashesSometimes:
-      #     use existing checksums for non-existent DIST files (required?)
-      #
-      #manifest.create ( assumeDistHashesSometimes=True )
-      #manifest.create ( assumeDistHashesSometimes=False )
-
-      manifest.write()
-      return True
-   # --- end of write_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:44 +0000 (UTC)	[thread overview]
Message-ID: <1373468836.d0803a228f07e2c535dac48b21d07499d0a6e8db.dywi@gentoo> (raw)
Message-ID: <20130710151044.LNMV7uD7eg-BFTVl2kUM9Hs1-IQAquAwgIRmZ-U5hBY@z> (raw)

commit:     d0803a228f07e2c535dac48b21d07499d0a6e8db
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Wed Jul 10 15:07:16 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Wed Jul 10 15:07:16 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=d0803a22

remove portagemanifest

---
 .../overlay/pkgdir/packagedir_portagemanifest.py   | 183 ---------------------
 1 file changed, 183 deletions(-)

diff --git a/roverlay/overlay/pkgdir/packagedir_portagemanifest.py b/roverlay/overlay/pkgdir/packagedir_portagemanifest.py
deleted file mode 100644
index f4527a1..0000000
--- a/roverlay/overlay/pkgdir/packagedir_portagemanifest.py
+++ /dev/null
@@ -1,183 +0,0 @@
-# R overlay -- overlay package, package directory (portage manifest)
-# -*- coding: utf-8 -*-
-# Copyright (C) 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.
-
-__all__ = [ 'PackageDir', ]
-
-import os
-import shlex
-
-import portage.manifest
-import portage.exception
-
-import logging
-logging.getLogger ( __name__ ).warning (
-   "experimental code, importing ebuilds doesn't work!"
-)
-del logging
-
-import roverlay.config
-import roverlay.strutil
-import roverlay.packageinfo
-import roverlay.overlay.pkgdir.packagedir_base
-import roverlay.overlay.pkgdir.distroot
-
-class PackageDir ( roverlay.overlay.pkgdir.packagedir_base.PackageDirBase ):
-   # FIXME: portagemanifest is broken, it cannot create Manifest files for
-   # package dirs with imported ebuilds
-
-   MANIFEST_THREADSAFE = True
-
-   def import_ebuilds ( self, *args, **kwargs ):
-      raise NotImplementedError (
-         "ebuild imports not supported by portagemanifest!"
-      )
-   # --- end of import_ebuilds (...) ---
-
-   def _scan_add_package ( self, efile, pvr ):
-      """Called for each ebuild that is found during scan().
-      Creates a PackageInfo for the ebuild and adds it to self._packages.
-
-      arguments:
-      * efile -- full path to the ebuild file
-      * pvr   -- version ($PVR) of the ebuild
-      """
-
-      # read SRC_URI from the ebuild file which is the only way to get
-      # the correct package name
-      src_uri = None
-      with open ( efile, 'r' ) as FH:
-         reader                   = shlex.shlex ( FH )
-         reader.whitespace_split  = False
-         reader.wordchars        += ' ,./$()[]:+-@*~<>'
-
-         # assumption: only one SRC_URI= statement per ebuild
-         # (true for roverlay ebuilds)
-         mode  = 0
-         token = reader.get_token()
-         while token:
-            if mode == 0 and token == 'SRC_URI':
-               mode = 1
-            elif mode == 1 and token == '=':
-               mode = 2
-            elif mode == 2:
-               mode = 3
-               src_uri = tuple (
-                  roverlay.strutil.split_whitespace (
-                     roverlay.strutil.unquote ( token )
-                  )
-               )
-
-            # break loop if SRC_URI parsed
-            token = reader.get_token() if mode < 3 else None
-         # --- while;
-         del token, reader, mode
-      # --- with;
-
-      # another assumption:
-      #  name of the R package is src_uri[2] if src_uri[1] == '->', else [0]
-      #
-      if src_uri:
-         # > 2, > 1? ebuild would be broken if $SRC_URI ends with '->'
-         #if len ( src_uri ) > 2 and src_uri [1] == '->':
-         if len ( src_uri ) > 1 and src_uri [1] == '->':
-            package_filename = src_uri[2]
-         else:
-            package_filename = src_uri[0].rpartition ( '/' ) [2]
-
-         p = roverlay.packageinfo.PackageInfo (
-            physical_only=True, pvr=pvr, ebuild_file=efile,
-            package_filename=package_filename
-         )
-      else:
-         p = roverlay.packageinfo.PackageInfo (
-            physical_only=True, pvr=pvr, ebuild_file=efile
-         )
-      # --- if;
-
-      self._packages [ p ['ebuild_verstr'] ] = p
-   # --- end of _scan_add_package (...) ---
-
-   def _write_manifest ( self, pkgs_for_manifest ):
-      """Generates and writes the Manifest file for this package.
-
-      expects: called after writing metadata/ebuilds
-
-      returns: True
-      """
-
-      # TODO: this needs proper testing
-      # * the written Manifest file must not differ from the one generated by
-      #   ebuild(1) (the order of the entries is not important, though)
-      # * safe for incremental usage?
-      # * correct usage of the portage libs (also see other comments below)
-      # * what happens if an ebuild has been removed?
-      # * ...
-      #
-
-      distdir = self.DISTROOT.get_distdir ( self.name )
-
-      # allow_missing=True -- don't write empty Manifest files
-      manifest = portage.manifest.Manifest (
-         self.physical_location,
-         distdir.get_root(),
-         allow_missing=True,
-      )
-
-      # metadata.xml
-      #os.path.basename ( self._metadata.filepath )
-      try:
-         manifest.addFile ( 'MISC', 'metadata.xml' )
-      except portage.exception.FileNotFound as f404:
-         # package dir has no metadata.xml file
-         #
-         # This happens for a few package dirs that dont contain any package
-         # with enough information required for metadata creation
-         #
-         # packagedir_ebuildmanifest accepts this case without complaining,
-         # so ignore it here, too.
-         #
-         pass
-
-
-      for p in pkgs_for_manifest:
-
-         ebuild_filename  = p ['ebuild_filename']
-         package_filename = p ['package_src_destpath']
-
-         if not manifest.hasFile ( 'EBUILD', ebuild_filename ):
-            manifest.addFile ( 'EBUILD', ebuild_filename )
-
-         if not manifest.hasFile ( 'DIST', package_filename ):
-            distdir.add ( p ['package_file'], package_filename, p )
-            manifest.addFile (
-               'DIST',
-               package_filename,
-               # TODO:
-               # ignoreMissing for DIST files, else addFile raises
-               # FileNotFound -- is this the correct way to add DIST files?
-               ignoreMissing=True
-            )
-         else:
-            # ebuildmanifest adds all package files to the distdir without
-            # doing the check above (if hasFile())
-            # be "fully compatible" and do that here, too
-            try:
-               distdir.add ( p ['package_file'], package_filename, p )
-            except Exception as err:
-               self.logger.exception ( err )
-
-      # ??? FIXME: (read) portage api docs
-      #
-      # manifest.create -- recreate from scratch (required?)
-      # -> assumeDistHashesSometimes:
-      #     use existing checksums for non-existent DIST files (required?)
-      #
-      #manifest.create ( assumeDistHashesSometimes=True )
-      #manifest.create ( assumeDistHashesSometimes=False )
-
-      manifest.write()
-      return True
-   # --- end of write_manifest (...) ---


             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=1373468836.d0803a228f07e2c535dac48b21d07499d0a6e8db.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