Patchwork packagegroup-core-standalone-sdk-target: Add qemuwrapper-cross to target sysroot

login
register
mail settings
Submitter David Nyström
Date Jan. 22, 2014, 3:48 p.m.
Message ID <1390405731-19334-1-git-send-email-david.nystrom@enea.com>
Download mbox | patch
Permalink /patch/65559/
State Accepted
Commit 6eaf5b8525503b57ef1b29fd4e4147488c34eb77
Headers show

Comments

David Nyström - Jan. 22, 2014, 3:48 p.m.
Some postinstall scripts use the qemuwrapper script, so to be able to
offline install these packages outside of the bitbake environment, this script
needs to be exposed also in the SDK.

This to enable rootfs generation from a package repository using only a
package repository and the toolchain tarball.

See https://github.com/nysan/rootfs-sandbox for examples.

Signed-off-by: David Nyström <david.nystrom@enea.com>
---
 .../packagegroups/packagegroup-core-standalone-sdk-target.bb             | 1 +
 1 file changed, 1 insertion(+)
Otavio Salvador - Jan. 22, 2014, 6:08 p.m.
On Wed, Jan 22, 2014 at 1:48 PM, David Nyström
<david.c.nystrom@gmail.com> wrote:
> Some postinstall scripts use the qemuwrapper script, so to be able to
> offline install these packages outside of the bitbake environment, this script
> needs to be exposed also in the SDK.
>
> This to enable rootfs generation from a package repository using only a
> package repository and the toolchain tarball.
>
> See https://github.com/nysan/rootfs-sandbox for examples.
>
> Signed-off-by: David Nyström <david.nystrom@enea.com>

Shouldn't this be a RDEPENDS of the postinst package?
David Nyström - Jan. 22, 2014, 6:15 p.m.
On 2014-01-22 19:08, Otavio Salvador wrote:
> On Wed, Jan 22, 2014 at 1:48 PM, David Nyström
> <david.c.nystrom@gmail.com> wrote:
>> Some postinstall scripts use the qemuwrapper script, so to be able to
>> offline install these packages outside of the bitbake environment, this script
>> needs to be exposed also in the SDK.
>>
>> This to enable rootfs generation from a package repository using only a
>> package repository and the toolchain tarball.
>>
>> See https://github.com/nysan/rootfs-sandbox for examples.
>>
>> Signed-off-by: David Nyström <david.nystrom@enea.com>
>
> Shouldn't this be a RDEPENDS of the postinst package?
>

Do you mean a RDEPENDS on the run-postinsts package ?
In that case no.

When $D is set, postinstalls interpret this as a offline install,
some postinstalls call postinstall-intercepts, which in turn use the 
qemuwrapper script _only_ if $D is set.

run-postinsts should be installed if there are postinstalls which failed 
to run during the offline install.

Just to clarify this, the qemuwrapper-cross will only be installed to 
the target SDK sysroot, never on the target rootfs.

Br,
David
Otavio Salvador - Jan. 22, 2014, 6:24 p.m.
On Wed, Jan 22, 2014 at 4:15 PM, David Nyström <david.nystrom@enea.com> wrote:
> On 2014-01-22 19:08, Otavio Salvador wrote:
>>
>> On Wed, Jan 22, 2014 at 1:48 PM, David Nyström
>> <david.c.nystrom@gmail.com> wrote:
>>>
>>> Some postinstall scripts use the qemuwrapper script, so to be able to
>>> offline install these packages outside of the bitbake environment, this
>>> script
>>> needs to be exposed also in the SDK.
>>>
>>> This to enable rootfs generation from a package repository using only a
>>> package repository and the toolchain tarball.
>>>
>>> See https://github.com/nysan/rootfs-sandbox for examples.
>>>
>>> Signed-off-by: David Nyström <david.nystrom@enea.com>
>>
>>
>> Shouldn't this be a RDEPENDS of the postinst package?
>>
>
> Do you mean a RDEPENDS on the run-postinsts package ?
> In that case no.
>
> When $D is set, postinstalls interpret this as a offline install,
> some postinstalls call postinstall-intercepts, which in turn use the
> qemuwrapper script _only_ if $D is set.
>
> run-postinsts should be installed if there are postinstalls which failed to
> run during the offline install.
>
> Just to clarify this, the qemuwrapper-cross will only be installed to the
> target SDK sysroot, never on the target rootfs.

No; in postinstall-intercepts RDEPENDS.
David Nyström - Jan. 22, 2014, 6:29 p.m.
On ons 22 jan 2014 19:24:47, Otavio Salvador wrote:
> On Wed, Jan 22, 2014 at 4:15 PM, David Nyström <david.nystrom@enea.com> wrote:
>> On 2014-01-22 19:08, Otavio Salvador wrote:
>>>
>>> On Wed, Jan 22, 2014 at 1:48 PM, David Nyström
>>> <david.c.nystrom@gmail.com> wrote:
>>>>
>>>> Some postinstall scripts use the qemuwrapper script, so to be able to
>>>> offline install these packages outside of the bitbake environment, this
>>>> script
>>>> needs to be exposed also in the SDK.
>>>>
>>>> This to enable rootfs generation from a package repository using only a
>>>> package repository and the toolchain tarball.
>>>>
>>>> See https://github.com/nysan/rootfs-sandbox for examples.
>>>>
>>>> Signed-off-by: David Nyström <david.nystrom@enea.com>
>>>
>>>
>>> Shouldn't this be a RDEPENDS of the postinst package?
>>>
>>
>> Do you mean a RDEPENDS on the run-postinsts package ?
>> In that case no.
>>
>> When $D is set, postinstalls interpret this as a offline install,
>> some postinstalls call postinstall-intercepts, which in turn use the
>> qemuwrapper script _only_ if $D is set.
>>
>> run-postinsts should be installed if there are postinstalls which failed to
>> run during the offline install.
>>
>> Just to clarify this, the qemuwrapper-cross will only be installed to the
>> target SDK sysroot, never on the target rootfs.
>
> No; in postinstall-intercepts RDEPENDS.
>

Ah, now I get it.
If I do that, will it not end up on the target rootfs ?

Br,
David
Otavio Salvador - Jan. 22, 2014, 6:33 p.m.
On Wed, Jan 22, 2014 at 4:29 PM, David Nyström
<david.c.nystrom@gmail.com> wrote:
> On ons 22 jan 2014 19:24:47, Otavio Salvador wrote:
>>
>> On Wed, Jan 22, 2014 at 4:15 PM, David Nyström <david.nystrom@enea.com>
>> wrote:
>>>
>>> On 2014-01-22 19:08, Otavio Salvador wrote:
>>>>
>>>>
>>>> On Wed, Jan 22, 2014 at 1:48 PM, David Nyström
>>>> <david.c.nystrom@gmail.com> wrote:
>>>>>
>>>>>
>>>>> Some postinstall scripts use the qemuwrapper script, so to be able to
>>>>> offline install these packages outside of the bitbake environment, this
>>>>> script
>>>>> needs to be exposed also in the SDK.
>>>>>
>>>>> This to enable rootfs generation from a package repository using only a
>>>>> package repository and the toolchain tarball.
>>>>>
>>>>> See https://github.com/nysan/rootfs-sandbox for examples.
>>>>>
>>>>> Signed-off-by: David Nyström <david.nystrom@enea.com>
>>>>
>>>>
>>>>
>>>> Shouldn't this be a RDEPENDS of the postinst package?
>>>>
>>>
>>> Do you mean a RDEPENDS on the run-postinsts package ?
>>> In that case no.
>>>
>>> When $D is set, postinstalls interpret this as a offline install,
>>> some postinstalls call postinstall-intercepts, which in turn use the
>>> qemuwrapper script _only_ if $D is set.
>>>
>>> run-postinsts should be installed if there are postinstalls which failed
>>> to
>>> run during the offline install.
>>>
>>> Just to clarify this, the qemuwrapper-cross will only be installed to the
>>> target SDK sysroot, never on the target rootfs.
>>
>>
>> No; in postinstall-intercepts RDEPENDS.
>>
>
> Ah, now I get it.
> If I do that, will it not end up on the target rootfs ?

I don't think so.
David Nyström - Jan. 23, 2014, 8:26 a.m.
On ons 22 jan 2014 19:33:22, Otavio Salvador wrote:
> On Wed, Jan 22, 2014 at 4:29 PM, David Nyström
> <david.c.nystrom@gmail.com> wrote:
>> On ons 22 jan 2014 19:24:47, Otavio Salvador wrote:
>>>
>>> On Wed, Jan 22, 2014 at 4:15 PM, David Nyström <david.nystrom@enea.com>
>>> wrote:
>>>>
>>>> On 2014-01-22 19:08, Otavio Salvador wrote:
>>>>>
>>>>>
>>>>> On Wed, Jan 22, 2014 at 1:48 PM, David Nyström
>>>>> <david.c.nystrom@gmail.com> wrote:
>>>>>>
>>>>>>
>>>>>> Some postinstall scripts use the qemuwrapper script, so to be able to
>>>>>> offline install these packages outside of the bitbake environment, this
>>>>>> script
>>>>>> needs to be exposed also in the SDK.
>>>>>>
>>>>>> This to enable rootfs generation from a package repository using only a
>>>>>> package repository and the toolchain tarball.
>>>>>>
>>>>>> See https://github.com/nysan/rootfs-sandbox for examples.
>>>>>>
>>>>>> Signed-off-by: David Nyström <david.nystrom@enea.com>
>>>>>
>>>>>
>>>>>
>>>>> Shouldn't this be a RDEPENDS of the postinst package?
>>>>>
>>>>
>>>> Do you mean a RDEPENDS on the run-postinsts package ?
>>>> In that case no.
>>>>
>>>> When $D is set, postinstalls interpret this as a offline install,
>>>> some postinstalls call postinstall-intercepts, which in turn use the
>>>> qemuwrapper script _only_ if $D is set.
>>>>
>>>> run-postinsts should be installed if there are postinstalls which failed
>>>> to
>>>> run during the offline install.
>>>>
>>>> Just to clarify this, the qemuwrapper-cross will only be installed to the
>>>> target SDK sysroot, never on the target rootfs.
>>>
>>>
>>> No; in postinstall-intercepts RDEPENDS.
>>>
>>
>> Ah, now I get it.
>> If I do that, will it not end up on the target rootfs ?
>
> I don't think so.
>

1. RDEPENDS_${PN} = "qemuwrapper-cross" wont work since TARGET_ARCH 
detected in qemuwrapper-cross recipe will be SDKMACHINE when
compiled as nativesdk-qemuwrapper-cross. (I know, nativesdk-*-cross 
should not be done).
I have not found a way to retrieve the real target architecture during 
a nativesdk build.

Also, we can't add qemuwrapper to the nativesdk sysroot, since we may 
have mutiple target sysroots which have different
qemuwrapper settings.

Br,
David
Otavio Salvador - Jan. 23, 2014, 10:52 a.m.
On Thu, Jan 23, 2014 at 6:26 AM, David Nyström
<david.c.nystrom@gmail.com> wrote:
> On ons 22 jan 2014 19:33:22, Otavio Salvador wrote:
>>
>> On Wed, Jan 22, 2014 at 4:29 PM, David Nyström
>> <david.c.nystrom@gmail.com> wrote:
>>>
>>> On ons 22 jan 2014 19:24:47, Otavio Salvador wrote:
>>>>
>>>>
>>>> On Wed, Jan 22, 2014 at 4:15 PM, David Nyström <david.nystrom@enea.com>
>>>> wrote:
>>>>>
>>>>>
>>>>> On 2014-01-22 19:08, Otavio Salvador wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Jan 22, 2014 at 1:48 PM, David Nyström
>>>>>> <david.c.nystrom@gmail.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Some postinstall scripts use the qemuwrapper script, so to be able to
>>>>>>> offline install these packages outside of the bitbake environment,
>>>>>>> this
>>>>>>> script
>>>>>>> needs to be exposed also in the SDK.
>>>>>>>
>>>>>>> This to enable rootfs generation from a package repository using only
>>>>>>> a
>>>>>>> package repository and the toolchain tarball.
>>>>>>>
>>>>>>> See https://github.com/nysan/rootfs-sandbox for examples.
>>>>>>>
>>>>>>> Signed-off-by: David Nyström <david.nystrom@enea.com>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Shouldn't this be a RDEPENDS of the postinst package?
>>>>>>
>>>>>
>>>>> Do you mean a RDEPENDS on the run-postinsts package ?
>>>>> In that case no.
>>>>>
>>>>> When $D is set, postinstalls interpret this as a offline install,
>>>>> some postinstalls call postinstall-intercepts, which in turn use the
>>>>> qemuwrapper script _only_ if $D is set.
>>>>>
>>>>> run-postinsts should be installed if there are postinstalls which
>>>>> failed
>>>>> to
>>>>> run during the offline install.
>>>>>
>>>>> Just to clarify this, the qemuwrapper-cross will only be installed to
>>>>> the
>>>>> target SDK sysroot, never on the target rootfs.
>>>>
>>>>
>>>>
>>>> No; in postinstall-intercepts RDEPENDS.
>>>>
>>>
>>> Ah, now I get it.
>>> If I do that, will it not end up on the target rootfs ?
>>
>>
>> I don't think so.
>>
>
> 1. RDEPENDS_${PN} = "qemuwrapper-cross" wont work since TARGET_ARCH detected
> in qemuwrapper-cross recipe will be SDKMACHINE when
> compiled as nativesdk-qemuwrapper-cross. (I know, nativesdk-*-cross should
> not be done).
> I have not found a way to retrieve the real target architecture during a
> nativesdk build.
>
> Also, we can't add qemuwrapper to the nativesdk sysroot, since we may have
> mutiple target sysroots which have different
> qemuwrapper settings.

I see. I didn't expect it but OK.

Sorry for the hassle :-(

Patch

diff --git a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
index 57480b9..3325ef6 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bb
@@ -18,4 +18,5 @@  RDEPENDS_${PN} = "\
     libstdc++ \
     libstdc++-dev \
     ${LIBC_DEPENDENCIES} \
+    qemuwrapper-cross \
     "