* [gentoo-portage-dev] PATCH glep31 checking
@ 2005-09-19 21:12 Brian Harring
2005-09-19 21:25 ` Brian Harring
0 siblings, 1 reply; 2+ messages in thread
From: Brian Harring @ 2005-09-19 21:12 UTC (permalink / raw
To: gentoo-portage-dev
[-- Attachment #1.1: Type: text/plain, Size: 331 bytes --]
Hola.
http://glep.gentoo.org/glep-0031.html <-- the details
http://bugs.gentoo.org/106544 <-- the bug
http://bugs.gentoo.org/attachment.cgi?=68828 <-- the patch
Attached the patch also; one additional tweak is that file.size is now
a fatal check, since the tree seem's to finally be clean.
~harring
[-- Attachment #1.2: glep31.patch --]
[-- Type: text/plain, Size: 3005 bytes --]
Index: repoman
===================================================================
--- repoman (revision 1992)
+++ repoman (working copy)
@@ -13,6 +13,13 @@
sys.path = ["/usr/lib/portage/pym"]+sys.path
version="1.2"
+allowed_filename_chars="a-zA-Z0-9._-+:"
+allowed_filename_chars_set = {}
+map(allowed_filename_chars_set.setdefault, map(chr, range(ord('a'), ord('z')+1)))
+map(allowed_filename_chars_set.setdefault, map(chr, range(ord('A'), ord('Z')+1)))
+map(allowed_filename_chars_set.setdefault, map(chr, range(ord('0'), ord('9')+1)))
+map(allowed_filename_chars_set.setdefault, map(chr, map(ord, [".", "-", "_", "+", ":"])))
+
import string,signal,re,pickle,tempfile
import portage
@@ -21,6 +28,8 @@
import portage_dep
import cvstree
import time
+import codecs
+
from output import *
#bold, darkgreen, darkred, green, red, turquoise, yellow
@@ -85,6 +94,8 @@
"filedir.missing":"Package lacks a files directory",
"file.executable":"Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do note need the executable bit",
"file.size":"Files in the files directory must be under 20k",
+ "file.name":"File/dir name must be composed of only the following chars: %s " % allowed_filename_chars,
+ "file.UTF8":"File is not UTF8 compliant",
"KEYWORDS.missing":"Ebuilds that have a missing KEYWORDS variable",
"LICENSE.missing":"Ebuilds that have a missing LICENSE variable",
"DESCRIPTION.missing":"Ebuilds that have a missing DESCRIPTION variable",
@@ -146,7 +157,6 @@
"IUSE.invalid",
"ebuild.minorsyn",
"ebuild.badheader",
-"file.size",
"metadata.missing",
"metadata.bad",
"virtual.versioned"
@@ -663,6 +673,29 @@
stats["file.executable"] += 1
fails["file.executable"].append(checkdir+"/"+y)
digestlist=[]
+
+ for y in checkdirlist:
+ for c in y.strip(os.path.sep):
+ if c not in allowed_filename_chars_set:
+ stats["file.name"] += 1
+ fails["file.name"].append("%s/%s: char '%s'" % (checkdir, y, c))
+ break
+
+ if not (y in ("ChangeLog", "metadata.xml") or y.endswith(".ebuild")):
+ continue
+ try:
+ line = 1
+ for l in codecs.open(y, "r", "utf8"):
+ line +=1
+ except UnicodeDecodeError, ue:
+ stats["file.UTF8"] += 1
+ s = ue.object[:ue.start]
+ l2 = s.count("\n")
+ line += l2
+ if l2 != 0:
+ s = s[s.rfind("\n") + 1:]
+ fails["file.UTF8"].append("%s/%s: line %i, just after: '%s'" % (checkdir, y, line, s))
+
if isCvs:
try:
mystat=os.stat(checkdir+"/files")[0]
@@ -799,6 +832,13 @@
stats["file.size"] += 1
fails["file.size"].append("("+ str(mystat.st_size/1024) + "K) "+x+"/files/"+y)
+ for c in y.strip(os.path.sep):
+ if c not in allowed_filename_chars_set:
+ stats["file.name"] += 1
+ fails["file.name"].append("%s/%s: char '%s'" % (checkdir, y, c))
+ break
+
+
if "ChangeLog" not in checkdirlist:
stats["changelog.missing"]+=1
fails["changelog.missing"].append(x+"/ChangeLog")
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [gentoo-portage-dev] PATCH glep31 checking
2005-09-19 21:12 [gentoo-portage-dev] PATCH glep31 checking Brian Harring
@ 2005-09-19 21:25 ` Brian Harring
0 siblings, 0 replies; 2+ messages in thread
From: Brian Harring @ 2005-09-19 21:25 UTC (permalink / raw
To: gentoo-portage-dev
[-- Attachment #1: Type: text/plain, Size: 420 bytes --]
On Mon, Sep 19, 2005 at 04:12:08PM -0500, Brian Harring wrote:
> Attached the patch also; one additional tweak is that file.size is now
> a fatal check, since the tree seem's to finally be clean.
Dropped the file.size becoming fatal change on the bug, and intend to
for the final version.
Either tweak the patch yourself, or gank it from the bug... it's a one
line reversion. :)
Pls test, kthx.
~harring
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-09-19 21:26 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-19 21:12 [gentoo-portage-dev] PATCH glep31 checking Brian Harring
2005-09-19 21:25 ` Brian Harring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox