[OE-core] [PATCH] ffmpeg: Add packageconfig for vdpau accelaration

2016-11-30 Thread Khem Raj
Fixes dangling dependency QA issue

WARNING: ffmpeg-3.2.1-r0 do_package_qa: QA Issue: libavutil rdepends on 
libvdpau, but it isn't a build dependency, missing libvdpau in DEPENDS or 
PACKAGECONFIG? [build-deps]

Signed-off-by: Khem Raj 
---
 meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb 
b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb
index 86279f2..5fca950 100644
--- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb
+++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb
@@ -57,6 +57,7 @@ PACKAGECONFIG[schroedinger] = 
"--enable-libschroedinger,--disable-libschroedinge
 PACKAGECONFIG[speex] = "--enable-libspeex,--disable-libspeex,speex"
 PACKAGECONFIG[theora] = "--enable-libtheora,--disable-libtheora,libtheora"
 PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
 PACKAGECONFIG[vpx] = "--enable-libvpx,--disable-libvpx,libvpx"
 PACKAGECONFIG[x11] = "--enable-x11grab,--disable-x11grab,virtual/libx11 
libxfixes libxext xproto virtual/libsdl"
 PACKAGECONFIG[x264] = "--enable-libx264,--disable-libx264,x264"
-- 
2.10.2

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] libc-package.bbclass: split binary localedata even more if asked to

2016-11-30 Thread Khem Raj

> On Nov 30, 2016, at 3:50 PM, Andreas Oberritter  wrote:
> 
> If GLIBC_SPLIT_LC_PACKAGES is set to a non-zero value, convert
> glibc-binary-localedata-XX-YY to be a meta package depending on
> glibc-binary-localedata-XX-YY-lc-address and so on. This enables
> saving quite some space if someone doesn't need LC_COLLATE for
> example.
> 
> Some regex code was removed from output_locale_binary_rdepends,
> because legitimize_package_name already converts to lowercase.
> 

This looks ok. May be add some documentation around 
GLIBC_SPLIT_LC_PACKAGES in extended local.conf sample.
I am worried about dependency changes, may be comparing old and new
would help.

> Signed-off-by: Andreas Oberritter 
> ---
> meta/classes/libc-package.bbclass | 39 +--
> 1 file changed, 25 insertions(+), 14 deletions(-)
> 
> diff --git a/meta/classes/libc-package.bbclass 
> b/meta/classes/libc-package.bbclass
> index 2dc90c4..071978b 100644
> --- a/meta/classes/libc-package.bbclass
> +++ b/meta/classes/libc-package.bbclass
> @@ -9,6 +9,8 @@
> 
> GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "ondevice"
> 
> +GLIBC_SPLIT_LC_PACKAGES ?= "0"
> +
> python __anonymous () {
> enabled = d.getVar("ENABLE_BINARY_LOCALE_GENERATION", True)
> 
> @@ -219,13 +221,12 @@ python package_do_split_gconvs () {
> (locale, encoding, locale))
> 
> def output_locale_binary_rdepends(name, pkgname, locale, encoding):
> -m = re.match("(.*)\.(.*)", name)
> -if m:
> -libc_name = "%s.%s" % (m.group(1), m.group(2).lower())
> -else:
> -libc_name = name
> -d.setVar('RDEPENDS_%s' % pkgname, 
> legitimize_package_name('%s-binary-localedata-%s' \
> -% (mlprefix+bpn, libc_name)))
> +dep = legitimize_package_name('%s-binary-localedata-%s' % (bpn, 
> name))
> +lcsplit = d.getVar('GLIBC_SPLIT_LC_PACKAGES', True)
> +if lcsplit and int(lcsplit):
> +d.appendVar('PACKAGES', ' ' + dep)
> +d.setVar('ALLOW_EMPTY_%s' % dep, '1')
> +d.setVar('RDEPENDS_%s' % pkgname, mlprefix + dep)
> 
> commands = {}
> 
> @@ -337,6 +338,11 @@ python package_do_split_gconvs () {
> else:
> output_locale('%s.%s' % (base, charset), base, charset)
> 
> +def metapkg_hook(file, pkg, pattern, format, basename):
> +name = basename.split('/', 1)[0]
> +metapkg = legitimize_package_name('%s-binary-localedata-%s' % 
> (mlprefix+bpn, name))
> +d.appendVar('RDEPENDS_%s' % metapkg, ' ' + pkg)
> +
> if use_bin == "compile":
> makefile = base_path_join(d.getVar("WORKDIR", True), "locale-tree", 
> "Makefile")
> m = open(makefile, "w")
> @@ -350,13 +356,18 @@ python package_do_split_gconvs () {
> bb.build.exec_func("oe_runmake", d)
> bb.note("collecting binary locales from locale tree")
> bb.build.exec_func("do_collect_bins_from_locale_tree", d)
> -do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
> -output_pattern=bpn+'-binary-localedata-%s', \
> -description='binary locale definition for %s', extra_depends='', 
> allow_dirs=True)
> -elif use_bin == "precompiled":
> -do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
> -output_pattern=bpn+'-binary-localedata-%s', \
> -description='binary locale definition for %s', extra_depends='', 
> allow_dirs=True)
> +
> +if use_bin in ('compile', 'precompiled'):
> +lcsplit = d.getVar('GLIBC_SPLIT_LC_PACKAGES', True)
> +if lcsplit and int(lcsplit):
> +do_split_packages(d, binary_locales_dir, 
> file_regex='^(.*/LC_\w+)', \
> +output_pattern=bpn+'-binary-localedata-%s', \
> +description='binary locale definition for %s', 
> recursive=True,
> +hook=metapkg_hook, extra_depends='', allow_dirs=True, 
> match_path=True)
> +else:
> +do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
> +output_pattern=bpn+'-binary-localedata-%s', \
> +description='binary locale definition for %s', 
> extra_depends='', allow_dirs=True)
> else:
> bb.note("generation of binary locales disabled. this may break i18n!")
> 
> -- 
> 2.7.4
> 
> -- 
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] purpose of variables like "base_bindir_native"?

2016-11-30 Thread Khem Raj

> On Nov 30, 2016, at 3:34 AM, Robert P. J. Day  wrote:
> 
> 
>  i'm putting together a tutorial on the structure of the native
> sysroot and how it's built and variables involved, and was poking
> around in both bitbake.conf and native.bbclass, and i'm curious about
> one or two things.
> 
>  i could be totally wrong but it *seems* like there's native-related
> content in bitbake.conf that could be moved over to native.bbclass to
> reduce a little of the clutter. i'm perusing bitbake.conf and it's
> hard to keep track of some of the variables just because there's both
> native- and target- related settings in there. but i'll admit i
> haven't finished my inspection.
> 
>  on a more specific note, in the entire oe-core layer, there are two
> references to the variable "base_bindir_native" (formatted for
> aesthetics):
> 
> $ grep -rw base_bindir_native *
> meta/conf/bitbake.conf:base_bindir_native = "/bin"
> meta/conf/bitbake.conf:PATH_prepend =
> "${COREBASE}/scripts:i
> ${STAGING_BINDIR_TOOLCHAIN}:
> ${STAGING_BINDIR_CROSS}:
> ${STAGING_DIR_NATIVE}${sbindir_native}:
> ${STAGING_BINDIR_NATIVE}:
> ${STAGING_DIR_NATIVE}${base_sbindir_native}:
> ${STAGING_DIR_NATIVE}${base_bindir_native}:"  <- there
> 
>  so, given that that variable is set in bitbake.conf, and is only
> referenced in that same file, what's the point of making it a
> variable? doesn't hurt, of course, but when i see a variable, i
> normally assume it's because it might be modified later somewhere, but
> i don't see that happening here. is there a reason for it? same thing
> could be said for "base_sbindir_native" as well.
> 
>  thoughts?

you could modify it if you wished to then you just change one var in local
metadata

> 
> rday
> 
> -- 
> 
> 
> Robert P. J. Day Ottawa, Ontario, CANADA
>http://crashcourse.ca
> 
> Twitter:   http://twitter.com/rpjday
> LinkedIn:   http://ca.linkedin.com/in/rpjday
> 
> 
> 
> -- 
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v2] lighttpd: Add many packageconfig options

2016-11-30 Thread Andreas Oberritter
Respect largefile and xattr distro features.

Signed-off-by: Andreas Oberritter 
---
v2: In 1.4.42, upstream renamed --with-kerberos5 to --with-krb5
and introduced mod_authn_gssapi with a new dependency on krb5.

 meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb | 37 ++-
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb 
b/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
index 322f212..38eaf70 100644
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
@@ -6,7 +6,6 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
 
 SECTION = "net"
-DEPENDS = "zlib libpcre"
 RDEPENDS_${PN} += " \
lighttpd-module-access \
lighttpd-module-accesslog \
@@ -26,22 +25,30 @@ SRC_URI = 
"http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t
 SRC_URI[md5sum] = "95eda531c27b161ef8fa2b9bf4948caf"
 SRC_URI[sha256sum] = 
"fe0c4a06dd2408a83ee7a2bfedc45e09597f3313cbda82485507573ae8fa948a"
 
-PACKAGECONFIG ??= "openssl \
+PACKAGECONFIG ??= "openssl pcre zlib \
 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'lfs', '', d)} \
+${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
 "
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-EXTRA_OECONF = " \
- --without-bzip2 \
- --without-ldap \
- --without-lua \
- --without-memcached \
- --with-pcre \
- --without-webdav-props \
- --without-webdav-locks \
- --disable-static \
-"
+PACKAGECONFIG[lfs] = "--enable-lfs,--disable-lfs"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
+PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
+PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
+PACKAGECONFIG[krb5] = "--with-krb5,--without-krb5,krb5"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[webdav-props] = 
"--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
+PACKAGECONFIG[webdav-locks] = 
"--with-webdav-locks,--without-webdav-locks,util-linux"
+PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
+PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
+PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
 
 inherit autotools pkgconfig update-rc.d gettext systemd
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] libc-package.bbclass: split binary localedata even more if asked to

2016-11-30 Thread Andreas Oberritter
If GLIBC_SPLIT_LC_PACKAGES is set to a non-zero value, convert
glibc-binary-localedata-XX-YY to be a meta package depending on
glibc-binary-localedata-XX-YY-lc-address and so on. This enables
saving quite some space if someone doesn't need LC_COLLATE for
example.

Some regex code was removed from output_locale_binary_rdepends,
because legitimize_package_name already converts to lowercase.

Signed-off-by: Andreas Oberritter 
---
 meta/classes/libc-package.bbclass | 39 +--
 1 file changed, 25 insertions(+), 14 deletions(-)

diff --git a/meta/classes/libc-package.bbclass 
b/meta/classes/libc-package.bbclass
index 2dc90c4..071978b 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -9,6 +9,8 @@
 
 GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "ondevice"
 
+GLIBC_SPLIT_LC_PACKAGES ?= "0"
+
 python __anonymous () {
 enabled = d.getVar("ENABLE_BINARY_LOCALE_GENERATION", True)
 
@@ -219,13 +221,12 @@ python package_do_split_gconvs () {
 (locale, encoding, locale))
 
 def output_locale_binary_rdepends(name, pkgname, locale, encoding):
-m = re.match("(.*)\.(.*)", name)
-if m:
-libc_name = "%s.%s" % (m.group(1), m.group(2).lower())
-else:
-libc_name = name
-d.setVar('RDEPENDS_%s' % pkgname, 
legitimize_package_name('%s-binary-localedata-%s' \
-% (mlprefix+bpn, libc_name)))
+dep = legitimize_package_name('%s-binary-localedata-%s' % (bpn, name))
+lcsplit = d.getVar('GLIBC_SPLIT_LC_PACKAGES', True)
+if lcsplit and int(lcsplit):
+d.appendVar('PACKAGES', ' ' + dep)
+d.setVar('ALLOW_EMPTY_%s' % dep, '1')
+d.setVar('RDEPENDS_%s' % pkgname, mlprefix + dep)
 
 commands = {}
 
@@ -337,6 +338,11 @@ python package_do_split_gconvs () {
 else:
 output_locale('%s.%s' % (base, charset), base, charset)
 
+def metapkg_hook(file, pkg, pattern, format, basename):
+name = basename.split('/', 1)[0]
+metapkg = legitimize_package_name('%s-binary-localedata-%s' % 
(mlprefix+bpn, name))
+d.appendVar('RDEPENDS_%s' % metapkg, ' ' + pkg)
+
 if use_bin == "compile":
 makefile = base_path_join(d.getVar("WORKDIR", True), "locale-tree", 
"Makefile")
 m = open(makefile, "w")
@@ -350,13 +356,18 @@ python package_do_split_gconvs () {
 bb.build.exec_func("oe_runmake", d)
 bb.note("collecting binary locales from locale tree")
 bb.build.exec_func("do_collect_bins_from_locale_tree", d)
-do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
-output_pattern=bpn+'-binary-localedata-%s', \
-description='binary locale definition for %s', extra_depends='', 
allow_dirs=True)
-elif use_bin == "precompiled":
-do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
-output_pattern=bpn+'-binary-localedata-%s', \
-description='binary locale definition for %s', extra_depends='', 
allow_dirs=True)
+
+if use_bin in ('compile', 'precompiled'):
+lcsplit = d.getVar('GLIBC_SPLIT_LC_PACKAGES', True)
+if lcsplit and int(lcsplit):
+do_split_packages(d, binary_locales_dir, 
file_regex='^(.*/LC_\w+)', \
+output_pattern=bpn+'-binary-localedata-%s', \
+description='binary locale definition for %s', recursive=True,
+hook=metapkg_hook, extra_depends='', allow_dirs=True, 
match_path=True)
+else:
+do_split_packages(d, binary_locales_dir, file_regex='(.*)', \
+output_pattern=bpn+'-binary-localedata-%s', \
+description='binary locale definition for %s', 
extra_depends='', allow_dirs=True)
 else:
 bb.note("generation of binary locales disabled. this may break i18n!")
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/5] kernel.bbclass: Avoid wildcards for kernel images

2016-11-30 Thread Andreas Oberritter
With multiple kernel images enabled starting with 'vmlinux', e.g.
vmlinux.gz and vmlinux.bin, all files landed inside the
kernel-vmlinux package.

On top of that, even initramfs images were included, e.g.
vmlinux.gz-initramfs-*.

Signed-off-by: Andreas Oberritter 
---
 meta/classes/kernel.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 0e7ebd4..634553c 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -48,7 +48,7 @@ python __anonymous () {
 
 d.appendVar('PACKAGES', ' ' + 'kernel-image-' + typelower)
 
-d.setVar('FILES_kernel-image-' + typelower, '/boot/' + type + '*')
+d.setVar('FILES_kernel-image-' + typelower, '/boot/' + type + 
'-${KERNEL_VERSION_NAME}')
 
 d.appendVar('RDEPENDS_kernel-image', ' ' + 'kernel-image-' + typelower)
 
@@ -486,7 +486,7 @@ FILES_${PN} = ""
 FILES_kernel-base = "/lib/modules/${KERNEL_VERSION}/modules.order 
/lib/modules/${KERNEL_VERSION}/modules.builtin"
 FILES_kernel-image = ""
 FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* 
${KERNEL_SRC_PATH} /lib/modules/${KERNEL_VERSION}/build"
-FILES_kernel-vmlinux = "/boot/vmlinux*"
+FILES_kernel-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}"
 FILES_kernel-modules = ""
 RDEPENDS_kernel = "kernel-base"
 # Allow machines to override this dependency if kernel image files are
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/5] kernel.bbclass: Use real filenames in kernel packages

2016-11-30 Thread Andreas Oberritter
When iterating over kernel image types to set up their packaging
variables, don't use make targets but the real names.

It was surprising if both vmlinux.bin and vmlinux.gz were enabled
and only the latter had its filename extension removed from the
package name.

Signed-off-by: Andreas Oberritter 
---
 meta/classes/kernel.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 4aeeacb..0e7ebd4 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -43,7 +43,7 @@ python __anonymous () {
 typeformake = re.sub(r'\.gz', '', types)
 d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', typeformake)
 
-for type in typeformake.split():
+for type in types.split():
 typelower = type.lower()
 
 d.appendVar('PACKAGES', ' ' + 'kernel-image-' + typelower)
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 5/5] kernel.bbclass: fix kernel_do_compile for KERNEL_IMAGETYPE = "vmlinux.gz" on mips

2016-11-30 Thread Andreas Oberritter
The target directory didn't exist.

Signed-off-by: Andreas Oberritter 
---
 meta/classes/kernel.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index b21cdbc..d07f69c 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -264,6 +264,7 @@ kernel_do_compile() {
oe_runmake ${typeformake} CC="${KERNEL_CC}" LD="${KERNEL_LD}" 
${KERNEL_EXTRA_ARGS} $use_alternate_initrd
for type in ${KERNEL_IMAGETYPES} ; do
if test "${typeformake}.gz" = "${type}"; then
+   mkdir -p "${KERNEL_OUTPUT_DIR}"
gzip -9c < "${typeformake}" > 
"${KERNEL_OUTPUT_DIR}/${type}"
break;
fi
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/5] kernel.bbclass: allow uncompressed initramfs archives

2016-11-30 Thread Andreas Oberritter
The code failed to copy the initramfs in case it was a plain
cpio archive.

Signed-off-by: Andreas Oberritter 
---
 meta/classes/kernel.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 25a153c..4aeeacb 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -165,7 +165,7 @@ copy_initramfs() {
mkdir -p ${B}/usr
# Find and use the first initramfs image archive type we find
rm -f ${B}/usr/${INITRAMFS_IMAGE}-${MACHINE}.cpio
-   for img in cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz; do
+   for img in cpio cpio.gz cpio.lz4 cpio.lzo cpio.lzma cpio.xz; do
if [ -e 
"${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img" ]; then
cp 
${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.$img ${B}/usr/.
case $img in
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 4/5] kernel.bbclass: do not copy bundled initramfs to /boot

2016-11-30 Thread Andreas Oberritter
These files cause warnings because they don't get packaged, now that they
don't land in kernel-vmlinux anymore.

Signed-off-by: Andreas Oberritter 
---
 meta/classes/kernel.bbclass | 6 --
 1 file changed, 6 deletions(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 634553c..b21cdbc 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -235,12 +235,6 @@ do_bundle_initramfs () {
mv -f ${KERNEL_OUTPUT_DIR}/$type.bak 
${KERNEL_OUTPUT_DIR}/$type
fi
done
-   # Update install area
-   for type in ${KERNEL_IMAGETYPES} ; do
-   echo "There is kernel image bundled with initramfs: 
${B}/${KERNEL_OUTPUT_DIR}/$type.initramfs"
-   install -m 0644 
${B}/${KERNEL_OUTPUT_DIR}/$type.initramfs 
${D}/boot/$type-initramfs-${MACHINE}.bin
-   echo "${B}/${KERNEL_OUTPUT_DIR}/$type.initramfs"
-   done
fi
 }
 do_bundle_initramfs[dirs] = "${B}"
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] ffmpeg: disable unsupported extensions on mips32r1

2016-11-30 Thread Andreas Oberritter
| Warning: the `dsp' extension requires MIPS32 revision 2 or greater
| Warning: the `dspr2' extension requires MIPS32 revision 2 or greater

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb 
b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb
index 86279f2..c988d57 100644
--- a/meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb
+++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_3.2.1.bb
@@ -88,6 +88,7 @@ EXTRA_OECONF = " \
 --libdir=${libdir} \
 --shlibdir=${libdir} \
 --datadir=${datadir}/ffmpeg \
+${@bb.utils.contains('AVAILTUNES', 'mips32r2', '', '--disable-mipsdsp 
--disable-mipsdspr2', d)} \
 "
 
 do_configure() {
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 6/6] nfs-utils: sync systemd unit files with nfs-utils.git

2016-11-30 Thread Andreas Oberritter
nfs-server failed to start after installation from a package feed.

Signed-off-by: Andreas Oberritter 
---
 .../nfs-utils/nfs-utils/nfs-mountd.service|  7 +--
 .../nfs-utils/nfs-utils/nfs-server.service| 11 ---
 .../nfs-utils/nfs-utils/nfs-statd.service |  9 +
 3 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service 
b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
index 28b7388..27ea58d 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
@@ -1,7 +1,10 @@
 [Unit]
 Description=NFS Mount Daemon
-After=rpcbind.service nfs-server.service
-Requires=rpcbind.service nfs-server.service
+DefaultDependencies=no
+Requires=proc-fs-nfsd.mount
+After=proc-fs-nfsd.mount
+After=network.target local-fs.target
+BindsTo=nfs-server.service
 ConditionPathExists=@SYSCONFDIR@/exports
 
 [Service]
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service 
b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
index b9dfe74..6481377 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
@@ -1,7 +1,11 @@
 [Unit]
-Description=NFS Server
-Requires=rpcbind.service nfs-mountd.service
-After=rpcbind.service
+Description=NFS server and services
+DefaultDependencies=no
+Requires=network.target proc-fs-nfsd.mount
+Requires=nfs-mountd.service
+Wants=rpcbind.service
+After=local-fs.target
+After=network.target proc-fs-nfsd.mount rpcbind.service nfs-mountd.service
 ConditionPathExists=@SYSCONFDIR@/exports
 
 [Service]
@@ -10,6 +14,7 @@ EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
 ExecStartPre=@SBINDIR@/exportfs -r
 ExecStart=@SBINDIR@/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
 ExecStop=@SBINDIR@/rpc.nfsd 0
+ExecStopPost=@SBINDIR@/exportfs -au
 ExecStopPost=@SBINDIR@/exportfs -f
 ExecReload=@SBINDIR@/exportfs -r
 StandardError=syslog
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service 
b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
index 746dacf..6e196b8 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
@@ -1,8 +1,9 @@
 [Unit]
-Description=NFS file locking service
-After=rpcbind.service
-Requires=rpcbind.service
-Before=remote-fs-pre.target
+Description=NFS status monitor for NFSv2/3 locking.
+DefaultDependencies=no
+Conflicts=umount.target
+Requires=nss-lookup.target rpcbind.service
+After=network.target nss-lookup.target rpcbind.service
 
 [Service]
 EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/6] nfs-utils: create package nfs-utils-mount

2016-11-30 Thread Andreas Oberritter
Contains just enough to mount and unmount nfs volumes, i.e.
the same as nfs-utils-client before commit 39bb7e3 ("nfs-utils:
separate package as Debain style").

Drop nfs-utils-client's dependency on bash. It contains two shell
scripts, /etc/init.d/nfscommon and /usr/sbin/start-statd, both
using /bin/sh.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb 
b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
index d4b401e..eb8e99a 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
@@ -9,7 +9,6 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
 
 # util-linux for libblkid
 DEPENDS = "libcap libnfsidmap libevent util-linux sqlite3 libtirpc"
-RDEPENDS_${PN}-client = "rpcbind bash"
 RDEPENDS_${PN} = "${PN}-client bash"
 RRECOMMENDS_${PN} = "kernel-module-nfsd"
 
@@ -71,7 +70,7 @@ PACKAGECONFIG[tcp-wrappers] = 
"--with-tcp-wrappers,--without-tcp-wrappers,tcp-wr
 PACKAGECONFIG[nfsidmap] = "--enable-nfsidmap,--disable-nfsidmap,keyutils"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
 
-PACKAGES =+ "${PN}-client ${PN}-stats"
+PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
 
 CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
   ${localstatedir}/lib/nfs/rmtab \
@@ -79,7 +78,7 @@ CONFFILES_${PN}-client += "${localstatedir}/lib/nfs/etab \
   ${localstatedir}/lib/nfs/statd/state \
   ${sysconfdir}/nfsmount.conf"
 
-FILES_${PN}-client = "${base_sbindir}/*mount.nfs* ${sbindir}/*statd \
+FILES_${PN}-client = "${sbindir}/*statd \
  ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
  ${sbindir}/showmount ${sbindir}/nfsstat \
  ${localstatedir}/lib/nfs \
@@ -87,6 +86,10 @@ FILES_${PN}-client = "${base_sbindir}/*mount.nfs* 
${sbindir}/*statd \
  ${sysconfdir}/nfsmount.conf \
  ${sysconfdir}/init.d/nfscommon \
  ${systemd_unitdir}/system/nfs-statd.service"
+RDEPENDS_${PN}-client = "${PN}-mount rpcbind"
+
+FILES_${PN}-mount = "${base_sbindir}/*mount.nfs*"
+
 FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
 RDEPENDS_${PN}-stats = "python3-core"
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 5/6] nfs-utils: don't try to load kernel module

2016-11-30 Thread Andreas Oberritter
This conflicts with KERNEL_MODULE_AUTOLOAD += "nfsd".

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb | 2 --
 1 file changed, 2 deletions(-)

diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb 
b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
index 018afb7..4355237 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
@@ -126,8 +126,6 @@ do_install_append () {
-e 's,@SYSCONFDIR@,${sysconfdir},g' \
${D}${systemd_unitdir}/system/*.service
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; 
then
-   install -d ${D}${sysconfdir}/modules-load.d
-   echo "nfsd" > ${D}${sysconfdir}/modules-load.d/nfsd.conf
install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount 
${D}${systemd_unitdir}/system/
install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
ln -sf ../proc-fs-nfsd.mount 
${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 4/6] nfs-utils: add packageconfig options: blkid, ipv6, libmount, nfsv4, nfsv41 and tirpc

2016-11-30 Thread Andreas Oberritter
Signed-off-by: Andreas Oberritter 
---
 meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb 
b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
index eb8e99a..018afb7 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
@@ -7,8 +7,7 @@ SECTION = "console/network"
 LICENSE = "MIT & GPLv2+ & BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
 
-# util-linux for libblkid
-DEPENDS = "libcap libnfsidmap libevent util-linux sqlite3 libtirpc"
+DEPENDS = "libcap"
 RDEPENDS_${PN} = "${PN}-client bash"
 RRECOMMENDS_${PN} = "kernel-module-nfsd"
 
@@ -54,21 +53,23 @@ SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
 # --enable-uuid is need for cross-compiling
 EXTRA_OECONF = "--with-statduser=rpcuser \
 --enable-mountconfig \
---enable-libmount-mount \
---disable-nfsv41 \
---enable-uuid \
 --disable-gss \
 --disable-nfsdcltrack \
 --with-statdpath=/var/lib/nfs/statd \
"
 
-PACKAGECONFIG ??= "tcp-wrappers \
-${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+PACKAGECONFIG ??= "blkid libmount nfsv4 tcp-wrappers \
+${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 tirpc', '', d)} \
 "
 PACKAGECONFIG_remove_libc-musl = "tcp-wrappers"
 PACKAGECONFIG[tcp-wrappers] = 
"--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
 PACKAGECONFIG[nfsidmap] = "--enable-nfsidmap,--disable-nfsidmap,keyutils"
 PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
+PACKAGECONFIG[tirpc] = "--enable-tirpc,--disable-tirpc,libtirpc"
+PACKAGECONFIG[blkid] = "--enable-uuid,--disable-uuid,util-linux"
+PACKAGECONFIG[libmount] = 
"--enable-libmount-mount,--disable-libmount-mount,util-linux"
+PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,libevent libnfsidmap 
keyutils sqlite3"
+PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,lvm2"
 
 PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats"
 
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 3/6] keyutils: new recipe (version 1.5.9)

2016-11-30 Thread Andreas Oberritter
Used by nfs-utils for nfsidmap, if available.

Signed-off-by: Andreas Oberritter 
---
 .../nfs-utils/keyutils_1.5.9.bb| 32 ++
 1 file changed, 32 insertions(+)
 create mode 100644 meta/recipes-connectivity/nfs-utils/keyutils_1.5.9.bb

diff --git a/meta/recipes-connectivity/nfs-utils/keyutils_1.5.9.bb 
b/meta/recipes-connectivity/nfs-utils/keyutils_1.5.9.bb
new file mode 100644
index 000..8430bb2
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/keyutils_1.5.9.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Linux Key Management Utilities"
+HOMEPAGE = "https://people.redhat.com/~dhowells/keyutils/;
+LICENSE = "GPLv2+ & LGPLv2.1+"
+LICENSE_${PN} = "GPLv2+"
+LICENSE_lib${PN} = "LGPLv2.1+"
+LIC_FILES_CHKSUM = "file://LICENCE.GPL;md5=5f6e72824f5da505c1f4a7197f004b45 \
+file://LICENCE.LGPL;md5=7d1cacaa3ea752b72ea5e525df54a21f"
+
+SRC_URI = "https://people.redhat.com/~dhowells/keyutils/${BP}.tar.bz2;
+SRC_URI[md5sum] = "7f8ac985c45086b5fbcd12cecd23cf07"
+SRC_URI[sha256sum] = 
"4da2c5552c688b65ab14d4fd40fbdf720c8b396d8ece643e040cf6e707e083ae"
+
+EXTRA_OEMAKE = " \
+DESTDIR=${D} \
+ETCDIR=${sysconfdir} \
+BINDIR=${bindir} \
+SBINDIR=${sbindir} \
+SHAREDIR=${datadir}/${BPN} \
+MANDIR=${mandir} \
+INCLUDEDIR=${includedir} \
+LIBDIR=${base_libdir} \
+USRLIBDIR=${libdir} \
+BUILDFOR= \
+"
+
+do_install() {
+oe_runmake install
+}
+
+PACKAGES =+ "lib${PN}"
+
+FILES_lib${PN} = "${base_libdir}/lib*${SOLIBS}"
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/6] nfs-utils: systemd fixes

2016-11-30 Thread Andreas Oberritter
- Start daemons by default like the initscripts do, but only if
  /etc/exports exists.
- Inform systemd.bbclass about nfs-utils-client package.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service | 1 +
 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service | 1 +
 meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb   | 2 +-
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service 
b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
index 613ddc0..28b7388 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
@@ -2,6 +2,7 @@
 Description=NFS Mount Daemon
 After=rpcbind.service nfs-server.service
 Requires=rpcbind.service nfs-server.service
+ConditionPathExists=@SYSCONFDIR@/exports
 
 [Service]
 EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service 
b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
index 147d7a7..b9dfe74 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
@@ -2,6 +2,7 @@
 Description=NFS Server
 Requires=rpcbind.service nfs-mountd.service
 After=rpcbind.service
+ConditionPathExists=@SYSCONFDIR@/exports
 
 [Service]
 Type=oneshot
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb 
b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
index 4d6d808..d4b401e 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.4.bb
@@ -48,9 +48,9 @@ INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
 
 inherit autotools-brokensep update-rc.d systemd pkgconfig
 
+SYSTEMD_PACKAGES = "${PN} ${PN}-client"
 SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
 SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
-SYSTEMD_AUTO_ENABLE = "disable"
 
 # --enable-uuid is need for cross-compiling
 EXTRA_OECONF = "--with-statduser=rpcuser \
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/2] gptfdisk: put sgdisk into its own package

2016-11-30 Thread Andreas Oberritter
This allows to avoid pulling in ncurses if only sgdisk is needed.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb 
b/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb
index d62a903..047aa97 100644
--- a/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb
+++ b/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb
@@ -23,4 +23,10 @@ do_install() {
 install -m 0755 fixparts ${D}${sbindir}
 }
 
+PACKAGES =+ "${PN}-sgdisk"
+
+RRECOMMENDS_${PN} = "${PN}-sgdisk"
+
+FILES_${PN}-sgdisk = "${sbindir}/sgdisk"
+
 BBCLASSEXTEND = "native nativesdk"
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] gptfdisk: fix support for 'large' drives

2016-11-30 Thread Andreas Oberritter
Make's switch '-e' replaced important compiler flags from the
project's Makefile, i.e. -D_FILE_OFFSET_BITS=64.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb 
b/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb
index 8fab28f..d62a903 100644
--- a/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb
+++ b/meta/recipes-devtools/fdisk/gptfdisk_1.0.1.bb
@@ -13,7 +13,7 @@ SRC_URI[sha256sum] = 
"864c8aee2efdda50346804d7e6230407d5f42a8ae754df70404dd8b2fd
 UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/gptfdisk/files/gptfdisk/;
 UPSTREAM_CHECK_REGEX = "/gptfdisk/(?P(\d+[\.\-_]*)+)/"
 
-EXTRA_OEMAKE = "-e MAKEFLAGS="
+EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}'"
 
 do_install() {
 install -d ${D}${sbindir}
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] lighttpd: Add many packageconfig options

2016-11-30 Thread Andreas Oberritter
Respect largefile and xattr distro features.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb | 37 ++-
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb 
b/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
index 322f212..237c07f 100644
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
@@ -6,7 +6,6 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
 
 SECTION = "net"
-DEPENDS = "zlib libpcre"
 RDEPENDS_${PN} += " \
lighttpd-module-access \
lighttpd-module-accesslog \
@@ -26,22 +25,30 @@ SRC_URI = 
"http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t
 SRC_URI[md5sum] = "95eda531c27b161ef8fa2b9bf4948caf"
 SRC_URI[sha256sum] = 
"fe0c4a06dd2408a83ee7a2bfedc45e09597f3313cbda82485507573ae8fa948a"
 
-PACKAGECONFIG ??= "openssl \
+PACKAGECONFIG ??= "openssl pcre zlib \
 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
+${@bb.utils.contains('DISTRO_FEATURES', 'largefile', 'lfs', '', d)} \
+${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
 "
-PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl"
-PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
-
-EXTRA_OECONF = " \
- --without-bzip2 \
- --without-ldap \
- --without-lua \
- --without-memcached \
- --with-pcre \
- --without-webdav-props \
- --without-webdav-locks \
- --disable-static \
-"
+PACKAGECONFIG[lfs] = "--enable-lfs,--disable-lfs"
+PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
+PACKAGECONFIG[mmap] = "--enable-mmap,--disable-mmap"
+PACKAGECONFIG[libev] = "--with-libev,--without-libev,libev"
+PACKAGECONFIG[mysql] = "--with-mysql,--without-mysql,mariadb"
+PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap"
+PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
+PACKAGECONFIG[valgrind] = "--with-valgrind,--without-valgrind,valgrind"
+PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl"
+PACKAGECONFIG[kerberos5] = "--with-kerberos5,--without-kerberos5"
+PACKAGECONFIG[pcre] = "--with-pcre,--without-pcre,libpcre"
+PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
+PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
+PACKAGECONFIG[fam] = "--with-fam,--without-fam,gamin"
+PACKAGECONFIG[webdav-props] = 
"--with-webdav-props,--without-webdav-props,libxml2 sqlite3"
+PACKAGECONFIG[webdav-locks] = 
"--with-webdav-locks,--without-webdav-locks,util-linux"
+PACKAGECONFIG[gdbm] = "--with-gdbm,--without-gdbm,gdbm"
+PACKAGECONFIG[memcache] = "--with-memcached,--without-memcached,libmemcached"
+PACKAGECONFIG[lua] = "--with-lua,--without-lua,lua5.1"
 
 inherit autotools pkgconfig update-rc.d gettext systemd
 
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/2] lighttpd: access and accesslog are optional modules

2016-11-30 Thread Andreas Oberritter
Move them from RDEPENDS to RRECOMMENDS.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb | 12 +---
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb 
b/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
index 237c07f..cb95f98 100644
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.43.bb
@@ -6,13 +6,11 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
 
 SECTION = "net"
-RDEPENDS_${PN} += " \
-   lighttpd-module-access \
-   lighttpd-module-accesslog \
-   lighttpd-module-indexfile \
-   lighttpd-module-dirlisting \
-   lighttpd-module-staticfile \
-"
+RDEPENDS_${PN} = "lighttpd-module-dirlisting \
+  lighttpd-module-indexfile \
+  lighttpd-module-staticfile"
+RRECOMMENDS_${PN} = "lighttpd-module-access \
+ lighttpd-module-accesslog"
 
 SRC_URI = 
"http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
 file://index.html.lighttpd \
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gstreamer1.0: Upgrade to 1.10.1

2016-11-30 Thread Khem Raj

> On Nov 30, 2016, at 7:17 AM, Burton, Ross  wrote:
> 
> Breaks if built from a empty sysroot with wayland enabled:
> 
> gst-plugins-bad:
> | make[3]: *** No rule to make target 'viewporter-protocol.c', needed by 
> 'all'.  Stop.
> 

I am not able to reproduce it however I have added a dep on wayland-protocols 

> Also rtsp-server gains various runtime dependencies on util-linux, can you 
> verify that these are expected and in the depends?

I did a clean build of util-linux and then rtsp-server it reported no missing 
build time deps 
I am doing it for raspberrypi, how do you reproduce it.

> 
> Ross

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/1] parselogs: Whitelist GPT warnings as the device is fully functional

2016-11-30 Thread Jair Gonzalez
The warning occurs when the GPT image is not the same size than the
media into which it's being flashed, causing the backup GPT table
not being at the end of the disk. However, this is expected as the
image is created before having the information about the destination
media. The error is harmless, so it will be whitelisted.

Fixes [YOCTO 10481].

Signed-off-by: Jair Gonzalez 
---
 meta/lib/oeqa/runtime/parselogs.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/runtime/parselogs.py 
b/meta/lib/oeqa/runtime/parselogs.py
index 58f62da..8d396f8 100644
--- a/meta/lib/oeqa/runtime/parselogs.py
+++ b/meta/lib/oeqa/runtime/parselogs.py
@@ -43,6 +43,7 @@ common_errors = [
 "controller can't do DEVSLP, turning off",
 "stmmac_dvr_probe: warning: cannot get CSR clock",
 "error: couldn\'t mount because of unsupported optional features",
+"GPT: Use GNU Parted to correct GPT errors",
 ]
 
 video_related = [
@@ -69,7 +70,7 @@ qemux86_common = [
 'tsc: HPET/PMTIMER calibration failed',
 ] + common_errors
 
-ignore_errors = { 
+ignore_errors = {
 'default' : common_errors,
 'qemux86' : [
 'Failed to access perfctr msr (MSR',
@@ -201,7 +202,7 @@ class ParseLogsTest(oeRuntimeTest):
 hwi += "***\n"
 return hwi
 
-#go through the log locations provided and if it's a folder create a list 
with all the .log files in it, if it's a file just add 
+#go through the log locations provided and if it's a folder create a list 
with all the .log files in it, if it's a file just add
 #it to that list
 def getLogList(self, log_locations):
 logs = []
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v3] python3-setuptools: upgrade to 29.0.1

2016-11-30 Thread Edwin Plauchu
From: Edwin Plauchu 

It is a simultaneous upgrade for python 2 and 3 over setuptools.

Signed-off-by: Edwin Plauchu 
---
 meta/recipes-devtools/python/python-setuptools.inc| 4 ++--
 .../{python-setuptools_28.8.0.bb => python-setuptools_29.0.1.bb}  | 0
 .../{python3-setuptools_28.8.0.bb => python3-setuptools_29.0.1.bb}| 0
 3 files changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/python/{python-setuptools_28.8.0.bb => 
python-setuptools_29.0.1.bb} (100%)
 rename meta/recipes-devtools/python/{python3-setuptools_28.8.0.bb => 
python3-setuptools_29.0.1.bb} (100%)

diff --git a/meta/recipes-devtools/python/python-setuptools.inc 
b/meta/recipes-devtools/python/python-setuptools.inc
index d3eef13..e76484a 100644
--- a/meta/recipes-devtools/python/python-setuptools.inc
+++ b/meta/recipes-devtools/python/python-setuptools.inc
@@ -9,8 +9,8 @@ SRCNAME = "setuptools"
 
 SRC_URI = 
"https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;
 
-SRC_URI[md5sum] = "43d6eb25f60e8a2682a8f826ce9e3f42"
-SRC_URI[sha256sum] = 
"432a1ad4044338c34c2d09b0ff75d509b9849df8cf329f4c1c7706d9c2ba3c61"
+SRC_URI[md5sum] = "28ecfd0f2574b489b9a18343879a7324"
+SRC_URI[sha256sum] = 
"b539118819a4857378398891fa5366e090690e46b3e41421a1e07d6e9fd8feb0"
 
 UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/setuptools;
 
diff --git a/meta/recipes-devtools/python/python-setuptools_28.8.0.bb 
b/meta/recipes-devtools/python/python-setuptools_29.0.1.bb
similarity index 100%
rename from meta/recipes-devtools/python/python-setuptools_28.8.0.bb
rename to meta/recipes-devtools/python/python-setuptools_29.0.1.bb
diff --git a/meta/recipes-devtools/python/python3-setuptools_28.8.0.bb 
b/meta/recipes-devtools/python/python3-setuptools_29.0.1.bb
similarity index 100%
rename from meta/recipes-devtools/python/python3-setuptools_28.8.0.bb
rename to meta/recipes-devtools/python/python3-setuptools_29.0.1.bb
-- 
2.9.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v1] wic: Add --exclude-path option to rootfs source plugin.

2016-11-30 Thread Paul Eggleton
On Wed, 30 Nov 2016 17:29:23 Ed Bartosh wrote:
> On Wed, Nov 30, 2016 at 02:30:12PM +0100, Kristian Amlie wrote:
> > In the interest of saving me some build time, am I correct in assuming
> > that I need the "qemux86-64" MACHINE target for this to work? It appears
> > to be dependent on syslinux which has COMPATIBLE_HOSTS set to non-arm
> > only. Sorry, I'm a bit new to this framework.
> 
> You're right. oe-selftest requires qemux86-64 target.

That's definitely not a design decision of oe-selftest. If we have certain 
tests that can only work with a particular configuration, those tests need to 
be explicitly skipped if that configuration is not active.

Cheers,
Paul


-- 

Paul Eggleton
Intel Open Source Technology Centre
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] bash: use update-alternatives for the bash binary

2016-11-30 Thread Andreas Oberritter
Busybox may offer a bash applet. If enabled, the alternatives mechanism
avoids breaking logins if bash gets deinstalled while /bin/bash is configured
as a login shell.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-extended/bash/bash.inc | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-extended/bash/bash.inc 
b/meta/recipes-extended/bash/bash.inc
index 1d08526..a05b987 100644
--- a/meta/recipes-extended/bash/bash.inc
+++ b/meta/recipes-extended/bash/bash.inc
@@ -14,9 +14,11 @@ EXTRA_OECONF = "--enable-job-control --without-bash-malloc"
 # This is what other major distros do. And this is what we wanted. See 
bug#5359 and bug#7137.
 CFLAGS += "-DNON_INTERACTIVE_LOGIN_SHELLS"
 
-ALTERNATIVE_${PN} = "sh"
+ALTERNATIVE_${PN} = "bash sh"
+ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash"
+ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash"
 ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
-ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash"
+ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash.${BPN}"
 ALTERNATIVE_PRIORITY = "100"
 
 RDEPENDS_${PN} += "base-files"
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 2/2] util-linux: create own package for lsblk

2016-11-30 Thread Andreas Oberritter
Let util-linux-bash-completion depend on it, because it uses it.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-core/util-linux/util-linux.inc | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/util-linux/util-linux.inc 
b/meta/recipes-core/util-linux/util-linux.inc
index 70cba6b..ae85fd1 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -30,7 +30,7 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk 
util-linux-cfdisk util-linux-sfd
  util-linux-swaponoff util-linux-losetup util-linux-umount \
  util-linux-mount util-linux-readprofile util-linux-uuidd \
  util-linux-uuidgen util-linux-lscpu util-linux-fsck 
util-linux-blkid \
- util-linux-mkfs util-linux-mcookie util-linux-reset \
+ util-linux-mkfs util-linux-mcookie util-linux-reset 
util-linux-lsblk \
  util-linux-mkfs.cramfs util-linux-fsck.cramfs util-linux-fstrim \
  util-linux-partx util-linux-hwclock util-linux-mountpoint \
  util-linux-findfs util-linux-getopt util-linux-sulogin 
util-linux-prlimit"
@@ -95,6 +95,7 @@ FILES_util-linux-prlimit = "${bindir}/prlimit"
 FILES_util-linux-pylibmount = 
"${PYTHON_SITEPACKAGES_DIR}/libmount/pylibmount.so \
${PYTHON_SITEPACKAGES_DIR}/libmount/__init__.* \

${PYTHON_SITEPACKAGES_DIR}/libmount/__pycache__/*"
+FILES_util-linux-lsblk = "${bindir}/lsblk"
 FILES_util-linux-lscpu = "${bindir}/lscpu"
 
 FILES_util-linux-fsck = "${base_sbindir}/fsck*"
@@ -116,7 +117,7 @@ RDEPENDS_util-linux-reset += "ncurses"
 
 RDEPENDS_util-linux-runuser += "libpam"
 
-RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup 
util-linux-sulogin"
+RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup 
util-linux-sulogin util-linux-lsblk"
 RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 
'util-linux-runuser', '', d)}"
 
 RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk 
util-linux-mount util-linux-readprofile util-linux-mkfs util-linux-mountpoint 
util-linux-prlimit"
@@ -285,6 +286,7 @@ python populate_packages_prepend() {
   extra_depends='', prepend=True, allow_links=True)
 }
 
+RDEPENDS_${PN}-bash-completion += "util-linux-lsblk"
 RDEPENDS_${PN}-ptest = "bash grep coreutils"
 
 do_compile_ptest() {
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH v3 2/2] gummiboot: Remove old gummiboot recipe, related class and wks file

2016-11-30 Thread Alejandro Hernandez
Since the gummiboot project is no longer being maintained
and we are using systemd-boot as a replacement instead,
we can now clean up all remaining gummiboot files.

[YOCTO #10332]

Signed-off-by: Alejandro Hernandez 
---
 meta/classes/gummiboot.bbclass | 121 -
 ...-C-syntax-errors-for-function-declaration.patch |  74 -
 .../gummiboot/gummiboot/fix-objcopy.patch  |  45 
 meta/recipes-bsp/gummiboot/gummiboot_git.bb|  39 ---
 scripts/lib/wic/canned-wks/mkgummidisk.wks |  11 --
 5 files changed, 290 deletions(-)
 delete mode 100644 meta/classes/gummiboot.bbclass
 delete mode 100644 
meta/recipes-bsp/gummiboot/gummiboot/0001-console-Fix-C-syntax-errors-for-function-declaration.patch
 delete mode 100644 meta/recipes-bsp/gummiboot/gummiboot/fix-objcopy.patch
 delete mode 100644 meta/recipes-bsp/gummiboot/gummiboot_git.bb
 delete mode 100644 scripts/lib/wic/canned-wks/mkgummidisk.wks

diff --git a/meta/classes/gummiboot.bbclass b/meta/classes/gummiboot.bbclass
deleted file mode 100644
index 4f2dea6..000
--- a/meta/classes/gummiboot.bbclass
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright (C) 2014 Intel Corporation
-#
-# Released under the MIT license (see COPYING.MIT)
-
-# gummiboot.bbclass - equivalent of grub-efi.bbclass
-# Set EFI_PROVIDER = "gummiboot" to use gummiboot on your live images instead 
of grub-efi
-# (images built by image-live.bbclass or image-vm.bbclass)
-
-do_bootimg[depends] += "${MLPREFIX}gummiboot:do_deploy"
-do_bootdirectdisk[depends] += "${MLPREFIX}gummiboot:do_deploy"
-
-EFIDIR = "/EFI/BOOT"
-
-GUMMIBOOT_CFG ?= "${S}/loader.conf"
-GUMMIBOOT_ENTRIES ?= ""
-GUMMIBOOT_TIMEOUT ?= "10"
-
-# Need UUID utility code.
-inherit fs-uuid
-
-efi_populate() {
-DEST=$1
-
-EFI_IMAGE="gummibootia32.efi"
-DEST_EFI_IMAGE="bootia32.efi"
-if [ "${TARGET_ARCH}" = "x86_64" ]; then
-EFI_IMAGE="gummibootx64.efi"
-DEST_EFI_IMAGE="bootx64.efi"
-fi
-
-install -d ${DEST}${EFIDIR}
-# gummiboot requires these paths for configuration files
-# they are not customizable so no point in new vars
-install -d ${DEST}/loader
-install -d ${DEST}/loader/entries
-install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE} 
${DEST}${EFIDIR}/${DEST_EFI_IMAGE}
-EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
-printf 'fs0:%s\%s\n' "$EFIPATH" "$DEST_EFI_IMAGE" >${DEST}/startup.nsh
-install -m 0644 ${GUMMIBOOT_CFG} ${DEST}/loader/loader.conf
-for i in ${GUMMIBOOT_ENTRIES}; do
-install -m 0644 ${i} ${DEST}/loader/entries
-done
-}
-
-efi_iso_populate() {
-iso_dir=$1
-efi_populate $iso_dir
-mkdir -p ${EFIIMGDIR}/${EFIDIR}
-cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
-cp $iso_dir/vmlinuz ${EFIIMGDIR}
-EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
-echo "fs0:${EFIPATH}\\${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh
-if [ -f "$iso_dir/initrd" ] ; then
-cp $iso_dir/initrd ${EFIIMGDIR}
-fi
-}
-
-efi_hddimg_populate() {
-efi_populate $1
-}
-
-python build_efi_cfg() {
-s = d.getVar("S", True)
-labels = d.getVar('LABELS', True)
-if not labels:
-bb.debug(1, "LABELS not defined, nothing to do")
-return
-
-if labels == []:
-bb.debug(1, "No labels, nothing to do")
-return
-
-cfile = d.getVar('GUMMIBOOT_CFG', True)
-try:
- cfgfile = open(cfile, 'w')
-except OSError:
-bb.fatal('Unable to open %s' % cfile)
-
-cfgfile.write('# Automatically created by OE\n')
-cfgfile.write('default %s\n' % (labels.split()[0]))
-timeout = d.getVar('GUMMIBOOT_TIMEOUT', True)
-if timeout:
-cfgfile.write('timeout %s\n' % timeout)
-else:
-cfgfile.write('timeout 10\n')
-cfgfile.close()
-
-for label in labels.split():
-localdata = d.createCopy()
-
-overrides = localdata.getVar('OVERRIDES', True)
-if not overrides:
-bb.fatal('OVERRIDES not defined')
-
-entryfile = "%s/%s.conf" % (s, label)
-d.appendVar("GUMMIBOOT_ENTRIES", " " + entryfile)
-try:
-entrycfg = open(entryfile, "w")
-except OSError:
-bb.fatal('Unable to open %s' % entryfile)
-localdata.setVar('OVERRIDES', label + ':' + overrides)
-bb.data.update_data(localdata)
-
-entrycfg.write('title %s\n' % label)
-entrycfg.write('linux /vmlinuz\n')
-
-append = localdata.getVar('APPEND', True)
-initrd = localdata.getVar('INITRD', True)
-
-if initrd:
-entrycfg.write('initrd /initrd\n')
-lb = label
-if label == "install":
-lb = "install-efi"
-entrycfg.write('options LABEL=%s ' % lb)
-if append:
-append = replace_rootfs_uuid(d, append)
-

[OE-core] [PATCH v3 1/2] gummiboot: Remove/change gummiboot references with systemd-boot

2016-11-30 Thread Alejandro Hernandez
After systemd-boot was introduced, its been tested for a while with no major
issues being found until now, this patch completely replaces all gummiboot
instances with systemd-boot ones, taking the next step into cleaning
up systemd-boot/gummiboot.

[YOCTO #10332]

Signed-off-by: Alejandro Hernandez 
---
 meta/classes/fs-uuid.bbclass   |  2 +-
 meta/classes/systemd-boot.bbclass  |  4 +---
 meta/conf/distro/include/distro_alias.inc  |  2 +-
 meta/lib/oeqa/controllers/masterimage.py   |  4 ++--
 meta/lib/oeqa/selftest/wic.py  |  6 ++---
 meta/recipes-bsp/systemd-boot/systemd-boot.bb  |  2 +-
 .../initrdscripts/files/init-install-efi-testfs.sh | 12 +-
 .../initrdscripts/files/init-install-efi.sh| 12 +-
 scripts/contrib/mkefidisk.sh   | 26 +++---
 scripts/lib/wic/plugins/source/bootimg-efi.py  | 22 +-
 10 files changed, 44 insertions(+), 48 deletions(-)

diff --git a/meta/classes/fs-uuid.bbclass b/meta/classes/fs-uuid.bbclass
index bd2613c..1d5d0c3 100644
--- a/meta/classes/fs-uuid.bbclass
+++ b/meta/classes/fs-uuid.bbclass
@@ -13,7 +13,7 @@ def get_rootfs_uuid(d):
 bb.fatal('Could not determine filesystem UUID of %s' % rootfs)
 
 # Replace the special <> inside a string (like the
-# root= APPEND string in a syslinux.cfg or gummiboot entry) with the
+# root= APPEND string in a syslinux.cfg or systemd-boot entry) with the
 # actual UUID of the rootfs. Does nothing if the special string
 # is not used.
 def replace_rootfs_uuid(d, string):
diff --git a/meta/classes/systemd-boot.bbclass 
b/meta/classes/systemd-boot.bbclass
index 05244c7..3398218 100644
--- a/meta/classes/systemd-boot.bbclass
+++ b/meta/classes/systemd-boot.bbclass
@@ -4,9 +4,7 @@
 
 # systemd-boot.bbclass - The "systemd-boot" is essentially the gummiboot 
merged into systemd.
 #The original standalone gummiboot project is dead 
without any more
-#maintenance. As a start point, we replace all 
gummitboot occurrences
-#with systemd-boot in gummiboot.bbclass to have a base 
version of this
-#systemd-boot.bbclass.
+#maintenance.
 #
 # Set EFI_PROVIDER = "systemd-boot" to use systemd-boot on your live images 
instead of grub-efi
 # (images built by image-live.bbclass or image-vm.bbclass)
diff --git a/meta/conf/distro/include/distro_alias.inc 
b/meta/conf/distro/include/distro_alias.inc
index 10efb09..9c82854 100644
--- a/meta/conf/distro/include/distro_alias.inc
+++ b/meta/conf/distro/include/distro_alias.inc
@@ -135,7 +135,7 @@ DISTRO_PN_ALIAS_pn-gtk-doc = "Fedora=gtk-doc Ubuntu=gtk-doc"
 DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines 
Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
 DISTRO_PN_ALIAS_pn-gtk-sato-engine = "OpenedHand"
 DISTRO_PN_ALIAS_pn-gtk-icon-utils-native = "OSPDT"
-DISTRO_PN_ALIAS_pn-gummiboot = "Debian=gummiboot Fedora=gummiboot"
+DISTRO_PN_ALIAS_pn-systemd-boot = "Ubuntu=systemd-boot Fedora=systemd-boot"
 DISTRO_PN_ALIAS_pn-hello-mod = "OE-Core"
 DISTRO_PN_ALIAS_pn-hostap-conf = "OE-Core"
 DISTRO_PN_ALIAS_pn-hwlatdetect = "OSPDT"
diff --git a/meta/lib/oeqa/controllers/masterimage.py 
b/meta/lib/oeqa/controllers/masterimage.py
index 9ce3bf8..7fcbb6d 100644
--- a/meta/lib/oeqa/controllers/masterimage.py
+++ b/meta/lib/oeqa/controllers/masterimage.py
@@ -159,10 +159,10 @@ class 
MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget, metaclass=ABCMeta
 self.power_cycle(self.connection)
 
 
-class GummibootTarget(MasterImageHardwareTarget):
+class SystemdbootTarget(MasterImageHardwareTarget):
 
 def __init__(self, d):
-super(GummibootTarget, self).__init__(d)
+super(SystemdbootTarget, self).__init__(d)
 # this the value we need to set in the LoaderEntryOneShot EFI variable
 # so the system boots the 'test' bootloader label and not the default
 # The first four bytes are EFI bits, and the rest is an utf-16le string
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index faac11e..61081cc 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -243,9 +243,9 @@ class Wic(oeSelfTest):
 self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
 
 @testcase(1349)
-def test_mkgummidisk(self):
-"""Test creation of mkgummidisk image"""
-image = "mkgummidisk"
+def test_systemd-bootdisk(self):
+"""Test creation of systemd-bootdisk image"""
+image = "systemd-bootdisk"
 self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
% image).status)
 self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
diff --git 

[OE-core] [PATCH v2] python3-setuptools: upgrade to 29.0.1

2016-11-30 Thread Edwin Plauchu
Signed-off-by: Edwin Plauchu 
---
 meta/recipes-devtools/python/python-setuptools.inc| 4 ++--
 .../{python3-setuptools_28.8.0.bb => python3-setuptools_29.0.1.bb}| 0
 2 files changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/python/{python3-setuptools_28.8.0.bb => 
python3-setuptools_29.0.1.bb} (100%)

diff --git a/meta/recipes-devtools/python/python-setuptools.inc 
b/meta/recipes-devtools/python/python-setuptools.inc
index d3eef13..e76484a 100644
--- a/meta/recipes-devtools/python/python-setuptools.inc
+++ b/meta/recipes-devtools/python/python-setuptools.inc
@@ -9,8 +9,8 @@ SRCNAME = "setuptools"
 
 SRC_URI = 
"https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;
 
-SRC_URI[md5sum] = "43d6eb25f60e8a2682a8f826ce9e3f42"
-SRC_URI[sha256sum] = 
"432a1ad4044338c34c2d09b0ff75d509b9849df8cf329f4c1c7706d9c2ba3c61"
+SRC_URI[md5sum] = "28ecfd0f2574b489b9a18343879a7324"
+SRC_URI[sha256sum] = 
"b539118819a4857378398891fa5366e090690e46b3e41421a1e07d6e9fd8feb0"
 
 UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/setuptools;
 
diff --git a/meta/recipes-devtools/python/python3-setuptools_28.8.0.bb 
b/meta/recipes-devtools/python/python3-setuptools_29.0.1.bb
similarity index 100%
rename from meta/recipes-devtools/python/python3-setuptools_28.8.0.bb
rename to meta/recipes-devtools/python/python3-setuptools_29.0.1.bb
-- 
2.9.3

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 1/2] oeqa/utils/metadata.py: Add metadata library

2016-11-30 Thread Mariano Lopez
On Tuesday, November 29, 2016 04:17:25 PM Benjamin Esquivel wrote:
> On Tue, 2016-11-29 at 08:42 -0600, mariano.lo...@linux.intel.com wrote:
> > From: Mariano Lopez 
> > 
> > Adds functions to get metadata from the host running the tests.
> > 
> > [YOCTO #9954]
> > 
> > Signed-off-by: Mariano Lopez 
> > ---
> >  meta/lib/oeqa/utils/metadata.py | 77
> > +
> >  1 file changed, 77 insertions(+)
> >  create mode 100644 meta/lib/oeqa/utils/metadata.py
> > 
> > diff --git a/meta/lib/oeqa/utils/metadata.py
> > b/meta/lib/oeqa/utils/metadata.py
> > new file mode 100644
> > index 000..3be805c
> > --- /dev/null
> > +++ b/meta/lib/oeqa/utils/metadata.py
> > @@ -0,0 +1,77 @@
> > +# Copyright (C) 2016 Intel Corporation
> > +#
> > +# Released under the MIT license (see COPYING.MIT)
> > +#
> > +# Functions to get metadata from the testing host used
> > +# for analytics of test results.
> > +
> > +from git import Repo
> > +from collections import OrderedDict
> > +from collections.abc import MutableMapping
> > +from xml.dom.minidom import parseString
> > +from xml.etree.ElementTree import Element, tostring
> > +
> > +from oe.lsb import distro_identifier
> > +from oeqa.utils.commands import runCmd, get_bb_var
> > +
> > +def metadata_from_bb():
> > +""" Returns test's metadata as OrderedDict.
> > +
> > +Data will be gathered using bitbake -e thanks to get_bb_var.
> > +"""
> > +
> > +info_dict = OrderedDict()
> > +hostname = runCmd('hostname')
> > +info_dict['hostname'] = hostname.output
> > +info_dict['machine'] = get_bb_var('MACHINE')
> > +info_dict['distro'] = get_bb_var('DISTRO')
> > +info_dict['distro_version'] = get_bb_var('DISTRO_VERSION')
> > +host_distro= distro_identifier()
> > +host_distro, _, host_distro_release = host_distro.partition('-')
> > +info_dict['host_distro'] = host_distro
> > +info_dict['host_distro_release'] = host_distro_release
> > +info_dict['layers'] = get_layers(get_bb_var('BBLAYERS'))
> is none of the upper statements going to throw exceptions? otherwise
> try/except as appropriate.
> > +return info_dict
> > +
> > +def metadata_from_data_store(d):
> > +""" Returns test's metadata as OrderedDict.
> > +
> > +Data will be collected from the provided data store.
> > +"""
> > +# TODO: Getting metadata from the data store would
> > +# be useful when running within bitbake.
> > +pass
> > +
> > +def get_layers(layers):
> > +""" Returns layer name, branch, and revision as OrderedDict. """
> > +
> > +layer_dict = OrderedDict()
> > +for layer in layers.split():
> > +layer_name = os.path.basename(layer)
> > +layer_dict[layer_name] = OrderedDict()
> > +repo = Repo(layer, search_parent_directories=True)
> > +revision, branch = repo.head.object.name_rev.split()
> > +layer_dict[layer_name]['branch'] = branch
> > +layer_dict[layer_name]['revision'] = revision
> same here for the try/except, did you test with usual cases of zero
> input and unexisting path's, etc?
> > +return layer_dict
> > +
> > +def write_metadata_file(file_path, metadata):
> > +""" Writes metadata to a XML file in directory. """
> > +
> > +xml = dict_to_XML('metadata', metadata)
> > +xml_doc = parseString(tostring(xml).decode('UTF-8'))
> > +with open(file_path, 'w') as f:
> > +f.write(xml_doc.toprettyxml())
> > +
> > +def dict_to_XML(tag, dictionary):
> > +""" Return XML element converting dicts recursively. """
> > +
> > +elem = Element(tag)
> > +for key, val in dictionary.items():
> > +if isinstance(val, MutableMapping):
> > +child = (dict_to_XML(key, val))
> > +else:
> > +child = Element(key)
> > +child.text = str(val)
> > +elem.append(child)
> > +return elem
> > -- 
> > 2.7.3
> > 

I'll implement the proposded changes and will send another version

Mariano

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] add minicoredumper tool/libs

2016-11-30 Thread John Ogness
The minicoredumper project provides tools and libraries for extending
the Linux core dump facility in order to produce very small and highlx
customizable core dumps. This is particularly interesting for embedded
projects.

Signed-off-by: John Ogness 
---
 .../minicoredumper/remove-script-deps.patch| 22 +++
 .../minicoredumper/minicoredumper_2.0.0.bb | 73 ++
 2 files changed, 95 insertions(+)
 create mode 100644 
meta/recipes-extended/minicoredumper/minicoredumper/remove-script-deps.patch
 create mode 100644 meta/recipes-extended/minicoredumper/minicoredumper_2.0.0.bb

diff --git 
a/meta/recipes-extended/minicoredumper/minicoredumper/remove-script-deps.patch 
b/meta/recipes-extended/minicoredumper/minicoredumper/remove-script-deps.patch
new file mode 100644
index 000..bcb64af
--- /dev/null
+++ 
b/meta/recipes-extended/minicoredumper/minicoredumper/remove-script-deps.patch
@@ -0,0 +1,22 @@
+--- a/etc/init.d/minicoredumper.in 2016-11-22 10:44:28.06000 +
 b/etc/init.d/minicoredumper.in 2016-11-22 10:49:24.65600 +
+@@ -33,13 +33,13 @@
+ # Read configuration variable file if it is present
+ [ -r @initdefaultsdir@/$NAME ] && . @initdefaultsdir@/$NAME
+ 
+-# Load the VERBOSE setting and other rcS variables
+-. /lib/init/vars.sh
++log_daemon_msg() {
++  echo "$@"
++}
+ 
+-# Define LSB log_* functions.
+-# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+-# and status_of_proc is working.
+-. /lib/lsb/init-functions
++log_end_msg() {
++  [ $1 -eq 0 ] || echo "$NAME: failed"
++}
+ 
+ #
+ # Function that starts the daemon/service
diff --git a/meta/recipes-extended/minicoredumper/minicoredumper_2.0.0.bb 
b/meta/recipes-extended/minicoredumper/minicoredumper_2.0.0.bb
new file mode 100644
index 000..7f7d5e2
--- /dev/null
+++ b/meta/recipes-extended/minicoredumper/minicoredumper_2.0.0.bb
@@ -0,0 +1,73 @@
+SUMMARY = "generate minimal and customized core dump files on Linux"
+DESCRIPTION = "minicoredumper is a program that handles the creation of core 
dump files on \
+Linux. It can produce much smaller core dump files by making use of sparse \
+files, compression, and allowing the user to configure what parts of the \
+process memory image should be dumped."
+HOMEPAGE = "https://www.linutronix.de/minicoredumper;
+BUGTRACKER = 
"https://bugs.linuxfoundation.org/buglist.cgi?product=Diamon=minicoredumper;
+
+SECTION = "devel"
+
+LICENSE = "BSD-2-Clause & LGPL-2.1"
+LICENSE_minicoredumper = "BSD-2-Clause"
+LICENSE_minicoredumper-utils = "BSD-2-Clause"
+LICENSE_libminicoredumper-dev = "LGPL-2.1"
+LICENSE_libminicoredumper = "LGPL-2.1"
+
+LIC_FILES_CHKSUM = " \
+   file://COPYING;md5=709087c2ed0acda54a4d91497a889e42 \
+   file://COPYING.BSD;md5=b915ac80d5236d6aa659cb986daf00e5 \
+   file://COPYING.LGPLv2.1;md5=321bf41f280cf805086dd5a720b37785 \
+   "
+
+DEPENDS = "elfutils json-c pkgconfig"
+RDEPENDS_${PN} = "base-files"
+
+SRC_URI = " \
+   https://linutronix.de/minicoredumper/files/minicoredumper-${PV}.tar.xz \
+   file://remove-script-deps.patch \
+   "
+
+SRC_URI[md5sum] = "543001b51de20a8b17fce462a7dfa377"
+SRC_URI[sha256sum] = 
"6b5355f94b8ba676515b4243752f231ace200dbb9195065bc2fdd397ae20d8c5"
+
+PACKAGECONFIG ??= ""
+
+EXTRA_OECONF = ""
+
+PACKAGES += "minicoredumper-utils libminicoredumper-dev libminicoredumper"
+
+FILES_${PN} = " \
+   ${sbindir}/minicoredumper \
+   ${sbindir}/minicoredumper_regd \
+   ${sysconfdir}/minicoredumper \
+   ${sysconfdir}/init.d \
+   ${sysconfdir}/default \
+   ${localstatedir}/crash \
+   ${localstatedir}/run \
+   /run \
+   "
+FILES_minicoredumper-utils = " \
+   ${bindir}/coreinject \
+   ${sbindir}/minicoredumper_trigger \
+   "
+FILES_libminicoredumper-dev = " \
+   ${includedir}/* \
+   ${libdir}/lib*.a \
+   ${libdir}/lib*.la \
+   ${libdir}/lib*.so \
+   ${libdir}/pkgconfig/* \
+   "
+FILES_${PN}-dbg = " \
+   ${libdir}/.debug \
+   ${bindir}/.debug \
+   ${sbindir}/.debug \
+   ${prefix}/src/debug \
+   "
+FILES_libminicoredumper = "${libdir}/lib*.so.*"
+FILES_libminicoredumper-doc = "${mandir}/*/*"
+
+INITSCRIPT_NAME = "minicoredumper"
+INITSCRIPT_PARAMS = "defaults 8"
+
+inherit autotools update-rc.d
-- 
2.1.4
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] python3-setuptools: upgrade to 29.0.1

2016-11-30 Thread Edwin Plauchu
From: Edwin Plauchu 

It is a simultaneous upgrade for python 2 and 3 over setuptools.

Signed-off-by: Edwin Plauchu 
---
 meta/recipes-devtools/python/python-setuptools.inc |   6 +-
 ...tools_22.0.5.bb => python-setuptools_28.8.0.bb} |   0
 ...ools_22.0.5.bb => python3-setuptools_29.0.1.bb} |   0
 tatus  | 109 +
 4 files changed, 112 insertions(+), 3 deletions(-)
 rename meta/recipes-devtools/python/{python-setuptools_22.0.5.bb => 
python-setuptools_28.8.0.bb} (100%)
 rename meta/recipes-devtools/python/{python3-setuptools_22.0.5.bb => 
python3-setuptools_29.0.1.bb} (100%)
 create mode 100644 tatus

diff --git a/meta/recipes-devtools/python/python-setuptools.inc 
b/meta/recipes-devtools/python/python-setuptools.inc
index 92ca9a0..e76484a 100644
--- a/meta/recipes-devtools/python/python-setuptools.inc
+++ b/meta/recipes-devtools/python/python-setuptools.inc
@@ -3,14 +3,14 @@ HOMEPAGE = "https://pypi.python.org/pypi/setuptools;
 SECTION = "devel/python"
 LICENSE = "MIT"
 
-LIC_FILES_CHKSUM = 
"file://setup.py;beginline=134;endline=134;md5=3e8df024d6c1442d18e84acf8fbbc475"
+LIC_FILES_CHKSUM = 
"file://setup.py;beginline=146;endline=146;md5=3e8df024d6c1442d18e84acf8fbbc475"
 
 SRCNAME = "setuptools"
 
 SRC_URI = 
"https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;
 
-SRC_URI[md5sum] = "869f3029dcc66a64ba39875e2a2f044a"
-SRC_URI[sha256sum] = 
"19aad19471052d5daefe96f2c1fa2e88dcdb17488bf8708d7e6356881ea833cb"
+SRC_URI[md5sum] = "28ecfd0f2574b489b9a18343879a7324"
+SRC_URI[sha256sum] = 
"b539118819a4857378398891fa5366e090690e46b3e41421a1e07d6e9fd8feb0"
 
 UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/setuptools;
 
diff --git a/meta/recipes-devtools/python/python-setuptools_22.0.5.bb 
b/meta/recipes-devtools/python/python-setuptools_28.8.0.bb
similarity index 100%
rename from meta/recipes-devtools/python/python-setuptools_22.0.5.bb
rename to meta/recipes-devtools/python/python-setuptools_28.8.0.bb
diff --git a/meta/recipes-devtools/python/python3-setuptools_22.0.5.bb 
b/meta/recipes-devtools/python/python3-setuptools_29.0.1.bb
similarity index 100%
rename from meta/recipes-devtools/python/python3-setuptools_22.0.5.bb
rename to meta/recipes-devtools/python/python3-setuptools_29.0.1.bb
diff --git a/tatus b/tatus
new file mode 100644
index 000..18b9527
--- /dev/null
+++ b/tatus
@@ -0,0 +1,109 @@
+diff --git a/meta/recipes-devtools/python/python-setuptools.inc 
b/meta/recipes-devtools/python/python-setuptools.inc
+index 92ca9a0..d3eef13 100644
+--- a/meta/recipes-devtools/python/python-setuptools.inc
++++ b/meta/recipes-devtools/python/python-setuptools.inc
+@@ -3,14 +3,14 @@ HOMEPAGE = 
"https://pypi.python.org/pypi/setuptools;
+ SECTION = "devel/python"
+ LICENSE = "MIT"
+ 
+-LIC_FILES_CHKSUM = 
"file://setup.py;beginline=134;endline=134;md5=3e8df024d6c1442d18e84acf8fbbc475"
++LIC_FILES_CHKSUM = 
"file://setup.py;beginline=146;endline=146;md5=3e8df024d6c1442d18e84acf8fbbc475"
+ 
+ SRCNAME = "setuptools"
+ 
+ SRC_URI = 
"https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz;
+ 
+-SRC_URI[md5sum] = "869f3029dcc66a64ba39875e2a2f044a"
+-SRC_URI[sha256sum] = 
"19aad19471052d5daefe96f2c1fa2e88dcdb17488bf8708d7e6356881ea833cb"
++SRC_URI[md5sum] = "43d6eb25f60e8a2682a8f826ce9e3f42"
++SRC_URI[sha256sum] = 
"432a1ad4044338c34c2d09b0ff75d509b9849df8cf329f4c1c7706d9c2ba3c61"
+ 
+ UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/setuptools;
+ 
+diff --git a/meta/recipes-devtools/python/python-setuptools_22.0.5.bb 
b/meta/recipes-devtools/python/python-setuptools_22.0.5.bb
+deleted file mode 100644
+index 526474c..000
+--- a/meta/recipes-devtools/python/python-setuptools_22.0.5.bb
++++ /dev/null
+@@ -1,38 +0,0 @@
+-require python-setuptools.inc
+-
+-PROVIDES = "python-distribute"
+-
+-DEPENDS += "python"
+-DEPENDS_class-native += "python-native"
+-
+-inherit distutils
+-
+-DISTUTILS_INSTALL_ARGS += 
"--install-lib=${D}${PYTHON_SITEPACKAGES_DIR}"
+-
+-RDEPENDS_${PN} = "\
+-  python-stringold \
+-  python-email \
+-  python-shell \
+-  python-distutils \
+-  python-compression \
+-  python-pkgutil \
+-  python-plistlib \
+-  python-numbers \
+-  python-html \
+-  python-netserver \
+-  python-ctypes \
+-  python-subprocess \
+-  python-unittest \
+-  python-compile \
+-"
+-
+-RDEPENDS_${PN}_class-native = "\
+-  python-distutils \
+-  python-compression \
+-"
+-

Re: [OE-core] [PATCH] gstreamer1.0: Upgrade to 1.10.1

2016-11-30 Thread Khem Raj
On Wed, Nov 30, 2016 at 7:17 AM, Burton, Ross  wrote:
> Breaks if built from a empty sysroot with wayland enabled:
>
> gst-plugins-bad:
> | make[3]: *** No rule to make target 'viewporter-protocol.c', needed by
> 'all'.  Stop.
>
> Also rtsp-server gains various runtime dependencies on util-linux, can you
> verify that these are expected and in the depends?

I havent done individual builds so there might be issues let me do
these and send v2

>
> Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH v1] wic: Add --exclude-path option to rootfs source plugin.

2016-11-30 Thread Ed Bartosh
On Wed, Nov 30, 2016 at 02:30:12PM +0100, Kristian Amlie wrote:
> On 28/11/16 12:18, Ed Bartosh wrote:
> > I'd appreciate if you also do the following before sending v2:
> >  - check that your code doesn't regress pylint checks
> 
> Is there an official process here? Sorry, it's not very well documented.
No official process yet, I'm sorry. I can put it on wiki if it helps.

> Just running pylint3 manually on the scripts/lib/wic folder gives
> identical results, however, running on rootfs.py alone, the rating
> increases:
> 
>   Your code has been rated at 5.67/10 (previous run: 2.26/10, +3.41)
Looks good to me. Thanks.
Running pylint on the files you've changed before and after the changes should 
be enough.

> >  - add test case for your code to meta/lib/oeqa/selftest/wic.py
> >  - check that your code doesn't break oe-selftest --coverage -r wic and
> >doesn't regress test coverage
> 
> In the interest of saving me some build time, am I correct in assuming
> that I need the "qemux86-64" MACHINE target for this to work? It appears
> to be dependent on syslinux which has COMPATIBLE_HOSTS set to non-arm
> only. Sorry, I'm a bit new to this framework.
> 

You're right. oe-selftest requires qemux86-64 target.

Even if you usually work in different environment it makes sense to run
oe-selftest to ensure that your changes don't breake it.
This is because our maintainers use oe-selftest results as one of the
acceptance criterias. It means that your changes would be be rejected anyway
if they break oe-selftest, so it's better to check it in advance.

--
Regards,
Ed
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gstreamer1.0: Upgrade to 1.10.1

2016-11-30 Thread Burton, Ross
Breaks if built from a empty sysroot with wayland enabled:

gst-plugins-bad:
| make[3]: *** No rule to make target 'viewporter-protocol.c', needed by
'all'.  Stop.

Also rtsp-server gains various runtime dependencies on util-linux, can you
verify that these are expected and in the depends?

Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] tslib 1.3

2016-11-30 Thread Christopher Larson
On Wed, Nov 30, 2016 at 2:39 AM, Martin Kepplinger <
martin.kepplin...@ginzinger.com> wrote:

> I found some discussions on tslib in your archives and want to give you
> a little update. I'm not even sure core is the correct list for this.
>
> I'm working on tslib for quite some time now. The project page is
> https://github.com/kergoth/tslib and has been for quite some time, and
> I'm maintaining it there.
>
> With version 1.3 there shouldn't be any need for your environment to be
> compatible with tslib's API, as tslib/tools/ts_uinput provides an input
> event device to use:
>
> https://github.com/kergoth/tslib#use-tslib-via-a-normal-input-event-device
>
> and you can run it as a daemon (ts_uinput -d).
>
> As of now tslib-1.3-rc1 is out for testing. It adds a new multitouch
> API, but ts_uinput should work for single- and multitouch devices and
> there shouldn't be a need to wait for Qt or X tslib wrappers to
> implement tslib's API or to even have them at all.
>
> The more feedback we get, the earlier we can consider releasing it as
> version 1.3.
>
> I hope this is useful,
>

This sounds great, thanks again for taking over as project maintainer.
-- 
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Senior Software Engineer, Mentor Graphics
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [oe-commits] [openembedded-core] 01/22: libsdl2: update to 2.0.5

2016-11-30 Thread Martin Jansa
On Mon, Oct 31, 2016 at 02:23:55PM +, g...@git.openembedded.org wrote:
> rpurdie pushed a commit to branch master-next
> in repository openembedded-core.
> 
> commit 97fff54efe6b03798ad1c5e39155eaeab0a33300
> Author: Andreas Müller 
> AuthorDate: Thu Oct 27 22:07:19 2016 +0200
> 
> libsdl2: update to 2.0.5
> 
> * 0001-src-video-make-it-compatible-with-wayland-1.10.patch is removed 
> because
>   the problem has been resolved upstream
> * Add 0001-prepend-our-sysroot-path-so-that-make-finds-our-wayl.patch
>   so that WAYLAND_PROTOCOLS_SYSROOT_DIR is substituted in a way similar 
> to gtk3
> 
> Signed-off-by: Andreas Müller 
> Signed-off-by: Ross Burton 
> ---
>  ...-sysroot-path-so-that-make-finds-our-wayl.patch | 32 
>  ...ideo-make-it-compatible-with-wayland-1.10.patch | 57 
> --
>  .../libsdl2/{libsdl2_2.0.4.bb => libsdl2_2.0.5.bb} | 14 +++---
>  3 files changed, 40 insertions(+), 63 deletions(-)
> 
> diff --git 
> a/meta/recipes-graphics/libsdl2/libsdl2/0001-prepend-our-sysroot-path-so-that-make-finds-our-wayl.patch
>  
> b/meta/recipes-graphics/libsdl2/libsdl2/0001-prepend-our-sysroot-path-so-that-make-finds-our-wayl.patch
> new file mode 100644
> index 000..d042430
> --- /dev/null
> +++ 
> b/meta/recipes-graphics/libsdl2/libsdl2/0001-prepend-our-sysroot-path-so-that-make-finds-our-wayl.patch
> @@ -0,0 +1,32 @@
> +From b44808e43130dcd13b43e5b978b9b24aeb4c134c Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Andreas=20M=C3=BCller?= 
> +Date: Thu, 20 Oct 2016 14:57:51 +0200
> +Subject: [PATCH] prepend our sysroot path so that make finds our
> + wayland-protocol files
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Upstream-Status: Inappropriate [embedded specific]
> +
> +Signed-off-by: Andreas Müller 
> +---
> + configure.in | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/configure.in b/configure.in
> +index 726ded3..3376600 100644
> +--- a/configure.in
>  b/configure.in
> +@@ -1206,7 +1206,7 @@ AC_HELP_STRING([--enable-video-wayland-qt-touch], 
> [QtWayland server support for
> + WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl 
> wayland-cursor xkbcommon`
> + WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner 
> wayland-scanner`
> + WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG 
> --variable=pkgdatadir wayland-client`
> +-WAYLAND_PROTOCOLS_DIR=`$PKG_CONFIG --variable=pkgdatadir 
> wayland-protocols`
> ++
> WAYLAND_PROTOCOLS_DIR=${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG 
> --variable=pkgdatadir wayland-protocols`
> + video_wayland=yes
> + fi
> + fi
> +-- 
> +2.5.5
> +
> diff --git 
> a/meta/recipes-graphics/libsdl2/libsdl2/0001-src-video-make-it-compatible-with-wayland-1.10.patch
>  
> b/meta/recipes-graphics/libsdl2/libsdl2/0001-src-video-make-it-compatible-with-wayland-1.10.patch
> deleted file mode 100644
> index 44e6d4d..000
> --- 
> a/meta/recipes-graphics/libsdl2/libsdl2/0001-src-video-make-it-compatible-with-wayland-1.10.patch
> +++ /dev/null
> @@ -1,57 +0,0 @@
> -From b1ed3533433501ec52c8289a5b3a294e57e7f798 Mon Sep 17 00:00:00 2001
> -From: Martin Jansa 
> -Date: Thu, 26 May 2016 11:31:52 +
> -Subject: [PATCH] src/video: make it compatible with wayland 1.10
> -
> -| build/.libs/SDL_waylandevents.o: In function `wl_registry_bind':
> -| /usr/include/wayland-client-protocol.h:305: undefined reference to 
> `wl_proxy_marshal_constructor_versioned'
> -| /usr/include/wayland-client-protocol.h:305: undefined reference to 
> `wl_proxy_marshal_constructor_versioned'
> -| build/.libs/SDL_waylandkeyboard.o: In function `wl_registry_bind':
> -| /usr/include/wayland-client-protocol.h:305: undefined reference to 
> `wl_proxy_marshal_constructor_versioned'
> -| /usr/include/wayland-client-protocol.h:305: undefined reference to 
> `wl_proxy_marshal_constructor_versioned'
> -| build/.libs/SDL_waylandvideo.o: In function `wl_registry_bind':
> -| /usr/include/wayland-client-protocol.h:305: undefined reference to 
> `wl_proxy_marshal_constructor_versioned'
> -| collect2: error: ld returned 1 exit status
> -| make: *** [build/libSDL2.la] Error 1
> -| ERROR: oe_runmake failed
> -
> -Upstream-Status: Pending
> -Signed-off-by: Martin Jansa 
> -
> 
> - src/video/wayland/SDL_waylanddyn.h | 1 +
> - src/video/wayland/SDL_waylandsym.h | 4 
> - src/video/webos/SDL_waylanddyn.h   | 1 +
> - src/video/webos/SDL_waylandsym.h   | 4 
> - 4 files changed, 10 insertions(+)
> -
> -diff --git a/src/video/wayland/SDL_waylanddyn.h 
> b/src/video/wayland/SDL_waylanddyn.h
> -index 8d9313a..c7b0157 100644
>  

Re: [OE-core] [PATCH v1] wic: Add --exclude-path option to rootfs source plugin.

2016-11-30 Thread Maciej Borzęcki
On Wed, Nov 30, 2016 at 2:30 PM, Kristian Amlie
 wrote:
> On 28/11/16 12:18, Ed Bartosh wrote:
>> I'd appreciate if you also do the following before sending v2:
>>  - check that your code doesn't regress pylint checks
>
> Is there an official process here? Sorry, it's not very well documented.
>
> Just running pylint3 manually on the scripts/lib/wic folder gives
> identical results, however, running on rootfs.py alone, the rating
> increases:
>
>   Your code has been rated at 5.67/10 (previous run: 2.26/10, +3.41)
>
>>  - add test case for your code to meta/lib/oeqa/selftest/wic.py
>>  - check that your code doesn't break oe-selftest --coverage -r wic and
>>doesn't regress test coverage
>
> In the interest of saving me some build time, am I correct in assuming
> that I need the "qemux86-64" MACHINE target for this to work? It appears
> to be dependent on syslinux which has COMPATIBLE_HOSTS set to non-arm
> only. Sorry, I'm a bit new to this framework.

You can either build for qemux86-64 or you can try patches from this series:
http://lists.openembedded.org/pipermail/openembedded-core/2016-November/129187.html

Basically, you should be interested in these:

  oe-selftest: enforce en_US.UTF-8 locale
  oeqa/utils/commands.py: allow use of binaries from native sysroot
  wic: selftest: avoid COMPATIBLE_HOST issues
  wic: selftest: do not assume bzImage kernel image

This is how you add a test:
http://lists.openembedded.org/pipermail/openembedded-core/2016-November/129192.html

Running tests is as simple as:

 oe-selftest -r wic.Wic.test_your_test  # runs single test
 oe-selftest -r wic.Wic # runs all wic tests

Regards,
-- 
Maciej Borzecki
RnDity
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] State of bitbake world, Failed tasks 2016-11-29

2016-11-30 Thread Martin Jansa
== Number of issues - stats ==
{| class='wikitable'
!|Date   !!colspan='3'|Failed tasks 
!!colspan='6'|Failed depencencies!!|Signatures
!!colspan='12'|QA !!Comment
|-
||  ||qemuarm   ||qemux86   ||qemux86_64
||qemuarm||max||min ||qemux86||max||min ||all   ||already-stripped  
||libdir||textrel   ||build-deps||file-rdeps
||version-going-backwards   ||host-user-contaminated
||installed-vs-shipped  ||unknown-configure-option  ||symlink-to-sysroot
||invalid-pkgconfig ||pkgname   ||  
|-
||2016-11-29||3 ||6 ||4 ||6 ||3 ||2 ||9 ||5 
||3 ||12||0 ||0 ||0 ||6 
||2 ||0 ||0 ||1 ||0 
||0 ||0 ||0 ||  
|}

http://www.openembedded.org/wiki/Bitbake_World_Status

== Failed tasks 2016-11-29 ==

INFO: jenkins-job.sh-1.8.12 Complete log available at 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.report.20161130_033054.log

=== common (2) ===
* 
meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_16.bb:do_configure
* 
openembedded-core/meta/recipes-graphics/libsdl2/libsdl2_2.0.5.bb:do_compile

=== common-x86 (2) ===
* 
meta-openembedded/meta-oe/recipes-graphics/libvncserver/libvncserver_0.9.10.bb:do_compile
* meta-qt5/recipes-qt/qt5/qt5-creator_3.5.1.bb:do_compile

=== qemuarm (1) ===
* openembedded-core/meta/recipes-sato/webkit/webkitgtk_2.14.1.bb:do_compile

=== qemux86 (2) ===
* meta-browser/recipes-browser/chromium/chromium_52.0.2743.76.bb:do_compile
* meta-qt5/recipes-qt/qt5/qtwebengine_git.bb:do_compile

=== qemux86_64 (0) ===

=== Number of failed tasks (13) ===
{| class=wikitable
|-
|| qemuarm  || 3 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemuarm.20161129_011138.log/
 || http://errors.yoctoproject.org/Errors/Build/25227/
|-
|| qemux86  || 6 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemux86.20161129_011143.log/
 || http://errors.yoctoproject.org/Errors/Build/25228/
|-
|| qemux86_64   || 4 || 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.world.qemux86-64.20161129_101718.log/
 || http://errors.yoctoproject.org/Errors/Build/25242/
|}

=== PNBLACKLISTs (115) ===

=== QA issues (9) ===
{| class=wikitable
!| Count||Issue
|-
||0 ||already-stripped
|-
||0 ||host-user-contaminated
|-
||0 ||invalid-pkgconfig
|-
||0 ||libdir
|-
||0 ||pkgname
|-
||0 ||symlink-to-sysroot
|-
||0 ||textrel
|-
||0 ||unknown-configure-option
|-
||0 ||version-going-backwards
|-
||1 ||installed-vs-shipped
|-
||2 ||file-rdeps
|-
||6 ||build-deps
|}



=== Failed dependencies for qemuarm (6) ===

Complete log: 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20161129_094840.log/
Found differences: 
Found errors: 
* ERROR: 6 issues were found in these recipes: kodi libsdl2 webkitgtk

=== Recipes failing with maximal dependencies for qemuarm (3) ===
* kodi -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20161129_094840.log//2_max/failed/kodi.log
* libsdl2 -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20161129_094840.log//2_max/failed/libsdl2.log
* webkitgtk -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20161129_094840.log//2_max/failed/webkitgtk.log

=== Recipes failing with minimal dependencies for qemuarm (2) ===
* kodi -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20161129_094840.log//3_min/failed/kodi.log
* webkitgtk -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemuarm.20161129_094840.log//3_min/failed/webkitgtk.log

=== Failed dependencies for qemux86 (9) ===

Complete log: 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemux86.20161129_204323.log/
Found differences: 
Found errors: 
* ERROR: 9 issues were found in these recipes: chromium kodi libsdl2 
libvncserver qtwebengine

=== Recipes failing with maximal dependencies for qemux86 (5) ===
* chromium -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemux86.20161129_204323.log//2_max/failed/chromium.log
* kodi -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemux86.20161129_204323.log//2_max/failed/kodi.log
* libsdl2 -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemux86.20161129_204323.log//2_max/failed/libsdl2.log
* libvncserver -- 
http://logs.nslu2-linux.org/buildlogs/oe/world/pyro/log.dependencies.qemux86.20161129_204323.log//2_max/failed/libvncserver.log
* qtwebengine -- 

Re: [OE-core] [PATCH v1] wic: Add --exclude-path option to rootfs source plugin.

2016-11-30 Thread Kristian Amlie
On 28/11/16 12:18, Ed Bartosh wrote:
> I'd appreciate if you also do the following before sending v2:
>  - check that your code doesn't regress pylint checks

Is there an official process here? Sorry, it's not very well documented.

Just running pylint3 manually on the scripts/lib/wic folder gives
identical results, however, running on rootfs.py alone, the rating
increases:

  Your code has been rated at 5.67/10 (previous run: 2.26/10, +3.41)

>  - add test case for your code to meta/lib/oeqa/selftest/wic.py
>  - check that your code doesn't break oe-selftest --coverage -r wic and
>doesn't regress test coverage

In the interest of saving me some build time, am I correct in assuming
that I need the "qemux86-64" MACHINE target for this to work? It appears
to be dependent on syslinux which has COMPATIBLE_HOSTS set to non-arm
only. Sorry, I'm a bit new to this framework.

-- 
Kristian
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] update-rc.d: ignore initscript in prerm and preinst when systemd is active

2016-11-30 Thread Andreas Oberritter
In hybrid systemd/sysvinit builds, if the recipe inherits systemd and systemd
is installed, we can safely assume that the service gets stopped by the prerm
script fragment from systemd.bbclass. This fixes deinstallation of packages
with initscripts returning errors when no running service was found. The preinst
shouldn't run the initscript either, because postinst will call systemctl 
restart.

Signed-off-by: Andreas Oberritter 
---
 meta/classes/update-rc.d.bbclass | 19 ++-
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 321924b..2c3ef9e 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -11,11 +11,20 @@ INITSCRIPT_PARAMS ?= "defaults"
 
 INIT_D_DIR = "${sysconfdir}/init.d"
 
+def use_updatercd(d):
+# If the distro supports both sysvinit and systemd, and the current recipe
+# supports systemd, only call update-rc.d on rootfs creation or if systemd
+# is not running. That's because systemctl enable/disable will already call
+# update-rc.d if it detects initscripts.
+if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and 
bb.data.inherits_class('systemd', d):
+return '[ -n "$D" -o ! -d /run/systemd/system ]'
+return 'true'
+
 updatercd_preinst() {
-if [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
+if ${@use_updatercd(d)} && [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" 
]; then
${INIT_D_DIR}/${INITSCRIPT_NAME} stop || :
 fi
-if type update-rc.d >/dev/null 2>/dev/null; then
+if ${@use_updatercd(d)} && type update-rc.d >/dev/null 2>/dev/null; then
if [ -n "$D" ]; then
OPT="-f -r $D"
else
@@ -26,7 +35,7 @@ fi
 }
 
 updatercd_postinst() {
-if type update-rc.d >/dev/null 2>/dev/null; then
+if ${@use_updatercd(d)} && type update-rc.d >/dev/null 2>/dev/null; then
if [ -n "$D" ]; then
OPT="-r $D"
else
@@ -37,13 +46,13 @@ fi
 }
 
 updatercd_prerm() {
-if [ -z "$D" -a -x "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
+if ${@use_updatercd(d)} && [ -z "$D" -a -x "${INIT_D_DIR}/${INITSCRIPT_NAME}" 
]; then
${INIT_D_DIR}/${INITSCRIPT_NAME} stop || :
 fi
 }
 
 updatercd_postrm() {
-if type update-rc.d >/dev/null 2>/dev/null; then
+if ${@use_updatercd(d)} && type update-rc.d >/dev/null 2>/dev/null; then
if [ -n "$D" ]; then
OPT="-f -r $D"
else
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] connman: Simplify and fix packaging of VPN plug-ins

2016-11-30 Thread Andreas Oberritter
- Use simple static packaging.
- Move VPN runtime dependencies from connman to the individual plug-ins.
- Create a connmann-ppp package containing libppp-plugin.so, which is
  a shared library needed by l2tp and pptp plug-ins.
- Let connman suggest VPN packages instead of recommending them, so they
  don't get installed by default.
- Remove unknown configure options (--with-pptp --with-l2tp)

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-connectivity/connman/connman.inc | 95 +--
 1 file changed, 32 insertions(+), 63 deletions(-)

diff --git a/meta/recipes-connectivity/connman/connman.inc 
b/meta/recipes-connectivity/connman/connman.inc
index 35a7eed..091e402 100644
--- a/meta/recipes-connectivity/connman/connman.inc
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -46,24 +46,17 @@ PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, 
wpa-supplicant, wpa-suppli
 PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}, 
${BLUEZ}"
 PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono, ofono"
 PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
-PACKAGECONFIG[openvpn] = "--enable-openvpn 
--with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
-PACKAGECONFIG[vpnc] = "--enable-vpnc 
--with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc"
-PACKAGECONFIG[l2tp] = "--enable-l2tp 
--with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd"
-PACKAGECONFIG[pptp] = "--enable-pptp 
--with-pptp=${sbindir}/pptp,--disable-pptp,,pptp-linux"
+PACKAGECONFIG[openvpn] = "--enable-openvpn 
--with-openvpn=${sbindir}/openvpn,--disable-openvpn"
+PACKAGECONFIG[vpnc] = "--enable-vpnc 
--with-vpnc=${sbindir}/vpnc,--disable-vpnc"
+PACKAGECONFIG[l2tp] = "--enable-l2tp,--disable-l2tp"
+PACKAGECONFIG[pptp] = "--enable-pptp,--disable-pptp"
 # WISPr support for logging into hotspots, requires TLS
 PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls,"
 
 INITSCRIPT_NAME = "connman"
 INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
 
-python __anonymous () {
-systemd_packages = "${PN}"
-pkgconfig = d.getVar('PACKAGECONFIG', True)
-if ('openvpn' or 'vpnc' or 'l2tp' or 'pptp') in pkgconfig.split():
-systemd_packages += " ${PN}-vpn"
-d.setVar('SYSTEMD_PACKAGES', systemd_packages)
-}
-
+SYSTEMD_PACKAGES = "${PN} ${PN}-vpn"
 SYSTEMD_SERVICE_${PN} = "connman.service"
 SYSTEMD_SERVICE_${PN}-vpn = "connman-vpn.service"
 SYSTEMD_SERVICE_${PN}-wait-online = "connman-wait-online.service"
@@ -103,36 +96,6 @@ RDEPENDS_${PN} = "\
dbus \
"
 
-PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
-
-def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
-plugintype = pkg.split( '-' )[-1]
-if plugintype in depmap:
-rdepends = map(lambda x: multilib_prefix + x, \
-   depmap[plugintype].split())
-d.setVar("RDEPENDS_%s" % pkg, " ".join(rdepends))
-if add_insane_skip:
-d.appendVar("INSANE_SKIP_%s" % pkg, "dev-so")
-
-python populate_packages_prepend() {
-depmap = dict(pppd="ppp")
-multilib_prefix = (d.getVar("MLPREFIX", True) or "")
-
-hook = lambda file,pkg,x,y,z: \
-add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
-plugin_dir = d.expand('${libdir}/connman/plugins/')
-plugin_name = d.expand('${PN}-plugin-%s')
-do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
-'${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
-
-hook = lambda file,pkg,x,y,z: \
-add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
-plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
-plugin_name = d.expand('${PN}-plugin-vpn-%s')
-do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
-'${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
-}
-
 PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
 
 FILES_${PN}-tools = "${bindir}/wispr"
@@ -152,7 +115,12 @@ FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* 
${libdir}/lib*.so.* \
 
 FILES_${PN}-dev += "${libdir}/connman/*/*.la"
 
-PACKAGES =+ "${PN}-vpn ${PN}-wait-online"
+PACKAGES =+ "${PN}-vpn ${PN}-wait-online \
+ ${PN}-ppp \
+ ${PN}-plugin-vpn-l2tp \
+ ${PN}-plugin-vpn-openvpn \
+ ${PN}-plugin-vpn-pptp \
+ ${PN}-plugin-vpn-vpnc"
 
 SUMMARY_${PN}-vpn = "A daemon for managing VPN connections within embedded 
devices"
 DESCRIPTION_${PN}-vpn = "The ConnMan VPN provides a daemon for \
@@ -161,10 +129,10 @@ operating system.  The connman-vpnd handles all the VPN 
connections \
 and starts/stops VPN client processes when necessary. The connman-vpnd \
 provides a DBus API for managing VPN connections. All the different \
 VPN technogies are implemented using plug-ins."
-FILES_${PN}-vpn += "${sbindir}/connman-vpnd \
-${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
-

[OE-core] [PATCH 2/2] connman: enable connman-wait-online.service

2016-11-30 Thread Andreas Oberritter
Fixes network mounts on boot.

Signed-off-by: Andreas Oberritter 
---
 meta/recipes-connectivity/connman/connman.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-connectivity/connman/connman.inc 
b/meta/recipes-connectivity/connman/connman.inc
index 091e402..0480257 100644
--- a/meta/recipes-connectivity/connman/connman.inc
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -56,7 +56,7 @@ PACKAGECONFIG[wispr] = 
"--enable-wispr,--disable-wispr,gnutls,"
 INITSCRIPT_NAME = "connman"
 INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
 
-SYSTEMD_PACKAGES = "${PN} ${PN}-vpn"
+SYSTEMD_PACKAGES = "${PN} ${PN}-vpn ${PN}-wait-online"
 SYSTEMD_SERVICE_${PN} = "connman.service"
 SYSTEMD_SERVICE_${PN}-vpn = "connman-vpn.service"
 SYSTEMD_SERVICE_${PN}-wait-online = "connman-wait-online.service"
-- 
2.7.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] purpose of variables like "base_bindir_native"?

2016-11-30 Thread Robert P. J. Day

  i'm putting together a tutorial on the structure of the native
sysroot and how it's built and variables involved, and was poking
around in both bitbake.conf and native.bbclass, and i'm curious about
one or two things.

  i could be totally wrong but it *seems* like there's native-related
content in bitbake.conf that could be moved over to native.bbclass to
reduce a little of the clutter. i'm perusing bitbake.conf and it's
hard to keep track of some of the variables just because there's both
native- and target- related settings in there. but i'll admit i
haven't finished my inspection.

  on a more specific note, in the entire oe-core layer, there are two
references to the variable "base_bindir_native" (formatted for
aesthetics):

$ grep -rw base_bindir_native *
meta/conf/bitbake.conf:base_bindir_native = "/bin"
meta/conf/bitbake.conf:PATH_prepend =
 "${COREBASE}/scripts:i
 ${STAGING_BINDIR_TOOLCHAIN}:
 ${STAGING_BINDIR_CROSS}:
 ${STAGING_DIR_NATIVE}${sbindir_native}:
 ${STAGING_BINDIR_NATIVE}:
 ${STAGING_DIR_NATIVE}${base_sbindir_native}:
 ${STAGING_DIR_NATIVE}${base_bindir_native}:"  <- there

  so, given that that variable is set in bitbake.conf, and is only
referenced in that same file, what's the point of making it a
variable? doesn't hurt, of course, but when i see a variable, i
normally assume it's because it might be modified later somewhere, but
i don't see that happening here. is there a reason for it? same thing
could be said for "base_sbindir_native" as well.

  thoughts?

rday

-- 


Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca

Twitter:   http://twitter.com/rpjday
LinkedIn:   http://ca.linkedin.com/in/rpjday



-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V2 10/11] buildstats: reduce amount of data stored for system utilization

2016-11-30 Thread Patrick Ohly
Pre-processing /proc data during the build considerably reduces the
amount of data written to disk: 176KB instead of 4.7MB for a 20
minuted build. Parsing also becomes faster.

The disk monitor log added another 16KB in that example build. The
overall buildstat was 20MB, so the overhead for monitoring system
utilization is small enough that it can be enabled by default.

Signed-off-by: Patrick Ohly 
---
 meta/lib/buildstats.py | 114 -
 1 file changed, 104 insertions(+), 10 deletions(-)

diff --git a/meta/lib/buildstats.py b/meta/lib/buildstats.py
index 7c8b352..9e5b6be 100644
--- a/meta/lib/buildstats.py
+++ b/meta/lib/buildstats.py
@@ -3,6 +3,7 @@
 # like open log files and the time of the last sampling.
 
 import time
+import re
 import bb.event
 
 class SystemStats:
@@ -12,14 +13,18 @@ class SystemStats:
 bb.utils.mkdirhier(bsdir)
 
 self.proc_files = []
-for filename in ('diskstats', 'meminfo', 'stat'):
+for filename, handler in (
+('diskstats', self._reduce_diskstats),
+('meminfo', self._reduce_meminfo),
+('stat', self._reduce_stat),
+):
 # In practice, this class gets instantiated only once in
 # the bitbake cooker process.  Therefore 'append' mode is
 # not strictly necessary, but using it makes the class
 # more robust should two processes ever write
 # concurrently.
-self.proc_files.append((filename,
-open(os.path.join(bsdir, 'proc_%s.log' % 
filename), 'ab')))
+destfile = os.path.join(bsdir, '%sproc_%s.log' % ('reduced_' if 
handler else '', filename))
+self.proc_files.append((filename, open(destfile, 'ab'), handler))
 self.monitor_disk = open(os.path.join(bsdir, 'monitor_disk.log'), 'ab')
 # Last time that we sampled /proc data resp. recorded disk monitoring 
data.
 self.last_proc = 0
@@ -30,23 +35,112 @@ class SystemStats:
 # depends on the heartbeat event, which fires less often.
 self.min_seconds = 1
 
+self.meminfo_regex = 
re.compile(b'^(MemTotal|MemFree|Buffers|Cached|SwapTotal|SwapFree):\s*(\d+)')
+self.diskstats_regex = 
re.compile(b'^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+.*)$')
+self.diskstats_ltime = None
+self.diskstats_data = None
+self.stat_ltimes = None
+
 def close(self):
 self.monitor_disk.close()
 for _, output, _ in self.proc_files:
 output.close()
 
+def _reduce_meminfo(self, time, data):
+"""
+Extracts 'MemTotal', 'MemFree', 'Buffers', 'Cached', 'SwapTotal', 
'SwapFree'
+and writes their values into a single line, in that order.
+"""
+values = {}
+for line in data.split(b'\n'):
+m = self.meminfo_regex.match(line)
+if m:
+values[m.group(1)] = m.group(2)
+if len(values) == 6:
+return (time,
+b' '.join([values[x] for x in
+   (b'MemTotal', b'MemFree', b'Buffers', 
b'Cached', b'SwapTotal', b'SwapFree')]) + b'\n')
+
+def _diskstats_is_relevant_line(self, linetokens):
+if len(linetokens) != 14:
+return False
+disk = linetokens[2]
+return self.diskstats_regex.match(disk)
+
+def _reduce_diskstats(self, time, data):
+relevant_tokens = filter(self._diskstats_is_relevant_line, map(lambda 
x: x.split(), data.split(b'\n')))
+diskdata = [0] * 3
+reduced = None
+for tokens in relevant_tokens:
+# rsect
+diskdata[0] += int(tokens[5])
+# wsect
+diskdata[1] += int(tokens[9])
+# use
+diskdata[2] += int(tokens[12])
+if self.diskstats_ltime:
+# We need to compute information about the time interval
+# since the last sampling and record the result as sample
+# for that point in the past.
+interval = time - self.diskstats_ltime
+if interval > 0:
+sums = [ a - b for a, b in zip(diskdata, self.diskstats_data) ]
+readTput = sums[0] / 2.0 * 100.0 / interval
+writeTput = sums[1] / 2.0 * 100.0 / interval
+util = float( sums[2] ) / 10 / interval
+util = max(0.0, min(1.0, util))
+reduced = (self.diskstats_ltime, (readTput, writeTput, util))
+
+self.diskstats_ltime = time
+self.diskstats_data = diskdata
+return reduced
+
+
+def _reduce_nop(self, time, data):
+return (time, data)
+
+def _reduce_stat(self, time, data):
+if not data:
+return None
+# CPU times {user, nice, system, idle, io_wait, irq, softirq} from 
first line
+tokens = data.split(b'\n', 1)[0].split()
+ 

[OE-core] [PATCH V2 11/11] pybootchartgui: support reading reduced /proc logs

2016-11-30 Thread Patrick Ohly
Pre-processing /proc data during the build considerably reduces the
amount of data written to disk: 176KB instead of 4.7MB for a 20
minuted build. Parsing also becomes faster.

buildstats.bbclass only writes the reduced logs now, but support for
the full /proc files is kept around as reference.

Signed-off-by: Patrick Ohly 
---
 scripts/pybootchartgui/pybootchartgui/parsing.py | 31 
 1 file changed, 31 insertions(+)

diff --git a/scripts/pybootchartgui/pybootchartgui/parsing.py 
b/scripts/pybootchartgui/pybootchartgui/parsing.py
index 1c8d8ef..bcfb2da 100644
--- a/scripts/pybootchartgui/pybootchartgui/parsing.py
+++ b/scripts/pybootchartgui/pybootchartgui/parsing.py
@@ -442,6 +442,12 @@ def _parse_proc_stat_log(file):
 # skip the rest of statistics lines
 return samples
 
+def _parse_reduced_log(file, sample_class):
+samples = []
+for time, lines in _parse_timed_blocks(file):
+samples.append(sample_class(time, *[float(x) for x in 
lines[0].split()]))
+return samples
+
 def _parse_proc_disk_stat_log(file):
 """
 Parse file for disk stats, but only look at the whole device, eg. sda,
@@ -483,6 +489,25 @@ def _parse_proc_disk_stat_log(file):
 
 return disk_stats
 
+def _parse_reduced_proc_meminfo_log(file):
+"""
+Parse file for global memory statistics with
+'MemTotal', 'MemFree', 'Buffers', 'Cached', 'SwapTotal', 'SwapFree' values
+(in that order) directly stored on one line.
+"""
+used_values = ('MemTotal', 'MemFree', 'Buffers', 'Cached', 'SwapTotal', 
'SwapFree',)
+
+mem_stats = []
+for time, lines in _parse_timed_blocks(file):
+sample = MemSample(time)
+for name, value in zip(used_values, lines[0].split()):
+sample.add_value(name, int(value))
+
+if sample.valid():
+mem_stats.append(DrawMemSample(sample))
+
+return mem_stats
+
 def _parse_proc_meminfo_log(file):
 """
 Parse file for global memory statistics.
@@ -702,10 +727,16 @@ def _do_parse(writer, state, filename, file):
 name = os.path.basename(filename)
 if name == "proc_diskstats.log":
 state.disk_stats = _parse_proc_disk_stat_log(file)
+elif name == "reduced_proc_diskstats.log":
+state.disk_stats = _parse_reduced_log(file, DiskSample)
 elif name == "proc_stat.log":
 state.cpu_stats = _parse_proc_stat_log(file)
+elif name == "reduced_proc_stat.log":
+state.cpu_stats = _parse_reduced_log(file, CPUSample)
 elif name == "proc_meminfo.log":
 state.mem_stats = _parse_proc_meminfo_log(file)
+elif name == "reduced_proc_meminfo.log":
+state.mem_stats = _parse_reduced_proc_meminfo_log(file)
 elif name == "cmdline2.log":
 state.cmdline = _parse_cmdline_log(writer, file)
 elif name == "monitor_disk.log":
-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V2 08/11] pybootchartgui: render disk space usage

2016-11-30 Thread Patrick Ohly
This adds a new, separate chart showing the amount of disk space used
over time for each volume monitored during the build. The hight of the
graph entries represents the delta between current usage and minimal
usage during the build.

That's more useful than showing just the current usage, because then a
graph showing changes in the order of MBs in a volume that is several
GB large would be just flat.

The legend shows the maximum of those deltas, i.e. maximum amount of
space needed for the build. Minor caveat: sampling of disk space usage
starts a bit later than the initial task, so the displayed value may
be slightly lower than the actual amount of space needed because
sampling does not record the actual initial state.

Signed-off-by: Patrick Ohly 
---
 scripts/pybootchartgui/pybootchartgui/draw.py| 62 
 scripts/pybootchartgui/pybootchartgui/parsing.py | 26 ++
 scripts/pybootchartgui/pybootchartgui/samples.py | 11 +
 3 files changed, 99 insertions(+)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index ec5dd33..f0143ad 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -133,6 +133,16 @@ TASK_COLOR_PACKAGE = (0.0, 1.00, 1.00, 1.0)
 # Package Write RPM/DEB/IPK task color
 TASK_COLOR_PACKAGE_WRITE = (0.0, 0.50, 0.50, 1.0)
 
+# Distinct colors used for different disk volumnes.
+# If we have more volumns, colors get re-used.
+VOLUME_COLORS = [
+   (1.0, 1.0, 0.00, 1.0),
+   (0.0, 1.00, 0.00, 1.0),
+   (1.0, 0.00, 1.00, 1.0),
+   (0.0, 0.00, 1.00, 1.0),
+   (0.0, 1.00, 1.00, 1.0),
+]
+
 # Process states
 STATE_UNDEFINED = 0
 STATE_RUNNING   = 1
@@ -397,6 +407,58 @@ def render_charts(ctx, options, clip, trace, curr_y, w, h, 
sec_w):
 
curr_y = curr_y + 30 + bar_h
 
+   # render disk space usage
+   #
+   # Draws the amount of disk space used on each volume relative to the
+   # lowest recorded amount. The graphs for each volume are stacked above
+   # each other so that total disk usage is visible.
+   if trace.monitor_disk:
+   ctx.set_font_size(LEGEND_FONT_SIZE)
+   # Determine set of volumes for which we have
+   # information and the minimal amount of used disk
+   # space for each. Currently samples are allowed to
+   # not have a values for all volumes; drawing could be
+   # made more efficient if that wasn't the case.
+   volumes = set()
+   min_used = {}
+   for sample in trace.monitor_disk:
+   for volume, used in sample.records.items():
+   volumes.add(volume)
+   if volume not in min_used or min_used[volume] > 
used:
+   min_used[volume] = used
+   volumes = sorted(list(volumes))
+   disk_scale = 0
+   for i, volume in enumerate(volumes):
+   volume_scale = max([sample.records[volume] - 
min_used[volume]
+   for sample in trace.monitor_disk
+   if volume in sample.records])
+   # Does not take length of volume name into account, but 
fixed offset
+   # works okay in practice.
+   draw_legend_box(ctx, '%s (max: %u MiB)' % (volume, 
volume_scale / 1024 / 1024),
+   VOLUME_COLORS[i % len(VOLUME_COLORS)],
+   off_x + i * 250, curr_y+20, leg_s)
+   disk_scale += volume_scale
+
+   # render used amount of disk space
+   chart_rect = (off_x, curr_y+30, w, bar_h)
+   if clip_visible (clip, chart_rect):
+   draw_box_ticks (ctx, chart_rect, sec_w)
+   draw_annotations (ctx, proc_tree, trace.times, 
chart_rect)
+   for i in range(len(volumes), 0, -1):
+   draw_chart (ctx, VOLUME_COLORS[(i - 1) % 
len(VOLUME_COLORS)], True, chart_rect, \
+   [(sample.time,
+ # Sum up used space of all 
volumes including the current one
+ # so that the graphs appear as 
stacked on top of each other.
+ reduce(lambda x,y: x+y,
+[sample.records[volume] - 
min_used[volume]
+ for volume in volumes[0:i]
+ if volume in 
sample.records],
+0))
+for sample 

[OE-core] [PATCH V2 09/11] pybootchartgui: simplify drawing of memory usage

2016-11-30 Thread Patrick Ohly
The internal representation after parsing now matches exactly
what the drawing code needs, thus speeding up drawing a bit.
However, the main motivation is to store exactly that required
information in a more compact file.

Signed-off-by: Patrick Ohly 
---
 scripts/pybootchartgui/pybootchartgui/draw.py| 12 ++--
 scripts/pybootchartgui/pybootchartgui/parsing.py |  2 +-
 scripts/pybootchartgui/pybootchartgui/samples.py | 16 
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index f0143ad..201ce45 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -463,25 +463,25 @@ def render_charts(ctx, options, clip, trace, curr_y, w, 
h, sec_w):
chart_rect = (off_x, curr_y+30, w, meminfo_bar_h)
mem_stats = trace.mem_stats
if mem_stats and clip_visible (clip, chart_rect):
-   mem_scale = max(sample.records['MemTotal'] - 
sample.records['MemFree'] for sample in mem_stats)
+   mem_scale = max(sample.buffers for sample in mem_stats)
draw_legend_box(ctx, "Mem cached (scale: %u MiB)" % 
(float(mem_scale) / 1024), MEM_CACHED_COLOR, off_x, curr_y+20, leg_s)
draw_legend_box(ctx, "Used", MEM_USED_COLOR, off_x + 240, 
curr_y+20, leg_s)
draw_legend_box(ctx, "Buffers", MEM_BUFFERS_COLOR, off_x + 360, 
curr_y+20, leg_s)
-   draw_legend_line(ctx, "Swap (scale: %u MiB)" % 
max([(sample.records['SwapTotal'] - sample.records['SwapFree'])/1024 for sample 
in mem_stats]), \
+   draw_legend_line(ctx, "Swap (scale: %u MiB)" % 
max([(sample.swap)/1024 for sample in mem_stats]), \
 MEM_SWAP_COLOR, off_x + 480, curr_y+20, leg_s)
draw_box_ticks(ctx, chart_rect, sec_w)
draw_annotations(ctx, proc_tree, trace.times, chart_rect)
draw_chart(ctx, MEM_BUFFERS_COLOR, True, chart_rect, \
-  [(sample.time, sample.records['MemTotal'] - 
sample.records['MemFree']) for sample in trace.mem_stats], \
+  [(sample.time, sample.buffers) for sample in 
trace.mem_stats], \
   proc_tree, [0, mem_scale])
draw_chart(ctx, MEM_USED_COLOR, True, chart_rect, \
-  [(sample.time, sample.records['MemTotal'] - 
sample.records['MemFree'] - sample.records['Buffers']) for sample in 
mem_stats], \
+  [(sample.time, sample.used) for sample in 
mem_stats], \
   proc_tree, [0, mem_scale])
draw_chart(ctx, MEM_CACHED_COLOR, True, chart_rect, \
-  [(sample.time, sample.records['Cached']) for sample 
in mem_stats], \
+  [(sample.time, sample.cached) for sample in 
mem_stats], \
   proc_tree, [0, mem_scale])
draw_chart(ctx, MEM_SWAP_COLOR, False, chart_rect, \
-  [(sample.time, float(sample.records['SwapTotal'] - 
sample.records['SwapFree'])) for sample in mem_stats], \
+  [(sample.time, float(sample.swap)) for sample in 
mem_stats], \
   proc_tree, None)
 
curr_y = curr_y + meminfo_bar_h
diff --git a/scripts/pybootchartgui/pybootchartgui/parsing.py 
b/scripts/pybootchartgui/pybootchartgui/parsing.py
index 301145a..1c8d8ef 100644
--- a/scripts/pybootchartgui/pybootchartgui/parsing.py
+++ b/scripts/pybootchartgui/pybootchartgui/parsing.py
@@ -503,7 +503,7 @@ def _parse_proc_meminfo_log(file):
 sample.add_value(match.group(1), int(match.group(2)))
 
 if sample.valid():
-mem_stats.append(sample)
+mem_stats.append(DrawMemSample(sample))
 
 return mem_stats
 
diff --git a/scripts/pybootchartgui/pybootchartgui/samples.py 
b/scripts/pybootchartgui/pybootchartgui/samples.py
index bedca41..9fc309b 100644
--- a/scripts/pybootchartgui/pybootchartgui/samples.py
+++ b/scripts/pybootchartgui/pybootchartgui/samples.py
@@ -53,6 +53,22 @@ class MemSample:
 # discard incomplete samples
 return [v for v in MemSample.used_values if v not in keys] == []
 
+class DrawMemSample:
+"""
+Condensed version of a MemSample with exactly the values used by the 
drawing code.
+Initialized either from a valid MemSample or
+a tuple/list of buffer/used/cached/swap values.
+"""
+def __init__(self, mem_sample):
+self.time = mem_sample.time
+if isinstance(mem_sample, MemSample):
+self.buffers = mem_sample.records['MemTotal'] - 
mem_sample.records['MemFree']
+self.used = mem_sample.records['MemTotal'] - 
mem_sample.records['MemFree'] - mem_sample.records['Buffers']
+self.cached = mem_sample.records['Cached']
+

[OE-core] [PATCH V2 06/11] buildstats: record disk space usage

2016-11-30 Thread Patrick Ohly
Hooks into the new monitordisk.py event and records the used space for
each volume. That is probably the only relevant value when it comes to
visualizing the build and recording more would only increase disk
usage.

Signed-off-by: Patrick Ohly 
---
 meta/classes/buildstats.bbclass |  4 ++--
 meta/lib/buildstats.py  | 22 +-
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass
index 9c0c37d..c6b77e6 100644
--- a/meta/classes/buildstats.bbclass
+++ b/meta/classes/buildstats.bbclass
@@ -204,11 +204,11 @@ python runqueue_stats () {
 if system_stats:
 # Ensure that we sample at important events.
 done = isinstance(e, bb.event.BuildCompleted)
-system_stats.sample(force=done)
+system_stats.sample(e, force=done)
 if done:
 system_stats.close()
 d.delVar('_buildstats_system_stats')
 }
 
 addhandler runqueue_stats
-runqueue_stats[eventmask] = "bb.runqueue.sceneQueueTaskStarted 
bb.runqueue.runQueueTaskStarted bb.event.HeartbeatEvent bb.event.BuildCompleted"
+runqueue_stats[eventmask] = "bb.runqueue.sceneQueueTaskStarted 
bb.runqueue.runQueueTaskStarted bb.event.HeartbeatEvent bb.event.BuildCompleted 
bb.event.MonitorDiskEvent"
diff --git a/meta/lib/buildstats.py b/meta/lib/buildstats.py
index 8ce4112..7c8b352 100644
--- a/meta/lib/buildstats.py
+++ b/meta/lib/buildstats.py
@@ -3,6 +3,7 @@
 # like open log files and the time of the last sampling.
 
 import time
+import bb.event
 
 class SystemStats:
 def __init__(self, d):
@@ -19,8 +20,10 @@ class SystemStats:
 # concurrently.
 self.proc_files.append((filename,
 open(os.path.join(bsdir, 'proc_%s.log' % 
filename), 'ab')))
-# Last time that we sampled data.
-self.last = 0
+self.monitor_disk = open(os.path.join(bsdir, 'monitor_disk.log'), 'ab')
+# Last time that we sampled /proc data resp. recorded disk monitoring 
data.
+self.last_proc = 0
+self.last_disk_monitor = 0
 # Minimum number of seconds between recording a sample. This
 # becames relevant when we get called very often while many
 # short tasks get started. Sampling during quiet periods
@@ -32,9 +35,9 @@ class SystemStats:
 for _, output, _ in self.proc_files:
 output.close()
 
-def sample(self, force):
+def sample(self, event, force):
 now = time.time()
-if (now - self.last > self.min_seconds) or force:
+if (now - self.last_proc > self.min_seconds) or force:
 for filename, output in self.proc_files:
 with open(os.path.join('/proc', filename), 'rb') as input:
 data = input.read()
@@ -44,4 +47,13 @@ class SystemStats:
  ('%.0f\n' % now).encode('ascii') +
  data +
  b'\n')
-self.last = now
+self.last_proc = now
+
+if isinstance(event, bb.event.MonitorDiskEvent) and \
+   ((now - self.last_disk_monitor > self.min_seconds) or force):
+os.write(self.monitor_disk.fileno(),
+ ('%.0f\n' % now).encode('ascii') +
+ ''.join(['%s: %d\n' % (dev, sample.total_bytes - 
sample.free_bytes)
+  for dev, sample in 
event.disk_usage.items()]).encode('ascii') +
+ b'\n')
+self.last_disk_monitor = now
-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V2 04/11] pybootchartgui: show system utilization

2016-11-30 Thread Patrick Ohly
This enables rendering of the original bootchart charts for CPU, disk
and memory usage. It depends on the /proc samples recorded by the
updated buildstats.bbclass. Currently, empty charts CPU and disk usage
charts are drawn if that data is not present; the memory chart already
gets skipped when there's no data, which will also have to be added
for the other two.

Signed-off-by: Patrick Ohly 
---
 scripts/pybootchartgui/pybootchartgui/draw.py| 16 +--
 scripts/pybootchartgui/pybootchartgui/parsing.py | 61 +---
 2 files changed, 57 insertions(+), 20 deletions(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index 925002d..bddd804 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -321,6 +321,16 @@ def extents(options, xscale, trace):
w = int ((end - start) * sec_w_base * xscale) + 2 * off_x
h = proc_h * processes + header_h + 2 * off_y
 
+   if options.charts:
+   if trace.cpu_stats:
+   h += 30 + bar_h
+   if trace.disk_stats:
+   h += 30 + bar_h
+   if trace.monitor_disk:
+   h += 30 + bar_h
+   if trace.mem_stats:
+   h += meminfo_bar_h
+
return (w, h)
 
 def clip_visible(clip, rect):
@@ -496,6 +506,9 @@ def render(ctx, options, xscale, trace):
w -= 2*off_x
curr_y = off_y;
 
+   if options.charts:
+   curr_y = render_charts (ctx, options, clip, trace, curr_y, w, 
h, sec_w)
+
curr_y = render_processes_chart (ctx, options, trace, curr_y, w, h, 
sec_w)
 
return
@@ -513,9 +526,6 @@ def render(ctx, options, xscale, trace):
else:
curr_y = off_y;
 
-   if options.charts:
-   curr_y = render_charts (ctx, options, clip, trace, curr_y, w, 
h, sec_w)
-
# draw process boxes
proc_height = h
if proc_tree.taskstats and options.cumulative:
diff --git a/scripts/pybootchartgui/pybootchartgui/parsing.py 
b/scripts/pybootchartgui/pybootchartgui/parsing.py
index a3a0b0b..af68435 100644
--- a/scripts/pybootchartgui/pybootchartgui/parsing.py
+++ b/scripts/pybootchartgui/pybootchartgui/parsing.py
@@ -38,16 +38,17 @@ class Trace:
 self.min = None
 self.max = None
 self.headers = None
-self.disk_stats = None
+self.disk_stats =  []
 self.ps_stats = None
 self.taskstats = None
-self.cpu_stats = None
+self.cpu_stats = []
 self.cmdline = None
 self.kernel = None
 self.kernel_tree = None
 self.filename = None
 self.parent_map = None
-self.mem_stats = None
+self.mem_stats = []
+self.times = [] # Always empty, but expected by draw.py when drawing 
system charts.
 
 if len(paths):
 parse_paths (writer, self, paths)
@@ -58,6 +59,19 @@ class Trace:
 self.min = min(self.start.keys())
 self.max = max(self.end.keys())
 
+
+# Rendering system charts depends on start and end
+# time. Provide them where the original drawing code expects
+# them, i.e. in proc_tree.
+class BitbakeProcessTree:
+def __init__(self, start_time, end_time):
+self.start_time = start_time
+self.end_time = end_time
+self.duration = self.end_time - self.start_time
+self.proc_tree = BitbakeProcessTree(min(self.start.keys()),
+max(self.end.keys()))
+
+
 return
 
 # Turn that parsed information into something more useful
@@ -427,7 +441,7 @@ def _parse_proc_stat_log(file):
 # skip the rest of statistics lines
 return samples
 
-def _parse_proc_disk_stat_log(file, numCpu):
+def _parse_proc_disk_stat_log(file):
 """
 Parse file for disk stats, but only look at the whole device, eg. sda,
 not sda1, sda2 etc. The format of relevant lines should be:
@@ -462,7 +476,7 @@ def _parse_proc_disk_stat_log(file, numCpu):
 sums = [ a - b for a, b in zip(sample1.diskdata, sample2.diskdata) ]
 readTput = sums[0] / 2.0 * 100.0 / interval
 writeTput = sums[1] / 2.0 * 100.0 / interval
-util = float( sums[2] ) / 10 / interval / numCpu
+util = float( sums[2] ) / 10 / interval
 util = max(0.0, min(1.0, util))
 disk_stats.append(DiskSample(sample2.time, readTput, writeTput, util))
 
@@ -628,6 +642,20 @@ def _parse_cmdline_log(writer, file):
 cmdLines[pid] = values
 return cmdLines
 
+def _parse_bitbake_buildstats(writer, state, filename, file):
+paths = filename.split("/")
+task = paths[-1]
+pn = paths[-2]
+start = None
+end = None
+for line in file:
+if line.startswith("Started:"):
+

[OE-core] [PATCH V2 03/11] pybootchartgui/draw.py: fix drawing of samples not starting at zero

2016-11-30 Thread Patrick Ohly
The code did not handle x scaling correctly when drawing starts at
some time larger than zero, i.e. it worked for normal bootchart data,
but not for the system statistics recorded by buildstats.bbclass.

Signed-off-by: Patrick Ohly 
---
 scripts/pybootchartgui/pybootchartgui/draw.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index 2b5907b..925002d 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -256,7 +256,7 @@ def draw_chart(ctx, color, fill, chart_bounds, data, 
proc_tree, data_range):
# avoid divide by zero
if max_y == 0:
max_y = 1.0
-   xscale = float (chart_bounds[2]) / max_x
+   xscale = float (chart_bounds[2]) / (max_x - x_shift)
# If data_range is given, scale the chart so that the value range in
# data_range matches the chart bounds exactly.
# Otherwise, scale so that the actual data matches the chart bounds.
-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V2 07/11] pybootchartgui/parsing.py: fix error handling in meminfo parser

2016-11-30 Thread Patrick Ohly
When matching fails, m.group(0) is invalid and can't be used in the
error message.

Signed-off-by: Patrick Ohly 
---
 scripts/pybootchartgui/pybootchartgui/parsing.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/parsing.py 
b/scripts/pybootchartgui/pybootchartgui/parsing.py
index af68435..48eb048 100644
--- a/scripts/pybootchartgui/pybootchartgui/parsing.py
+++ b/scripts/pybootchartgui/pybootchartgui/parsing.py
@@ -498,7 +498,7 @@ def _parse_proc_meminfo_log(file):
 for line in lines:
 match = meminfo_re.match(line)
 if not match:
-raise ParseError("Invalid meminfo line \"%s\"" % 
match.groups(0))
+raise ParseError("Invalid meminfo line \"%s\"" % line)
 sample.add_value(match.group(1), int(match.group(2)))
 
 if sample.valid():
-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V2 05/11] pybootchartgui/draw.py: skip empty CPU and disk usage charts

2016-11-30 Thread Patrick Ohly
The only real change is the addition of two if checks that skips the
corresponding drawing code when there is no data.

Signed-off-by: Patrick Ohly 
---
 scripts/pybootchartgui/pybootchartgui/draw.py | 98 ++-
 1 file changed, 50 insertions(+), 48 deletions(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index bddd804..ec5dd33 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -344,56 +344,58 @@ def render_charts(ctx, options, clip, trace, curr_y, w, 
h, sec_w):
proc_tree = options.proc_tree(trace)
 
# render bar legend
-   ctx.set_font_size(LEGEND_FONT_SIZE)
-
-   draw_legend_box(ctx, "CPU (user+sys)", CPU_COLOR, off_x, curr_y+20, 
leg_s)
-   draw_legend_box(ctx, "I/O (wait)", IO_COLOR, off_x + 120, curr_y+20, 
leg_s)
-
-   # render I/O wait
-   chart_rect = (off_x, curr_y+30, w, bar_h)
-   if clip_visible (clip, chart_rect):
-   draw_box_ticks (ctx, chart_rect, sec_w)
-   draw_annotations (ctx, proc_tree, trace.times, chart_rect)
-   draw_chart (ctx, IO_COLOR, True, chart_rect, \
-   [(sample.time, sample.user + sample.sys + 
sample.io) for sample in trace.cpu_stats], \
-   proc_tree, None)
-   # render CPU load
-   draw_chart (ctx, CPU_COLOR, True, chart_rect, \
-   [(sample.time, sample.user + sample.sys) for sample 
in trace.cpu_stats], \
-   proc_tree, None)
-
-   curr_y = curr_y + 30 + bar_h
+   if trace.cpu_stats:
+   ctx.set_font_size(LEGEND_FONT_SIZE)
+
+   draw_legend_box(ctx, "CPU (user+sys)", CPU_COLOR, off_x, 
curr_y+20, leg_s)
+   draw_legend_box(ctx, "I/O (wait)", IO_COLOR, off_x + 120, 
curr_y+20, leg_s)
+
+   # render I/O wait
+   chart_rect = (off_x, curr_y+30, w, bar_h)
+   if clip_visible (clip, chart_rect):
+   draw_box_ticks (ctx, chart_rect, sec_w)
+   draw_annotations (ctx, proc_tree, trace.times, 
chart_rect)
+   draw_chart (ctx, IO_COLOR, True, chart_rect, \
+   [(sample.time, sample.user + sample.sys + 
sample.io) for sample in trace.cpu_stats], \
+   proc_tree, None)
+   # render CPU load
+   draw_chart (ctx, CPU_COLOR, True, chart_rect, \
+   [(sample.time, sample.user + sample.sys) 
for sample in trace.cpu_stats], \
+   proc_tree, None)
+
+   curr_y = curr_y + 30 + bar_h
 
# render second chart
-   draw_legend_line(ctx, "Disk throughput", DISK_TPUT_COLOR, off_x, 
curr_y+20, leg_s)
-   draw_legend_box(ctx, "Disk utilization", IO_COLOR, off_x + 120, 
curr_y+20, leg_s)
-
-# render I/O utilization
-   chart_rect = (off_x, curr_y+30, w, bar_h)
-   if clip_visible (clip, chart_rect):
-   draw_box_ticks (ctx, chart_rect, sec_w)
-   draw_annotations (ctx, proc_tree, trace.times, chart_rect)
-   draw_chart (ctx, IO_COLOR, True, chart_rect, \
-   [(sample.time, sample.util) for sample in 
trace.disk_stats], \
-   proc_tree, None)
-
-   # render disk throughput
-   max_sample = max (trace.disk_stats, key = lambda s: s.tput)
-   if clip_visible (clip, chart_rect):
-   draw_chart (ctx, DISK_TPUT_COLOR, False, chart_rect, \
-   [(sample.time, sample.tput) for sample in 
trace.disk_stats], \
-   proc_tree, None)
-
-   pos_x = off_x + ((max_sample.time - proc_tree.start_time) * w / 
proc_tree.duration)
-
-   shift_x, shift_y = -20, 20
-   if (pos_x < off_x + 245):
-   shift_x, shift_y = 5, 40
-
-   label = "%dMB/s" % round ((max_sample.tput) / 1024.0)
-   draw_text (ctx, label, DISK_TPUT_COLOR, pos_x + shift_x, curr_y + 
shift_y)
-
-   curr_y = curr_y + 30 + bar_h
+   if trace.disk_stats:
+   draw_legend_line(ctx, "Disk throughput", DISK_TPUT_COLOR, 
off_x, curr_y+20, leg_s)
+   draw_legend_box(ctx, "Disk utilization", IO_COLOR, off_x + 120, 
curr_y+20, leg_s)
+
+   # render I/O utilization
+   chart_rect = (off_x, curr_y+30, w, bar_h)
+   if clip_visible (clip, chart_rect):
+   draw_box_ticks (ctx, chart_rect, sec_w)
+   draw_annotations (ctx, proc_tree, trace.times, 
chart_rect)
+   draw_chart (ctx, IO_COLOR, True, chart_rect, \
+   [(sample.time, sample.util) for sample in 
trace.disk_stats], \
+   

[OE-core] [PATCH V2 01/11] buildstats: add system state sampling

2016-11-30 Thread Patrick Ohly
/proc/[diskstats|meminfo|stat] get sampled and written to the same
proc_.log files as during normal bootchat logging. This will
allow rendering the CPU, disk and memory usage charts.

Right now sampling happens once a second, triggered by the heartbeat
event.That produces quite a bit of data for long builds, which will be
addressed in a separate commit by storing the data in a more compact
form.

Signed-off-by: Patrick Ohly 
---
 meta/classes/buildstats.bbclass | 24 +
 meta/lib/buildstats.py  | 47 +
 2 files changed, 71 insertions(+)
 create mode 100644 meta/lib/buildstats.py

diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass
index 57ecc8f..9c0c37d 100644
--- a/meta/classes/buildstats.bbclass
+++ b/meta/classes/buildstats.bbclass
@@ -188,3 +188,27 @@ python run_buildstats () {
 addhandler run_buildstats
 run_buildstats[eventmask] = "bb.event.BuildStarted bb.event.BuildCompleted 
bb.build.TaskStarted bb.build.TaskSucceeded bb.build.TaskFailed"
 
+python runqueue_stats () {
+import buildstats
+from bb import event, runqueue
+# We should not record any samples before the first task has started,
+# because that's the first activity shown in the process chart.
+# Besides, at that point we are sure that the build variables
+# are available that we need to find the output directory.
+# The persistent SystemStats is stored in the datastore and
+# closed when the build is done.
+system_stats = d.getVar('_buildstats_system_stats', True)
+if not system_stats and isinstance(e, (bb.runqueue.sceneQueueTaskStarted, 
bb.runqueue.runQueueTaskStarted)):
+system_stats = buildstats.SystemStats(d)
+d.setVar('_buildstats_system_stats', system_stats)
+if system_stats:
+# Ensure that we sample at important events.
+done = isinstance(e, bb.event.BuildCompleted)
+system_stats.sample(force=done)
+if done:
+system_stats.close()
+d.delVar('_buildstats_system_stats')
+}
+
+addhandler runqueue_stats
+runqueue_stats[eventmask] = "bb.runqueue.sceneQueueTaskStarted 
bb.runqueue.runQueueTaskStarted bb.event.HeartbeatEvent bb.event.BuildCompleted"
diff --git a/meta/lib/buildstats.py b/meta/lib/buildstats.py
new file mode 100644
index 000..8ce4112
--- /dev/null
+++ b/meta/lib/buildstats.py
@@ -0,0 +1,47 @@
+# Implements system state sampling. Called by buildstats.bbclass.
+# Because it is a real Python module, it can hold persistent state,
+# like open log files and the time of the last sampling.
+
+import time
+
+class SystemStats:
+def __init__(self, d):
+bn = d.getVar('BUILDNAME', True)
+bsdir = os.path.join(d.getVar('BUILDSTATS_BASE', True), bn)
+bb.utils.mkdirhier(bsdir)
+
+self.proc_files = []
+for filename in ('diskstats', 'meminfo', 'stat'):
+# In practice, this class gets instantiated only once in
+# the bitbake cooker process.  Therefore 'append' mode is
+# not strictly necessary, but using it makes the class
+# more robust should two processes ever write
+# concurrently.
+self.proc_files.append((filename,
+open(os.path.join(bsdir, 'proc_%s.log' % 
filename), 'ab')))
+# Last time that we sampled data.
+self.last = 0
+# Minimum number of seconds between recording a sample. This
+# becames relevant when we get called very often while many
+# short tasks get started. Sampling during quiet periods
+# depends on the heartbeat event, which fires less often.
+self.min_seconds = 1
+
+def close(self):
+self.monitor_disk.close()
+for _, output, _ in self.proc_files:
+output.close()
+
+def sample(self, force):
+now = time.time()
+if (now - self.last > self.min_seconds) or force:
+for filename, output in self.proc_files:
+with open(os.path.join('/proc', filename), 'rb') as input:
+data = input.read()
+# Unbuffered raw write, less overhead and useful
+# in case that we end up with concurrent writes.
+os.write(output.fileno(),
+ ('%.0f\n' % now).encode('ascii') +
+ data +
+ b'\n')
+self.last = now
-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V2 02/11] pybootchartgui/draw.py: allow moving process chart up and down

2016-11-30 Thread Patrick Ohly
Substracting curr_y when determining the hight of the process chart is
wrong because the height is independent of the position where the
chart is about to be drawn. It happens to work at the moment because
curr_y is always 10 when render_processes_chart() gets called. But it
leads to a negative height when other charts are drawn above it, and
then the grid gets drawn on top of those other charts.

Substracting some constant is relevant because otherwise the box is
slightly larger than the process bars. Not sure exactly where that
comes from (text height?); leg_s seems a suitable constant and happens
to be 10, so everything still gets rendered exactly as before.

Signed-off-by: Patrick Ohly 
---
 scripts/pybootchartgui/pybootchartgui/draw.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/pybootchartgui/pybootchartgui/draw.py 
b/scripts/pybootchartgui/pybootchartgui/draw.py
index 8c574be..2b5907b 100644
--- a/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -415,7 +415,7 @@ def render_charts(ctx, options, clip, trace, curr_y, w, h, 
sec_w):
return curr_y
 
 def render_processes_chart(ctx, options, trace, curr_y, w, h, sec_w):
-chart_rect = [off_x, curr_y+header_h, w, h - 2 * off_y - 
(curr_y+header_h) + proc_h]
+chart_rect = [off_x, curr_y+header_h, w, h - 2 * off_y - header_h - 
leg_s + proc_h]
 
draw_legend_box (ctx, "Configure", \
 TASK_COLOR_CONFIGURE, off_x  , curr_y + 45, leg_s)
-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH V2 00/11] system statistics sampling

2016-11-30 Thread Patrick Ohly
buildstats.bbclass gets extended so that disk bandwidth and capacity,
CPU and memory usage get sampled at regular time intervals by
default. pybootchart had code for most of that data, which gets
restored and re-enabled. The disk capacity graph is new.

The original pybootchart just stored raw dumps of the special files
under /proc. bitbake builds run longer, so a more compact ("reduced")
format is used.

Logging disk capacity was mostly motivated by some work on enhancing
rm_work.bbclass behavior, but could also be useful for others ("how
much free space did my build need").

Changes in V2:
  - SystemStats instance survives between event handler calls by
storing it in the corresponding datastore, instead of using
a global variable, and open files get closed properly when
the build ends. This should work better with memres bitbake (not
tested, though, because of YOCTO #10741).
  - Sampling now already starts when setscene tasks start to run.

The following changes since commit 9f1fe76727e98e58fc9e46ea2b49cf5c0cb48e6c:

  libpcap: Fix build when PACKAGECONFIG ipv6 is not enable (2016-11-23 11:02:33 
+)

are available in the git repository at:

  git://github.com/pohly/openembedded-core buildstats
  https://github.com/pohly/openembedded-core/tree/buildstats

Patrick Ohly (11):
  buildstats: add system state sampling
  pybootchartgui/draw.py: allow moving process chart up and down
  pybootchartgui/draw.py: fix drawing of samples not starting at zero
  pybootchartgui: show system utilization
  pybootchartgui/draw.py: skip empty CPU and disk usage charts
  buildstats: record disk space usage
  pybootchartgui/parsing.py: fix error handling in meminfo parser
  pybootchartgui: render disk space usage
  pybootchartgui: simplify drawing of memory usage
  buildstats: reduce amount of data stored for system utilization
  pybootchartgui: support reading reduced /proc logs

 meta/classes/buildstats.bbclass  |  24 +++
 meta/lib/buildstats.py   | 153 ++
 scripts/pybootchartgui/pybootchartgui/draw.py| 192 ---
 scripts/pybootchartgui/pybootchartgui/parsing.py | 122 +++---
 scripts/pybootchartgui/pybootchartgui/samples.py |  27 
 5 files changed, 440 insertions(+), 78 deletions(-)
 create mode 100644 meta/lib/buildstats.py

-- 
2.1.4

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] tslib 1.3

2016-11-30 Thread Martin Kepplinger

I found some discussions on tslib in your archives and want to give you
a little update. I'm not even sure core is the correct list for this.

I'm working on tslib for quite some time now. The project page is
https://github.com/kergoth/tslib and has been for quite some time, and
I'm maintaining it there.

With version 1.3 there shouldn't be any need for your environment to be
compatible with tslib's API, as tslib/tools/ts_uinput provides an input
event device to use:

https://github.com/kergoth/tslib#use-tslib-via-a-normal-input-event-device

and you can run it as a daemon (ts_uinput -d).

As of now tslib-1.3-rc1 is out for testing. It adds a new multitouch
API, but ts_uinput should work for single- and multitouch devices and
there shouldn't be a need to wait for Qt or X tslib wrappers to
implement tslib's API or to even have them at all.

The more feedback we get, the earlier we can consider releasing it as
version 1.3.

I hope this is useful,

  martin



Ginzinger electronic systems GmbH
Gewerbegebiet Pirath 16
4952 Weng im Innkreis
www.ginzinger.com

Firmenbuchnummer: FN 364958d
Firmenbuchgericht: Ried im Innkreis
UID-Nr.: ATU66521089

--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 0/2] fix can't login when debug-tweaks is not in IMAGE_FEATURES

2016-11-30 Thread ChenQi

On 11/30/2016 05:28 PM, ChenQi wrote:

We could make use of EXTRA_USERS_PARAMS here.
More details are in meta/classes/extrausers.bbclass.

I haven't tested it myself, but maybe lines below could work:
INHERIT += "extrausers"
EXTRA_USERS_PARAMS = "\
usermod -p 'root' root; \
"



It should be '-P' instead of '-p'.
We implement setting clear text password ourselves via 
allow-for-setting-password-in-clear-text.patch in shadow package.


Regards,
Chen Qi


This info could also be found in local.conf.sample.extended.

Best Regards,
Chen Qi

On 11/30/2016 11:15 AM, Robert Yang wrote:

Hello,

According to the discussions, here are things that we may do,
please feel free to give your comments.
1) Add an image feature like "production", which will conflict with
   debug-tweaks, and check for some common security issues ?

2) Add a way like ROOT_PASSWD to let user can set root passwd easily ?

3) Do nothing, leave it as the current status.

// Robert

On 11/23/2016 03:49 PM, Robert Yang wrote:

Fixed 2 bugs:
- Can't login as root when debug-tweaks/empty-root-password is not in
  IMAGE_FEATURES since no passwd.
- When set root passwd and debug-tweaks/empty-root-password is in
  IMAGE_FEATURES, passwd is *required* to login.

Filed https://bugzilla.yoctoproject.org/show_bug.cgi?id=10710, and
marked doc changes required as yes.

// Robert

The following changes since commit 
a675b2c89e477af088faee9b3be96eae19a85f0b:


  sanity.bbclass: fix logging of an error (2016-11-15 15:18:50 +)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/root
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/root 



Robert Yang (2):
  rootfs-postcommands.bbclass: fix zap_empty_root_password
  base-passwd: set root's default password to 'root'

 meta/classes/rootfs-postcommands.bbclass |  8 
 .../base-passwd/base-passwd/passwd_master.patch  | 16 


 meta/recipes-core/base-passwd/base-passwd_3.5.29.bb  |  1 +
 3 files changed, 21 insertions(+), 4 deletions(-)
 create mode 100644 
meta/recipes-core/base-passwd/base-passwd/passwd_master.patch






--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 0/2] fix can't login when debug-tweaks is not in IMAGE_FEATURES

2016-11-30 Thread ChenQi

We could make use of EXTRA_USERS_PARAMS here.
More details are in meta/classes/extrausers.bbclass.

I haven't tested it myself, but maybe lines below could work:
INHERIT += "extrausers"
EXTRA_USERS_PARAMS = "\
usermod -p 'root' root; \
"

This info could also be found in local.conf.sample.extended.

Best Regards,
Chen Qi

On 11/30/2016 11:15 AM, Robert Yang wrote:

Hello,

According to the discussions, here are things that we may do,
please feel free to give your comments.
1) Add an image feature like "production", which will conflict with
   debug-tweaks, and check for some common security issues ?

2) Add a way like ROOT_PASSWD to let user can set root passwd easily ?

3) Do nothing, leave it as the current status.

// Robert

On 11/23/2016 03:49 PM, Robert Yang wrote:

Fixed 2 bugs:
- Can't login as root when debug-tweaks/empty-root-password is not in
  IMAGE_FEATURES since no passwd.
- When set root passwd and debug-tweaks/empty-root-password is in
  IMAGE_FEATURES, passwd is *required* to login.

Filed https://bugzilla.yoctoproject.org/show_bug.cgi?id=10710, and
marked doc changes required as yes.

// Robert

The following changes since commit 
a675b2c89e477af088faee9b3be96eae19a85f0b:


  sanity.bbclass: fix logging of an error (2016-11-15 15:18:50 +)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/root
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/root

Robert Yang (2):
  rootfs-postcommands.bbclass: fix zap_empty_root_password
  base-passwd: set root's default password to 'root'

 meta/classes/rootfs-postcommands.bbclass |  8 
 .../base-passwd/base-passwd/passwd_master.patch  | 16 


 meta/recipes-core/base-passwd/base-passwd_3.5.29.bb  |  1 +
 3 files changed, 21 insertions(+), 4 deletions(-)
 create mode 100644 
meta/recipes-core/base-passwd/base-passwd/passwd_master.patch




--
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] msmtp: 1.6.5 -> 1.6.6

2016-11-30 Thread huangqy
From: Huang Qiyu 

Upgrade msmtp from 1.6.5 to 1.6.6.

Signed-off-by: Huang Qiyu 
---
 meta/recipes-extended/msmtp/{msmtp_1.6.5.bb => msmtp_1.6.6.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-extended/msmtp/{msmtp_1.6.5.bb => msmtp_1.6.6.bb} (86%)

diff --git a/meta/recipes-extended/msmtp/msmtp_1.6.5.bb 
b/meta/recipes-extended/msmtp/msmtp_1.6.6.bb
similarity index 86%
rename from meta/recipes-extended/msmtp/msmtp_1.6.5.bb
rename to meta/recipes-extended/msmtp/msmtp_1.6.6.bb
index d0c39eb..e172193 100644
--- a/meta/recipes-extended/msmtp/msmtp_1.6.5.bb
+++ b/meta/recipes-extended/msmtp/msmtp_1.6.6.bb
@@ -12,8 +12,8 @@ LIC_FILES_CHKSUM = 
"file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 SRC_URI = 
"http://sourceforge.net/projects/msmtp/files/msmtp/${PV}/${BPN}-${PV}.tar.xz \
   "
 
-SRC_URI[md5sum] = "50a8c9bb72f8222779db6b4aae2965e0"
-SRC_URI[sha256sum] = 
"76a0d60693c7e65d0c7a12f01d300882d280b1e1be0202f54730ae44d44a5006"
+SRC_URI[md5sum] = "82b0520b57db4b2cf05333d11fb5974d"
+SRC_URI[sha256sum] = 
"da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e"
 
 inherit gettext autotools update-alternatives pkgconfig
 
-- 
2.7.4



-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core