* [PATCHv3] makedevs: add nativesdk to BBCLASSEXTENDS @ 2013-09-23 16:33 David Nyström 2013-09-23 16:34 ` [PATCH] shadow: Create recipe nativesdk-shadow David Nyström 2013-09-23 16:34 ` [PATCHv2] libpam: Avoid host contamination issue w. libprelude David Nyström 0 siblings, 2 replies; 10+ messages in thread From: David Nyström @ 2013-09-23 16:33 UTC (permalink / raw) To: openembedded-core This is a first in a series of patches to add items to the nativesdk toolchain tarball. Many of which are Yocto specific and needed to create a rootfs with pre and post install hooks successfully run, using only the toolchain tarball. End goal is to create a sandbox where _users_ of a Yocto based distribution can customize a rootfs from a package feed with their package manager of choice. Signed-off-by: David Nyström <david.nystrom@enea.com> --- meta/recipes-devtools/makedevs/makedevs_1.0.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/makedevs/makedevs_1.0.0.bb b/meta/recipes-devtools/makedevs/makedevs_1.0.0.bb index 2b9fd37..e6860f0 100644 --- a/meta/recipes-devtools/makedevs/makedevs_1.0.0.bb +++ b/meta/recipes-devtools/makedevs/makedevs_1.0.0.bb @@ -19,4 +19,4 @@ do_install() { install -m 0755 ${S}/makedevs ${D}${base_sbindir}/makedevs } -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH] shadow: Create recipe nativesdk-shadow 2013-09-23 16:33 [PATCHv3] makedevs: add nativesdk to BBCLASSEXTENDS David Nyström @ 2013-09-23 16:34 ` David Nyström 2013-09-23 18:01 ` Mark Hatle 2013-09-23 16:34 ` [PATCHv2] libpam: Avoid host contamination issue w. libprelude David Nyström 1 sibling, 1 reply; 10+ messages in thread From: David Nyström @ 2013-09-23 16:34 UTC (permalink / raw) To: openembedded-core This is a second in a series of patches to enable offline rootfs creation from a package repository. Some postinstall cmds are Yocto specific and needed to create a rootfs with pre and post install hooks successfully run, using only the toolchain tarball + a package repo. End goal is to create a sandbox where _users_ of a Yocto based distribution can customize a rootfs from a package feed with their package manager of choice. With this patch, I can successfully create packagegroup-core-boot with only the toolchain tarball(OPKG). More fixes for a few postinstall hooks outside of packagegroup-core-boot will come next. Signed-off-by: David Nyström <david.nystrom@enea.com> --- .../nativesdk-packagegroup-sdk-host.bb | 1 + .../shadow/nativesdk-shadow_4.1.4.3.bb | 62 ++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 meta/recipes-extended/shadow/nativesdk-shadow_4.1.4.3.bb diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb index 84fb95d..5a64934 100644 --- a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb +++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb @@ -20,6 +20,7 @@ RDEPENDS_${PN} = "\ nativesdk-libtool \ nativesdk-autoconf \ nativesdk-automake \ + ${@base_contains('DISTRO_FEATURES', 'pam', 'nativesdk-shadow', '', d)} \ " RDEPENDS_${PN}_darwin = "\ diff --git a/meta/recipes-extended/shadow/nativesdk-shadow_4.1.4.3.bb b/meta/recipes-extended/shadow/nativesdk-shadow_4.1.4.3.bb new file mode 100644 index 0000000..22f4cf3 --- /dev/null +++ b/meta/recipes-extended/shadow/nativesdk-shadow_4.1.4.3.bb @@ -0,0 +1,62 @@ +SUMMARY = "Tools to change and administer password and group data" +DESCRIPTION = "Tools to change and administer password and group data" +HOMEPAGE = "http://pkg-shadow.alioth.debian.org" +BUGTRACKER = "https://alioth.debian.org/tracker/?group_id=30580" +SECTION = "base utils" +LICENSE = "BSD | Artistic-1.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=08c553a87d4e51bbed50b20e0adcaede \ + file://src/passwd.c;beginline=8;endline=30;md5=d83888ea14ae61951982d77125947661" + +PR = "r8" + +inherit autotools gettext nativesdk + +SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/shadow-${PV}.tar.bz2 \ + file://shadow.automake-1.11.patch \ + file://shadow-4.1.3-dots-in-usernames.patch \ + file://shadow-4.1.4.2-env-reset-keep-locale.patch \ + file://add_root_cmd_options.patch \ + file://disable-syslog.patch \ + file://useradd.patch \ + file://shadow_fix_for_automake-1.12.patch \ + file://add_root_cmd_groupmems.patch \ + " + +SRC_URI[md5sum] = "b8608d8294ac88974f27b20f991c0e79" +SRC_URI[sha256sum] = "633f5bb4ea0c88c55f3642c97f9d25cbef74f82e0b4cf8d54e7ad6f9f9caa778" + +S = "${WORKDIR}/shadow-${PV}" + +EXTRA_OECONF += "--without-audit \ + --without-libcrack \ + --without-libpam \ + --without-selinux \ + --without-nscd" + +do_install() { + oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install + + # Info dir listing isn't interesting at this point so remove it if it exists. + if [ -e "${D}${infodir}/dir" ]; then + rm -f ${D}${infodir}/dir + fi + + # Enable CREATE_HOME by default. + sed -i 's/#CREATE_HOME/CREATE_HOME/g' ${D}${sysconfdir}/login.defs + + # As we are on an embedded system, ensure the users mailbox is in + # ~/ not /var/spool/mail by default, as who knows where or how big + # /var is. The system MDA will set this later anyway. + sed -i 's/MAIL_DIR/#MAIL_DIR/g' ${D}${sysconfdir}/login.defs + sed -i 's/#MAIL_FILE/MAIL_FILE/g' ${D}${sysconfdir}/login.defs + + # Disable checking emails. + sed -i 's/MAIL_CHECK_ENAB/#MAIL_CHECK_ENAB/g' ${D}${sysconfdir}/login.defs + + # Now we don't have a mail system. Disable mail creation for now. + sed -i 's:/bin/bash:/bin/sh:g' ${D}${sysconfdir}/default/useradd + sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd + + # Use users group by default + sed -i 's,^GROUP=1000,GROUP=100,g' ${D}${sysconfdir}/default/useradd +} -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] shadow: Create recipe nativesdk-shadow 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 0 siblings, 1 reply; 10+ messages in thread From: Mark Hatle @ 2013-09-23 18:01 UTC (permalink / raw) To: openembedded-core This looks to be the same as the 'native' package, but I don't think you can just add a BBCLASSEXTEND = "nativesdk" Perhaps (in 1.6) someone should look at merging the three back together. 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. --Mark On 9/23/13 11:34 AM, David Nyström wrote: > This is a second in a series of patches to enable > offline rootfs creation from a package repository. > > Some postinstall cmds are Yocto specific and needed to create a > rootfs with pre and post install hooks successfully run, > using only the toolchain tarball + a package repo. > > End goal is to create a sandbox where _users_ of a Yocto > based distribution can customize a rootfs from a package feed > with their package manager of choice. > > With this patch, I can successfully create packagegroup-core-boot > with only the toolchain tarball(OPKG). More fixes for a few postinstall > hooks outside of packagegroup-core-boot will come next. > > Signed-off-by: David Nyström <david.nystrom@enea.com> > --- > .../nativesdk-packagegroup-sdk-host.bb | 1 + > .../shadow/nativesdk-shadow_4.1.4.3.bb | 62 ++++++++++++++++++++++ > 2 files changed, 63 insertions(+) > create mode 100644 meta/recipes-extended/shadow/nativesdk-shadow_4.1.4.3.bb > > diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb > index 84fb95d..5a64934 100644 > --- a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb > +++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb > @@ -20,6 +20,7 @@ RDEPENDS_${PN} = "\ > nativesdk-libtool \ > nativesdk-autoconf \ > nativesdk-automake \ > + ${@base_contains('DISTRO_FEATURES', 'pam', 'nativesdk-shadow', '', d)} \ > " > > RDEPENDS_${PN}_darwin = "\ > diff --git a/meta/recipes-extended/shadow/nativesdk-shadow_4.1.4.3.bb b/meta/recipes-extended/shadow/nativesdk-shadow_4.1.4.3.bb > new file mode 100644 > index 0000000..22f4cf3 > --- /dev/null > +++ b/meta/recipes-extended/shadow/nativesdk-shadow_4.1.4.3.bb > @@ -0,0 +1,62 @@ > +SUMMARY = "Tools to change and administer password and group data" > +DESCRIPTION = "Tools to change and administer password and group data" > +HOMEPAGE = "http://pkg-shadow.alioth.debian.org" > +BUGTRACKER = "https://alioth.debian.org/tracker/?group_id=30580" > +SECTION = "base utils" > +LICENSE = "BSD | Artistic-1.0" > +LIC_FILES_CHKSUM = "file://COPYING;md5=08c553a87d4e51bbed50b20e0adcaede \ > + file://src/passwd.c;beginline=8;endline=30;md5=d83888ea14ae61951982d77125947661" > + > +PR = "r8" > + > +inherit autotools gettext nativesdk > + > +SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/shadow-${PV}.tar.bz2 \ > + file://shadow.automake-1.11.patch \ > + file://shadow-4.1.3-dots-in-usernames.patch \ > + file://shadow-4.1.4.2-env-reset-keep-locale.patch \ > + file://add_root_cmd_options.patch \ > + file://disable-syslog.patch \ > + file://useradd.patch \ > + file://shadow_fix_for_automake-1.12.patch \ > + file://add_root_cmd_groupmems.patch \ > + " > + > +SRC_URI[md5sum] = "b8608d8294ac88974f27b20f991c0e79" > +SRC_URI[sha256sum] = "633f5bb4ea0c88c55f3642c97f9d25cbef74f82e0b4cf8d54e7ad6f9f9caa778" > + > +S = "${WORKDIR}/shadow-${PV}" > + > +EXTRA_OECONF += "--without-audit \ > + --without-libcrack \ > + --without-libpam \ > + --without-selinux \ > + --without-nscd" > + > +do_install() { > + oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install > + > + # Info dir listing isn't interesting at this point so remove it if it exists. > + if [ -e "${D}${infodir}/dir" ]; then > + rm -f ${D}${infodir}/dir > + fi > + > + # Enable CREATE_HOME by default. > + sed -i 's/#CREATE_HOME/CREATE_HOME/g' ${D}${sysconfdir}/login.defs > + > + # As we are on an embedded system, ensure the users mailbox is in > + # ~/ not /var/spool/mail by default, as who knows where or how big > + # /var is. The system MDA will set this later anyway. > + sed -i 's/MAIL_DIR/#MAIL_DIR/g' ${D}${sysconfdir}/login.defs > + sed -i 's/#MAIL_FILE/MAIL_FILE/g' ${D}${sysconfdir}/login.defs > + > + # Disable checking emails. > + sed -i 's/MAIL_CHECK_ENAB/#MAIL_CHECK_ENAB/g' ${D}${sysconfdir}/login.defs > + > + # Now we don't have a mail system. Disable mail creation for now. > + sed -i 's:/bin/bash:/bin/sh:g' ${D}${sysconfdir}/default/useradd > + sed -i '/^CREATE_MAIL_SPOOL/ s:^:#:' ${D}${sysconfdir}/default/useradd > + > + # Use users group by default > + sed -i 's,^GROUP=1000,GROUP=100,g' ${D}${sysconfdir}/default/useradd > +} > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] shadow: Create recipe nativesdk-shadow 2013-09-23 18:01 ` Mark Hatle @ 2013-09-23 19:01 ` David Nystrom 2013-09-23 21:14 ` Richard Purdie 0 siblings, 1 reply; 10+ messages in thread From: David Nystrom @ 2013-09-23 19:01 UTC (permalink / raw) To: Mark Hatle; +Cc: openembedded-core [-- Attachment #1: Type: text/plain, Size: 594 bytes --] 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. > 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 [-- Attachment #2: Type: text/html, Size: 803 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] shadow: Create recipe nativesdk-shadow 2013-09-23 19:01 ` David Nystrom @ 2013-09-23 21:14 ` Richard Purdie 2013-09-24 8:25 ` Richard Purdie 0 siblings, 1 reply; 10+ messages in thread From: Richard Purdie @ 2013-09-23 21:14 UTC (permalink / raw) To: David Nystrom; +Cc: openembedded-core 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. Cheers, Richard ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] shadow: Create recipe nativesdk-shadow 2013-09-23 21:14 ` Richard Purdie @ 2013-09-24 8:25 ` Richard Purdie 2013-09-24 14:30 ` David Nyström 0 siblings, 1 reply; 10+ messages in thread From: Richard Purdie @ 2013-09-24 8:25 UTC (permalink / raw) To: David Nystrom; +Cc: openembedded-core 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 Cheers, Richard ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] shadow: Create recipe nativesdk-shadow 2013-09-24 8:25 ` Richard Purdie @ 2013-09-24 14:30 ` David Nyström 2013-09-25 10:03 ` Richard Purdie 0 siblings, 1 reply; 10+ messages in thread From: David Nyström @ 2013-09-24 14:30 UTC (permalink / raw) To: Richard Purdie; +Cc: openembedded-core 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 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] shadow: Create recipe nativesdk-shadow 2013-09-24 14:30 ` David Nyström @ 2013-09-25 10:03 ` Richard Purdie 2013-09-25 12:24 ` David Nyström 0 siblings, 1 reply; 10+ messages in thread From: Richard Purdie @ 2013-09-25 10:03 UTC (permalink / raw) To: David Nyström; +Cc: openembedded-core On Tue, 2013-09-24 at 16:30 +0200, David Nyström wrote: > 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. Basically the postinst is ignored for the -native version. It never gets packaged so isn't relevant. Adding in special cases for native for each and every recipe would get ugly very quickly. > 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. nativesdk are built to run in that specific path. We're therefore not installing them to some subdirectory where a root makes sense, the prefix really was /opt/xxx. We then manipulate things later to make them more relocatable. > > 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 ? nativesdk postinstalls are probably badly handled at the moment. I suspect if things can run at rootfs creation time they work out, if they can't run then, they never happen at all. We don't have a "first boot" of the sdk... Cheers, Richard ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] shadow: Create recipe nativesdk-shadow 2013-09-25 10:03 ` Richard Purdie @ 2013-09-25 12:24 ` David Nyström 0 siblings, 0 replies; 10+ messages in thread From: David Nyström @ 2013-09-25 12:24 UTC (permalink / raw) To: Richard Purdie; +Cc: openembedded-core On 09/25/2013 12:03 PM, Richard Purdie wrote: > On Tue, 2013-09-24 at 16:30 +0200, David Nyström wrote: >> 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. > > Basically the postinst is ignored for the -native version. It never gets > packaged so isn't relevant. Adding in special cases for native for each > and every recipe would get ugly very quickly. > Sorry, bad wording on my end. I was worried about nativesdk post/prefuncs beeing added. <snip> >> 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 ? > > nativesdk postinstalls are probably badly handled at the moment. I Agree, it would be good with a consistent handling between nativesdk and target pre/postinstall hooks. I'll try to dive into this subject when I have more time. > I suspect if things can run at rootfs creation time they work out, if they > can't run then, they never happen at all. We don't have a "first boot" > of the sdk... > Cheers, > > Richard > ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCHv2] libpam: Avoid host contamination issue w. libprelude 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 16:34 ` David Nyström 1 sibling, 0 replies; 10+ messages in thread From: David Nyström @ 2013-09-23 16:34 UTC (permalink / raw) To: openembedded-core Since we dont use prelude in OE, we just disable autodetection of prelude in the libpam configuration. Seems like an old bug: http://lists.openembedded.org/pipermail/openembedded-devel/2012-March/083804.html Signed-off-by: David Nyström <david.nystrom@enea.com> --- meta/recipes-extended/pam/libpam_1.1.6.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-extended/pam/libpam_1.1.6.bb b/meta/recipes-extended/pam/libpam_1.1.6.bb index f7493c5..c9bdcb0 100644 --- a/meta/recipes-extended/pam/libpam_1.1.6.bb +++ b/meta/recipes-extended/pam/libpam_1.1.6.bb @@ -37,7 +37,8 @@ EXTRA_OECONF = "--with-db-uniquename=_pam \ --includedir=${includedir}/security \ --libdir=${base_libdir} \ --disable-nis \ - --disable-regenerate-docu" + --disable-regenerate-docu \ + --disable-prelude" CFLAGS_append = " -fPIC " -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2013-09-25 12:24 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 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
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox