[OE-core] [PATCH] openssh: don't add update-rc.d to RDEPENDS

Martin Jansa martin.jansa at gmail.com
Thu Mar 28 14:42:21 UTC 2013


On Thu, Mar 28, 2013 at 03:30:06PM +0100, Martin Jansa wrote:
> On Thu, Mar 28, 2013 at 02:54:09PM +0100, Martin Jansa wrote:
> > * sysvinit/systemd assumes that update-rc.d can be inhibited
> > * with systemd enabled, sysvinit scripts are missing in packages
> >   and update-rc.d needs to be put in BAD_RECOMMENDATIONS to prevent
> >   update-rc.d trying to install them in postinst
> > * update-rd.c shouldn't be in DEPENDS
> > ---
> >  meta/recipes-connectivity/openssh/openssh_6.1p1.bb | 3 +--
> >  1 file changed, 1 insertion(+), 2 deletions(-)
> > 
> > diff --git a/meta/recipes-connectivity/openssh/openssh_6.1p1.bb b/meta/recipes-connectivity/openssh/openssh_6.1p1.bb
> > index 32c3b2c..0cffd23 100644
> > --- a/meta/recipes-connectivity/openssh/openssh_6.1p1.bb
> > +++ b/meta/recipes-connectivity/openssh/openssh_6.1p1.bb
> > @@ -96,8 +96,7 @@ FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
> >  FILES_${PN}-keygen = "${bindir}/ssh-keygen"
> >  
> >  RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
> > -DEPENDS_${PN}-sshd += "update-rc.d"
> > -RDEPENDS_${PN}-sshd += "update-rc.d ${PN}-keygen"
> > +RDEPENDS_${PN}-sshd += "${PN}-keygen"
> >  
> >  CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
> >  CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
> 
> This allows to remove update-rc.d from image.
> Changing error message from fatal
> Configuring dbus-1.
> update-rc.d: /etc/init.d/dbus-1: file does not exist
> Configuring udev.
> update-rc.d: /etc/init.d/systemd-udevd: file does not exist
> 
> to less fatal
> Configuring dbus-1.
> //var/lib/opkg/info/dbus-1.postinst: line 9: type: update-rc.d: not found
> Configuring udev.
> //var/lib/opkg/info/udev.postinst: line 7: type: update-rc.d: not found
> 
> I'll send separate patch to hide also stderr from "type".
> 
> Unfortunately it still hangs forever in some images when trying to start
> lib/systemd/system/run-postinsts.service
> 
> After removing this service it boots fine.

first boot after removing it:

root at qemux86-64:~# systemctl status run-postinsts.service
run-postinsts.service
          Loaded: error (Reason: No such file or directory)
          Active: inactive (dead)

Mar 28 14:32:01 qemux86-64 S98run-postinsts[55]: //var/lib/opkg/info/dbus-1....d
Mar 28 14:32:03 qemux86-64 S98run-postinsts[55]: //var/lib/opkg/info/udev.po...d
Mar 28 14:32:04 qemux86-64 S98run-postinsts[55]: adding crontab
Mar 28 14:32:04 qemux86-64 S98run-postinsts[55]: ln -s '/lib/systemd/system/...'
root at qemux86-64:~# systemctl start run-postinsts.service
Failed to issue method call: Unit run-postinsts.service failed to load: No such file or directory. See system logs and 'systemctl status run-postinsts.service' for details.

And starting it manually after returning the service:
root at qemux86-64:~# systemctl start run-postinsts.service
root at qemux86-64:~# systemctl status run-postinsts.service
run-postinsts.service - Run pending postinsts
          Loaded: loaded (/lib/systemd/system/run-postinsts.service; disabled)
          Active: inactive (dead) since Thu 2013-03-28 14:39:14 UTC; 4s ago
        Main PID: 887 (code=exited, status=0/SUCCESS)
          CGroup: name=systemd:/system/run-postinsts.service

Mar 28 14:39:11 qemux86-64 systemd[1]: Starting Run pending postinsts...
Mar 28 14:39:14 qemux86-64 systemd[1]: Started Run pending postinsts.
Mar 28 14:39:16 qemux86-64 S98run-postinsts[887]: //var/lib/opkg/info/dbus-1....
Mar 28 14:39:17 qemux86-64 S98run-postinsts[887]: //var/lib/opkg/info/udev.po...
Mar 28 14:39:19 qemux86-64 S98run-postinsts[887]: Configuring dbus-1.
Mar 28 14:39:19 qemux86-64 S98run-postinsts[887]: Configuring udev-hwdb.
Mar 28 14:39:19 qemux86-64 S98run-postinsts[887]: Configuring udev.
Mar 28 14:39:19 qemux86-64 S98run-postinsts[887]: Configuring ntpdate.

So it's broken only on first boot, maybe started too soon, but 
After=remount-rootfs.service tmp.mount
looks sufficient.

-- 
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/20130328/7cfef7f3/attachment-0002.sig>


More information about the Openembedded-core mailing list