Skip to contentSkip to conversation

Buildhistory in action

PATCH Richard Purdie 4 participants 7 messages Jan 19, 2012

lore
Share & tools
lore
#0 lore raw

We've recently added the buildhistory class and I wanted to illustrate how it can help us improve the quality of what we're doing. I appreciate elements of this have been around for a while as part of testlab but I do want to raise the profile of these tools. I added:

INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"

to my local.conf, then ran "bitbake gst-openmax liba52 js". I then applied the staticdev patches from Saul, which should only move the .a files to the -staticdev package. I then ran the bitbake command again.

If I change into tmp/buildhistory and show the last commit the result is included below. Since the version changed, the diff isn't as readable as would be ideal, however reading through it clearly shows the .a files moving to the staticdev packages with no unintended changes as far as I could tell.

One of my big worries with the staticdev changes is any unintended packaging changes. This lets me view the changes more precisely which can only lead to higher quality regression spotting for the project. I'd like to suggest more people start enabling this and using it to check the changes they're making.

I know Paul is working on tools to better display these changes too and those will help make these diffs easier to read.

Cheers,

Richard

packages/i586-poky-linux/gst-openmax/gst-openmax-dbg/latest +3 -3
index e13e947..9650edb 100644
@@ -1,7 +1,7 @@
 PV = 0.10.1
-PR = r2
+PR = r3
 RDEPENDS = 
-RRECOMMENDS = zlib-dbg gst-openmax-dbg gstreamer-dbg libffi-dbg eglibc-dbg glib-2.0-dbg libomxil-dbg gst-openmax (= 0.10.1-r2) libxml2-dbg
+RRECOMMENDS = zlib-dbg gst-openmax-dbg gstreamer-dbg libffi-dbg eglibc-dbg glib-2.0-dbg libomxil-dbg gst-openmax (= 0.10.1-r3) libxml2-dbg
 PKGSIZE = 916082
 FILES = /usr/bin/.debug /usr/sbin/.debug /usr/libexec/.debug /usr/lib/.debug /bin/.debug /sbin/.debug /lib/.debug /usr/lib/gst-openmax/.debug /usr/lib/matchbox-panel/.debug /usr/src/debug /usr/lib/gstreamer-0.10/.debug/
-FILELIST = /usr/lib/gstreamer-0.10/.debug/libgstomx.so /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_h264dec.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_videoenc.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_audiosink.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_volume.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_sink.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_conf.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_h264enc.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_h263dec.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_mpeg4enc.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_audiodec.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_videoenc.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_videodec.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_h263enc.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_wmvdec.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_filter.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_dummy.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_mp3dec.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_videodec.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_filter.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_interface.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_util.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_audiodec.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_vorbisdec.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_mpeg4dec.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_base_sink.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/gstomx_util.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_Index.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_Image.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_Types.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_Video.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_Audio.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_Core.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_IVCommon.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_Component.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/omx/headers/OMX_Other.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/util/sem.h /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/util/async_queue.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/util/sem.c /usr/src/debug/gst-openmax-0.10.1-r2/gst-openmax-0.10.1/util/async_queue.h
+FILELIST = /usr/lib/gstreamer-0.10/.debug/libgstomx.so /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_h264dec.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_videoenc.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_audiosink.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_volume.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_sink.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_conf.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_h264enc.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_h263dec.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_mpeg4enc.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_audiodec.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_videoenc.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_videodec.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_h263enc.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_wmvdec.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_filter.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_dummy.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_mp3dec.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_videodec.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_filter.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_interface.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_util.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_audiodec.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_vorbisdec.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_mpeg4dec.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_base_sink.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/gstomx_util.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_Index.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_Image.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_Types.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_Video.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_Audio.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_Core.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_IVCommon.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_Component.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/omx/headers/OMX_Other.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/util/sem.h /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/util/async_queue.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/util/sem.c /usr/src/debug/gst-openmax-0.10.1-r3/gst-openmax-0.10.1/util/async_queue.h
packages/i586-poky-linux/gst-openmax/gst-openmax-dev/latest +5 -5
index c72d08e..39bf654 100644
@@ -1,7 +1,7 @@
 PV = 0.10.1
-PR = r2
-RDEPENDS = gst-openmax (= 0.10.1-r2)
+PR = r3
+RDEPENDS = gst-openmax (= 0.10.1-r3)
 RRECOMMENDS = gstreamer-dev gst-openmax-dev libomxil-dev libffi-dev glib-2.0-dev libxml2-dev eglibc-dev zlib-dev
-PKGSIZE = 1084517
-FILES = /usr/include /usr/lib/lib*.so /usr/lib/*.la /usr/lib/*.o /usr/lib/pkgconfig /usr/share/pkgconfig /usr/share/aclocal /lib/*.o /usr/lib/gstreamer-0.10/libgstomx.*a
-FILELIST = /usr/lib/gstreamer-0.10/libgstomx.a /usr/lib/gstreamer-0.10/libgstomx.la
+PKGSIZE = 1391
+FILES = /usr/include /usr/lib/lib*.so /usr/lib/*.la /usr/lib/*.o /usr/lib/pkgconfig /usr/share/pkgconfig /usr/share/aclocal /lib/*.o /usr/lib/gstreamer-0.10/libgstomx.la
+FILELIST = /usr/lib/gstreamer-0.10/libgstomx.la
packages/i586-poky-linux/gst-openmax/gst-openmax-doc/latest +1 -1
index 2b26ff6..ebfb844 100644
@@ -1,5 +1,5 @@
 PV = 0.10.1
-PR = r2
+PR = r3
 RDEPENDS = 
 RRECOMMENDS = 
 PKGSIZE = 0
packages/i586-poky-linux/gst-openmax/gst-openmax-locale/latest +1 -1
index f7d8a66..36942ae 100644
@@ -1,5 +1,5 @@
 PV = 0.10.1
-PR = r2
+PR = r3
 RDEPENDS = 
 RRECOMMENDS = 
 PKGSIZE = 0
packages/i586-poky-linux/gst-openmax/gst-openmax-staticdev/latest +5 -5
index ba1a927..a126687 100644
@@ -1,7 +1,7 @@
 PV = 0.10.1
-PR = r2
-RDEPENDS = gst-openmax-dev (= 0.10.1-r2)
+PR = r3
+RDEPENDS = gst-openmax-dev (= 0.10.1-r3)
 RRECOMMENDS = 
-PKGSIZE = 0
-FILES = /usr/lib/*.a /lib/*.a
-FILELIST = 
+PKGSIZE = 1083126
+FILES = /usr/lib/*.a /lib/*.a /usr/lib/gstreamer-0.10/libgstomx.a
+FILELIST = /usr/lib/gstreamer-0.10/libgstomx.a
packages/i586-poky-linux/gst-openmax/gst-openmax/latest +1 -1
index a773575..ca1733a 100644
@@ -1,5 +1,5 @@
 PV = 0.10.1
-PR = r2
+PR = r3
 RDEPENDS = zlib (>= 1.2.5) libffi (>= 3.0.10) eglibc (>= 2.13) glib-2.0 (>= 2.30.2) libomxil libxml2 (>= 2.7.8) gstreamer (>= 0.10.35)
 RRECOMMENDS = 
 PKGSIZE = 80228
packages/i586-poky-linux/gst-openmax/latest +1 -1
index 93fac1a..53de9be 100644
@@ -1,4 +1,4 @@
 PV = 0.10.1
-PR = r2
+PR = r3
 DEPENDS = autoconf-native automake-native libtool-native libtool-cross gnu-config-native virtual/i586-poky-linux-gcc virtual/i586-poky-linux-compilerlibs virtual/libc gstreamer
 PACKAGES = gst-openmax-dbg gst-openmax gst-openmax-doc gst-openmax-dev gst-openmax-staticdev gst-openmax-locale
packages/i586-poky-linux/js/js-dbg/latest +3 -3
index f30133a..9644320 100644
@@ -1,7 +1,7 @@
 PV = 1.7.0+1.8.0rc1
-PR = r2
+PR = r3
 RDEPENDS = 
-RRECOMMENDS = eglibc-dbg js-dbg js (= 1.7.0+1.8.0rc1-r2)
+RRECOMMENDS = eglibc-dbg js-dbg js (= 1.7.0+1.8.0rc1-r3)
 PKGSIZE = 5396086
 FILES = /usr/bin/.debug /usr/sbin/.debug /usr/libexec/.debug /usr/lib/.debug /bin/.debug /sbin/.debug /lib/.debug /usr/lib/js/.debug /usr/lib/matchbox-panel/.debug /usr/src/debug
-FILELIST = /usr/lib/.debug/libjs.so /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsprf.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsatom.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsdbgapi.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsbool.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsmath.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsprf.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsopcode.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsxml.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jspubtd.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsscope.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsregexp.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/prmjtime.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsproto.tbl /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jstypes.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsatom.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsscan.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsxdrapi.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsarena.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsemit.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsdtoa.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jshash.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsdhash.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsclist.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsstr.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsobj.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsgc.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jscompat.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsstr.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsdbgapi.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsparse.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/prmjtime.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsobj.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsopcode.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsdate.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsdtoa.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsapi.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsutil.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsbit.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsparse.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsbool.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsfun.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsscript.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jslog2.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jskeyword.tbl /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsarray.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsdate.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jscntxt.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsnum.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsarena.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsxdrapi.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsinterp.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jshash.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsscan.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsapi.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsnum.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsregexp.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsotypes.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsfun.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsiter.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsxml.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsarray.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jscntxt.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsexn.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsinterp.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsscope.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsmath.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsiter.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsemit.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsscript.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsgc.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsprvtd.h /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsdhash.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/jsexn.c /usr/src/debug/js-1.7.0+1.8.0rc1-r2/js/src/Linux_All_OPT.OBJ/jsautokw.h
+FILELIST = /usr/lib/.debug/libjs.so /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsprf.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsatom.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsdbgapi.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsbool.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsmath.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsprf.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsopcode.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsxml.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jspubtd.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsscope.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsregexp.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/prmjtime.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsproto.tbl /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jstypes.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsatom.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsscan.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsxdrapi.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsarena.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsemit.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsdtoa.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jshash.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsdhash.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsclist.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsstr.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsobj.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsgc.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jscompat.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsstr.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsdbgapi.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsparse.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/prmjtime.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsobj.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsopcode.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsdate.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsdtoa.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsapi.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsutil.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsbit.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsparse.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsbool.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsfun.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsscript.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jslog2.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jskeyword.tbl /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsarray.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsdate.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jscntxt.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsnum.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsarena.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsxdrapi.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsinterp.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jshash.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsscan.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsapi.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsnum.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsregexp.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsotypes.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsfun.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsiter.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsxml.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsarray.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jscntxt.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsexn.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsinterp.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsscope.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsmath.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsiter.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsemit.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsscript.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsgc.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsprvtd.h /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsdhash.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/jsexn.c /usr/src/debug/js-1.7.0+1.8.0rc1-r3/js/src/Linux_All_OPT.OBJ/jsautokw.h
packages/i586-poky-linux/js/js-dev/latest +5 -5
index 2f6625e..1b1a69d 100644
@@ -1,7 +1,7 @@
 PV = 1.7.0+1.8.0rc1
-PR = r2
-RDEPENDS = js (= 1.7.0+1.8.0rc1-r2)
+PR = r3
+RDEPENDS = js (= 1.7.0+1.8.0rc1-r3)
 RRECOMMENDS = js-dev eglibc-dev
-PKGSIZE = 4761147
-FILES = /usr/include /usr/lib/lib*.a
-FILELIST = /usr/include/js/jsprf.h /usr/include/js/jsatom.h /usr/include/js/resource.h /usr/include/js/jsbool.h /usr/include/js/jsmath.h /usr/include/js/jsopcode.h /usr/include/js/jsxml.h /usr/include/js/jspubtd.h /usr/include/js/jsproto.tbl /usr/include/js/jstypes.h /usr/include/js/jsdtracef.h /usr/include/js/jsarena.h /usr/include/js/jshash.h /usr/include/js/jsdhash.h /usr/include/js/jsutil.h /usr/include/js/jsclist.h /usr/include/js/jsobj.h /usr/include/js/jscompat.h /usr/include/js/jsstr.h /usr/include/js/jsfile.h /usr/include/js/jsdbgapi.h /usr/include/js/jsparse.h /usr/include/js/prmjtime.h /usr/include/js/jsdtoa.h /usr/include/js/jsbit.h /usr/include/js/jsfun.h /usr/include/js/jslong.h /usr/include/js/jsarray.h /usr/include/js/jsdate.h /usr/include/js/jsnum.h /usr/include/js/conf.h /usr/include/js/jsconfig.h /usr/include/js/jsxdrapi.h /usr/include/js/jsscan.h /usr/include/js/jsapi.h /usr/include/js/jsautocfg.h /usr/include/js/jslock.h /usr/include/js/jsregexp.h /usr/include/js/jsotypes.h /usr/include/js/jscntxt.h /usr/include/js/jsexn.h /usr/include/js/jslibmath.h /usr/include/js/jsinterp.h /usr/include/js/jsstddef.h /usr/include/js/jsscope.h /usr/include/js/jsiter.h /usr/include/js/jsemit.h /usr/include/js/jscpucfg.h /usr/include/js/jsscript.h /usr/include/js/jsgc.h /usr/include/js/jsprvtd.h /usr/lib/libjs.a
+PKGSIZE = 681827
+FILES = /usr/include /usr/lib/lib*.so /usr/lib/*.la /usr/lib/*.o /usr/lib/pkgconfig /usr/share/pkgconfig /usr/share/aclocal /lib/*.o
+FILELIST = /usr/include/js/jsprf.h /usr/include/js/jsatom.h /usr/include/js/resource.h /usr/include/js/jsbool.h /usr/include/js/jsmath.h /usr/include/js/jsopcode.h /usr/include/js/jsxml.h /usr/include/js/jspubtd.h /usr/include/js/jsproto.tbl /usr/include/js/jstypes.h /usr/include/js/jsdtracef.h /usr/include/js/jsarena.h /usr/include/js/jshash.h /usr/include/js/jsdhash.h /usr/include/js/jsutil.h /usr/include/js/jsclist.h /usr/include/js/jsobj.h /usr/include/js/jscompat.h /usr/include/js/jsstr.h /usr/include/js/jsfile.h /usr/include/js/jsdbgapi.h /usr/include/js/jsparse.h /usr/include/js/prmjtime.h /usr/include/js/jsdtoa.h /usr/include/js/jsbit.h /usr/include/js/jsfun.h /usr/include/js/jslong.h /usr/include/js/jsarray.h /usr/include/js/jsdate.h /usr/include/js/jsnum.h /usr/include/js/conf.h /usr/include/js/jsconfig.h /usr/include/js/jsxdrapi.h /usr/include/js/jsscan.h /usr/include/js/jsapi.h /usr/include/js/jsautocfg.h /usr/include/js/jslock.h /usr/include/js/jsregexp.h /usr/include/js/jsotypes.h /usr/include/js/jscntxt.h /usr/include/js/jsexn.h /usr/include/js/jslibmath.h /usr/include/js/jsinterp.h /usr/include/js/jsstddef.h /usr/include/js/jsscope.h /usr/include/js/jsiter.h /usr/include/js/jsemit.h /usr/include/js/jscpucfg.h /usr/include/js/jsscript.h /usr/include/js/jsgc.h /usr/include/js/jsprvtd.h
packages/i586-poky-linux/js/js-doc/latest +1 -1
index 5deee0e..ee87528 100644
@@ -1,5 +1,5 @@
 PV = 1.7.0+1.8.0rc1
-PR = r2
+PR = r3
 RDEPENDS = 
 RRECOMMENDS = 
 PKGSIZE = 0
packages/i586-poky-linux/js/js-locale/latest +1 -1
index 7ccd4af..808650e 100644
@@ -1,5 +1,5 @@
 PV = 1.7.0+1.8.0rc1
-PR = r2
+PR = r3
 RDEPENDS = 
 RRECOMMENDS = 
 PKGSIZE = 0
packages/i586-poky-linux/js/js-staticdev/latest +4 -4
index 0d67175..331f415 100644
@@ -1,7 +1,7 @@
 PV = 1.7.0+1.8.0rc1
-PR = r2
-RDEPENDS = js-dev (= 1.7.0+1.8.0rc1-r2)
+PR = r3
+RDEPENDS = js-dev (= 1.7.0+1.8.0rc1-r3)
 RRECOMMENDS = 
-PKGSIZE = 0
+PKGSIZE = 4079320
 FILES = /usr/lib/*.a /lib/*.a
-FILELIST = 
+FILELIST = /usr/lib/libjs.a
packages/i586-poky-linux/js/js/latest +1 -1
index 0d77964..aad3bc8 100644
@@ -1,5 +1,5 @@
 PV = 1.7.0+1.8.0rc1
-PR = r2
+PR = r3
 RDEPENDS = eglibc (>= 2.13)
 RRECOMMENDS = 
 PKGSIZE = 873240
packages/i586-poky-linux/js/latest +1 -1
index 565c861..c99a333 100644
@@ -1,4 +1,4 @@
 PV = 1.7.0+1.8.0rc1
-PR = r2
+PR = r3
 DEPENDS = autoconf-native automake-native libtool-native libtool-cross gnu-config-native virtual/i586-poky-linux-gcc virtual/i586-poky-linux-compilerlibs virtual/libc 
 PACKAGES = js-dbg js js-doc js-dev js-staticdev js-locale
packages/i586-poky-linux/liba52/a52dec-doc/latest +1 -1
index 839504d..0743300 100644
@@ -1,5 +1,5 @@
 PV = 0.7.4
-PR = r3
+PR = r4
 RDEPENDS = 
 RRECOMMENDS = 
 PKGSIZE = 2151
packages/i586-poky-linux/liba52/a52dec/latest +1 -1
index 0fe64ce..e40d6cc 100644
@@ -1,5 +1,5 @@
 PV = 0.7.4
-PR = r3
+PR = r4
 RDEPENDS = liba52 (>= 0.7.4) eglibc (>= 2.13)
 RRECOMMENDS = 
 PKGSIZE = 25496
packages/i586-poky-linux/liba52/latest +1 -1
index 2c85d1e..41a5b25 100644
@@ -1,4 +1,4 @@
 PV = 0.7.4
-PR = r3
+PR = r4
 DEPENDS = autoconf-native automake-native libtool-native libtool-cross gnu-config-native virtual/i586-poky-linux-gcc virtual/i586-poky-linux-compilerlibs virtual/libc 
 PACKAGES = a52dec a52dec-doc liba52-dbg liba52 liba52-doc liba52-dev liba52-staticdev liba52-locale
packages/i586-poky-linux/liba52/liba52-dbg/latest +3 -3
index fe6f2f7..e8f9e75 100644
@@ -1,7 +1,7 @@
 PV = 0.7.4
-PR = r3
+PR = r4
 RDEPENDS = 
-RRECOMMENDS = eglibc-dbg liba52 (= 0.7.4-r3) liba52-dbg
+RRECOMMENDS = eglibc-dbg liba52 (= 0.7.4-r4) liba52-dbg
 PKGSIZE = 266136
 FILES = /usr/bin/.debug /usr/sbin/.debug /usr/libexec/.debug /usr/lib/.debug /bin/.debug /sbin/.debug /lib/.debug /usr/lib/liba52/.debug /usr/lib/matchbox-panel/.debug /usr/src/debug
-FILELIST = /usr/bin/.debug/extract_a52 /usr/bin/.debug/a52dec /usr/lib/.debug/liba52.so.0 /usr/lib/.debug/liba52.so.0.0.0 /usr/lib/.debug/liba52.so /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/libao/audio_out_null.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/libao/audio_out_oss.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/libao/float2s16.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/libao/audio_out_aif.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/libao/audio_out.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/libao/audio_out_wav.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/libao/audio_out_peak.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/libao/audio_out_float.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/liba52/bitstream.h /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/liba52/imdct.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/liba52/bitstream.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/liba52/tables.h /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/liba52/parse.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/liba52/a52_internal.h /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/liba52/bit_allocate.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/liba52/downmix.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/include/a52.h /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/include/audio_out.h /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/src/getopt.h /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/src/extract_a52.c /usr/src/debug/liba52-0.7.4-r3/a52dec-0.7.4/src/a52dec.c
+FILELIST = /usr/bin/.debug/extract_a52 /usr/bin/.debug/a52dec /usr/lib/.debug/liba52.so.0 /usr/lib/.debug/liba52.so.0.0.0 /usr/lib/.debug/liba52.so /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/libao/audio_out_null.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/libao/audio_out_oss.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/libao/float2s16.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/libao/audio_out_aif.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/libao/audio_out.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/libao/audio_out_wav.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/libao/audio_out_peak.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/libao/audio_out_float.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/liba52/bitstream.h /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/liba52/imdct.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/liba52/bitstream.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/liba52/tables.h /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/liba52/parse.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/liba52/a52_internal.h /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/liba52/bit_allocate.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/liba52/downmix.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/include/a52.h /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/include/audio_out.h /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/src/getopt.h /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/src/extract_a52.c /usr/src/debug/liba52-0.7.4-r4/a52dec-0.7.4/src/a52dec.c
packages/i586-poky-linux/liba52/liba52-dev/latest +5 -5
index a832a3b..61fdfb9 100644
@@ -1,7 +1,7 @@
 PV = 0.7.4
-PR = r3
-RDEPENDS = liba52 (= 0.7.4-r3)
+PR = r4
+RDEPENDS = liba52 (= 0.7.4-r4)
 RRECOMMENDS = eglibc-dev liba52-dev
-PKGSIZE = 133650
-FILES =  /usr/include/a52dec/*.h /usr/lib/liba52.so /usr/lib/liba52.la /usr/lib/liba52.a 
-FILELIST = /usr/include/a52dec/mm_accel.h /usr/include/a52dec/a52.h /usr/include/a52dec/attributes.h /usr/include/a52dec/audio_out.h /usr/lib/liba52.a /usr/lib/liba52.la /usr/lib/liba52.so
+PKGSIZE = 7360
+FILES = /usr/include /usr/lib/lib*.so /usr/lib/*.la /usr/lib/*.o /usr/lib/pkgconfig /usr/share/pkgconfig /usr/share/aclocal /lib/*.o
+FILELIST = /usr/include/a52dec/mm_accel.h /usr/include/a52dec/a52.h /usr/include/a52dec/attributes.h /usr/include/a52dec/audio_out.h /usr/lib/liba52.la /usr/lib/liba52.so
packages/i586-poky-linux/liba52/liba52-doc/latest +1 -1
index 5b4a24f..1ccca7c 100644
@@ -1,5 +1,5 @@
 PV = 0.7.4
-PR = r3
+PR = r4
 RDEPENDS = 
 RRECOMMENDS = 
 PKGSIZE = 0
packages/i586-poky-linux/liba52/liba52-locale/latest +1 -1
index b6d95b4..a6f6301 100644
@@ -1,5 +1,5 @@
 PV = 0.7.4
-PR = r3
+PR = r4
 RDEPENDS = 
 RRECOMMENDS = 
 PKGSIZE = 0
packages/i586-poky-linux/liba52/liba52-staticdev/latest +4 -4
index 6177875..db586ae 100644
@@ -1,7 +1,7 @@
 PV = 0.7.4
-PR = r3
-RDEPENDS = liba52-dev (= 0.7.4-r3)
+PR = r4
+RDEPENDS = liba52-dev (= 0.7.4-r4)
 RRECOMMENDS = 
-PKGSIZE = 0
+PKGSIZE = 126290
 FILES = /usr/lib/*.a /lib/*.a
-FILELIST = 
+FILELIST = /usr/lib/liba52.a
packages/i586-poky-linux/liba52/liba52/latest +2 -2
index 6c12fc7..6429720 100644
@@ -1,7 +1,7 @@
 PV = 0.7.4
-PR = r3
+PR = r4
 RDEPENDS = eglibc (>= 2.13)
 RRECOMMENDS = 
 PKGSIZE = 37067
-FILES =  /usr/lib/liba52.so.0 /usr/lib/liba52.so.0.0.0 
+FILES = /usr/bin/* /usr/sbin/* /usr/libexec/* /usr/lib/lib*.so.* /etc /com /var /bin/* /sbin/* /lib/*.so.* /usr/share/liba52 /usr/lib/liba52/* /usr/share/pixmaps /usr/share/applications /usr/share/idl /usr/share/omf /usr/share/sounds /usr/lib/bonobo/servers
 FILELIST = /usr/lib/liba52.so.0 /usr/lib/liba52.so.0.0.0
#1 lore raw

Op 19 jan. 2012, om 14:08 heeft Richard Purdie het volgende geschreven:

Quoted 3 lines

We've recently added the buildhistory class and I wanted to illustrate how it can help us improve the quality of what we're doing. I appreciate elements of this have been around for a while as part of testlab

About 4 years: http://dominion.thruhere.net/koen/cms/the-testlab-strikes-again :D

Quoted 16 lines

but I
do want to raise the profile of these tools. I added:

INHERIT += "buildhistory"
BUILDHISTORY_COMMIT = "1"

to my local.conf, then ran "bitbake gst-openmax liba52 js". I then applied the staticdev patches from Saul, which should only move the .a files to the -staticdev package. I then ran the bitbake command again.

If I change into tmp/buildhistory and show the last commit the result is included below. Since the version changed, the diff isn't as readable as would be ideal, however reading through it clearly shows the .a files moving to the staticdev packages with no unintended changes as far as I could tell.

Quoted 5 lines

One of my big worries with the staticdev changes is any unintended packaging changes. This lets me view the changes more precisely which can only lead to higher quality regression spotting for the project. I'd like to suggest more people start enabling this and using it to check the changes they're making.

If you want to see a longer history, have a look at https://github.com/Angstrom-distribution/buildhistory/commits/master, I've been using it heavily today when working on udev 177 which changed its default filesystem layout. One thing to keep in mind:

$ du -hs /data/ssd/OE/buildhistory/ 
548M	/data/ssd/OE/buildhistory/

I keep it on an SSD to avoid needing to wait a few minutes after every bitbake invocation.

regards,

Koen

#2 lore raw
Quoted 7 lines · On Thursday 19 January 2012 15:37:38 Koen Kooi wrote:

If you want to see a longer history, have a look at
https://github.com/Angstrom-distribution/buildhistory/commits/master, I've been using it heavily today when working on udev 177 which changed its default filesystem layout. One thing to keep in mind:

$ du -hs /data/ssd/OE/buildhistory/
548M	/data/ssd/OE/buildhistory/

Hmm, I wouldn't have expected it to be quite that large, but I guess it depends what you're doing with it, and I'd imagine given the number of builds you run you probably stress it more than most (which is good :). In the end 500M is just a drop in the bucket compared to the rest of TMPDIR...

Quoted 2 lines

I keep it on an SSD to avoid needing to wait a few minutes after every bitbake invocation.

Good advice :) It's also worth noting it will noticeably increase the do_rootfs time (especially for RPM) and probably do_package as well.

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#3 lore raw

Op 19 jan. 2012, om 15:45 heeft Paul Eggleton het volgende geschreven:

Quoted 14 lines · On Thursday 19 January 2012 15:37:38 Koen Kooi wrote:
Quoted 7 lines

If you want to see a longer history, have a look at
https://github.com/Angstrom-distribution/buildhistory/commits/master, I've been using it heavily today when working on udev 177 which changed its default filesystem layout. One thing to keep in mind:

$ du -hs /data/ssd/OE/buildhistory/
548M	/data/ssd/OE/buildhistory/

Hmm, I wouldn't have expected it to be quite that large, but I guess it depends what you're doing with it, and I'd imagine given the number of builds you run you probably stress it more than most (which is good :). In the end 500M is just a drop in the bucket compared to the rest of TMPDIR...

Quoted 5 lines
Quoted 2 lines

I keep it on an SSD to avoid needing to wait a few minutes after every bitbake invocation.

Good advice :) It's also worth noting it will noticeably increase the do_rootfs time (especially for RPM) and probably do_package as well.

The cloud9-image incremental build takes ~45 minutes with testlab and ~120 minutes with testlab + buildhistory. The base 45 minutes are ~10 minutes redoing the opkg indices (as reported earlier) and the rest is just mkfs.ext2 being stupid when it comes to using 4GB /dev/loopN files for images.

regards,

Koen

#4 lore raw
In reply to Richard Purdie
Quoted 6 lines · On Thursday 19 January 2012 13:08:03 Richard Purdie wrote:

If I change into tmp/buildhistory and show the last commit the result is included below. Since the version changed, the diff isn't as readable as would be ideal, however reading through it clearly shows the .a files moving to the staticdev packages with no unintended changes as far as I could tell.

Quoted 8 lines

One of my big worries with the staticdev changes is any unintended packaging changes. This lets me view the changes more precisely which can only lead to higher quality regression spotting for the project. I'd like to suggest more people start enabling this and using it to check the changes they're making.

I know Paul is working on tools to better display these changes too and those will help make these diffs easier to read.

There's the command line buildhistory-diff tool (in scripts/) already, and this will query the git repository and report just the changes that might represent regressions, in a form that's a bit easier to read than git diff. For example (simulated):

paul@helios:~/poky/poky/build/tmp/buildhistory$ ~/poky/poky/scripts/buildhistory-diff . HEAD^^
Changes to images/qemux86_64/eglibc/core-image-minimal (files-in-image.txt):
  /etc/anotherpkg.conf was added
  /sbin/anotherpkg was added
  * (installed-package-names.txt):
  *   anotherpkg was added
Changes to images/qemux86_64/eglibc/core-image-minimal (installed-package-names.txt):
  anotherpkg was added
packages/qemux86_64-poky-linux/v86d: PACKAGES: added "v86d-extras"
  * PR changed from "r0" to "r1"
  * PV changed from "0.1.10" to "0.1.12"
packages/qemux86_64-poky-linux/v86d/v86d: PKGSIZE changed from 110579 to 144381 (+30%)
  * PR changed from "r0" to "r1"
  * PV changed from "0.1.10" to "0.1.12"                                                                                                                         

For those that may not be aware I'm also working on a web frontend to view/manage these changes more effectively (utilising the same backend code), however it still needs quite a bit of work.

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#5 lore raw
Quoted 36 lines · Paul Eggleton
Quoted 6 lines · On Thursday 19 January 2012 13:08:03 Richard Purdie wrote:

If I change into tmp/buildhistory and show the last commit the result is included below. Since the version changed, the diff isn't as readable as would be ideal, however reading through it clearly shows the .a files moving to the staticdev packages with no unintended changes as far as I could tell.

Quoted 8 lines

One of my big worries with the staticdev changes is any unintended packaging changes. This lets me view the changes more precisely which can only lead to higher quality regression spotting for the project. I'd like to suggest more people start enabling this and using it to check the changes they're making.

I know Paul is working on tools to better display these changes too and those will help make these diffs easier to read.

There's the command line buildhistory-diff tool (in scripts/) already, and this will query the git repository and report just the changes that might represent regressions, in a form that's a bit easier to read than git diff. For example (simulated):

paul@helios:~/poky/poky/build/tmp/buildhistory$ ~/poky/poky/scripts/buildhistory-diff . HEAD^^
Changes to images/qemux86_64/eglibc/core-image-minimal (files-in-image.txt):
   /etc/anotherpkg.conf was added
   /sbin/anotherpkg was added
   * (installed-package-names.txt):
   *   anotherpkg was added
Changes to images/qemux86_64/eglibc/core-image-minimal (installed-package-names.txt):
   anotherpkg was added
packages/qemux86_64-poky-linux/v86d: PACKAGES: added "v86d-extras"
   * PR changed from "r0" to "r1"
   * PV changed from "0.1.10" to "0.1.12"
packages/qemux86_64-poky-linux/v86d/v86d: PKGSIZE changed from 110579 to 144381 (+30%)
   * PR changed from "r0" to "r1"
   * PV changed from "0.1.10" to "0.1.12"
Quoted 3 lines

For those that may not be aware I'm also working on a web frontend to view/manage these changes more effectively (utilising the same backend code), however it still needs quite a bit of work.

Does the build history due any scanning of either package or shared library dependencies?

I hit a case recently working on a custom layer, where everything built properly, I made a few changes and I happened to notice by accident that it was no longer linking to the shared library, but instead the static library. This changed both the package (runtime) dependencies and the shared library usage in the problem... the resulting binary suddenly jumped in size as well.

--Mark

#6 lore raw
Quoted 2 lines · On Thursday 19 January 2012 10:06:24 Mark Hatle wrote:

Does the build history due any scanning of either package or shared library dependencies?

For packages, it relies on the output of do_package, however this includes the final value of RDEPENDS which is influenced by shared library dependencies.

Quoted 6 lines

I hit a case recently working on a custom layer, where everything built properly, I made a few changes and I happened to notice by accident that it was no longer linking to the shared library, but instead the static library. This changed both the package (runtime) dependencies and the shared library usage in the problem... the resulting binary suddenly jumped in size as well.

If the runtime package dependency doesn't change as a result then we wouldn't notice the change the way it currently works; however for this specific issue it did so we would have. We would also have picked up the jump in package size if it was over a specified threshold (currently 20%, it's possible this value may need some tweaking).

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre