All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.