Re: [OE-core] [PATCH] file: remove the original magic.h

2015-03-27 Thread Burton, Ross
On 27 March 2015 at 03:31, Junling Zheng zhengjunl...@huawei.com wrote:

 So I think the true reason is that if the magic.h exists already,
 sometimes Makefile will not generate it again.


In that case it's likely entirely down to timestamps.   How are you
modifying magic.h.in?

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


Re: [OE-core] [PATCH V2 0/4] systemd and dbus split into packages

2015-03-27 Thread Burton, Ross
On 18 March 2015 at 21:40, Bottazzini, Bruno bruno.bottazz...@intel.com
wrote:

 Sorry, I didn't get why we can't consider this patchset to be included
 into master now.


Because when Khem said that, master was freezing so that we can make the
1.8 release.  We've now branched off the release branch so master is open,
but the current focus is on the release.

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


[OE-core] [PATCH 2/3] combo-layer: fix file_exclude for dest_dir = .

2015-03-27 Thread Patrick Ohly
filterdiff -x ./some/file does not remove changes for some/file.
We must be more careful about constructing the path name and
only add the prefix when it really means a directory.

While at it, also better normalize the path in copy_selected_files()
early on, to handle double slashes. Useful should the function ever
gets used for something other that dest_dir (which gets normalized in
sanity_check()).

Signed-off-by: Patrick Ohly patrick.o...@intel.com
---
 scripts/combo-layer | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index 4aed072..a1fc6ac 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -249,13 +249,16 @@ def action_init(conf, args):
 # files already moved, we need to prepend the
 # subdirectory to all filters, otherwise they would
 # not match.
-if subdir:
+if subdir == '.':
+subdir = ''
+elif subdir:
+subdir = os.path.normpath(subdir)
 file_filter = ' '.join([subdir + '/' + x for x in 
file_filter.split()])
 exclude_patterns = [subdir + '/' + x for x in 
exclude_patterns]
 # To handle both cases, we cd into the target
 # directory and optionally tell tar to strip the path
 # prefix when the files were already moved.
-subdir_components = 
len(os.path.normpath(subdir).split(os.path.sep)) if subdir else 0
+subdir_components = len(subdir.split(os.path.sep)) if subdir 
else 0
 strip=('--strip-components=%d' % subdir_components) if subdir 
else ''
 # TODO: file_filter wild cards do not work (and haven't worked 
before either), because
 # a) GNU tar requires a --wildcards parameter before turning 
on wild card matching.
@@ -375,7 +378,7 @@ tail -c +18 $tmpname | head -c -4
 if not os.path.exists(extract_dir):
 os.makedirs(extract_dir)
 copy_selected_files('HEAD', extract_dir, file_filter, 
exclude_patterns, '.',
-subdir=dest_dir if dest_dir != '.' 
else '')
+subdir=dest_dir)
 runcmd('git add --all --force .')
 if runcmd('git status --porcelain'):
 # Something to commit.
@@ -648,7 +651,7 @@ def action_update(conf, args):
 filter = ['filterdiff', '-p1']
 for path in exclude.split():
 filter.append('-x')
-filter.append('%s/%s' % (dest_dir, path) if dest_dir else path)
+filter.append('%s/%s' % (dest_dir, path) if dest_dir != '.' 
else path)
 for patch in patchlist[:]:
 filtered = patch + '.tmp'
 with open(filtered, 'w') as f:
-- 
2.1.4

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


[OE-core] [PATCH 1/3] combo-layer: clean up dest_dir checking

2015-03-27 Thread Patrick Ohly
Empty dest_dir is basically undocumented behavior. The sample conf
only mentions using just a dot for the current directory. In practice,
the empty string does not work because of code like this:

def action_splitpatch(conf, args):
...
if dest_dir != .:
filerange_root = '%s -x %s/*' % (filerange_root, dest_dir)

However, the empty string was not explicitly checked for, leading to
strange errors when trying to apply patches:

[12:50:23] Applying: foobar: xyz
fatal: unable to stat newly created file '/foobar': No such file or directory

This patch turns the empty string into an alias for the dot. This seems
more user-friendly than throwing an error. This alias is intentionally
not document in the sample conf, because the dot is clearer and works also
with older copies of combo-layer.

Instead of checking for both all the time and normalizing the path when
needed (as done in some places), rewrite the value in sanity_check()
and then only check for '.'.

Signed-off-by: Patrick Ohly patrick.o...@intel.com
---
 scripts/combo-layer | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index 83cfc8e..4aed072 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -144,6 +144,10 @@ class Configuration(object):
 if option not in self.repos[name]:
 msg = %s\nOption %s is not defined for component %s 
%(msg, option, name)
 missing_options.append(option)
+# Sanitize dest_dir so that we do not have to deal with edge cases
+# (empty string, double slashes) in the rest of the code.
+dest_dir = os.path.normpath(self.repos[name][dest_dir])
+self.repos[name][dest_dir] = . if not dest_dir else dest_dir
 if msg != :
 logger.error(configuration file %s has the following error: %s % 
(self.conffile,msg))
 if self.localconffile and 'last_revision' in missing_options:
@@ -231,7 +235,7 @@ def action_init(conf, args):
 pass
 initialrev = rev
 dest_dir = repo['dest_dir']
-if dest_dir and dest_dir != .:
+if dest_dir != .:
 extract_dir = os.path.join(os.getcwd(), dest_dir)
 if not os.path.exists(extract_dir):
 os.makedirs(extract_dir)
@@ -325,7 +329,7 @@ EOF
 runcmd('git replace --edit %s' % rev)
 
 # Optional: rewrite history to change commit messages or to 
move files.
-if 'hook' in repo or dest_dir and dest_dir != .:
+if 'hook' in repo or dest_dir != .:
 filter_branch = ['git', 'filter-branch', '--force']
 with tempfile.NamedTemporaryFile() as hookwrapper:
 if 'hook' in repo:
@@ -353,7 +357,7 @@ tail -c +18 $tmpname | head -c -4
 ''' % (hook, name))
 hookwrapper.flush()
 filter_branch.extend(['--msg-filter', 'bash %s' % 
hookwrapper.name])
-if dest_dir and dest_dir != .:
+if dest_dir != .:
 parent = os.path.dirname(dest_dir)
 if not parent:
 parent = '.'
@@ -371,7 +375,7 @@ tail -c +18 $tmpname | head -c -4
 if not os.path.exists(extract_dir):
 os.makedirs(extract_dir)
 copy_selected_files('HEAD', extract_dir, file_filter, 
exclude_patterns, '.',
-subdir=dest_dir if dest_dir and 
dest_dir != '.' else '')
+subdir=dest_dir if dest_dir != '.' 
else '')
 runcmd('git add --all --force .')
 if runcmd('git status --porcelain'):
 # Something to commit.
-- 
2.1.4

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


[OE-core] [PATCH 0/3] combo-layer + file_exclude

2015-03-27 Thread Patrick Ohly
Applying the new feature to additional repos highlighted some issue.
Proposing for master, but would also be suitable for Fido.

The following changes since commit 2d923d6dfe9431dbc005f8ba39838eb4519c471c:

  python-pygobject: Disable parallel make install in native case (2015-03-25 
12:38:44 +)

are available in the git repository at:

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

Patrick Ohly (3):
  combo-layer: clean up dest_dir checking
  combo-layer: fix file_exclude for dest_dir = .
  combo-layer: fix file_exclude for empty commits

 scripts/combo-layer | 25 ++---
 1 file changed, 18 insertions(+), 7 deletions(-)

-- 
2.1.4

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


[OE-core] [PATCH 3/3] combo-layer: fix file_exclude for empty commits

2015-03-27 Thread Patrick Ohly
The code detecting empty patches after removing files with
file_exclude failed for commits which were already empty before (like
the initial commit in some repos): such patches are completely empty
files, without a From line.

Detect that case and just let the normal empty patch detection deal
with it.

Signed-off-by: Patrick Ohly patrick.o...@intel.com
---
 scripts/combo-layer | 4 
 1 file changed, 4 insertions(+)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index a1fc6ac..1dce4a6 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -665,6 +665,10 @@ def action_update(conf, args):
 # Empty, ignore it. Must also remove from revlist.
 with open(patch, 'r') as f:
 fromline = f.readline()
+if not fromline:
+# Patch must have been empty to start with. No need
+# to remove it.
+continue
 m = re.match(r'''^From ([0-9a-fA-F]+) .*\n''', fromline)
 rev = m.group(1)
 logger.debug('skipping empty patch %s = %s' % (patch, rev))
-- 
2.1.4

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


Re: [OE-core] [PATCH 3/4] systemd: split modules into packages

2015-03-27 Thread Anders Darander
* Bottazzini, Bruno bruno.bottazz...@intel.com [150326 14:40]:

 On Qui, 2015-03-26 at 08:56 -0300, Otavio Salvador wrote:
  On Thu, Mar 26, 2015 at 5:29 AM, Anders Darander and...@chargestorm.se 
  wrote:
   * Bruno Bottazzini bruno.bottazz...@intel.com [150325 22:50]:

   if one wants to launch a simple deamon, most modules are not
   required.
   He will be able to save space and exclude unwanted packages
   from the final image.

   I like this, though I've got a few questions that I just noticed.

   -PACKAGECONFIG ??= xz ldconfig \
   +PACKAGECONFIG ??=  \
   +   gcrypt \
   +   kmod \
   +   ldconfig \
   +   ${@bb.utils.contains('DISTRO_FEATURES', 'blkid', 
   'blkid', '', d)} \
   +   ${@bb.utils.contains('DISTRO_FEATURES', 'efi', 
   'efi', '', d)} \
   +   ${@bb.utils.contains('DISTRO_FEATURES', 'lz4', 
   'lz4', '', d)} \
   +   ${@bb.utils.contains('DISTRO_FEATURES', 'xz', 'xz', 
   '', d)} \
   +   ${@bb.utils.contains('DISTRO_FEATURES', 'libidn', 
   'libidn', '', d)} \
   +   ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 
   'acl', '', d)} \
   ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 
   'pam', '', d)} \
   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 
   'xkbcommon', '', d)}

   It might be worth noting that xz has gone from being explicitly enabled,
   to depend on a DISTRO_FEATURES.

  Agreed and we shouldn't explode the number of possible dsitro
  features. I'd also prefer if xz were kept enable by default so we
  don't make a behavior change under the hood.

  ...
PACKAGECONFIG[resolved] = --enable-resolved,--disable-resolved
   -PACKAGECONFIG[networkd] = --enable-networkd,--disable-networkd

   Why do you remove networkd as a PACKAGECONFIG?

  If there is a real reason for this, it must be recorded in commit log as 
  well.

 Guys, if you continue this patch you will see that networkd will always
 be enabled. Systemd will always configure/make it however, the package
 will not be installed if the user wants to.

 With PACKAGECONFIG, we may not get everything for free as some data
 files will be installed regardless as well as some components from
 systemd cannot be disabled by their build system but we can run without
 them, for instance we can run without journald.

The advantage of also keeping the PACKAGECONFIG for e.g. networkd (and
as much other things as possible) is that we're also reducing the build
time and size. Sure, it might not be by much, but all small bits are
valuable.

 The problem is understanding that although systemd is a single
 repository it contains multiple services and daemons in it that can run
 even without the core PID1, udev or the many helpers used to configure
 the system such as resolved, 
 timedated, localed... 

Yes, and as systemd have configure options for quite a lot of those
things, we should make use of those options, as long as possible.

 All of these components are runtime independent, we can install or
 remove them and they should not create problems.


That's right, but still, if we even can avoid to build them, it's
better...

Cheers,
Anders

-- 
Anders Darander
ChargeStorm AB / eStorm AB
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 3/4] systemd: split modules into packages

2015-03-27 Thread Bottazzini, Bruno
On Sex, 2015-03-27 at 14:11 -0300, Otavio Salvador wrote:
 On Fri, Mar 27, 2015 at 2:09 PM, Bottazzini, Bruno
 bruno.bottazz...@intel.com wrote:
  On Sex, 2015-03-27 at 15:57 +0100, Anders Darander wrote:
  * Bottazzini, Bruno bruno.bottazz...@intel.com [150326 14:40]:
 
   On Qui, 2015-03-26 at 08:56 -0300, Otavio Salvador wrote:
On Thu, Mar 26, 2015 at 5:29 AM, Anders Darander 
and...@chargestorm.se wrote:
 * Bruno Bottazzini bruno.bottazz...@intel.com [150325 22:50]:
 
 if one wants to launch a simple deamon, most modules are not
 required.
 He will be able to save space and exclude unwanted packages
 from the final image.
 
 I like this, though I've got a few questions that I just noticed.
 
 -PACKAGECONFIG ??= xz ldconfig \
 +PACKAGECONFIG ??=  \
 +   gcrypt \
 +   kmod \
 +   ldconfig \
 +   ${@bb.utils.contains('DISTRO_FEATURES', 
 'blkid', 'blkid', '', d)} \
 +   ${@bb.utils.contains('DISTRO_FEATURES', 'efi', 
 'efi', '', d)} \
 +   ${@bb.utils.contains('DISTRO_FEATURES', 'lz4', 
 'lz4', '', d)} \
 +   ${@bb.utils.contains('DISTRO_FEATURES', 'xz', 
 'xz', '', d)} \
 +   ${@bb.utils.contains('DISTRO_FEATURES', 
 'libidn', 'libidn', '', d)} \
 +   ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 
 'acl', '', d)} \
 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 
 'pam', '', d)} \
 ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 
 'xkbcommon', '', d)}
 
 It might be worth noting that xz has gone from being explicitly 
 enabled,
 to depend on a DISTRO_FEATURES.
 
Agreed and we shouldn't explode the number of possible dsitro
features. I'd also prefer if xz were kept enable by default so we
don't make a behavior change under the hood.
 
...
  PACKAGECONFIG[resolved] = --enable-resolved,--disable-resolved
 -PACKAGECONFIG[networkd] = --enable-networkd,--disable-networkd
 
 Why do you remove networkd as a PACKAGECONFIG?
 
If there is a real reason for this, it must be recorded in commit log 
as well.
 
   Guys, if you continue this patch you will see that networkd will always
   be enabled. Systemd will always configure/make it however, the package
   will not be installed if the user wants to.
 
   With PACKAGECONFIG, we may not get everything for free as some data
   files will be installed regardless as well as some components from
   systemd cannot be disabled by their build system but we can run without
   them, for instance we can run without journald.
 
  The advantage of also keeping the PACKAGECONFIG for e.g. networkd (and
  as much other things as possible) is that we're also reducing the build
  time and size. Sure, it might not be by much, but all small bits are
  valuable.
 
 
  You are right! Maybe we should mix them ?
 
  e.g. if PACKAGECONFIG networkd is disabled then the package
  systemd-services-networkd will not be included.
 
  What do you think?
 
 You can add the files conditionally so these empty packages won't be 
 generated.

Indeed, do you know how to do this condition or have you got any
example?

 


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


Re: [OE-core] [PATCH v5] u-boot.inc: fix rename image error

2015-03-27 Thread Otavio Salvador
On Wed, Mar 25, 2015 at 6:51 AM, Chunrong Guo b40...@freescale.com wrote:
Resolve mismatch between U-Boot configs and uboot image name.
The ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} may alway be false
and repeat compile or install so we need to check if ${type} match 
 ${config}

 Signed-off-by: Chunrong Guo b40...@freescale.com

Acked-by: Otavio Salvador ota...@ossystems.com.br

Ross and Richard, this patch should go into master and fido. The
current inc has some issues which this address fine.

-- 
Otavio Salvador O.S. Systems
http://www.ossystems.com.brhttp://code.ossystems.com.br
Mobile: +55 (53) 9981-7854Mobile: +1 (347) 903-9750
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] Ownership issue in package contents

2015-03-27 Thread Mario Domenech Goulart
Hi,

I'm observing an issue with directory ownership in package
contents.  Not sure if I'm overlooking something really basic or
if I hit a bug.

Here's a minimal recipe to illustrate the problem:

$ cat foo.bb
LICENSE = CLOSED

inherit useradd

USERADD_PACKAGES =  ${PN}
USERADD_PARAM_${PN} = foo

do_install() {
install -d -m 755 ${D}${libdir}/foo
touch ${D}${libdir}/foo/bar
chown -R foo:foo ${D}${libdir}/foo
}

Here's the package content:

$ dpkg -c foo_1.0-r0.0_cortexa9hf-vfp-neon.ipk
drwxrwxrwx root/root 0 2015-03-27 13:37 ./
drwxr-xr-x root/root 0 2015-03-27 13:37 ./usr/
drwxr-xr-x root/root 0 2015-03-27 13:37 ./usr/lib/
drwxr-xr-x root/root 0 2015-03-27 13:37 ./usr/lib/foo/
-rw-r--r-- foo/foo   0 2015-03-27 13:37 ./usr/lib/foo/bar


Note that, although I run chown -R foo:foo ${D}${libdir}/foo in
the recipe, ./usr/lib/foo/ in the package is owned by root.
However, its content has the right ownership.

I also generated and checked the rpm package and observed the
same issue.

Best wishes.
Mario
-- 
http://www.ossystems.com.br
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] Ownership issue in package contents

2015-03-27 Thread Otavio Salvador
Hello Mario,

On Fri, Mar 27, 2015 at 2:31 PM, Mario Domenech Goulart
ma...@ossystems.com.br wrote:
...
 I also generated and checked the rpm package and observed the
 same issue.
...

I tested the foo recipe on master (OE-Core:2d923d6) and I see the same behavior.

-- 
Otavio Salvador O.S. Systems
http://www.ossystems.com.brhttp://code.ossystems.com.br
Mobile: +55 (53) 9981-7854Mobile: +1 (347) 903-9750
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 3/4] systemd: split modules into packages

2015-03-27 Thread Otavio Salvador
On Fri, Mar 27, 2015 at 2:09 PM, Bottazzini, Bruno
bruno.bottazz...@intel.com wrote:
 On Sex, 2015-03-27 at 15:57 +0100, Anders Darander wrote:
 * Bottazzini, Bruno bruno.bottazz...@intel.com [150326 14:40]:

  On Qui, 2015-03-26 at 08:56 -0300, Otavio Salvador wrote:
   On Thu, Mar 26, 2015 at 5:29 AM, Anders Darander and...@chargestorm.se 
   wrote:
* Bruno Bottazzini bruno.bottazz...@intel.com [150325 22:50]:

if one wants to launch a simple deamon, most modules are not
required.
He will be able to save space and exclude unwanted packages
from the final image.

I like this, though I've got a few questions that I just noticed.

-PACKAGECONFIG ??= xz ldconfig \
+PACKAGECONFIG ??=  \
+   gcrypt \
+   kmod \
+   ldconfig \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'blkid', 
'blkid', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'efi', 
'efi', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'lz4', 
'lz4', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'xz', 
'xz', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'libidn', 
'libidn', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 
'acl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 
'pam', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 
'xkbcommon', '', d)}

It might be worth noting that xz has gone from being explicitly 
enabled,
to depend on a DISTRO_FEATURES.

   Agreed and we shouldn't explode the number of possible dsitro
   features. I'd also prefer if xz were kept enable by default so we
   don't make a behavior change under the hood.

   ...
 PACKAGECONFIG[resolved] = --enable-resolved,--disable-resolved
-PACKAGECONFIG[networkd] = --enable-networkd,--disable-networkd

Why do you remove networkd as a PACKAGECONFIG?

   If there is a real reason for this, it must be recorded in commit log as 
   well.

  Guys, if you continue this patch you will see that networkd will always
  be enabled. Systemd will always configure/make it however, the package
  will not be installed if the user wants to.

  With PACKAGECONFIG, we may not get everything for free as some data
  files will be installed regardless as well as some components from
  systemd cannot be disabled by their build system but we can run without
  them, for instance we can run without journald.

 The advantage of also keeping the PACKAGECONFIG for e.g. networkd (and
 as much other things as possible) is that we're also reducing the build
 time and size. Sure, it might not be by much, but all small bits are
 valuable.


 You are right! Maybe we should mix them ?

 e.g. if PACKAGECONFIG networkd is disabled then the package
 systemd-services-networkd will not be included.

 What do you think?

You can add the files conditionally so these empty packages won't be generated.

-- 
Otavio Salvador O.S. Systems
http://www.ossystems.com.brhttp://code.ossystems.com.br
Mobile: +55 (53) 9981-7854Mobile: +1 (347) 903-9750
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH V2 0/4] systemd and dbus split into packages

2015-03-27 Thread Bottazzini, Bruno
On Sex, 2015-03-27 at 12:38 +, Burton, Ross wrote:
 
 On 18 March 2015 at 21:40, Bottazzini, Bruno
 bruno.bottazz...@intel.com wrote:
 Sorry, I didn't get why we can't consider this patchset to be
 included
 into master now.
 
 
 Because when Khem said that, master was freezing so that we can make
 the 1.8 release.  We've now branched off the release branch so master
 is open, but the current focus is on the release.
 

Alright! Thanks

 
 Ross


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


Re: [OE-core] [PATCH 3/4] systemd: split modules into packages

2015-03-27 Thread Bottazzini, Bruno
On Sex, 2015-03-27 at 15:57 +0100, Anders Darander wrote:
 * Bottazzini, Bruno bruno.bottazz...@intel.com [150326 14:40]:
 
  On Qui, 2015-03-26 at 08:56 -0300, Otavio Salvador wrote:
   On Thu, Mar 26, 2015 at 5:29 AM, Anders Darander and...@chargestorm.se 
   wrote:
* Bruno Bottazzini bruno.bottazz...@intel.com [150325 22:50]:
 
if one wants to launch a simple deamon, most modules are not
required.
He will be able to save space and exclude unwanted packages
from the final image.
 
I like this, though I've got a few questions that I just noticed.
 
-PACKAGECONFIG ??= xz ldconfig \
+PACKAGECONFIG ??=  \
+   gcrypt \
+   kmod \
+   ldconfig \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'blkid', 
'blkid', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'efi', 
'efi', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'lz4', 
'lz4', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'xz', 
'xz', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'libidn', 
'libidn', '', d)} \
+   ${@bb.utils.contains('DISTRO_FEATURES', 'acl', 
'acl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', 
'pam', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 
'xkbcommon', '', d)}
 
It might be worth noting that xz has gone from being explicitly enabled,
to depend on a DISTRO_FEATURES.
 
   Agreed and we shouldn't explode the number of possible dsitro
   features. I'd also prefer if xz were kept enable by default so we
   don't make a behavior change under the hood.
 
   ...
 PACKAGECONFIG[resolved] = --enable-resolved,--disable-resolved
-PACKAGECONFIG[networkd] = --enable-networkd,--disable-networkd
 
Why do you remove networkd as a PACKAGECONFIG?
 
   If there is a real reason for this, it must be recorded in commit log as 
   well.
 
  Guys, if you continue this patch you will see that networkd will always
  be enabled. Systemd will always configure/make it however, the package
  will not be installed if the user wants to.
 
  With PACKAGECONFIG, we may not get everything for free as some data
  files will be installed regardless as well as some components from
  systemd cannot be disabled by their build system but we can run without
  them, for instance we can run without journald.
 
 The advantage of also keeping the PACKAGECONFIG for e.g. networkd (and
 as much other things as possible) is that we're also reducing the build
 time and size. Sure, it might not be by much, but all small bits are
 valuable.
 

You are right! Maybe we should mix them ? 

e.g. if PACKAGECONFIG networkd is disabled then the package
systemd-services-networkd will not be included.

What do you think?

  The problem is understanding that although systemd is a single
  repository it contains multiple services and daemons in it that can run
  even without the core PID1, udev or the many helpers used to configure
  the system such as resolved, 
  timedated, localed... 
 
 Yes, and as systemd have configure options for quite a lot of those
 things, we should make use of those options, as long as possible.
 
  All of these components are runtime independent, we can install or
  remove them and they should not create problems.
 
 
 That's right, but still, if we even can avoid to build them, it's
 better...
 
 Cheers,
 Anders
 


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


Re: [OE-core] [PATCH 1/2] linux-yocto: add kern-tools-native to kernel_metadata depends

2015-03-27 Thread Bruce Ashfield
On Fri, Mar 27, 2015 at 11:21 AM, Ross Burton ross.bur...@intel.com wrote:
 The autobuilder failed like this:

   temp/run.do_kernel_metadata.25242: line 165: createme: command not found

 createme is provided by kern-tools-native.  do_patch has a dependency on
 kern-tools-native, but do_kernel_metadata runs before do_patch.  So move the
 dependency from do_patch to do_kernel_metadata, moving the statement from the
 .inc to the class so it's alongside the task definition.

Agreed. I've meant to do this cleanup myself a few times .. and then
get sidetracked.

If the depends had been beside the task definition in the .inc, I
would have realized
that I needed to tweak it at the same time .. so this is much better.

Acked-by: Bruce Ashfield bruce.ashfi...@windriver.com


 [ YOCTO #7531 ]

 Signed-off-by: Ross Burton ross.bur...@intel.com
 ---
  meta/classes/kernel-yocto.bbclass |1 +
  meta/recipes-kernel/linux/linux-yocto.inc |2 --
  2 files changed, 1 insertion(+), 2 deletions(-)

 diff --git a/meta/classes/kernel-yocto.bbclass 
 b/meta/classes/kernel-yocto.bbclass
 index 14551a2..a1fbb51 100644
 --- a/meta/classes/kernel-yocto.bbclass
 +++ b/meta/classes/kernel-yocto.bbclass
 @@ -261,6 +261,7 @@ do_kernel_checkout[dirs] = ${S}

  addtask kernel_checkout before do_patch after do_unpack
  addtask kernel_metadata after do_validate_branches before do_patch
 +do_kernel_metadata[depends] = kern-tools-native:do_populate_sysroot

  do_kernel_configme[dirs] += ${S} ${B}
  do_kernel_configme() {
 diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
 b/meta/recipes-kernel/linux/linux-yocto.inc
 index c62f8ca..5b69a49 100644
 --- a/meta/recipes-kernel/linux/linux-yocto.inc
 +++ b/meta/recipes-kernel/linux/linux-yocto.inc
 @@ -32,8 +32,6 @@ KCONF_BSP_AUDIT_LEVEL ?= 0

  LINUX_VERSION_EXTENSION ?= -yocto-${LINUX_KERNEL_TYPE}

 -do_patch[depends] = kern-tools-native:do_populate_sysroot
 -
  addtask kernel_configme before do_configure after do_patch

  # Pick up shared functions
 --
 1.7.10.4

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



-- 
Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH 2/2] kernel-yocto: merge duplicate kernel_configme task definitions

2015-03-27 Thread Bruce Ashfield
On Fri, Mar 27, 2015 at 11:21 AM, Ross Burton ross.bur...@intel.com wrote:
 The kernel_configme task was added twice (once in the .bbclass, one in a .inc)
 with different ordering constraints.

 Change this to be just one definition in the bbclass with the stronger 
 ordering
 constraints.

Agreed. Organically grown .. and not ideal in the existing layout :)

Acked-by: Bruce Ashfield bruce.ashfi...@windriver.com



 Signed-off-by: Ross Burton ross.bur...@intel.com
 ---
  meta/classes/kernel-yocto.bbclass |2 +-
  meta/recipes-kernel/linux/linux-yocto.inc |2 --
  2 files changed, 1 insertion(+), 3 deletions(-)

 diff --git a/meta/classes/kernel-yocto.bbclass 
 b/meta/classes/kernel-yocto.bbclass
 index a1fbb51..650ae5a 100644
 --- a/meta/classes/kernel-yocto.bbclass
 +++ b/meta/classes/kernel-yocto.bbclass
 @@ -289,7 +289,7 @@ do_kernel_configme() {
 echo CONFIG_LOCALVERSION=\${LINUX_VERSION_EXTENSION}\  
 ${B}/.config
  }

 -addtask kernel_configme after do_patch
 +addtask kernel_configme before do_configure after do_patch

  python do_kernel_configcheck() {
  import re, string, sys
 diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
 b/meta/recipes-kernel/linux/linux-yocto.inc
 index 5b69a49..3b41a61 100644
 --- a/meta/recipes-kernel/linux/linux-yocto.inc
 +++ b/meta/recipes-kernel/linux/linux-yocto.inc
 @@ -32,8 +32,6 @@ KCONF_BSP_AUDIT_LEVEL ?= 0

  LINUX_VERSION_EXTENSION ?= -yocto-${LINUX_KERNEL_TYPE}

 -addtask kernel_configme before do_configure after do_patch
 -
  # Pick up shared functions
  inherit kernel
  inherit kernel-yocto
 --
 1.7.10.4

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



-- 
Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH 1/2] linux-yocto: add kern-tools-native to kernel_metadata depends

2015-03-27 Thread Ross Burton
The autobuilder failed like this:

  temp/run.do_kernel_metadata.25242: line 165: createme: command not found

createme is provided by kern-tools-native.  do_patch has a dependency on
kern-tools-native, but do_kernel_metadata runs before do_patch.  So move the
dependency from do_patch to do_kernel_metadata, moving the statement from the
.inc to the class so it's alongside the task definition.

[ YOCTO #7531 ]

Signed-off-by: Ross Burton ross.bur...@intel.com
---
 meta/classes/kernel-yocto.bbclass |1 +
 meta/recipes-kernel/linux/linux-yocto.inc |2 --
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass 
b/meta/classes/kernel-yocto.bbclass
index 14551a2..a1fbb51 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -261,6 +261,7 @@ do_kernel_checkout[dirs] = ${S}
 
 addtask kernel_checkout before do_patch after do_unpack
 addtask kernel_metadata after do_validate_branches before do_patch
+do_kernel_metadata[depends] = kern-tools-native:do_populate_sysroot
 
 do_kernel_configme[dirs] += ${S} ${B}
 do_kernel_configme() {
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
b/meta/recipes-kernel/linux/linux-yocto.inc
index c62f8ca..5b69a49 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -32,8 +32,6 @@ KCONF_BSP_AUDIT_LEVEL ?= 0
 
 LINUX_VERSION_EXTENSION ?= -yocto-${LINUX_KERNEL_TYPE}
 
-do_patch[depends] = kern-tools-native:do_populate_sysroot
-
 addtask kernel_configme before do_configure after do_patch
 
 # Pick up shared functions
-- 
1.7.10.4

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


[OE-core] [PATCH 2/2] kernel-yocto: merge duplicate kernel_configme task definitions

2015-03-27 Thread Ross Burton
The kernel_configme task was added twice (once in the .bbclass, one in a .inc)
with different ordering constraints.

Change this to be just one definition in the bbclass with the stronger ordering
constraints.

Signed-off-by: Ross Burton ross.bur...@intel.com
---
 meta/classes/kernel-yocto.bbclass |2 +-
 meta/recipes-kernel/linux/linux-yocto.inc |2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass 
b/meta/classes/kernel-yocto.bbclass
index a1fbb51..650ae5a 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -289,7 +289,7 @@ do_kernel_configme() {
echo CONFIG_LOCALVERSION=\${LINUX_VERSION_EXTENSION}\  
${B}/.config
 }
 
-addtask kernel_configme after do_patch
+addtask kernel_configme before do_configure after do_patch
 
 python do_kernel_configcheck() {
 import re, string, sys
diff --git a/meta/recipes-kernel/linux/linux-yocto.inc 
b/meta/recipes-kernel/linux/linux-yocto.inc
index 5b69a49..3b41a61 100644
--- a/meta/recipes-kernel/linux/linux-yocto.inc
+++ b/meta/recipes-kernel/linux/linux-yocto.inc
@@ -32,8 +32,6 @@ KCONF_BSP_AUDIT_LEVEL ?= 0
 
 LINUX_VERSION_EXTENSION ?= -yocto-${LINUX_KERNEL_TYPE}
 
-addtask kernel_configme before do_configure after do_patch
-
 # Pick up shared functions
 inherit kernel
 inherit kernel-yocto
-- 
1.7.10.4

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


Re: [OE-core] [PATCH] oe-git-proxy: Redirect error messages to STDERR

2015-03-27 Thread Burton, Ross
Hi Juro,

On 27 March 2015 at 20:37, Darren Hart dvh...@linux.intel.com wrote:

 oe-git-proxy script needs socat. If socat is not found,
 an error message is issued on STDOUT. This leads to a misleading
 git message:
 
 fatal: protocol error: bad line length character: ERRO
 
 instead of the intended message:
 
 ERROR: socat binary not in PATH
 
 Redirecting the error message to STDERR fixes this issue.
 
 Signed-off-by: Juro Bystricky juro.bystri...@intel.com

 Thanks Juro, good fix.

 Reviewed-by: Darren Hart dvh...@linux.intel.com


I never saw the original mail, can you re-send it to the list please?

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


Re: [OE-core] [PATCH] oe-git-proxy: Redirect error messages to STDERR

2015-03-27 Thread Darren Hart
On 3/27/15, 10:17 AM, Juro Bystricky juro.bystri...@intel.com wrote:

oe-git-proxy script needs socat. If socat is not found,
an error message is issued on STDOUT. This leads to a misleading
git message:

fatal: protocol error: bad line length character: ERRO

instead of the intended message:

ERROR: socat binary not in PATH

Redirecting the error message to STDERR fixes this issue.

Signed-off-by: Juro Bystricky juro.bystri...@intel.com

Thanks Juro, good fix.

Reviewed-by: Darren Hart dvh...@linux.intel.com

-- 
Darren Hart
Intel Open Source Technology Center



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


Re: [OE-core] Not selecting old version of package as installing it would break existing dependencies

2015-03-27 Thread Alejandro del Castillo
openembedded-core-boun...@lists.openembedded.org wrote on 03/24/2015 
12:16:05 PM:

 From: Mike Looijmans mike.looijm...@topic.nl
 To: openembedded-core@lists.openembedded.org, 
 Date: 03/24/2015 12:16 PM
 Subject: [OE-core] Not selecting old version of package as 
 installing it would break existing dependencies
 Sent by: openembedded-core-boun...@lists.openembedded.org
 
 After upgrading a library to a newer version, for example, something 
 called libdvbsi++ from 0.3.6 to 0.3.7, running opkg upgrade outputs the 
 following cryptic error message:
 
 Not selecting libdvbsi++1 0.3.6 as installing it would break existing 
 dependencies.

When opkg runs, it creates a list of all the available packages on the 
configured repos + all the installed packages. During an upgrade, it goes 
through the process of finding the best upgrade match for each installed 
package, searching on the master list. The process goes through a series 
of checks for each candidate, like making sure the archs are compatible, 
and making sure installing a candidate won't break existing installed 
packages. In your case, opkg determines there are 2 candidates, 
libdvbsi++0.3.6 and libdvbsi++0.3.7. While evaluating libdvbsi++0.3.6, the 
pkg_breaks_reverse_dep check fails, triggering the message shown above 
(and removing the candidate).
 
 Adding -V2 to opkg upgrade expands that with the following message:
 
 opkg_prepare_upgrade_pkg: Package libdvbsi++1 (0.3.7-r2.0) installed in 
 root is up to date.
 
 So apparently it knows about the later version, so why complain about 
 the old one?

The function that returns the best candidate match correctly returns 
libdvbsi++1 0.3.7. It then compares it against what's already installed. 
The DEBUG message above shows that the best candidate found is already 
installed on the system.

 
 There is only one package that (r)depends on that lib (enigma2). Nothing 

 else needs it.
 
 This often happens with other packages as well. Is this a bug in opkg, 
 or is it trying to tell us we're doing something wrong?

It is not a bug, the message is harmless as it is only pointing to the 
reason why one of the possible upgrade candidates was discarded. 

Hope this helps!

Alejandro del Castillo
 
 -- 
 Mike Looijmans
 -- 
 ___
 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] wpa-supplicant: Make SystemD D-Bus config conditional

2015-03-27 Thread Otavio Salvador
The SystemD D-Bus configuration should only to be installed when
SystemD support is enabled.

Signed-off-by: Otavio Salvador ota...@ossystems.com.br
---
 meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc 
b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc
index 6f0de3c..f95e91c 100644
--- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc
@@ -86,12 +86,13 @@ do_install () {
cd ${D}${sysconfdir}/network/  \
ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
 
-   install -d ${D}/${sysconfdir}/dbus-1/system.d
-   install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf 
${D}/${sysconfdir}/dbus-1/system.d
install -d ${D}/${datadir}/dbus-1/system-services
install -m 644 ${S}/wpa_supplicant/dbus/*.service 
${D}/${datadir}/dbus-1/system-services
 
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; 
then
+   install -d ${D}/${sysconfdir}/dbus-1/system.d
+   install -m 644 
${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf 
${D}/${sysconfdir}/dbus-1/system.d
+
install -d ${D}/${systemd_unitdir}/system
install -m 644 ${S}/wpa_supplicant/systemd/*.service 
${D}/${systemd_unitdir}/system
fi
-- 
2.1.4

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


Re: [OE-core] [PATCH] file: remove the original magic.h

2015-03-27 Thread Junling Zheng
On 2015/3/27 17:56, Burton, Ross wrote:
 
 On 27 March 2015 at 03:31, Junling Zheng zhengjunl...@huawei.com 
 mailto:zhengjunl...@huawei.com wrote:
 
 So I think the true reason is that if the magic.h exists already, 
 sometimes Makefile will not generate it again.
 
 
 In that case it's likely entirely down to timestamps.   How are you modifying 
 magic.h.in http://magic.h.in?
 
 Ross

Hi, Ross

I backport some commits from upstream to fix CVE-2014-9620, and some of them 
involve the modifying of magic.h.in:

90018fe22ff8b74a22fcd142225b0a00f3f12677
6ce24f35cd4a43c4bdd249e8e0c4952c1f8eac67
0056ec32255de1de973574b0300161a1568767d6
09e41625c999a2e5b51e1092f0ef2432a99b5c33
ce90e05774dd77d86cfc8dfa6da57b32816841c4

And the final difference between magic.h and magic.h.in is:

z00238152@Patch-Test:file-5.140$ diff -u src/magic.h src/magic.h
magic.h magic.h.in
z00238152@Patch-Test:file-5.140$ diff -u src/magic.h src/magic.h.in
--- src/magic.h 2015-03-28 02:01:46.0 +
+++ src/magic.h.in  2015-03-28 02:01:47.0 +
@@ -74,7 +74,7 @@
 #defineMAGIC_NO_CHECK_FORTRAN  0x00 /* Don't check ascii/fortran */
 #defineMAGIC_NO_CHECK_TROFF0x00 /* Don't check ascii/troff */

-#define MAGIC_VERSION  514 /* This implementation */
+#define MAGIC_VERSION  X.YY/* This implementation */


 #ifdef __cplusplus
@@ -100,7 +100,12 @@
 int magic_list(magic_t, const char *);
 int magic_errno(magic_t);

-#define MAGIC_PARAM_MAX_RECURSION  0
+#define MAGIC_PARAM_INDIR_MAX  0
+#define MAGIC_PARAM_NAME_MAX   1
+#define MAGIC_PARAM_ELF_PHNUM_MAX  2
+#define MAGIC_PARAM_ELF_SHNUM_MAX  3
+#define MAGIC_PARAM_ELF_NOTES_MAX  4
+
 int magic_setparam(magic_t, int, const void *);
 int magic_getparam(magic_t, int, void *);


So, if Makefile doesn't generate a new magic.h, there will be some symbol 
undeclared errors during compiling.

By the way, the upstream code has only magic.h.in, and no magic.h, which only 
exists in release version tarballs.

And I think the original magic.h is redundant.

Cheers,

Junling

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