public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] portage r12529 - in main/trunk: bin man pym/repoman
@ 2009-01-18 23:15 Zac Medico (zmedico)
  0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2009-01-18 23:15 UTC (permalink / raw
  To: gentoo-commits

Author: zmedico
Date: 2009-01-18 23:15:47 +0000 (Sun, 18 Jan 2009)
New Revision: 12529

Modified:
   main/trunk/bin/repoman
   main/trunk/man/repoman.1
   main/trunk/pym/repoman/checks.py
Log:
Bug #255358 - Add new RDEPEND.implicit warning to detect the caes where DEPEND
is set and RDEPEND is unset in the ebuild, since this triggers implicit
RDEPEND=$DEPEND assignment.


Modified: main/trunk/bin/repoman
===================================================================
--- main/trunk/bin/repoman	2009-01-18 15:03:35 UTC (rev 12528)
+++ main/trunk/bin/repoman	2009-01-18 23:15:47 UTC (rev 12529)
@@ -305,6 +305,7 @@
 	"IUSE.undefined":"This ebuild does not define IUSE (style guideline says to define IUSE even when empty)",
 	"LICENSE.invalid":"This ebuild is listing a license that doesnt exist in portages license/ dir.",
 	"KEYWORDS.invalid":"This ebuild contains KEYWORDS that are not listed in profiles/arch.list or for which no valid profile was found",
+	"RDEPEND.implicit":"RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND assignment",
 	"RDEPEND.suspect":"RDEPEND contains a package that usually only belongs in DEPEND.",
 	"RESTRICT.invalid":"This ebuild contains invalid RESTRICT values.",
 	"digestentry.unused":"Some files listed in the Manifest aren't referenced in SRC_URI",
@@ -343,6 +344,7 @@
 "KEYWORDS.stupid",
 "KEYWORDS.missing",
 "IUSE.undefined",
+"RDEPEND.implicit",
 "RDEPEND.suspect",
 "RESTRICT.invalid",
 "SRC_URI.mirror",

Modified: main/trunk/man/repoman.1
===================================================================
--- main/trunk/man/repoman.1	2009-01-18 15:03:35 UTC (rev 12528)
+++ main/trunk/man/repoman.1	2009-01-18 23:15:47 UTC (rev 12529)
@@ -168,6 +168,10 @@
 .B RDEPEND.badmaskedindev
 Masked ebuilds with RDEPEND settings (matched against *all* ebuilds) in developing arch
 .TP
+.B RDEPEND.implicit
+RDEPEND is unset in the ebuild which triggers implicit RDEPEND=$DEPEND
+assignment
+.TP
 .B RDEPEND.suspect
 RDEPEND contains a package that usually only belongs in DEPEND
 .TP

Modified: main/trunk/pym/repoman/checks.py
===================================================================
--- main/trunk/pym/repoman/checks.py	2009-01-18 15:03:35 UTC (rev 12528)
+++ main/trunk/pym/repoman/checks.py	2009-01-18 23:15:47 UTC (rev 12529)
@@ -230,6 +230,33 @@
 		if match:
 			return "Quoted \"${A}\" on line: %d"
 
+class ImplicitRuntimeDeps(LineCheck):
+	"""
+	Detect the case where DEPEND is set and RDEPEND is unset in the ebuild,
+	since this triggers implicit RDEPEND=$DEPEND assignment.
+	"""
+
+	repoman_check_name = 'RDEPEND.implicit'
+	_assignment_re = re.compile(r'^\s*(R?DEPEND)=')
+
+	def new(self, pkg):
+		self._rdepend = False
+		self._depend = False
+
+	def check(self, num, line):
+		if not self._rdepend:
+			m = self._assignment_re.match(line)
+			if m is None:
+				pass
+			elif m.group(1) == "RDEPEND":
+				self._rdepend = True
+			elif m.group(1) == "DEPEND":
+				self._depend = True
+
+	def end(self):
+		if self._depend and not self._rdepend:
+			yield 'RDEPEND is not explicitly assigned'
+
 class InheritAutotools(LineCheck):
 	"""
 	Make sure appropriate functions are called in
@@ -306,7 +333,7 @@
 	EbuildAssignment, EbuildUselessDodoc,
 	EbuildUselessCdS, EbuildNestedDie,
 	EbuildPatches, EbuildQuotedA,
-	IUseUndefined, InheritAutotools,
+	IUseUndefined, ImplicitRuntimeDeps, InheritAutotools,
 	EMakeParallelDisabled, DeprecatedBindnowFlags)))
 
 def run_checks(contents, pkg):




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-01-18 23:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-18 23:15 [gentoo-commits] portage r12529 - in main/trunk: bin man pym/repoman Zac Medico (zmedico)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox