From: "David Nyström" <david.c.nystrom@gmail.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] shadow: Create recipe nativesdk-shadow
Date: Tue, 24 Sep 2013 16:30:45 +0200 [thread overview]
Message-ID: <5241A215.4020501@gmail.com> (raw)
In-Reply-To: <1380011114.18603.270.camel@ted>
On 09/24/2013 10:25 AM, Richard Purdie wrote:
> On Mon, 2013-09-23 at 22:14 +0100, Richard Purdie wrote:
>> On Mon, 2013-09-23 at 21:01 +0200, David Nystrom wrote:
>>>
>>> On Sep 23, 2013 8:01 PM, "Mark Hatle" <mark.hatle@windriver.com>
>>> wrote:
>>>>
>>>> This looks to be the same as the 'native' package, but I don't think
>>> you can just add a BBCLASSEXTEND = "nativesdk"
>>>
>>> It mostly is and I cant, your right.
>>
>> Why not? Just the SRC_URI or other issues?
>>
>>>> Perhaps (in 1.6) someone should look at merging the three back
>>> together.
>>>
>>> Agree, the merged recipe will also get a bit messy, but probably
>>> easier to maintain than in its current state.
>>>
>>>> If this is the same as the native version, I'd suggest adding a
>>> comment stating as much so we can hopefully keep them in sync.
>>>
>>> Will do, will return with v2
>>>
>> Well, I'm not happy with the idea of duplicating all this code.
>> shadow-native shouldn't exist and this makes things worse. With a few
>> minutes, I could write this patch:
>>
>> http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t2&id=0730423fcda165a12112182b093d2f6df2f9c5eb
>>
>> which at least makes the situation a bit less ugly. I guess I did spend
>> years doing these kinds of patches back when we had 50 versions of
>> everything and BBCLASSEXTEND didn't yet exist. With a few more minutes
>> perhaps I can get rid of the separate -native, now the differences are
>> clear. meld is a nice too for this kind of work btw.
>
> Better still, a conversion to BBCLASSEXTEND:
>
> http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=rpurdie/t2&id=142d11b9b61bf18567cdb0527b7e63683c5afa1a
Thanks for that, I'll take above as a learning experience.
I'm have a question about this though.
diff --git a/meta/recipes-extended/shadow/shadow.inc
b/meta/recipes-extended/shadow/shadow.inc
index 4df5e5e..75b0afc 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
<snip>
+pkg_postinst_${PN} () {
+ if [ "x$D" != "x" ]; then
+ rootarg="--root=$D"
+ else
+ rootarg=""
+ fi
+
+ pwconv $rootarg
+ grpconv $rootarg
+}
<snip>
This will introduce the postinstall hook for both ${BPN}-native and
${BPN} ?. Before the change, the postinstall hook was activated only by
${BPN} afaict. Tried removing it from native* through
pkg_postinst_${BPN}, but that does not seem to work.
Hmm, slightly off-topic, but when looking at the postinstalls:
shadow:
cat /tmp/opkg-extract-574/CONTROL/postinst
if [ "x$D" != "x" ]; then
rootarg="--root=$D"
else
rootarg=""
fi
pwconv $rootarg
grpconv $rootarg
update-alternatives --install /usr/bin/passwd passwd
/usr/bin/passwd.shadow 200
update-alternatives --install /usr/bin/chfn chfn /usr/bin/chfn.shadow 200
update-alternatives --install /usr/bin/newgrp newgrp
/usr/bin/newgrp.shadow 200
Above is not a problem since OPKG_OFFLINE_ROOT in update-alternatives
can be used to redirect symlink creation when creating a from a package
repo.
nativesdk-shadow:
if [ "x$D" != "x" ]; then
rootarg="--root=$D"
else
rootarg=""
fi
pwconv $rootarg
grpconv $rootarg
update-alternatives --install
/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/passwd
passwd
/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/passwd.shadow
200
update-alternatives --install
/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/chfn chfn
/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/chfn.shadow 200
update-alternatives --install
/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/newgrp
newgrp
/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/newgrp.shadow
200
update-alternatives --install
/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/chsh chsh
/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/chsh.shadow 200
Could we not add a "--root" option to update-alternatives like done to
update-rc.d instead of hardcoding paths or using envs.
Also, seems like ${sysconfdir} in the nativesdk-opkg postinstall expands to:
chmod 0755 $D${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts
chmod 0755
$D/opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/etc/rcS.d/S98run-postinsts
Is this really expected behaviour ?
Br,
David
next prev parent reply other threads:[~2013-09-24 14:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-23 16:33 [PATCHv3] makedevs: add nativesdk to BBCLASSEXTENDS David Nyström
2013-09-23 16:34 ` [PATCH] shadow: Create recipe nativesdk-shadow David Nyström
2013-09-23 18:01 ` Mark Hatle
2013-09-23 19:01 ` David Nystrom
2013-09-23 21:14 ` Richard Purdie
2013-09-24 8:25 ` Richard Purdie
2013-09-24 14:30 ` David Nyström [this message]
2013-09-25 10:03 ` Richard Purdie
2013-09-25 12:24 ` David Nyström
2013-09-23 16:34 ` [PATCHv2] libpam: Avoid host contamination issue w. libprelude David Nyström
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5241A215.4020501@gmail.com \
--to=david.c.nystrom@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=richard.purdie@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.