From: Saul Wold <sgw@linux.intel.com>
To: Andy Ross <andy.ross@windriver.com>
Cc: openembedded-core@openembedded.org
Subject: Re: [PATCH] sysklogd: fix update-rc.d handling
Date: Thu, 18 Oct 2012 13:22:29 -0700 [thread overview]
Message-ID: <50806505.1000103@linux.intel.com> (raw)
In-Reply-To: <1349972575-2738-1-git-send-email-andy.ross@windriver.com>
On 10/11/2012 09:22 AM, Andy Ross wrote:
> The sysklogd recipe had a cut-n-paste version of the
> update-rc.d.bbclass code which didn't work, but this was hidden
> because all images contain the busybox version which does. Building a
> busybox-free image unmasked the issue and syslogd wouldn't start on
> first boot.
>
> The comments seem to be wrong/stale. AFAICT update-rc.d and
> update-alternatives work fine with each other, though there is an
> ordering constraint (alternatives must be specified last, so it
> "wraps" update-rc.d). This version builds and works both with and
> without busybox.
>
> Signed-off-by: Andy Ross <andy.ross@windriver.com>
> ---
> meta/recipes-extended/sysklogd/sysklogd.inc | 43 +----------------------------
> 1 file changed, 1 insertion(+), 42 deletions(-)
>
> diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc
> index 151babb..1167328 100644
> --- a/meta/recipes-extended/sysklogd/sysklogd.inc
> +++ b/meta/recipes-extended/sysklogd/sysklogd.inc
> @@ -11,10 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
> file://klogd.c;beginline=2;endline=19;md5=7e87ed0ae6142de079bce738c10c899d \
> "
>
> -# syslog initscript is handled explicitly because order of
> -# update-rc.d and update-alternatives is important (see below)
> -DEPENDS_append = " update-rc.d update-rc.d-native"
> -RDEPENDS_${PN}_append = " update-rc.d"
> +inherit update-rc.d update-alternatives
>
> SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \
> file://no-strip-install.patch \
> @@ -41,22 +38,6 @@ do_install () {
> install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
> }
>
> -pkg_preinst_${PN} () {
> - # all this is needed to avoid sysmlink errors,
> - # because update-rc.d runs before pkg_postinst
> - ETC=$D${sysconfdir}
> -
> - if [ -e $ETC/init.d/syslog -a ! -L $ETC/init.d/syslog ]; then
> - echo "WARNING:" "non symlink ${sysconfdir}/init.d/syslog exist -> backup to ${sysconfdir}/init.d/syslog.old"
> - mv $ETC/init.d/syslog $ETC/init.d/syslog.old
> - fi
> - if [ ! -e $ETC/init.d/syslog ]; then
> - ln -s dummy $ETC/init.d/syslog
> - fi
> -}
> -
> -inherit update-alternatives
> -
> ALTERNATIVE_PRIORITY = "100"
>
> ALTERNATIVE_${PN} = "syslogd klogd syslog-init syslog-conf"
> @@ -66,15 +47,6 @@ ALTERNATIVE_LINK_NAME[klogd] = "${base_sbindir}/klogd"
> ALTERNATIVE_LINK_NAME[syslog-init] = "${sysconfdir}/init.d/syslog"
> ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
>
> -pkg_postinst_${PN} () {
> - if test "x$D" != "x"; then
> - OPT="-r $D"
> - else
> - OPT="-s"
> - fi
> - update-rc.d $OPT syslog defaults
> -}
> -
> pkg_prerm_${PN} () {
> if test "x$D" = "x"; then
> if test "$1" = "upgrade" -o "$1" = "remove"; then
> @@ -82,16 +54,3 @@ pkg_prerm_${PN} () {
> fi
> fiOn 10/11/2012 09:22 AM, Andy Ross wrote:> The sysklogd recipe had a cut-n-paste version of the
> update-rc.d.bbclass code which didn't work, but this was hidden
> because all images contain the busybox version which does. Building a
> busybox-free image unmasked the issue and syslogd wouldn't start on
> first boot.
>
> The comments seem to be wrong/stale. AFAICT update-rc.d and
> update-alternatives work fine with each other, though there is an
> ordering constraint (alternatives must be specified last, so it
> "wraps" update-rc.d). This version builds and works both with and
> without busybox.
>
> Signed-off-by: Andy Ross <andy.ross@windriver.com>
> ---
> meta/recipes-extended/sysklogd/sysklogd.inc | 43 +----------------------------
> 1 file changed, 1 insertion(+), 42 deletions(-)
>
Merged into OE-Core
Thanks
Sau!
> diff --git a/meta/recipes-extended/sysklogd/sysklogd.inc b/meta/recipes-extended/sysklogd/sysklogd.inc
> index 151babb..1167328 100644
> --- a/meta/recipes-extended/sysklogd/sysklogd.inc
> +++ b/meta/recipes-extended/sysklogd/sysklogd.inc
> @@ -11,10 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \
> file://klogd.c;beginline=2;endline=19;md5=7e87ed0ae6142de079bce738c10c899d \
> "
>
> -# syslog initscript is handled explicitly because order of
> -# update-rc.d and update-alternatives is important (see below)
> -DEPENDS_append = " update-rc.d update-rc.d-native"
> -RDEPENDS_${PN}_append = " update-rc.d"
> +inherit update-rc.d update-alternatives
>
> SRC_URI = "http://www.infodrom.org/projects/sysklogd/download/sysklogd-${PV}.tar.gz \
> file://no-strip-install.patch \
> @@ -41,22 +38,6 @@ do_install () {
> install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
> }
>
> -pkg_preinst_${PN} () {
> - # all this is needed to avoid sysmlink errors,
> - # because update-rc.d runs before pkg_postinst
> - ETC=$D${sysconfdir}
> -
> - if [ -e $ETC/init.d/syslog -a ! -L $ETC/init.d/syslog ]; then
> - echo "WARNING:" "non symlink ${sysconfdir}/init.d/syslog exist -> backup to ${sysconfdir}/init.d/syslog.old"
> - mv $ETC/init.d/syslog $ETC/init.d/syslog.old
> - fi
> - if [ ! -e $ETC/init.d/syslog ]; then
> - ln -s dummy $ETC/init.d/syslog
> - fi
> -}
> -
> -inherit update-alternatives
> -
> ALTERNATIVE_PRIORITY = "100"
>
> ALTERNATIVE_${PN} = "syslogd klogd syslog-init syslog-conf"
> @@ -66,15 +47,6 @@ ALTERNATIVE_LINK_NAME[klogd] = "${base_sbindir}/klogd"
> ALTERNATIVE_LINK_NAME[syslog-init] = "${sysconfdir}/init.d/syslog"
> ALTERNATIVE_LINK_NAME[syslog-conf] = "${sysconfdir}/syslog.conf"
>
> -pkg_postinst_${PN} () {
> - if test "x$D" != "x"; then
> - OPT="-r $D"
> - else
> - OPT="-s"
> - fi
> - update-rc.d $OPT syslog defaults
> -}
> -
> pkg_prerm_${PN} () {
> if test "x$D" = "x"; then
> if test "$1" = "upgrade" -o "$1" = "remove"; then
> @@ -82,16 +54,3 @@ pkg_prerm_${PN} () {
> fi
> fi
> }
> -
> -pkg_postrm_${PN} () {
> - if test "x$D" != "x"; then
> - OPT="-r $D"
> - else
> - OPT=""
> - fi
> - if test "$1" = "remove" -o "$1" = "purge"; then
> - if ! test -e "/etc/init.d/syslog"; then
> - update-rc.d $OPT syslog remove
> - fi
> - fi
> -}
>
> }
> -
> -pkg_postrm_${PN} () {
> - if test "x$D" != "x"; then
> - OPT="-r $D"
> - else
> - OPT=""
> - fi
> - if test "$1" = "remove" -o "$1" = "purge"; then
> - if ! test -e "/etc/init.d/syslog"; then
> - update-rc.d $OPT syslog remove
> - fi
> - fi
> -}
>
prev parent reply other threads:[~2012-10-18 20:35 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-11 16:22 [PATCH] sysklogd: fix update-rc.d handling Andy Ross
2012-10-18 20:22 ` Saul Wold [this message]
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=50806505.1000103@linux.intel.com \
--to=sgw@linux.intel.com \
--cc=andy.ross@windriver.com \
--cc=openembedded-core@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.