On Thu, Oct 17, 2013 at 10:04:05AM +0800, Ming Liu wrote: > The "shells" file lists several valid login shells, of which some might be > not present in a particular rootfs, this is unreasonable. > > Fix it by moving "shells" file generating process to pkg_postinst, for other > shells must do the same thing to register themselves to this file. > > Signed-off-by: Ming Liu <[email protected]> > --- > meta/recipes-core/base-files/base-files/shells | 8 -------- > meta/recipes-core/base-files/base-files_3.0.14.bb | 8 ++++++-- > 2 files changed, 6 insertions(+), 10 deletions(-) > delete mode 100644 meta/recipes-core/base-files/base-files/shells > > diff --git a/meta/recipes-core/base-files/base-files/shells > b/meta/recipes-core/base-files/base-files/shells > deleted file mode 100644 > index ce39b3d..0000000 > --- a/meta/recipes-core/base-files/base-files/shells > +++ /dev/null > @@ -1,8 +0,0 @@ > -# /etc/shells: valid login shells > -/bin/sh > -/bin/ash > -/bin/bash > -/bin/dash > -/bin/ksh > -/usr/bin/ksh > -/usr/bin/screen > diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb > b/meta/recipes-core/base-files/base-files_3.0.14.bb > index 054fefa..47c7ebe 100644 > --- a/meta/recipes-core/base-files/base-files_3.0.14.bb > +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb > @@ -16,7 +16,6 @@ SRC_URI = "file://rotation \ > file://inputrc \ > file://host.conf \ > file://profile \ > - file://shells \ > file://fstab \ > file://filesystems \ > file://issue.net \ > @@ -92,7 +91,6 @@ do_install () { > install -m 0644 ${WORKDIR}/usbd ${D}${sysconfdir}/default/usbd > sed -i "s#ROOTHOME#${ROOT_HOME}#" ${WORKDIR}/profile > install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile > - install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells > install -m 0755 ${WORKDIR}/share/dot.profile > ${D}${sysconfdir}/skel/.profile > install -m 0755 ${WORKDIR}/share/dot.bashrc > ${D}${sysconfdir}/skel/.bashrc > install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc > @@ -137,6 +135,12 @@ do_install_append_linuxstdbase() { > done > } > > +pkg_postinst_${PN} () { > + touch $D${sysconfdir}/shells > + grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> > $D${sysconfdir}/shells
What it someone installs component providing /usr/bin/shell? Use at
least ^/bin/sh$ in grep.
> +}
> +
> +
> PACKAGES = "${PN}-doc ${PN} ${PN}-dev ${PN}-dbg"
> FILES_${PN} = "/"
> FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
> --
> 1.8.3.3
>
> _______________________________________________
> Openembedded-core mailing list
> [email protected]
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
Martin 'JaMa' Jansa jabber: [email protected]
signature.asc
Description: Digital signature
_______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
