* [PATCH 0/1] distrodata.bbclass:modify some regular expression and generate some data for pkg-report-system
@ 2011-01-30 9:07 Mei Lei
2011-01-30 9:07 ` [PATCH 1/1] distrodata.bbclass: Imporve the checkpkg task more precisely and generate " Mei Lei
0 siblings, 1 reply; 2+ messages in thread
From: Mei Lei @ 2011-01-30 9:07 UTC (permalink / raw)
To: poky
From: Mei Lei <lei.mei@intel.com>
Hi Saul:
This patch improve checkpkg task when checking upstrem version, we can get more precise upstream version and reduce the number of invalid upstream version. This patch also generate some data for package report system. Please review it, thanks.
Lei
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: lmei3/distrodata.bbclass
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=lmei3/distrodata.bbclass
Thanks,
Mei Lei <lei.mei@intel.com>
---
Mei Lei (1):
distrodata.bbclass: Imporve the checkpkg task more precisely and
generate data for pkg-report-system
meta/classes/distrodata.bbclass | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 deletions(-)
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 1/1] distrodata.bbclass: Imporve the checkpkg task more precisely and generate data for pkg-report-system
2011-01-30 9:07 [PATCH 0/1] distrodata.bbclass:modify some regular expression and generate some data for pkg-report-system Mei Lei
@ 2011-01-30 9:07 ` Mei Lei
0 siblings, 0 replies; 2+ messages in thread
From: Mei Lei @ 2011-01-30 9:07 UTC (permalink / raw)
To: poky
From: Mei Lei <lei.mei@intel.com>
Imporve some regular expression when checking recipes' upstream version, reduce the number of invalid recipes' upstream version and imporve the precision
Generate some data for package report system.
Signed-off-by: Mei Lei<lei.mei@intel.com>
---
meta/classes/distrodata.bbclass | 35 +++++++++++++++++++++++++++++++----
1 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/meta/classes/distrodata.bbclass b/meta/classes/distrodata.bbclass
index e5f84d0..868f656 100644
--- a/meta/classes/distrodata.bbclass
+++ b/meta/classes/distrodata.bbclass
@@ -229,7 +229,14 @@ python checkpkg_eventhandler() {
f.write("Package\tOwner\tURI Type\tVersion\tTracking\tUpstream\tTMatch\tRMatch\n")
f.close()
bb.utils.unlockfile(lf)
-
+ """initialize log files for package report system"""
+ logfile2 = os.path.join(logpath, "get_pkg_info.%s.log" % bb.data.getVar('DATETIME', e.data, 1))
+ if not os.path.exists(logfile2):
+ slogfile2 = os.path.join(logpath, "get_pkg_info.log")
+ if os.path.exists(slogfile2):
+ os.remove(slogfile2)
+ os.system("touch %s" % logfile2)
+ os.symlink(logfile2, slogfile2)
return
}
@@ -322,7 +329,7 @@ python do_checkpkg() {
which is designed for check purpose but we override check command for our own purpose
"""
ld = bb.data.createCopy(d)
- bb.data.setVar('CHECKCOMMAND_wget', "/usr/bin/env wget -t 1 --passive-ftp -O %s '${URI}'" \
+ bb.data.setVar('CHECKCOMMAND_wget', "/usr/bin/env wget -t 1 --passive-ftp -O %s --user-agent=\"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12\" '${URI}'" \
% tmpf.name, d)
bb.data.update_data(ld)
@@ -420,7 +427,7 @@ python do_checkpkg() {
"""match "{PN}-5.21.1.tar.gz">{PN}-5.21.1.tar.gz """
pn1 = re.search("^%s" % prefix, curname).group()
s = "[^\"]*%s[^\d\"]*?(\d+[\.\-_])+[^\"]*" % pn1
- searchstr = "[hH][rR][eE][fF]=\"%s\">" % s
+ searchstr = "[hH][rR][eE][fF]=\"%s\".*>" % s
reg = re.compile(searchstr)
valid = 0
@@ -438,7 +445,7 @@ python do_checkpkg() {
status = "ErrParseDir"
else:
"""newver still contains a full package name string"""
- status = re.search("(\d+[.\-_])*\d+", newver[1]).group()
+ status = re.search("(\d+[.\-_])*[0-9a-zA-Z]+", newver[1]).group()
elif not len(fhtml):
status = "ErrHostNoDir"
@@ -459,11 +466,23 @@ python do_checkpkg() {
logpath = bb.data.getVar('LOG_DIR', d, 1)
bb.utils.mkdirhier(logpath)
logfile = os.path.join(logpath, "checkpkg.csv")
+ """initialize log files for package report system"""
+ logfile2 = os.path.join(logpath, "get_pkg_info.log")
"""generate package information from .bb file"""
pname = bb.data.getVar('PN', d, 1)
pdesc = bb.data.getVar('DESCRIPTION', d, 1)
pgrp = bb.data.getVar('SECTION', d, 1)
+ pversion = bb.data.getVar('PV', d, 1)
+ plicense = bb.data.getVar('LICENSE',d,1)
+ psection = bb.data.getVar('SECTION',d,1)
+ phome = bb.data.getVar('HOMEPAGE', d, 1)
+ prelease = bb.data.getVar('PR',d,1)
+ ppriority = bb.data.getVar('PRIORITY',d,1)
+ pdepends = bb.data.getVar('DEPENDS',d,1)
+ pbugtracker = bb.data.getVar('BUGTRACKER',d,1)
+ ppe = bb.data.getVar('PE',d,1)
+ psrcuri = bb.data.getVar('SRC_URI',d,1)
found = 0
for uri in src_uri.split():
@@ -609,6 +628,14 @@ python do_checkpkg() {
(pname, maintainer, pproto, pcurver, pmver, pupver, pmstatus, pstatus))
f.close()
bb.utils.unlockfile(lf)
+
+ """write into get_pkg_info log file to supply data for package report system"""
+ lf2 = bb.utils.lockfile(logfile2 + ".lock")
+ f2 = open(logfile2, "a")
+ f2.write("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n" % \
+ (pname,pversion,pupver,plicense,psection, phome,prelease, ppriority,pdepends,pbugtracker,ppe,pdesc,pstatus,pmver,psrcuri))
+ f2.close()
+ bb.utils.unlockfile(lf2)
}
addtask checkpkgall after do_checkpkg
--
1.6.3.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-01-30 9:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-30 9:07 [PATCH 0/1] distrodata.bbclass:modify some regular expression and generate some data for pkg-report-system Mei Lei
2011-01-30 9:07 ` [PATCH 1/1] distrodata.bbclass: Imporve the checkpkg task more precisely and generate " Mei Lei
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.