* first version.

git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@71 9bc8b190-ac0f-0410-8968-dc7d1f502856
This commit is contained in:
Frédéric Lepied 1999-10-27 20:00:08 +00:00
parent 1f9c1c4ac6
commit 193c333417
1 changed files with 60 additions and 0 deletions

60
SourceCheck.py Normal file
View File

@ -0,0 +1,60 @@
#############################################################################
# File : SourceCheck.py
# Package : rpmlint
# Author : Frederic Lepied
# Created on : Wed Oct 27 21:17:03 1999
# Version : $Id$
# Purpose : verify source package correctness.
#############################################################################
import AbstractCheck
import re
import Config
class SourceCheck(AbstractCheck.AbstractCheck):
spec_regex=re.compile(".spec$")
bz2_regex=re.compile(".bz2$")
gz_regex=re.compile(".gz$")
use_bzip2=Config.getOption("UseBzip2", 1)
def __init__(self):
AbstractCheck.AbstractCheck.__init__(self, "SourceCheck")
def check(self, pkg, verbose):
# Check only source package
if not pkg.isSource():
return
# process file list
files=pkg.files()
spec_file=None
for f in files.keys():
if SourceCheck.spec_regex.search(f):
if spec_file:
printError(pkg, "multiple-specfiles", spec_file, f)
else:
spec_file=f
else:
if SourceCheck.use_bzip2:
if not SourceCheck.bz2_regex.search(f):
printWarning(pkg, "source-or-patch-not-bzipped", f)
else:
if not SourceCheck.gz_regex.search(f):
printWarning(pkg, "source-or-patch-not-gzipped", f)
perm=files[f][0] & 07777
if perm != 0644:
printWarning(pkg, "strange-permission", f, oct(perm))
# UNCOMMENT THE FOLLOWING TO RETRIEVE THE SPEC FILE CONTENT
# if spec_file:
# fd=open(pkg.dirName() + "/" + spec_file, "r")
# if fd:
# spec_content=fd.readlines()
# fd.close()
# else:
# sys.stderr.write("unabale to open spec file for %s\n" % (pkg.filename,))
check=SourceCheck()
# SourceCheck.py ends here