From mboxrd@z Thu Jan  1 00:00:00 1970
Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org)
	by finch.gentoo.org with esmtp (Exim 4.60)
	(envelope-from <gentoo-commits+bounces-480052-garchives=archives.gentoo.org@lists.gentoo.org>)
	id 1SjXve-00008c-Ih
	for garchives@archives.gentoo.org; Tue, 26 Jun 2012 15:43:46 +0000
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 920BFE0DD4;
	Tue, 26 Jun 2012 15:42:59 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	by pigeon.gentoo.org (Postfix) with ESMTP id 533C8E0DD4
	for <gentoo-commits@lists.gentoo.org>; Tue, 26 Jun 2012 15:42:59 +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 B18C71B4599
	for <gentoo-commits@lists.gentoo.org>; Tue, 26 Jun 2012 15:42:58 +0000 (UTC)
Received: from localhost.localdomain (localhost [127.0.0.1])
	by hornbill.gentoo.org (Postfix) with ESMTP id 3087EE5442
	for <gentoo-commits@lists.gentoo.org>; Tue, 26 Jun 2012 15:42:56 +0000 (UTC)
From: "André Erdmann" <dywi@mailerd.de>
To: gentoo-commits@lists.gentoo.org
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" <dywi@mailerd.de>
Message-ID: <1340725241.10cd6f63877dd53d3e19c371ea246de9f2fd1238.dywi@gentoo>
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/
X-VCS-Repository: proj/R_overlay
X-VCS-Files: roverlay/packageinfo.py
X-VCS-Directories: roverlay/
X-VCS-Committer: dywi
X-VCS-Committer-Name: André Erdmann
X-VCS-Revision: 10cd6f63877dd53d3e19c371ea246de9f2fd1238
X-VCS-Branch: master
Date: Tue, 26 Jun 2012 15:42:56 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: quoted-printable
X-Archives-Salt: a968c621-6cf1-449c-ad2d-7f26f03168a8
X-Archives-Hash: ecdad2c9ab212bc8d56f0a5952d2f3de

commit:     10cd6f63877dd53d3e19c371ea246de9f2fd1238
Author:     Andr=C3=A9 Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Tue Jun 26 15:40:41 2012 +0000
Commit:     Andr=C3=A9 Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Tue Jun 26 15:40:41 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=3Dproj/R_overlay.git=
;a=3Dcommit;h=3D10cd6f63

extend PackageInfo

* distdir can now be stored in _info

	modified:   roverlay/packageinfo.py

---
 roverlay/packageinfo.py |   41 ++++++++++++++++++++---------------------
 1 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/roverlay/packageinfo.py b/roverlay/packageinfo.py
index fdce322..8f59439 100644
--- a/roverlay/packageinfo.py
+++ b/roverlay/packageinfo.py
@@ -143,12 +143,14 @@ class PackageInfo ( object ):
 		elif key_low =3D=3D 'package_file':
 			# assuming that origin is in self._info
 			return os.path.join (
-				self._info ['origin'].distdir,
+				self.get ( 'distdir' ),
 				self._info ['package_filename']
 			)
=20
 		elif key_low =3D=3D 'distdir':
 			if 'origin' in self._info:
+				# this doesn't work if the package is in a sub directory
+				# of the repo's distdir
 				return self._info ['origin'].distdir
 			else:
 				return os.path.dirname ( self._info ['package_file'] )
@@ -209,6 +211,7 @@ class PackageInfo ( object ):
 	# --- end of __setitem__ (...) ---
=20
 	def update_now ( self, **info ):
+		if len ( info ) =3D=3D 0: return
 		with self._update_lock:
 			self.set_writeable()
 			self.update ( **info )
@@ -223,33 +226,38 @@ class PackageInfo ( object ):
=20
 		raises: Exception when readonly
 		"""
-		if len ( info ) =3D=3D 0 :
+		if len ( info ) =3D=3D 0:
 			# nothing to do
 			return
=20
 		self._writelock_acquire()
=20
 		for key, value in info.items():
-			if key =3D=3D 'desc' or key =3D=3D 'desc_data':
-				self ['desc_data'] =3D value
-
-			elif key =3D=3D 'ebuild':
-				self ['ebuild'] =3D value
=20
-			elif key =3D=3D 'filepath':
-				self._use_filepath ( value )
-
-			elif key =3D=3D 'filename':
+			if key =3D=3D 'filename':
 				self._use_filename ( value )
=20
+			elif key in ( 'package_dir', 'dirpath', 'distdir' ):
+				if value is not None:
+					self ['distdir'] =3D value
+
 			elif key =3D=3D 'origin':
 				self ['origin'] =3D value
=20
+			elif key =3D=3D 'desc' or key =3D=3D 'desc_data':
+				self ['desc_data'] =3D value
+
+			elif key =3D=3D 'ebuild':
+				self ['ebuild'] =3D value
+
 			elif key =3D=3D 'suggests':
 				self ['has_suggests'] =3D value
=20
 			elif key =3D=3D 'depres_results' or key =3D=3D 'depres_result':
-				self._use_depres_result ( value )
+				self ['has_suggests'] =3D value [2]
+
+			elif key =3D=3D 'filepath':
+				self._use_filepath ( value )
=20
 			else:
 				LOGGER.warning ( "unknown info key %s!" % key )
@@ -317,15 +325,6 @@ class PackageInfo ( object ):
 		self._use_filename ( os.path.basename ( filepath ) )
 	# --- end of _use_filepath (...) ---
=20
-	def _use_depres_result ( self, result ):
-		"""auxiliary method for update(**kw)
-
-		arguments:
-		* result --
-		"""
-		self ['has_suggests'] =3D result [2]
-	# --- end of _use_depres_result (...) ---
-
 	def __str__ ( self ):
 		return "<PackageInfo for %s>" % self.get (
 			'package_file', fallback_value=3D'[unknown file]', do_fallback=3DTrue