All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
@ 2014-02-12 14:33 Laurentiu Palcu
  2014-02-12 14:33 ` [PATCH 1/1] " Laurentiu Palcu
  0 siblings, 1 reply; 9+ messages in thread
From: Laurentiu Palcu @ 2014-02-12 14:33 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 92cad721d764ec28c3570dfe4a80847c3df19453:

  curl: fix https certificate problems (2014-02-11 17:15:55 +0000)

are available in the git repository at:

  git://mirror.rb.intel.com/git.yoctoproject.org/poky-contrib lpalcu/rootfs_refactoring_multilib_fixes

for you to fetch changes up to f1d4b1de74f2c69b444ed50977263245440ed071:

  (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes (2014-02-12 16:26:35 +0200)

----------------------------------------------------------------
Laurentiu Palcu (1):
      (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes

 meta/classes/image.bbclass      |    2 +-
 meta/classes/rootfs_ipk.bbclass |    2 +-
 meta/lib/oe/rootfs.py           |    4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

Laurentiu Palcu (1):
  (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes

 meta/classes/image.bbclass      |    2 +-
 meta/classes/rootfs_ipk.bbclass |    2 +-
 meta/lib/oe/rootfs.py           |    4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

-- 
1.7.9.5



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 1/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
  2014-02-12 14:33 [PATCH 0/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes Laurentiu Palcu
@ 2014-02-12 14:33 ` Laurentiu Palcu
  2014-02-12 14:44   ` Phil Blundell
  0 siblings, 1 reply; 9+ messages in thread
From: Laurentiu Palcu @ 2014-02-12 14:33 UTC (permalink / raw)
  To: openembedded-core

This commit whitelists some common directories, so the multilib sanity
checks pass and also fixes an issue in lib/oe/rootfs.py when the
compared files do not exist.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
---
 meta/classes/image.bbclass      |    2 +-
 meta/classes/rootfs_ipk.bbclass |    2 +-
 meta/lib/oe/rootfs.py           |    4 +++-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 8f4be13..28b68f9 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -264,7 +264,7 @@ insert_feed_uris () {
 	done
 }
 
-MULTILIBRE_ALLOW_REP =. "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${libexecdir}|"
+MULTILIBRE_ALLOW_REP =. "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${libexecdir}|${sysconfdir}|${nonarch_base_libdir}/udev|"
 MULTILIB_CHECK_FILE = "${WORKDIR}/multilib_check.py"
 MULTILIB_TEMP_ROOTFS = "${WORKDIR}/multilib"
 
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
index 6d4f9fa..1887dd3 100644
--- a/meta/classes/rootfs_ipk.bbclass
+++ b/meta/classes/rootfs_ipk.bbclass
@@ -21,7 +21,7 @@ OPKG_POSTPROCESS_COMMANDS = ""
 
 OPKGLIBDIR = "${localstatedir}/lib"
 
-MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg"
+MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg|/usr/lib/opkg"
 
 python () {
 
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index b6baf77..4fd17de 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -496,7 +496,9 @@ class OpkgRootfs(Rootfs):
                         if allow_rep.match(key):
                             valid = True
                         else:
-                            if not filecmp.cmp(files[key], item):
+                            if os.path.exists(files[key]) and \
+                               os.path.exists(item) and \
+                               not filecmp.cmp(files[key], item):
                                 valid = False
                                 bb.fatal("%s duplicate files %s %s is not the same\n" %
                                          (error_prompt, item, files[key]))
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
  2014-02-12 14:33 ` [PATCH 1/1] " Laurentiu Palcu
@ 2014-02-12 14:44   ` Phil Blundell
  2014-02-12 14:55     ` Laurentiu Palcu
  0 siblings, 1 reply; 9+ messages in thread
From: Phil Blundell @ 2014-02-12 14:44 UTC (permalink / raw)
  To: Laurentiu Palcu; +Cc: openembedded-core

On Wed, 2014-02-12 at 16:33 +0200, Laurentiu Palcu wrote:
> diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
> index 6d4f9fa..1887dd3 100644
> --- a/meta/classes/rootfs_ipk.bbclass
> +++ b/meta/classes/rootfs_ipk.bbclass
> @@ -21,7 +21,7 @@ OPKG_POSTPROCESS_COMMANDS = ""
>  
>  OPKGLIBDIR = "${localstatedir}/lib"
>  
> -MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg"
> +MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg|/usr/lib/opkg"

Why is that change needed?  Doesn't this imply that ${OPKGLIBDIR} is
wrong?

p.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
  2014-02-12 14:44   ` Phil Blundell
@ 2014-02-12 14:55     ` Laurentiu Palcu
  2014-02-12 15:07       ` Phil Blundell
  0 siblings, 1 reply; 9+ messages in thread
From: Laurentiu Palcu @ 2014-02-12 14:55 UTC (permalink / raw)
  To: Phil Blundell; +Cc: openembedded-core

On Wed, Feb 12, 2014 at 02:44:32PM +0000, Phil Blundell wrote:
> On Wed, 2014-02-12 at 16:33 +0200, Laurentiu Palcu wrote:
> > diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
> > index 6d4f9fa..1887dd3 100644
> > --- a/meta/classes/rootfs_ipk.bbclass
> > +++ b/meta/classes/rootfs_ipk.bbclass
> > @@ -21,7 +21,7 @@ OPKG_POSTPROCESS_COMMANDS = ""
> >  
> >  OPKGLIBDIR = "${localstatedir}/lib"
> >  
> > -MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg"
> > +MULTILIBRE_ALLOW_REP = "${OPKGLIBDIR}/opkg|/usr/lib/opkg"
> 
> Why is that change needed?  Doesn't this imply that ${OPKGLIBDIR} is
> wrong?
It's needed for the multilib sanity checks. I managed to make these
checks actually work in the new code and I had to adjust the directory
whitelist.

* ${OPKGLIBDIR}/opkg is for opkg's metadata and stuff;
* /usr/lib/opkg is where the alternatives go;

laurentiu
> 
> p.
> 
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
  2014-02-12 14:55     ` Laurentiu Palcu
@ 2014-02-12 15:07       ` Phil Blundell
  2014-02-12 15:40         ` Laurentiu Palcu
  0 siblings, 1 reply; 9+ messages in thread
From: Phil Blundell @ 2014-02-12 15:07 UTC (permalink / raw)
  To: Laurentiu Palcu; +Cc: openembedded-core

On Wed, 2014-02-12 at 16:55 +0200, Laurentiu Palcu wrote:
> * /usr/lib/opkg is where the alternatives go;

Isn't that a bug?

p.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
  2014-02-12 15:07       ` Phil Blundell
@ 2014-02-12 15:40         ` Laurentiu Palcu
  2014-02-13 11:38           ` Richard Purdie
  0 siblings, 1 reply; 9+ messages in thread
From: Laurentiu Palcu @ 2014-02-12 15:40 UTC (permalink / raw)
  To: Phil Blundell; +Cc: openembedded-core

On Wed, Feb 12, 2014 at 03:07:31PM +0000, Phil Blundell wrote:
> On Wed, 2014-02-12 at 16:55 +0200, Laurentiu Palcu wrote:
> > * /usr/lib/opkg is where the alternatives go;
> 
> Isn't that a bug?
I'm far from being an expert in opkg or update-alternatives, but,
looking in /usr/bin/update-alternatives I can see:

# admin dir
ad="$OPKG_OFFLINE_ROOT/usr/lib/opkg/alternatives"

Isn't that expected since the u-a provider is opkg-utils recipe?

laurentiu
> 
> p.
> 
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
  2014-02-12 15:40         ` Laurentiu Palcu
@ 2014-02-13 11:38           ` Richard Purdie
  2014-02-14 13:15             ` Paul Barker
  0 siblings, 1 reply; 9+ messages in thread
From: Richard Purdie @ 2014-02-13 11:38 UTC (permalink / raw)
  To: Laurentiu Palcu; +Cc: openembedded-core

On Wed, 2014-02-12 at 17:40 +0200, Laurentiu Palcu wrote:
> On Wed, Feb 12, 2014 at 03:07:31PM +0000, Phil Blundell wrote:
> > On Wed, 2014-02-12 at 16:55 +0200, Laurentiu Palcu wrote:
> > > * /usr/lib/opkg is where the alternatives go;
> > 
> > Isn't that a bug?
> I'm far from being an expert in opkg or update-alternatives, but,
> looking in /usr/bin/update-alternatives I can see:
> 
> # admin dir
> ad="$OPKG_OFFLINE_ROOT/usr/lib/opkg/alternatives"
> 
> Isn't that expected since the u-a provider is opkg-utils recipe?

Its certainly desirable to have one set of alternatives files on a
multilib system, not two. The variables/paths could probably do with
being better however I've prefer not to trigger autobuilder failures on
this until that gets resolved so I did take this.

Cheers,

Richard





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
  2014-02-13 11:38           ` Richard Purdie
@ 2014-02-14 13:15             ` Paul Barker
  2014-02-14 13:20               ` Paul Barker
  0 siblings, 1 reply; 9+ messages in thread
From: Paul Barker @ 2014-02-14 13:15 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

On 13 February 2014 11:38, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Wed, 2014-02-12 at 17:40 +0200, Laurentiu Palcu wrote:
>> On Wed, Feb 12, 2014 at 03:07:31PM +0000, Phil Blundell wrote:
>> > On Wed, 2014-02-12 at 16:55 +0200, Laurentiu Palcu wrote:
>> > > * /usr/lib/opkg is where the alternatives go;
>> >
>> > Isn't that a bug?
>> I'm far from being an expert in opkg or update-alternatives, but,
>> looking in /usr/bin/update-alternatives I can see:
>>
>> # admin dir
>> ad="$OPKG_OFFLINE_ROOT/usr/lib/opkg/alternatives"
>>
>> Isn't that expected since the u-a provider is opkg-utils recipe?
>
> Its certainly desirable to have one set of alternatives files on a
> multilib system, not two. The variables/paths could probably do with
> being better however I've prefer not to trigger autobuilder failures on
> this until that gets resolved so I did take this.
>
> Cheers,
>
> Richard
>

I should add some flexibility here. The problem is opkg-utils doesn't
know what value OPKGLIBDIR has in the opkg recipe. It also isn't
processed by a configure script to replace variables as it was in the
opkg recipe.

I'll have a think about a cleaner upgrade path for opkg and
opkg-utils. I'd like to  have a postinstall script compare the old and
new OPKGLIBDIR paths and move data if needed. That would let me move
everything from /usr/lib to /var/lib.

-- 
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 1/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes
  2014-02-14 13:15             ` Paul Barker
@ 2014-02-14 13:20               ` Paul Barker
  0 siblings, 0 replies; 9+ messages in thread
From: Paul Barker @ 2014-02-14 13:20 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core

On 14 February 2014 13:15, Paul Barker <paul@paulbarker.me.uk> wrote:
> On 13 February 2014 11:38, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
>> On Wed, 2014-02-12 at 17:40 +0200, Laurentiu Palcu wrote:
>>> On Wed, Feb 12, 2014 at 03:07:31PM +0000, Phil Blundell wrote:
>>> > On Wed, 2014-02-12 at 16:55 +0200, Laurentiu Palcu wrote:
>>> > > * /usr/lib/opkg is where the alternatives go;
>>> >
>>> > Isn't that a bug?
>>> I'm far from being an expert in opkg or update-alternatives, but,
>>> looking in /usr/bin/update-alternatives I can see:
>>>
>>> # admin dir
>>> ad="$OPKG_OFFLINE_ROOT/usr/lib/opkg/alternatives"
>>>
>>> Isn't that expected since the u-a provider is opkg-utils recipe?
>>
>> Its certainly desirable to have one set of alternatives files on a
>> multilib system, not two. The variables/paths could probably do with
>> being better however I've prefer not to trigger autobuilder failures on
>> this until that gets resolved so I did take this.
>>
>> Cheers,
>>
>> Richard
>>
>
> I should add some flexibility here. The problem is opkg-utils doesn't
> know what value OPKGLIBDIR has in the opkg recipe. It also isn't
> processed by a configure script to replace variables as it was in the
> opkg recipe.
>

Actually, OPKGLIBDIR is set in two places:

meta/classes/package_ipk.bbclass:
    OPKGLIBDIR = "${localstatedir}/lib"

meta/recipes-devtools/opkg/opkg.inc:
    target_localstatedir := "${localstatedir}"
    OPKGLIBDIR = "${target_localstatedir}/lib"

Should this be cleaned up so it's just set once globally and then we
can substitute that variable into the update-alternatives script
again?

-- 
Paul Barker

Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-02-14 13:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-12 14:33 [PATCH 0/1] (image|rootfs_ipk).bbclass, rootfs.py: ipk multilib fixes Laurentiu Palcu
2014-02-12 14:33 ` [PATCH 1/1] " Laurentiu Palcu
2014-02-12 14:44   ` Phil Blundell
2014-02-12 14:55     ` Laurentiu Palcu
2014-02-12 15:07       ` Phil Blundell
2014-02-12 15:40         ` Laurentiu Palcu
2014-02-13 11:38           ` Richard Purdie
2014-02-14 13:15             ` Paul Barker
2014-02-14 13:20               ` Paul Barker

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.