[oe-commits] org.oe.dev merge of '87aa8e8cdbee54b3d7ff294da220db58798e8c12'

jeremy_laine commit oe at amethyst.openembedded.net
Fri May 16 16:29:19 UTC 2008


merge of '87aa8e8cdbee54b3d7ff294da220db58798e8c12'
     and 'a5324bd0638da4faba37d7b92ff362d19510c2fc'

Author: jeremy_laine at openembedded.org
Branch: org.openembedded.dev
Revision: c53896cdf928fac0a851d218a99e579079e5be8e
ViewMTN: http://monotone.openembedded.org/revision/info/c53896cdf928fac0a851d218a99e579079e5be8e
Files:
1
packages/sakura
packages/libvorbis/libvorbis/r14598-CVE-2008-1420.patch
packages/libvorbis/libvorbis/r14602-CVE-2008-1419.patch
packages/libvorbis/libvorbis/r14602-CVE-2008-1423.patch
packages/sakura/sakura_2.1.0.bb
classes/base.bbclass
packages/libvorbis/libvorbis_1.2.0.bb
classes/oestats-client.bbclass
Diffs:

#
# mt diff -r87aa8e8cdbee54b3d7ff294da220db58798e8c12 -rc53896cdf928fac0a851d218a99e579079e5be8e
#
#
#
# add_dir "packages/sakura"
# 
# add_file "packages/libvorbis/libvorbis/r14598-CVE-2008-1420.patch"
#  content [ec459887766b9e73366d3a0f3260ade1dc2744d5]
# 
# add_file "packages/libvorbis/libvorbis/r14602-CVE-2008-1419.patch"
#  content [964472dc7dbc73363842030f3a9b0700c91af74b]
# 
# add_file "packages/libvorbis/libvorbis/r14602-CVE-2008-1423.patch"
#  content [c8978e0da9d97ab55c448b5313df449944f9e2c2]
# 
# add_file "packages/sakura/sakura_2.1.0.bb"
#  content [3e792fa042e5347993447f288ca19628e5cd3cdb]
# 
# patch "classes/base.bbclass"
#  from [1f2aa3e857574c705066c6e22b6697bfafc48da0]
#    to [c242e6f11b981f8ccf61b3c389fc7514c69dd9bc]
# 
# patch "packages/libvorbis/libvorbis_1.2.0.bb"
#  from [bfa924d59a88e448f8484e94e5e5d7e031c148bc]
#    to [208ac81629fd76130cfdf371e567291473b004e1]
#
============================================================
--- packages/libvorbis/libvorbis/r14598-CVE-2008-1420.patch	ec459887766b9e73366d3a0f3260ade1dc2744d5
+++ packages/libvorbis/libvorbis/r14598-CVE-2008-1420.patch	ec459887766b9e73366d3a0f3260ade1dc2744d5
@@ -0,0 +1,36 @@
+patch taken from redhat
+
+Index: libvorbis-1.2.0/lib/res0.c
+===================================================================
+--- libvorbis-1.2.0/lib/res0.c	(revision 14597)
++++ libvorbis-1.2.0/lib/res0.c	(revision 14598)
+@@ -223,6 +223,20 @@
+   for(j=0;j<acc;j++)
+     if(info->booklist[j]>=ci->books)goto errout;
+ 
++  /* verify the phrasebook is not specifying an impossible or
++     inconsistent partitioning scheme. */
++  {
++    int entries = ci->book_param[info->groupbook]->entries;
++    int dim = ci->book_param[info->groupbook]->dim;
++    int partvals = 1;
++    while(dim>0){
++      partvals *= info->partitions;
++      if(partvals > entries) goto errout;
++      dim--;
++    }
++    if(partvals != entries) goto errout;
++  }
++
+   return(info);
+  errout:
+   res0_free_info(info);
+@@ -263,7 +277,7 @@
+     }
+   }
+ 
+-  look->partvals=rint(pow((float)look->parts,(float)dim));
++  look->partvals=look->phrasebook->entries;
+   look->stages=maxstage;
+   look->decodemap=_ogg_malloc(look->partvals*sizeof(*look->decodemap));
+   for(j=0;j<look->partvals;j++){
============================================================
--- packages/libvorbis/libvorbis/r14602-CVE-2008-1419.patch	964472dc7dbc73363842030f3a9b0700c91af74b
+++ packages/libvorbis/libvorbis/r14602-CVE-2008-1419.patch	964472dc7dbc73363842030f3a9b0700c91af74b
@@ -0,0 +1,15 @@
+patch taken from redhat
+
+Index: libvorbis-1.2.0/lib/codebook.c
+===================================================================
+--- libvorbis-1.2.0/lib/codebook.c	(revision 14601)
++++ libvorbis-1.2.0/lib/codebook.c	(revision 14602)
+@@ -225,7 +225,7 @@
+       int quantvals=0;
+       switch(s->maptype){
+       case 1:
+-	quantvals=_book_maptype1_quantvals(s);
++	quantvals=(s->dim==0?0:_book_maptype1_quantvals(s));
+ 	break;
+       case 2:
+ 	quantvals=s->entries*s->dim;
============================================================
--- packages/libvorbis/libvorbis/r14602-CVE-2008-1423.patch	c8978e0da9d97ab55c448b5313df449944f9e2c2
+++ packages/libvorbis/libvorbis/r14602-CVE-2008-1423.patch	c8978e0da9d97ab55c448b5313df449944f9e2c2
@@ -0,0 +1,15 @@
+patch taken from redhat
+
+Index: libvorbis-1.2.0/lib/codebook.c
+===================================================================
+--- libvorbis-1.2.0/lib/codebook.c	(revision 14603)
++++ libvorbis-1.2.0/lib/codebook.c	(revision 14604)
+@@ -159,6 +159,8 @@
+   s->entries=oggpack_read(opb,24);
+   if(s->entries==-1)goto _eofout;
+ 
++  if(_ilog(s->dim)+_ilog(s->entries)>24)goto _eofout;
++
+   /* codeword ordering.... length ordered or unordered? */
+   switch((int)oggpack_read(opb,1)){
+   case 0:
============================================================
--- packages/sakura/sakura_2.1.0.bb	3e792fa042e5347993447f288ca19628e5cd3cdb
+++ packages/sakura/sakura_2.1.0.bb	3e792fa042e5347993447f288ca19628e5cd3cdb
@@ -0,0 +1,12 @@
+DESCRIPTION = "VTE-based terminal emulator"
+AUTHOR = "David Gómez Espinosa <david at pleyades.net>"
+HOMEPAGE = "http://www.pleyades.net/david/sakura.php"
+SECTION = "x11/applications"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+DEPENDS = "gtk+ (>=2.6) vte (>=0.11)"
+
+SRC_URI = "http://www.pleyades.net/david/projects/sakura/sakura-${PV}.tar.bz2"
+
+inherit cmake
+
============================================================
--- classes/base.bbclass	1f2aa3e857574c705066c6e22b6697bfafc48da0
+++ classes/base.bbclass	c242e6f11b981f8ccf61b3c389fc7514c69dd9bc
@@ -701,7 +701,32 @@ python base_do_unpack() {
 			raise bb.build.FuncFailed()
 }
 
+def base_get_scmbasepath(d):
+	import bb
+	path_to_bbfiles = bb.data.getVar( 'BBFILES', d, 1 ).split()
+	return path_to_bbfiles[0][:path_to_bbfiles[0].rindex( "packages" )]
 
+def base_get_metadata_monotone_revision(d):
+	monotone_revision = "<unknown>"
+	try:
+		monotone_revision = file( "%s/_MTN/revision" % base_get_scmbasepath(d) ).read().strip()
+		if monotone_revision.startswith( "format_version" ):
+			monotone_revision_words = monotone_revision.split()
+			monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1]
+	except IOError:
+		pass
+	return monotone_revision
+
+def base_get_metadata_svn_revision(d):
+	revision = "<unknown>"
+	try:
+		revision = file( "%s/.svn/entries" % base_get_scmbasepath(d) ).readlines()[3].strip()
+	except IOError:
+		pass
+	return revision
+
+METADATA_REVISION ?= "${@base_get_metadata_monotone_revision(d)}"
+
 addhandler base_eventhandler
 python base_eventhandler() {
 	from bb import note, error, data
@@ -732,19 +757,8 @@ python base_eventhandler() {
 
 	if name.startswith("BuildStarted"):
 		bb.data.setVar( 'BB_VERSION', bb.__version__, e.data )
-		path_to_bbfiles = bb.data.getVar( 'BBFILES', e.data, 1 )
-		path_to_packages = path_to_bbfiles[:path_to_bbfiles.rindex( "packages" )]
-		monotone_revision = "<unknown>"
-		try:
-			monotone_revision = file( "%s/_MTN/revision" % path_to_packages ).read().strip()
-			if monotone_revision.startswith( "format_version" ):
-				monotone_revision_words = monotone_revision.split()
-				monotone_revision = monotone_revision_words[ monotone_revision_words.index( "old_revision" )+1][1:-1]
-		except IOError:
-			pass
-		bb.data.setVar( 'OE_REVISION', monotone_revision, e.data )
-		statusvars = ['BB_VERSION', 'OE_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU']
-		statuslines = ["%-14s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars]
+		statusvars = ['BB_VERSION', 'METADATA_REVISION', 'TARGET_ARCH', 'TARGET_OS', 'MACHINE', 'DISTRO', 'DISTRO_VERSION','TARGET_FPU']
+		statuslines = ["%-17s = \"%s\"" % (i, bb.data.getVar(i, e.data, 1) or '') for i in statusvars]
 		statusmsg = "\nOE Build Configuration:\n%s\n" % '\n'.join(statuslines)
 		print statusmsg
 
============================================================
--- packages/libvorbis/libvorbis_1.2.0.bb	bfa924d59a88e448f8484e94e5e5d7e031c148bc
+++ packages/libvorbis/libvorbis_1.2.0.bb	208ac81629fd76130cfdf371e567291473b004e1
@@ -4,8 +4,13 @@ LICENSE = "BSD"
 that is free of intellectual property restrictions. libvorbis \
 is the main vorbis codec library."
 LICENSE = "BSD"
+PR = "1"
 
-SRC_URI = "http://downloads.xiph.org/releases/vorbis/libvorbis-${PV}.tar.gz"
+SRC_URI = "http://downloads.xiph.org/releases/vorbis/libvorbis-${PV}.tar.gz \
+	   file://r14598-CVE-2008-1420.patch;patch=1 \
+	   file://r14602-CVE-2008-1419.patch;patch=1 \
+	   file://r14602-CVE-2008-1423.patch;patch=1 \
+	  "
 
 inherit autotools  pkgconfig
 


#
# mt diff -ra5324bd0638da4faba37d7b92ff362d19510c2fc -rc53896cdf928fac0a851d218a99e579079e5be8e
#
#
#
# patch "classes/oestats-client.bbclass"
#  from [c9260fde7f5ef0dc89229f308c6ec355d98efd23]
#    to [78b88551bd771649a9f72a86d627426a00214ad0]
#
============================================================
--- classes/oestats-client.bbclass	c9260fde7f5ef0dc89229f308c6ec355d98efd23
+++ classes/oestats-client.bbclass	78b88551bd771649a9f72a86d627426a00214ad0
@@ -8,6 +8,16 @@
 # OESTATS_SERVER = "some.server.org:8000"
 # OESTATS_BUILDER = "some title"
 
+def oestats_setid(d, val):
+	import bb
+	f = file(bb.data.getVar('TMPDIR', d, True) + '/oestats.id', 'w')
+	f.write(val)
+
+def oestats_getid(d):
+	import bb
+	f = file(bb.data.getVar('TMPDIR', d, True) + '/oestats.id', 'r')
+	return f.read()
+	
 def oestats_revision(dir):
 	import re
 	try:
@@ -34,7 +44,7 @@ def oestats_start(server, builder, d):
 	import os.path
 
 	# collect information about revisions
-	path_bb = bb.data.getVar('BBPATH', d, 1)
+	path_bb = bb.data.getVar('BBPATH', d, True)
 	for p in (path_bb or "").split(':'):
 		revision = oestats_revision(p)
 		if revision:
@@ -44,22 +54,19 @@ def oestats_start(server, builder, d):
 	response = oestats_send(server, "/builds/start/", {
 		'builder': builder,
 		'revision': revision,
-		'machine': bb.data.getVar( 'MACHINE', d, True ),
-		'distro': bb.data.getVar( 'DISTRO', d, True ),
+		'machine': bb.data.getVar('MACHINE', d, True),
+		'distro': bb.data.getVar('DISTRO', d, True),
 	})
 	id = response.read()
 
 	# save the build id
-	bb.note("Stats id: %s" % id)
-	f = file(bb.data.getVar('TMPDIR', d, True)+"/oestats.id", 'w')
-	f.write(id)
+	oestats_setid(d, id)
 
 def oestats_stop(server, d, status):
 	import bb
 
 	# retrieve build id
-	f = file(bb.data.getVar('TMPDIR',d,True)+"/oestats.id", 'r')
-	id = f.read()
+	id = oestats_getid(d)
 
 	# send report
 	response = oestats_send(server, "/builds/stop/%s/" % id, {
@@ -68,10 +75,14 @@ def oestats_task(server, d, task, status
 
 def oestats_task(server, d, task, status):
 	import bb
+	import time
 
 	# retrieve build id
-	f = file(bb.data.getVar('TMPDIR',d,True)+"/oestats.id", 'r')
-	id = f.read()
+	id = oestats_getid(d)
+	try:
+		elapsed = time.time() - float(bb.data.getVar('OESTATS_STAMP', d, True))
+	except:
+		elapsed = 0
 
 	# send report
 	response = oestats_send(server, "/builds/task/%s/" % id, {
@@ -80,12 +91,14 @@ def oestats_task(server, d, task, status
 		'revision': bb.data.getVar('PR', d, True),
 		'task': task,
 		'status': status,
+		'time': elapsed,
 	})
 
 addhandler oestats_eventhandler
 python oestats_eventhandler () {
 	from bb.event import getName
 	import bb
+	import time
 
 	if e.data is None or getName(e) == "MsgNote":
 		return NotHandled
@@ -99,6 +112,8 @@ python oestats_eventhandler () {
 		oestats_start(server, builder, e.data)
 	elif getName(e) == 'BuildCompleted':
 		oestats_stop(server, e.data, 'Completed')
+	elif getName(e) == 'TaskStarted':
+		bb.data.setVar('OESTATS_STAMP', repr(time.time()), e.data)
 	elif getName(e) == 'TaskSucceeded':
 		oestats_task(server, e.data, e.task, 'Succeeded')
 	elif getName(e) == 'TaskFailed':






More information about the Openembedded-commits mailing list