From: Ming Liu <ming.liu@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: [PATCH V3 1/3] base-files: move shells generating process to pkg_postinst
Date: Fri, 18 Oct 2013 19:11:38 +0800 [thread overview]
Message-ID: <1382094700-17805-1-git-send-email-ming.liu@windriver.com> (raw)
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 <ming.liu@windriver.com>
---
meta/recipes-core/base-files/base-files/shells | 8 --------
meta/recipes-core/base-files/base-files_3.0.14.bb | 20 ++++++++++++++++++--
2 files changed, 18 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..8e8ee9b 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,24 @@ do_install_append_linuxstdbase() {
done
}
+pkg_postinst_${PN} () {
+ if [ ! -f $D${sysconfdir}/shells ]; then
+ touch $D${sysconfdir}/shells
+ fi
+
+ grep -q "^/bin/sh$" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
+}
+
+pkg_postrm_${PN} () {
+ if [ -f $D${sysconfdir}/shells ]; then
+ printf "$(grep -v "^/bin/sh$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
+
+ if [ ! -s $D${sysconfdir}/shells ]; then
+ rm $D${sysconfdir}/shells
+ fi
+ fi
+}
+
PACKAGES = "${PN}-doc ${PN} ${PN}-dev ${PN}-dbg"
FILES_${PN} = "/"
FILES_${PN}-doc = "${docdir} ${datadir}/common-licenses"
--
1.7.1
next reply other threads:[~2013-10-18 11:11 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-18 11:11 Ming Liu [this message]
2013-10-18 11:11 ` [PATCH V3 2/3] screen: add pkg_postinst to register entry to /etc/shells Ming Liu
2013-10-18 11:11 ` [PATCH V3 3/3] bash: add pkg_postrm to remove the entry in /etc/shells Ming Liu
2013-10-18 14:59 ` Phil Blundell
2013-10-18 15:12 ` Mark Hatle
2013-10-18 15:18 ` Phil Blundell
2013-10-18 17:00 ` Mark Hatle
2013-10-20 5:50 ` Ming Liu
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=1382094700-17805-1-git-send-email-ming.liu@windriver.com \
--to=ming.liu@windriver.com \
--cc=openembedded-core@lists.openembedded.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox