Openembedded Core Discussions
 help / color / mirror / Atom feed
From: ChenQi <Qi.Chen@windriver.com>
To: <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] systemd: fix runtime dependency
Date: Thu, 16 Oct 2014 19:49:51 +0800	[thread overview]
Message-ID: <543FB0DF.4020209@windriver.com> (raw)
In-Reply-To: <543FA509.1040203@pabigot.com>

On 10/16/2014 06:59 PM, Peter A. Bigot wrote:
> On 10/16/2014 04:19 AM, Chen Qi wrote:
>> Previously, if we set 'NO_RECOMMENDATIONS' to "1", we cannot reach login
>> in systemd systems. The problem is that several runtime dependencies are
>> coded as 'recommended' in our project.
>>
>> This patch makes the following changes.
>> 1. Add util-linux-agetty as a runtime dependency.
>>     Otherwise, getty services in systemd cannot start correctly.
>> 2. Add systemd-serialgetty as a runtime dependency.
>>     Otherwise, serialgetty services cannot start correctly in systemd 
>> and
>>     we would have problem when using `runqemu qemux86 nographic'.
>> 3. Remove 'systemd' from RDEPENDS of systemd-serialgetty.
>>     systemd-serialgetty justs ships systemd unit files, even if the init
>>     manager is 'sysvinit', these files do no harm.
>
> This looks really weird.  It doesn't make any sense that systemd 
> should depend on systemd-serialgetty; the original dependency was right.
>

If systemd-serialgetty should rdepends on systemd, then in the same 
logic, we should also change sysvinit-inittab to rdepend on sysvinit. I 
don't think this is right.

> serialgetty works fine under systemd with all my configurations as-is.
>

Yes. But it needs to be first installed to work correctly.

> I think you need to look more closely at your project-specific 
> configuration to understand why things aren't getting set up correctly 
> for you.
>

You can hand-edit local.conf with IMAGE_INSTALL_remove/_append to 
workaround a lot of runtime dependency issue. The problem is that 
setting 'NO_RECOMMENDATIONS' to "1" is valid, however, such valid 
configuration would raise a non-workable minimal image.

Try the following steps with the current project.
1. set NO_RECOMMENDATIONS to "1" in local.conf
2. Change in local.conf to use systemd as the init manager
3. bitbake core-image-minimal
4. runqemu qemux86 nographic

My point is that a system should let users login in on serial console. 
Our sysvinit based system does this, and our systemd based system should 
also do this.

> Peter
>
>
>>
>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>> ---
>>   meta/recipes-core/systemd/systemd-serialgetty.bb | 2 --
>>   meta/recipes-core/systemd/systemd_216.bb         | 5 ++---
>>   2 files changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb 
>> b/meta/recipes-core/systemd/systemd-serialgetty.bb
>> index 1c34d5c..f3acaad 100644
>> --- a/meta/recipes-core/systemd/systemd-serialgetty.bb
>> +++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
>> @@ -36,8 +36,6 @@ do_install() {
>>       fi
>>   }
>>   -RDEPENDS_${PN} = "systemd"
>> -
>>   # This is a machine specific file
>>   FILES_${PN} = "${systemd_unitdir}/system/*.service ${sysconfdir}"
>>   PACKAGE_ARCH = "${MACHINE_ARCH}"
>> diff --git a/meta/recipes-core/systemd/systemd_216.bb 
>> b/meta/recipes-core/systemd/systemd_216.bb
>> index ebf9395..62fe5c7 100644
>> --- a/meta/recipes-core/systemd/systemd_216.bb
>> +++ b/meta/recipes-core/systemd/systemd_216.bb
>> @@ -267,11 +267,10 @@ FILES_${PN} = " ${base_bindir}/* \
>>   FILES_${PN}-dbg += "${rootlibdir}/.debug ${systemd_unitdir}/.debug 
>> ${systemd_unitdir}/*/.debug ${base_libdir}/security/.debug/"
>>   FILES_${PN}-dev += "${base_libdir}/security/*.la 
>> ${datadir}/dbus-1/interfaces/ ${sysconfdir}/rpm/macros.systemd"
>>   -RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (= ${EXTENDPKGV})"
>> +RDEPENDS_${PN} += "kmod dbus systemd-serialgetty util-linux-mount 
>> util-linux-agetty udev (= ${EXTENDPKGV})"
>>   RDEPENDS_${PN} += "volatile-binds"
>>   -RRECOMMENDS_${PN} += "systemd-serialgetty systemd-compat-units 
>> udev-hwdb\
>> -                      util-linux-agetty \
>> +RRECOMMENDS_${PN} += "systemd-compat-units udev-hwdb\
>>                         util-linux-fsck e2fsprogs-e2fsck \
>>                         kernel-module-autofs4 kernel-module-unix 
>> kernel-module-ipv6 os-release \
>>   "
>



  reply	other threads:[~2014-10-16 11:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-16  9:19 [PATCH 0/1] systemd: fix runtime dependency Chen Qi
2014-10-16  9:19 ` [PATCH 1/1] " Chen Qi
2014-10-16 10:59   ` Peter A. Bigot
2014-10-16 11:49     ` ChenQi [this message]
2014-10-16 12:32       ` Peter A. Bigot
2014-10-16 11:06   ` Enrico Scholz
2014-10-16 11:29     ` Peter A. Bigot
2014-10-16 11:38     ` ChenQi

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=543FB0DF.4020209@windriver.com \
    --to=qi.chen@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