[OE-core] [PATCH] shadow: Create recipe nativesdk-shadow
Mark Hatle
mark.hatle at windriver.com
Mon Sep 23 18:01:50 UTC 2013
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 at 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
> +}
>
More information about the Openembedded-core
mailing list