Skip to contentSkip to conversation

Can't replace login.defs with shadow-sysroot bbappend

DISCUSSION Oliver Graute 2 participants 3 messages Jul 28, 2016 – Jul 29, 2016

lore
Share & tools
lore
#0 lore raw

Hello list,

i'm trying to replace /etc/login.defs on the target with my own one. So I created a shadow-sysroot_%.bbappend file with this content:

FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"

# As we're overriding login.defs_shadow-sysroot we have to readd the checksum for it here

# as it's containing the license for this component
LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;md5=286ba0946b3b8a300da3893d7b3af060"

SRC_URI_append = " file://login.defs_shadow-sysroot "

S = "${WORKDIR}"

do_install_append() {
	install -d ${D}${sysconfdir}
	install -p -m 755 ${S}/login.defs_shadow-sysroot ${D}${sysconfdir}/login.defs
}

FILES_${PN} = "${D}${sysconfdir}/login.defs"

If I run "bitbake shadow-sysroot" everything seems fine. But on the target there is no package shadow-sysroot after a complete image build. Just these:

opkg list | grep shadow
shadow - 4.2.1-r0
shadow-base - 4.2.1-r0
shadow-securetty - 4.2.1-r3

If I explicit added shadow-sysroot to my fsl-image.bb where I put all my other packages for the target in I get this error.

bitbake fsl-image

Collected errors:
* opkg_prepare_url_for_install: Couldn't find anything to satisfy 'shadow-sysroot'.

ERROR: Function failed: do_rootfs

Some clue what is wrong here? I'am on jethro yocto branch.

Best regards,

Oliver

#1 lore raw

Hi Oliver,

The following line in shadow-sysroot.bb disables the final binary packages generation. You can try to add bbappend for shadow to do the customization.

# don't create any packages
# otherwise: dbus-dev depends on shadow-sysroot-dev which depends on shadow-sysroot

# and this has another copy of /etc/login.defs already provided by shadow
PACKAGES = ""

Best Regards,

Zhenhua

Quoted 61 lines

-----Original Message-----
From: [email protected] [mailto:yocto- [email protected]] On Behalf Of Oliver Graute
Sent: Thursday, July 28, 2016 3:26 PM
To: [email protected]
Subject: [yocto] Can't replace login.defs with shadow-sysroot bbappend

Hello list,

i'm trying to replace /etc/login.defs on the target with my own one. So I created a shadow-sysroot_%.bbappend file with this content:

FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"

# As we're overriding login.defs_shadow-sysroot we have to readd the checksum for it here # as it's containing the license for this component LIC_FILES_CHKSUM = "file://login.defs_shadow- sysroot;md5=286ba0946b3b8a300da3893d7b3af060"

SRC_URI_append = " file://login.defs_shadow-sysroot "

S = "${WORKDIR}"

do_install_append() {
	install -d ${D}${sysconfdir}
	install -p -m 755 ${S}/login.defs_shadow-sysroot

${D}${sysconfdir}/login.defs }

FILES_${PN} = "${D}${sysconfdir}/login.defs"

If I run "bitbake shadow-sysroot" everything seems fine. But on the target there is no package shadow-sysroot after a complete image build. Just these:

opkg list | grep shadow
shadow - 4.2.1-r0
shadow-base - 4.2.1-r0
shadow-securetty - 4.2.1-r3

If I explicit added shadow-sysroot to my fsl-image.bb where I put all my other packages for the target in I get this error.

bitbake fsl-image

Collected errors:
* opkg_prepare_url_for_install: Couldn't find anything to satisfy 'shadow-
sysroot'.

ERROR: Function failed: do_rootfs

Some clue what is wrong here? I'am on jethro yocto branch.

Best regards,

Oliver
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

#2 lore raw
Quoted 8 lines · Zhenhua Luo

Hi Oliver,

The following line in shadow-sysroot.bb disables the final binary packages generation. You can try to add bbappend for shadow to do the customization.

# don't create any packages
# otherwise: dbus-dev depends on shadow-sysroot-dev which depends on shadow-sysroot

# and this has another copy of /etc/login.defs already provided by shadow
PACKAGES = ""

thx for this usefull note. It works for me with shadow_%.bbappend.

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

SRC_URI += "file://login.defs"

do_install_append() {
	install -m 644 ${WORKDIR}/login.defs ${D}${sysconfdir}/login.defs
}

FILES_${PN} += "${sysconfdir}/login.defs"

Best regards,

Oliver