[oe-commits] org.oe.dev Micro-Optimisation decreasing initial parsing time by 10%

freyther commit openembedded-commits at lists.openembedded.org
Sat Nov 18 17:02:44 UTC 2006


Micro-Optimisation decreasing initial parsing time by 10%

    python () {} and python __anonymous () {} are as the same
    says functions without a name. They get executed when the
    main bb file is completely parsed. This is used to set
    information like FILESDIR.
    This is a python method so it gets evaled which means compiled
    and executed a lot of times. By moving the code of the anonfunc
    into a proper method this is only compiled once. The result is
    is the 10% speed up when parsing.

    Reindent anonfuncs and new defs without tabs and four spaces

Author: freyther at openembedded.org
Branch: org.openembedded.dev
Revision: c46bb9f689f52b3847b41ebdb10f140c0819e788
ViewMTN: http://monotone.openembedded.org/revision.psp?id=c46bb9f689f52b3847b41ebdb10f140c0819e788
Files:
1
packages/glib-2.0/glib-2.0.inc
classes/base.bbclass
classes/flow-lossage.bbclass
classes/gettext.bbclass
classes/multimachine.bbclass
classes/update-alternatives.bbclass
classes/update-rc.d.bbclass
packages/apache/apache_2.0.54.bb
packages/glib-2.0/glib-2.0_2.12.0.bb
packages/glib-2.0/glib-2.0_2.12.1.bb
packages/glib-2.0/glib-2.0_2.12.3.bb
packages/glib-2.0/glib-2.0_2.2.3.bb
packages/glib-2.0/glib-2.0_2.4.5.bb
packages/glib-2.0/glib-2.0_2.4.6.bb
packages/glib-2.0/glib-2.0_2.6.0.bb
packages/glib-2.0/glib-2.0_2.6.1.bb
packages/glib-2.0/glib-2.0_2.6.2.bb
packages/glib-2.0/glib-2.0_2.6.3.bb
packages/glib-2.0/glib-2.0_2.6.4.bb
packages/glib-2.0/glib-2.0_2.8.1.bb
packages/glib-2.0/glib-2.0_2.8.2.bb
packages/glib-2.0/glib-2.0_2.8.4.bb
packages/glib-2.0/glib-2.0_2.8.6.bb
packages/grub/grub_0.97.bb
packages/images/slugos-image.bb
packages/linux/ixp4xx-kernel.inc
packages/linux/linux-amsdelta-2.6_2.6.16-omap2.bb
packages/lockstat/lockstat_1.4.10.bb
packages/nis/nis.inc
packages/pam/libpam_0.79.bb
Diffs:

#
# mt diff -rd1a0881398079c71fde72e9e44bbf4b2971f8692 -rc46bb9f689f52b3847b41ebdb10f140c0819e788
#
# 
# 
# add_file "packages/glib-2.0/glib-2.0.inc"
#  content [1e6fafdbaa9eb8f82752a7fadd52056b49497816]
# 
# patch "classes/base.bbclass"
#  from [b758fd377f73dbd24e9a65108ba3fd0de0ae0772]
#    to [fb4ec935de39df61ed43eaa0815eccf38d958af8]
# 
# patch "classes/flow-lossage.bbclass"
#  from [7f6390b14b53c7d943959bbac432306d160540df]
#    to [c8f4c9f10721ec716a75fafe3f8340096bb367e4]
# 
# patch "classes/gettext.bbclass"
#  from [eb6d555d268d72dbe6c336c5b2e029f77c8e8527]
#    to [a0ba1057eaf6a5619d05a1d4fe7e262095b34168]
# 
# patch "classes/multimachine.bbclass"
#  from [facafe4d437231f4b680149eac4fe289fe188d7e]
#    to [39bec0079b9e0bad6abd2637e242bb97bb66cce2]
# 
# patch "classes/update-alternatives.bbclass"
#  from [eca20324b882c46f0e96d4b48244fc90c2f7261a]
#    to [bb1e120963bfcd8e1ce95ab8abf3d22f86450925]
# 
# patch "classes/update-rc.d.bbclass"
#  from [1b9303ddb644bddb4cd6e70eaf0a759b2085f781]
#    to [426fa6a0f46eb899a61e0f53f9f1f30b89668ba3]
# 
# patch "packages/apache/apache_2.0.54.bb"
#  from [4c911dac08ef4049d7a574f89f37b5cc9b1b151b]
#    to [2b9f05cd22adb9adced3f45dd03c55639a99a1da]
# 
# patch "packages/glib-2.0/glib-2.0_2.12.0.bb"
#  from [60c9e09b1b2bddf5c2941586bf2e7dae4fbae65f]
#    to [24e76bde05749207d76e41b22cf5fa360ed20b8b]
# 
# patch "packages/glib-2.0/glib-2.0_2.12.1.bb"
#  from [bbeae6d920204980804b9f6e20902d26a16ed70c]
#    to [32b2403c5b547ee78c94f515f907de1676d6fa4f]
# 
# patch "packages/glib-2.0/glib-2.0_2.12.3.bb"
#  from [bbeae6d920204980804b9f6e20902d26a16ed70c]
#    to [32b2403c5b547ee78c94f515f907de1676d6fa4f]
# 
# patch "packages/glib-2.0/glib-2.0_2.2.3.bb"
#  from [61e181130a0b6a57aed77674c0b2228afcc04d62]
#    to [4f7cfa5bea610fb7f5649dde45b26e2be972b545]
# 
# patch "packages/glib-2.0/glib-2.0_2.4.5.bb"
#  from [bafb03b54863bc5f933316ead694671d51dadb44]
#    to [48a1a3c786e015b238b109abf000877b04ca93cc]
# 
# patch "packages/glib-2.0/glib-2.0_2.4.6.bb"
#  from [3f460dc396407edb42fbb3c3a6cb133d2c387e5a]
#    to [c98a1e3d3b355287f2186d3503bb7286663fca5d]
# 
# patch "packages/glib-2.0/glib-2.0_2.6.0.bb"
#  from [25028959ff2f2a44add209fdaf00e543f9d760f9]
#    to [0d2e1f94d336f0cf7e5649953935749b721a04c4]
# 
# patch "packages/glib-2.0/glib-2.0_2.6.1.bb"
#  from [eb040186dbe41d727ad41b2938c4d33ebf17e50b]
#    to [e063f9900f14648873af787583884bf36c20dfbc]
# 
# patch "packages/glib-2.0/glib-2.0_2.6.2.bb"
#  from [eb040186dbe41d727ad41b2938c4d33ebf17e50b]
#    to [e063f9900f14648873af787583884bf36c20dfbc]
# 
# patch "packages/glib-2.0/glib-2.0_2.6.3.bb"
#  from [eb040186dbe41d727ad41b2938c4d33ebf17e50b]
#    to [e063f9900f14648873af787583884bf36c20dfbc]
# 
# patch "packages/glib-2.0/glib-2.0_2.6.4.bb"
#  from [eb040186dbe41d727ad41b2938c4d33ebf17e50b]
#    to [e063f9900f14648873af787583884bf36c20dfbc]
# 
# patch "packages/glib-2.0/glib-2.0_2.8.1.bb"
#  from [0b183e2cecc662fdcff6625b2bad174876935c2b]
#    to [9c6634d339bb668303a1664884989b57fb9c5b24]
# 
# patch "packages/glib-2.0/glib-2.0_2.8.2.bb"
#  from [ffff27ba46f9043370fb3fd1d0e68374ae14272c]
#    to [606a0ed99aaab6d5d204f65c17ec2598fb43086b]
# 
# patch "packages/glib-2.0/glib-2.0_2.8.4.bb"
#  from [8f65cd30b0353967ffe9275dd26f7949a76bb7a3]
#    to [22de6bac45463ee170a6109d63cc65bb11cc19db]
# 
# patch "packages/glib-2.0/glib-2.0_2.8.6.bb"
#  from [23ee3a907566f4491cff597f29e64c8d58af6a14]
#    to [9b443b48573e869f90bc0a2ebb4d789d541e270b]
# 
# patch "packages/grub/grub_0.97.bb"
#  from [e5cf4ae4a465cca8d9f888d829239651419d4239]
#    to [3af10d9a8bdaaa1c4fbf92fb5288d906a07b6588]
# 
# patch "packages/images/slugos-image.bb"
#  from [44e999c723d9bdca9403901a0ab0f00c98a26bc0]
#    to [34d9be51d514ffcfe5f2ee355cded7b7eb5a9cfe]
# 
# patch "packages/linux/ixp4xx-kernel.inc"
#  from [2231906856b07126b637ffea6dc6d1a00a3090af]
#    to [3e65d9298bc48c67b050e4ba594159c3c1969471]
# 
# patch "packages/linux/linux-amsdelta-2.6_2.6.16-omap2.bb"
#  from [aa6eab02eb3a7b434c37ddc01f84ba0cf3f2a0e1]
#    to [a6b7a5e9fa46ce963973d915d80f8cbe94db9486]
# 
# patch "packages/lockstat/lockstat_1.4.10.bb"
#  from [b8bf1c7a710c5e155a3a74eaaea6614d52c5d6a0]
#    to [2efc6c23f08c9160db1db00f4b2d3822d01749e8]
# 
# patch "packages/nis/nis.inc"
#  from [2653edd2e22ad3a90e2622346e7b29aca0ee50c1]
#    to [5a74852374463a6288b5fd3dff78751170555a5f]
# 
# patch "packages/pam/libpam_0.79.bb"
#  from [57bcd07ebc5ef77ee50ff79e0659be063b38d641]
#    to [95327ea30ce56a35ba78c444fb2b89c3034165b1]
# 
============================================================
--- packages/glib-2.0/glib-2.0.inc	1e6fafdbaa9eb8f82752a7fadd52056b49497816
+++ packages/glib-2.0/glib-2.0.inc	1e6fafdbaa9eb8f82752a7fadd52056b49497816
@@ -0,0 +1,5 @@
+
+python () {
+    if bb.data.getVar("USE_NLS", d, 1) == "no":
+        raise bb.parse.SkipPackage("${PN} requires native language support.")
+}
============================================================
--- classes/base.bbclass	b758fd377f73dbd24e9a65108ba3fd0de0ae0772
+++ classes/base.bbclass	fb4ec935de39df61ed43eaa0815eccf38d958af8
@@ -676,55 +676,61 @@ python read_subpackage_metadata () {
 			bb.data.setVar(key, sdata[key], d)
 }
 
-python __anonymous () {
-	import exceptions
-	need_host = bb.data.getVar('COMPATIBLE_HOST', d, 1)
-	if need_host:
-		import re
-		this_host = bb.data.getVar('HOST_SYS', d, 1)
-		if not re.match(need_host, this_host):
-			raise bb.parse.SkipPackage("incompatible with host %s" % this_host)
+def base_after_parse_two(d):
+    import bb
+    import exceptions
+    need_host = bb.data.getVar('COMPATIBLE_HOST', d, 1)
+    if need_host:
+        import re
+        this_host = bb.data.getVar('HOST_SYS', d, 1)
+        if not re.match(need_host, this_host):
+            raise bb.parse.SkipPackage("incompatible with host %s" % this_host)
 
-	need_machine = bb.data.getVar('COMPATIBLE_MACHINE', d, 1)
-	if need_machine:
-		import re
-		this_machine = bb.data.getVar('MACHINE', d, 1)
-		if this_machine and not re.match(need_machine, this_machine):
-			raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
+    need_machine = bb.data.getVar('COMPATIBLE_MACHINE', d, 1)
+    if need_machine:
+	    import re
+	    this_machine = bb.data.getVar('MACHINE', d, 1)
+	    if this_machine and not re.match(need_machine, this_machine):
+		    raise bb.parse.SkipPackage("incompatible with machine %s" % this_machine)
 
-	pn = bb.data.getVar('PN', d, 1)
+    pn = bb.data.getVar('PN', d, 1)
 
-        # OBSOLETE in bitbake 1.7.4
-	srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1)
-	if srcdate != None:
-		bb.data.setVar('SRCDATE', srcdate, d)
+    # OBSOLETE in bitbake 1.7.4
+    srcdate = bb.data.getVar('SRCDATE_%s' % pn, d, 1)
+    if srcdate != None:
+	    bb.data.setVar('SRCDATE', srcdate, d)
 
-	use_nls = bb.data.getVar('USE_NLS_%s' % pn, d, 1)
-	if use_nls != None:
-		bb.data.setVar('USE_NLS', use_nls, d)
-}
+    use_nls = bb.data.getVar('USE_NLS_%s' % pn, d, 1)
+    if use_nls != None:
+        bb.data.setVar('USE_NLS', use_nls, d)
 
+def base_after_parse(d):
+    import bb, os
+    mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
+    old_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
+    if (old_arch == mach_arch):
+        # Nothing to do
+        return
+    if (bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1) == '0'):
+        return
+    paths = []
+    for p in [ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ]:
+	    paths.append(bb.data.expand(os.path.join(p, mach_arch), d))
+    for s in bb.data.getVar('SRC_URI', d, 1).split():
+        local = bb.data.expand(bb.fetch.localpath(s, d), d)
+        for mp in paths:
+            if local.startswith(mp):
+                #bb.note("overriding PACKAGE_ARCH from %s to %s" % (old_arch, mach_arch))
+                bb.data.setVar('PACKAGE_ARCH', mach_arch, d)
+                return
+
+
 python () {
-	import bb, os
-	mach_arch = bb.data.getVar('MACHINE_ARCH', d, 1)
-	old_arch = bb.data.getVar('PACKAGE_ARCH', d, 1)
-	if (old_arch == mach_arch):
-		# Nothing to do
-		return
-	if (bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1) == '0'):
-		return
-	paths = []
-	for p in [ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ]:
-		paths.append(bb.data.expand(os.path.join(p, mach_arch), d))
-	for s in bb.data.getVar('SRC_URI', d, 1).split():
-		local = bb.data.expand(bb.fetch.localpath(s, d), d)
-		for mp in paths:
-			if local.startswith(mp):
-#				bb.note("overriding PACKAGE_ARCH from %s to %s" % (old_arch, mach_arch))
-				bb.data.setVar('PACKAGE_ARCH', mach_arch, d)
-				return
+    base_after_parse_two(d)
+    base_after_parse(d)
 }
 
+
 # Patch handling
 inherit patch
 
============================================================
--- classes/flow-lossage.bbclass	7f6390b14b53c7d943959bbac432306d160540df
+++ classes/flow-lossage.bbclass	c8f4c9f10721ec716a75fafe3f8340096bb367e4
@@ -1,5 +1,5 @@ python () {
 # gcc-3.4 blows up in gtktext with -frename-registers on arm-linux
 python () {
-	cflags = (bb.data.getVar('CFLAGS', d, 1) or '').replace('-frename-registers', '')
-	bb.data.setVar('CFLAGS', cflags, d)
+    cflags = (bb.data.getVar('CFLAGS', d, 1) or '').replace('-frename-registers', '')
+    bb.data.setVar('CFLAGS', cflags, d)
 }
============================================================
--- classes/gettext.bbclass	eb6d555d268d72dbe6c336c5b2e029f77c8e8527
+++ classes/gettext.bbclass	a0ba1057eaf6a5619d05a1d4fe7e262095b34168
@@ -1,11 +1,15 @@
+def gettext_after_parse(d):
+    import bb
+    # Remove the NLS bits if USE_NLS is no.
+    if bb.data.getVar('USE_NLS', d, 1) == 'no':
+        cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
+        cfg += " --disable-nls"
+        depends = bb.data.getVar('DEPENDS', d, 1) or ""
+        bb.data.setVar('DEPENDS', oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d)
+        bb.data.setVar('EXTRA_OECONF', cfg, d)
+
 python () {
-	# Remove the NLS bits if USE_NLS is no.
-	if bb.data.getVar('USE_NLS', d, 1) == 'no':
-		cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
-		cfg += " --disable-nls"
-		depends = bb.data.getVar('DEPENDS', d, 1) or ""
-		bb.data.setVar('DEPENDS', oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d)
-		bb.data.setVar('EXTRA_OECONF', cfg, d)
+    gettext_after_parse(d)
 }
 
 DEPENDS =+ "gettext-native"
============================================================
--- classes/multimachine.bbclass	facafe4d437231f4b680149eac4fe289fe188d7e
+++ classes/multimachine.bbclass	39bec0079b9e0bad6abd2637e242bb97bb66cce2
@@ -1,22 +1,29 @@ STAGING_KERNEL_DIR = "${STAGING_DIR}/${M
 STAMP = "${TMPDIR}/stamps/${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}/${PF}"
 WORKDIR = "${TMPDIR}/work/${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}/${PF}"
 STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_ARCH}${TARGET_VENDOR}-${TARGET_OS}/kernel"
 
 # Find any machine specific sub packages and if present, mark the 
 # whole package as machine specific for multimachine purposes.
-python __anonymous () {
-	packages = bb.data.getVar('PACKAGES', d, 1).split()
-	macharch = bb.data.getVar('MACHINE_ARCH', d, 1)
-	multiarch  = bb.data.getVar('PACKAGE_ARCH', d, 1)
 
-	for pkg in packages:
-		pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
 
-		# We could look for != PACKAGE_ARCH here but how to choose 
-		# if multiple differences are present?
-		# Look through IPKG_ARCHS for the priority order?
-		if pkgarch and pkgarch == macharch:
-			multiarch = macharch
+def multi_machine_after_parse(d):
+    import bb
+    packages = bb.data.getVar('PACKAGES', d, 1).split()
+    macharch = bb.data.getVar('MACHINE_ARCH', d, 1)
+    multiarch  = bb.data.getVar('PACKAGE_ARCH', d, 1)
 
-	bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
+    for pkg in packages:
+        pkgarch = bb.data.getVar("PACKAGE_ARCH_%s" % pkg, d, 1)
+
+        # We could look for != PACKAGE_ARCH here but how to choose 
+        # if multiple differences are present?
+        # Look through IPKG_ARCHS for the priority order?
+        if pkgarch and pkgarch == macharch:
+            multiarch = macharch
+
+    bb.data.setVar('MULTIMACH_ARCH', multiarch, d)
+
+
+python __anonymous () {
+    multi_machine_after_parse(d)
 }
============================================================
--- classes/update-alternatives.bbclass	eca20324b882c46f0e96d4b48244fc90c2f7261a
+++ classes/update-alternatives.bbclass	bb1e120963bfcd8e1ce95ab8abf3d22f86450925
@@ -10,11 +10,15 @@ update-alternatives --remove ${ALTERNATI
 update-alternatives --remove ${ALTERNATIVE_NAME} ${ALTERNATIVE_PATH}
 }
 
+def updatealternativesafterparse(d):
+    import bb
+    if bb.data.getVar('ALTERNATIVE_NAME', d) == None:
+        raise bb.build.FuncFailed, "%s inherits update-alternatives but doesn't set ALTERNATIVE_NAME" % bb.data.getVar('FILE', d)
+    if bb.data.getVar('ALTERNATIVE_PATH', d) == None:
+        raise bb.build.FuncFailed, "%s inherits update-alternatives but doesn't set ALTERNATIVE_PATH" % bb.data.getVar('FILE', d)
+
 python __anonymous() {
-	if bb.data.getVar('ALTERNATIVE_NAME', d) == None:
-		raise bb.build.FuncFailed, "%s inherits update-alternatives but doesn't set ALTERNATIVE_NAME" % bb.data.getVar('FILE', d)
-	if bb.data.getVar('ALTERNATIVE_PATH', d) == None:
-		raise bb.build.FuncFailed, "%s inherits update-alternatives but doesn't set ALTERNATIVE_PATH" % bb.data.getVar('FILE', d)
+    updatealternativesafterparse(d)
 }
 
 python populate_packages_prepend () {
============================================================
--- classes/update-rc.d.bbclass	1b9303ddb644bddb4cd6e70eaf0a759b2085f781
+++ classes/update-rc.d.bbclass	426fa6a0f46eb899a61e0f53f9f1f30b89668ba3
@@ -26,12 +26,17 @@ update-rc.d $D ${INITSCRIPT_NAME} remove
 update-rc.d $D ${INITSCRIPT_NAME} remove
 }
 
+
+def update_rc_after_parse(d):
+    import bb
+    if bb.data.getVar('INITSCRIPT_PACKAGES', d) == None:
+	    if bb.data.getVar('INITSCRIPT_NAME', d) == None:
+		    raise bb.build.FuncFailed, "%s inherits update-rc.d but doesn't set INITSCRIPT_NAME" % bb.data.getVar('FILE', d)
+	    if bb.data.getVar('INITSCRIPT_PARAMS', d) == None:
+		    raise bb.build.FuncFailed, "%s inherits update-rc.d but doesn't set INITSCRIPT_PARAMS" % bb.data.getVar('FILE', d)
+
 python __anonymous() {
-	if bb.data.getVar('INITSCRIPT_PACKAGES', d) == None:
-		if bb.data.getVar('INITSCRIPT_NAME', d) == None:
-			raise bb.build.FuncFailed, "%s inherits update-rc.d but doesn't set INITSCRIPT_NAME" % bb.data.getVar('FILE', d)
-		if bb.data.getVar('INITSCRIPT_PARAMS', d) == None:
-			raise bb.build.FuncFailed, "%s inherits update-rc.d but doesn't set INITSCRIPT_PARAMS" % bb.data.getVar('FILE', d)
+    update_rc_after_parse(d)
 }
 
 python populate_packages_prepend () {
============================================================
--- packages/apache/apache_2.0.54.bb	4c911dac08ef4049d7a574f89f37b5cc9b1b151b
+++ packages/apache/apache_2.0.54.bb	2b9f05cd22adb9adced3f45dd03c55639a99a1da
@@ -82,10 +82,10 @@ python () {
 }
 
 python () {
-	# Don't build apache unless we are building nativly
-	target = bb.data.getVar("TARGET_ARCH", d, 1)
-	build = bb.data.getVar("BUILD_ARCH", d, 1)
-	if target != build:
-		raise bb.parse.SkipPackage("Apache will only build nativly (TARGET_ARCH == BUILD_ARCH)")
+    # Don't build apache unless we are building nativly
+    target = bb.data.getVar("TARGET_ARCH", d, 1)
+    build = bb.data.getVar("BUILD_ARCH", d, 1)
+    if target != build:
+        raise bb.parse.SkipPackage("Apache will only build nativly (TARGET_ARCH == BUILD_ARCH)")
 }
 
============================================================
--- packages/glib-2.0/glib-2.0_2.12.0.bb	60c9e09b1b2bddf5c2941586bf2e7dae4fbae65f
+++ packages/glib-2.0/glib-2.0_2.12.0.bb	24e76bde05749207d76e41b22cf5fa360ed20b8b
@@ -24,10 +24,7 @@ inherit autotools pkgconfig gettext
 
 inherit autotools pkgconfig gettext
 
-python () {
-	if bb.data.getVar("USE_NLS", d, 1) == "no":
-		raise bb.parse.SkipPackage("${PN} requires native language support.")
-}
+require glib-2.0.inc
 
 acpaths = ""
 do_configure_prepend () {
============================================================
--- packages/glib-2.0/glib-2.0_2.12.1.bb	bbeae6d920204980804b9f6e20902d26a16ed70c
+++ packages/glib-2.0/glib-2.0_2.12.1.bb	32b2403c5b547ee78%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list