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 \
>> "
>
next prev parent 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.