Re: [namcap] [PATCH] Check for packages that should be 'any'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Thanks. I just ran into a situation where this would have been useful and remembered this patch way back in my mail archive.

@Dan: are you OK to pull this?

Allan

On 02/08/10 10:47, David Campbell wrote:
If a package has no elf files but is not 'any', throw a warning saying that
the package could be 'any'.
---
  Namcap/anyelf.py |   18 ++++++++++--------
  namcap-tags      |    1 +
  2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/Namcap/anyelf.py b/Namcap/anyelf.py
index f3414af..c037ff0 100644
--- a/Namcap/anyelf.py
+++ b/Namcap/anyelf.py
@@ -33,20 +33,22 @@ class package:
  	def short_name(self):
  		return "anyelf"
  	def long_name(self):
-		return "If package is 'any' architecture, check for ELF files"
+		return """Check for ELF files to see if a package should be 'any'
+		architecture"""
  	def prereq(self):
  		return "extract"
  	def analyze(self, pkginfo, data):
  		ret = [[], [], []]
-		if pkginfo.arch and pkginfo.arch[0] != 'any':
-			return ret
  		found_elffiles = []
-
  		os.path.walk(data, scanelf, found_elffiles)
-		if len(found_elffiles)>  0:
-			for i in found_elffiles:
-				ret[0].append(("elffile-in-any-package %s", i))
-
+
+		if pkginfo.arch and pkginfo.arch[0] == 'any':
+			if len(found_elffiles)>  0:
+				for i in found_elffiles:
+					ret[0].append(("elffile-in-any-package %s", i))
+		else:
+			if len(found_elffiles) == 0:
+				ret[1].append(("no-elffiles-and-not-any-package", ()))
  		return ret

  	def type(self):
diff --git a/namcap-tags b/namcap-tags
index acb8e9c..4040136 100644
--- a/namcap-tags
+++ b/namcap-tags
@@ -47,6 +47,7 @@ missing-license :: Missing license
  missing-maintainer :: Missing Maintainer tag
  missing-checksums :: Missing checksums
  missing-url :: Missing url
+no-elffiles-and-not-any-package :: No ELF files and not an "any" package
  non-fhs-info-page %s :: Non-FHS info page (%s) found. Use /usr/share/info instead
  non-fhs-man-page %s :: Non-FHS man page (%s) found. Use /usr/share/man instead
  not-a-common-license %s :: %s is not a common license (it's not in /usr/share/licenses/common/)
--
1.7.1.1






[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux