From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 490011381F3 for ; Thu, 25 Apr 2013 16:44:30 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 32E7DE0B88; Thu, 25 Apr 2013 16:44:25 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 97B29E0B88 for ; Thu, 25 Apr 2013 16:44:24 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id C0F8E33DF6D for ; Thu, 25 Apr 2013 16:44:22 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id E3583E4417 for ; Thu, 25 Apr 2013 16:44:19 +0000 (UTC) From: "André Erdmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" Message-ID: <1366902074.944d1a9f5986aae3a03587e541aa43e82af105a5.dywi@gentoo> Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/ X-VCS-Repository: proj/R_overlay X-VCS-Files: roverlay/overlay/pkgdir/packagedir_base.py roverlay/overlay/pkgdir/packagedir_ebuildmanifest.py roverlay/overlay/pkgdir/packagedir_portagemanifest.py X-VCS-Directories: roverlay/overlay/pkgdir/ X-VCS-Committer: dywi X-VCS-Committer-Name: André Erdmann X-VCS-Revision: 944d1a9f5986aae3a03587e541aa43e82af105a5 X-VCS-Branch: master Date: Thu, 25 Apr 2013 16:44:19 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 5a6b0a4a-5950-4dcf-9b87-c1a8b384d6d3 X-Archives-Hash: c556d2b667e7b42a609b9195944eab67 commit: 944d1a9f5986aae3a03587e541aa43e82af105a5 Author: André Erdmann mailerd de> AuthorDate: Thu Apr 25 15:01:14 2013 +0000 Commit: André Erdmann mailerd 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 (...) ---