[OE-core] [PATCH] shadow: Split securetty into a separate recipe
Martin Jansa
martin.jansa at gmail.com
Wed Jan 25 13:56:48 UTC 2012
On Tue, Jan 24, 2012 at 05:10:23PM +0000, Richard Purdie wrote:
> The securetty file is machine specific whilst the rest of the shadow recipe
> is not. Unfortunately making the recipce machine specific is both inefficient
> and also causes dependency problems since parts of the system such as the useradd
> code depend upon it and this introduces a machine specific element to sstate
> checksums which should not be machine specific.
>
> To resolve this, this patch separates out the file into a separate recipe
> meaning the machine specific components are isolated.
>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
Acked-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
> diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow-securetty_4.1.4.3.bb
> new file mode 100644
> index 0000000..e391d24
> --- a/dev/null
> +++ b/meta/recipes-extended/shadow/shadow-securetty_4.1.4.3.bb
> @@ -0,0 +1,29 @@
> +SUMMARY = "Provider of the machine specific securetty file"
> +DESCRIPTION = "Provider of the machine specific securetty file"
> +SECTION = "base utils"
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
> +
> +INHIBIT_DEFAULT_DEPS = "1"
> +
> +SRC_URI = "file://securetty"
> +
> +# Since we deduce our arch from ${SERIAL_CONSOLE}
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +do_install () {
> + # Ensure we add a suitable securetty file to the package that has
> + # most common embedded TTYs defined.
> + if [ ! -z "${SERIAL_CONSOLE}" ]; then
> + # Our SERIAL_CONSOLE contains a baud rate and sometimes a -L
> + # option as well. The following pearl :) takes that and converts
> + # it into newline-separated tty's and appends them into
> + # securetty. So if a machine has a weird looking console device
> + # node (e.g. ttyAMA0) that securetty does not know, it will get
> + # appended to securetty and root logins will be allowed on that
> + # console.
> + echo "${SERIAL_CONSOLE}" | sed -e 's/[0-9][0-9]\|\-L//g'|tr "[ ]" "[\n]" >> ${WORKDIR}/securetty
> + fi
> + install -d ${D}${sysconfdir}
> + install -m 0400 ${WORKDIR}/securetty ${D}${sysconfdir}/securetty
> +}
> diff --git a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
> index dddac2c..a69eb7c 100644
> --- a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
> +++ b/meta/recipes-extended/shadow/shadow_4.1.4.3.bb
> @@ -8,13 +8,12 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=08c553a87d4e51bbed50b20e0adcaede \
> file://src/passwd.c;firstline=8;endline=30;md5=2899a045e90511d0e043b85a7db7e2fe"
>
> DEPENDS = "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
> -RDEPENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
> -PR = "r6"
> +RDEPENDS_${PN} = "shadow-securetty ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_PLUGINS}', '', d)}"
> +PR = "r7"
>
> SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \
> file://login_defs_pam.sed \
> ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
> - file://securetty \
> 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 \
> @@ -27,9 +26,6 @@ SRC_URI[sha256sum] = "633f5bb4ea0c88c55f3642c97f9d25cbef74f82e0b4cf8d54e7ad6f9f9
>
> inherit autotools gettext
>
> -# Since we deduce our arch from ${SERIAL_CONSOLE}
> -PACKAGE_ARCH = "${MACHINE_ARCH}"
> -
> EXTRA_OECONF += "--without-audit \
> --without-libcrack \
> ${@base_contains('DISTRO_FEATURES', 'pam', '--with-libpam', '--without-libpam', d)} \
> @@ -101,20 +97,6 @@ do_install_append() {
> # lead rpm failed dependencies.
> ln -sf vipw.${PN} ${D}${base_sbindir}/vigr.${PN}
> ln -sf newgrp.${PN} ${D}${bindir}/sg
> -
> - # Ensure we add a suitable securetty file to the package that has
> - # most common embedded TTYs defined.
> - if [ ! -z "${SERIAL_CONSOLE}" ]; then
> - # Our SERIAL_CONSOLE contains a baud rate and sometimes a -L
> - # option as well. The following pearl :) takes that and converts
> - # it into newline-separated tty's and appends them into
> - # securetty. So if a machine has a weird looking console device
> - # node (e.g. ttyAMA0) that securetty does not know, it will get
> - # appended to securetty and root logins will be allowed on that
> - # console.
> - echo "${SERIAL_CONSOLE}" | sed -e 's/[0-9][0-9]\|\-L//g'|tr "[ ]" "[\n]" >> ${WORKDIR}/securetty
> - fi
> - install -m 0400 ${WORKDIR}/securetty ${D}${sysconfdir}/securetty
> }
>
> pkg_postinst_${PN} () {
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
--
Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20120125/70e6cdf6/attachment-0002.sig>
More information about the Openembedded-core
mailing list