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, 25 Apr 2013 16:44:19 +0000 (UTC)	[thread overview]
Message-ID: <1366902074.944d1a9f5986aae3a03587e541aa43e82af105a5.dywi@gentoo> (raw)

commit:     944d1a9f5986aae3a03587e541aa43e82af105a5
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Apr 25 15:01:14 2013 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Apr 25 15:01:14 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=944d1a9f

overlay/pkgdir: misc, fix for portagemanifest

Changes:
* self._need_manifest is now set by PackageDirBase.write_manifest()
* replaced debug print with debug log statement in PackagDirBase
* portagemanifest: dont fail if metadata.xml does not exist

---
 roverlay/overlay/pkgdir/packagedir_base.py         |   13 +++++++++----
 .../overlay/pkgdir/packagedir_ebuildmanifest.py    |    6 +-----
 .../overlay/pkgdir/packagedir_portagemanifest.py   |   19 +++++++++++++++----
 3 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/roverlay/overlay/pkgdir/packagedir_base.py b/roverlay/overlay/pkgdir/packagedir_base.py
index 3c9b623..95da017 100644
--- a/roverlay/overlay/pkgdir/packagedir_base.py
+++ b/roverlay/overlay/pkgdir/packagedir_base.py
@@ -195,15 +195,16 @@ class PackageDirBase ( object ):
 		try:
 			self._lock.acquire()
 			pvr = package_info ['ebuild_verstr']
-			# FIXME debug print
-			print ( "removing {PVR} from {PN}".format ( PVR=pvr, PN=self.name ) )
+			self.logger.debug (
+				"removing {PVR} from {PN}".format ( PVR=pvr, PN=self.name )
+			)
 			del self._packages [pvr]
 			self.generate_metadata ( skip_if_existent=False )
 		except KeyError:
 			pass
 		finally:
 			self._lock.release()
-	# --- end of uncreateable_ebuild (...) ---
+	# --- end of ebuild_uncreateable (...) ---
 
 	def empty ( self ):
 		"""Returns True if no ebuilds stored, else False.
@@ -637,7 +638,11 @@ class PackageDirBase ( object ):
 
 		if pkgs_for_manifest:
 			self.logger.debug ( "Writing Manifest" )
-			return self._write_manifest ( pkgs_for_manifest )
+			if self._write_manifest ( pkgs_for_manifest ):
+				self._need_manifest = False
+				return True
+			else:
+				return False
 		elif ignore_empty:
 			return True
 		else:

diff --git a/roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py b/roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py
index 5fec14b..0014147 100644
--- a/roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py
+++ b/roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py
@@ -25,9 +25,5 @@ class PackageDir ( packagedir_base.PackageDirBase ):
 		returns: success (True/False)
 		"""
 
-		if manifest.create_manifest ( pkgs_for_manifest, nofail=False ):
-			self._need_manifest = False
-			return True
-		else:
-			return False
+		return manifest.create_manifest ( pkgs_for_manifest, nofail=False )
 	# --- end of write_manifest (...) ---

diff --git a/roverlay/overlay/pkgdir/packagedir_portagemanifest.py b/roverlay/overlay/pkgdir/packagedir_portagemanifest.py
index 9dc2182..588bdc0 100644
--- a/roverlay/overlay/pkgdir/packagedir_portagemanifest.py
+++ b/roverlay/overlay/pkgdir/packagedir_portagemanifest.py
@@ -10,6 +10,7 @@ import os
 import shlex
 
 import portage.manifest
+import portage.exception
 
 import logging
 logging.getLogger ( __name__ ).warning ( "experimental code" )
@@ -109,8 +110,20 @@ class PackageDir ( roverlay.overlay.pkgdir.packagedir_base.PackageDirBase ):
 		)
 
 		# metadata.xml
-		# os.path.basename ( self._metadata.filepath )
-		manifest.addFile ( 'MISC', '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:
 
@@ -149,7 +162,5 @@ class PackageDir ( roverlay.overlay.pkgdir.packagedir_base.PackageDirBase ):
 		#manifest.create ( assumeDistHashesSometimes=False )
 
 		manifest.write()
-		self._need_manifest = False
-
 		return True
 	# --- end of write_manifest (...) ---


             reply	other threads:[~2013-04-25 16:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-25 16:44 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-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-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=1366902074.944d1a9f5986aae3a03587e541aa43e82af105a5.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