Fix for runtime error for rescue mode
v2 cover Fix for runtime error for rescue mode
Changes in V2:
1. Add util-linux-sulogin to RDEPENDS of util-linux
The following changes since commit 6333186e9764b2c269a2b3869956860fa8fde2b1:
binutils: Fix packaging now gold is always built (2015-04-08 23:10:57 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib ChenQi/bug6698
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/bug6698
Chen Qi (2):
util-linux: split out util-linux-sulogin
shadow: add 'util-linux-sulogin' to RDEPENDS
meta/recipes-core/util-linux/util-linux.inc | 12 ++++++++---- meta/recipes-extended/shadow/shadow.inc | 3 ++- 2 files changed, 10 insertions(+), 5 deletions(-)
Signature · 1 line
1.9.1
PATCH v2 1/2 util-linux: split out util-linux-sulogin
[YOCTO #6698]
--- meta/recipes-core/util-linux/util-linux.inc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
meta/recipes-core/util-linux/util-linux.inc +8 -4
@@ -32,7 +32,7 @@ PACKAGES =+ "util-linux-agetty util-linux-fdisk util-linux-cfdisk util-linux-sfd util-linux-mkfs util-linux-mcookie util-linux-reset \ util-linux-mkfs.cramfs util-linux-fsck.cramfs util-linux-fstrim \ util-linux-partx ${PN}-bash-completion util-linux-hwclock \ - util-linux-findfs util-linux-getopt" + util-linux-findfs util-linux-getopt util-linux-sulogin" PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'pylibmount', 'util-linux-pylibmount', '', d)}" PACKAGES_DYNAMIC = "^util-linux-lib.*"
@@ -96,6 +96,8 @@ FILES_util-linux-mkfs = "${sbindir}/mkfs" FILES_util-linux-fsck.cramfs = "${sbindir}/fsck.cramfs" FILES_util-linux-mkfs.cramfs = "${sbindir}/mkfs.cramfs" +FILES_util-linux-sulogin = "${base_sbindir}/sulogin*" + # Util-linux' blkid replaces the e2fsprogs one FILES_util-linux-blkid = "${base_sbindir}/blkid*" RCONFLICTS_util-linux-blkid = "e2fsprogs-blkid"
@@ -104,7 +106,7 @@ RREPLACES_util-linux-blkid = "e2fsprogs-blkid" # reset calls 'tput' RDEPENDS_util-linux-reset += "ncurses" -RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup" +RDEPENDS_${PN} = "util-linux-umount util-linux-swaponoff util-linux-losetup util-linux-sulogin" RRECOMMENDS_${PN} = "util-linux-fdisk util-linux-cfdisk util-linux-sfdisk util-linux-mount util-linux-readprofile util-linux-mkfs " RRECOMMENDS_${PN}_class-native = ""
@@ -173,7 +175,7 @@ ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root switch_root" ALTERNATIVE_${PN} += "mkfs.minix hexdump last logger mesg renice wall" -ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject sulogin" +ALTERNATIVE_${PN} += "setsid chrt flock utmpdump eject" ALTERNATIVE_LINK_NAME[dmesg] = "${base_bindir}/dmesg" ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill"
@@ -184,7 +186,6 @@ ALTERNATIVE_LINK_NAME[pivot_root] = "${base_sbindir}/pivot_root" ALTERNATIVE_LINK_NAME[switch_root] = "${base_sbindir}/switch_root" ALTERNATIVE_LINK_NAME[mkfs.minix] = "${base_sbindir}/mkfs.minix" ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" -ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" ALTERNATIVE_${PN}-doc = "mountpoint.1 last.1 lastb.1 mesg.1 wall.1 nologin.8 sulogin.8 utmpdump.1 reset.1"
@@ -241,6 +242,9 @@ ALTERNATIVE_TARGET[reset] = "${base_bindir}/reset" ALTERNATIVE_util-linux-getopt = "getopt" ALTERNATIVE_LINK_NAME[getopt] = "${base_bindir}/getopt" +ALTERNATIVE_util-linux-sulogin = "sulogin" +ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" + BBCLASSEXTEND = "native nativesdk" python do_package_prepend () {
Signature · 1 line
1.9.1
PATCH v2 2/2 shadow: add 'util-linux-sulogin' to RDEPENDS
In reply to Chen QiIf shadow is installed, sulogin from busybox cannot work correctly because it still assumes that /etc/shadow is not there. This leads to the problem when booting into rescue mode in an image with shadow installed but not sulogin from util-linux.
To fix this problem, we add 'util-linux-sulogin' to RDEPENDS of shadow. This runtime dependency is specific to OE, because we have to ensure that sulogin can work correctly and sulogin from busybox cannot because FEATURE_SHADOWPASSWORDS is not enabled by default. And we cannot enable it by default for busybox, because that would lead to utilities in busybox to assume the existence of /etc/shadow which is not always true in OE.
[YOCTO #6698]
--- meta/recipes-extended/shadow/shadow.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-extended/shadow/shadow.inc +2 -1
@@ -83,7 +83,8 @@ PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" RDEPENDS_${PN} = "shadow-securetty \ - base-passwd" + base-passwd \ + util-linux-sulogin" RDEPENDS_${PN}_class-native = "" RDEPENDS_${PN}_class-nativesdk = ""
Signature · 1 line
1.9.1