Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [PATCH] busybox/syslogs: use update-alternatives for syslog selection
Date: Fri, 7 May 2010 16:49:27 +0200	[thread overview]
Message-ID: <20100507144927.GH3204@jama> (raw)
In-Reply-To: <1273242036-7529-1-git-send-email-sledz@dresearch.de>

On Fri, May 07, 2010 at 04:20:36PM +0200, Steffen Sledz wrote:
> * u-a for init scripts of busybox-syslog, sysklogd, and rsyslog
> * syslog-ng needs to be integrated too!
> 
> Signed-off-by: Steffen Sledz <sledz@dresearch.de>
> ---
>  recipes/busybox/busybox.inc        |   18 ++++++++++++++++--
>  recipes/rsyslog/rsyslog.inc        |   22 +++++++++++++---------
>  recipes/sysklogd/sysklogd.inc      |   19 +++++++++++++++----
>  recipes/sysklogd/sysklogd_1.4.1.bb |    2 +-
>  recipes/sysklogd/sysklogd_1.5.bb   |    2 +-
>  5 files changed, 46 insertions(+), 17 deletions(-)
> 
> diff --git a/recipes/busybox/busybox.inc b/recipes/busybox/busybox.inc
> index 17d8d14..31651d6 100644
> --- a/recipes/busybox/busybox.inc
> +++ b/recipes/busybox/busybox.inc
> @@ -11,7 +11,7 @@ LICENSE = "GPLv2"
>  SECTION = "base"
>  PRIORITY = "required"
>  
> -INC_PR = "r27"
> +INC_PR = "r28"
>  
>  SRC_URI = "\
>    file://busybox-cron \
> @@ -46,7 +46,7 @@ RDEPENDS_${PN} += "${PN}-mountall"
>  RRECOMMENDS_${PN} += "libgcc ${PN}-syslog"
>  
>  FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www"
> -FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog ${sysconfdir}/syslog.conf"
> +FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog.${PN} ${sysconfdir}/syslog.conf"
>  FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"
>  
>  FILES_${PN} += "${datadir}/udhcpc"
> @@ -154,6 +154,20 @@ pkg_prerm_${PN}-mountall () {
>  	update-alternatives --remove default_mountall mountall.${PN}
>  }
>  
> +pkg_preinst_${PN}-syslog () {
> +    # this is needed to avoid sysmlink errors,
> +    # because update-rc.d runs before pkg_postinst :(
> +    touch {sysconfdir}/init.d/syslog

missing $
touch: cannot touch `{sysconfdir}/init.d/syslog': No such file or directory

but even when I add $ here it should fail like
update-alternatives: Error: not linking //usr/bin/time to ../../bin/busybox since //usr/bin/time exists and is not a link

but fails a bit different

Configuring busybox-syslog.
update-rc.d: /etc/init.d/syslog: file does not exist
update-alternatives: Linking //etc/init.d/syslog to syslog.busybox

Removing package busybox-syslog from root...
update-alternatives: removing //etc/init.d/syslog as no more
alternatives exist for it
//usr/lib/opkg/info/busybox-syslog.prerm: line 6: /etc/init.d/syslog:
//not found

ie prerm has same problem as postinst.., genarated fuctions:
postinst
#!/bin/sh
if test "x$D" != "x"; then
        OPT="-r $D"
else
        OPT="-s"
fi
update-rc.d $OPT syslog defaults
    update-alternatives --install /etc/init.d/syslog syslog-init
syslog.busybox 50

postrm
#!/bin/sh
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

preinst
# this is needed to avoid sysmlink errors,
    # because update-rc.d runs before pkg_postinst :(
    touch /etc/init.d/syslog

prerm
update-alternatives --remove syslog-init syslog.busybox
if test "x$D" = "x"; then
        if test "$1" = "upgrade" -o "$1" = "remove"; then
                /etc/init.d/syslog stop
        fi
fi



> +}
> +
> +pkg_postinst_${PN}-syslog () {
> +    update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 50
> +}
> +
> +pkg_prerm_${PN}-syslog () {
> +    update-alternatives --remove syslog-init syslog.${PN}
> +}
> +
>  pkg_prerm_${PN} () {
>  	# This is so you can make busybox commit suicide - removing busybox with no other packages
>  	# providing its files, this will make update-alternatives work, but the update-rc.d part
> diff --git a/recipes/rsyslog/rsyslog.inc b/recipes/rsyslog/rsyslog.inc
> index 3e39ba0..6471724 100644
> --- a/recipes/rsyslog/rsyslog.inc
> +++ b/recipes/rsyslog/rsyslog.inc
> @@ -2,7 +2,7 @@ DESCRIPTION = "Rsyslog is an enhanced multi-threaded syslogd"
>  DEPENDS = "zlib"
>  HOMEPAGE = "http://www.rsyslog.com/"
>  LICENSE = "GPLv3"
> -INC_PR = "r0"
> +INC_PR = "r1"
>  
>  SRC_URI = "http://download.rsyslog.com/rsyslog/${PN}-${PV}.tar.gz \
>            file://rsyslog.conf \
> @@ -14,19 +14,23 @@ do_install_append() {
>          install -d ${D}/${sysconfdir}/${PN}
>          install ${WORKDIR}/rsyslog.conf ${D}${sysconfdir}/rsyslog.conf
>          install -d ${D}/${sysconfdir}/init.d
> -        install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/rsyslog
> +        install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${PN}
>  }
>  
> -pkg_postinst() {
> -        update-rc.d -f syslog remove
> +pkg_preinst_${PN} () {
> +    # this is needed to avoid sysmlink errors,
> +    # because update-rc.d runs before pkg_postinst :(
> +    touch {sysconfdir}/init.d/syslog
>  }
>  
> -pkg_postrm() {
> -        update-rc.d syslog add 5
> +pkg_postinst_${PN} () {
> +    update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 300
> +}
> +
> +pkg_prerm_${PN} () {
> +    update-alternatives --remove syslog-init syslog.${PN}
>  }
>  
>  CONFFILES_${PN} = "${sysconfdir}/rsyslog.conf"
>  
> -INITSCRIPT_NAME = "rsyslog"
> -#INITSCRIPT_PARAMS = "defaults 05"
> -INITSCRIPT_PARAMS = "remove"
> +INITSCRIPT_NAME = "syslog"
> diff --git a/recipes/sysklogd/sysklogd.inc b/recipes/sysklogd/sysklogd.inc
> index 65da86d..f6b6aab 100644
> --- a/recipes/sysklogd/sysklogd.inc
> +++ b/recipes/sysklogd/sysklogd.inc
> @@ -1,16 +1,17 @@
>  LICENSE = "GPL"
>  SECTION = "base"
>  DESCRIPTION = "The sysklogd package implements two system log daemons."
> +INC_PR = "r3"
>  
>  SRC_URI = "http://www.ibiblio.org/pub/Linux/system/daemons/sysklogd-${PV}.tar.gz \
>  	       file://nonrootinstall.patch;patch=1 \
>             file://sysklogd"
>  
>  inherit update-rc.d
> -INITSCRIPT_NAME = "sysklogd"
> -INITSCRIPT_PARAMS = "start 39 S 1 2 3 . stop 99 0 6 ."

params not needed anymore?

> +
> +INITSCRIPT_NAME = "syslog"
> +
>  CFLAGS_append = " -DSYSV"
> -RCONFLICTS = "busybox-syslog"

Regards,



  reply	other threads:[~2010-05-07 14:53 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-06  6:04 All the syslogs Steffen Sledz
2010-05-06  6:13 ` Koen Kooi
2010-05-07  7:46   ` Steffen Sledz
2010-05-07 10:59     ` Steffen Sledz
2010-05-07 11:09       ` Martin Jansa
2010-05-07 13:02         ` Steffen Sledz
2010-05-07 13:08           ` Martin Jansa
2010-05-07 14:04             ` Steffen Sledz
2010-05-07 14:20               ` [PATCH] busybox/syslogs: use update-alternatives for syslog selection Steffen Sledz
2010-05-07 14:49                 ` Martin Jansa [this message]
2010-05-07 15:04                   ` Steffen Sledz
2010-05-10  8:30                     ` Martin Jansa
2010-05-07 14:58                 ` Martin Jansa
2010-05-07 15:08                   ` Steffen Sledz
2010-05-07 15:34                 ` [PATCH v2] " Steffen Sledz
2010-05-07 14:52               ` All the syslogs Martin Jansa
2010-05-12 12:10                 ` [PATCH v3] busybox/syslogs: use update-alternatives for syslog selection Steffen Sledz
2010-05-12 12:21                   ` Martin Jansa
2010-05-12 12:50                     ` [PATCH v4] " Steffen Sledz
2010-05-13 18:55                       ` Sledz, Steffen
2010-05-17 11:11                       ` Martin Jansa

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=20100507144927.GH3204@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-devel@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