Fix the way busybox splits
cover Fix the way busybox splits
In order to resolve the issue of more then one initscript per split package, change the way busybox splits. We have added two additional packages busybox-udhcpc and busybox-syslog.. Both of which are now "recommended" to ensure that if available, they are installed.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: mhatle/busybox
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/busybox
Thanks,
Mark Hatle <[email protected]>
---
Mark Hatle (1):
busybox: Rework busybox to fix limitations in initscripts
meta/recipes-core/busybox/busybox.inc | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-)
Signature · 1 line
1.7.3.4
PATCH 1/1 busybox: Rework busybox to fix limitations in initscripts
A recent busybox change added a "second" initscript to the main busybox package. This however is not supported by the update-rc.d.bbclass. Instead we split the package so that each initscript gets it's own split.
--- meta/recipes-core/busybox/busybox.inc | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-)
meta/recipes-core/busybox/busybox.inc +14 -7
@@ -12,22 +12,25 @@ SECTION = "base" PRIORITY = "required" export EXTRA_CFLAGS = "${CFLAGS}" -PACKAGES =+ "${PN}-httpd ${PN}-udhcpd" +PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog" FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" +FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog.conf*" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" +FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc ${sysconfdir}/init.d/busybox-udhcpc" -FILES_${PN} += "${datadir}/udhcpc" -FILES_${PN} += "${sysconfdir}/init.d/busybox-udhcpc" +INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-udhcpc" -INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd" INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd" +INITSCRIPT_NAME_${PN}-syslog = "syslog" INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd" -INITSCRIPT_NAME_${PN} = "syslog busybox-udhcpc" -CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${PN}" +INITSCRIPT_NAME_${PN}-udhcpc = "busybox-udhcpc" +CONFFILES_${PN}-syslog = "${sysconfdir}/syslog.conf.${PN}" + +RRECOMMENDS_${PN} = "${PN}-syslog ${PN}-udhcpc" # This disables the syslog startup links in slugos (see slugos-init) -INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ." +INITSCRIPT_PARAMS_${PN}-syslog_slugos = "start 20 ." inherit cml1 update-rc.d
@@ -116,7 +119,9 @@ pkg_postinst_${PN} () { # This adds the links, remember that this has to work when building an image too, hence the $D while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; update-alternatives --install $link $bn $to 50; done <$D/etc/busybox.links +} +pkg_postinst_${PN}-syslog () { update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 50 update-alternatives --install ${sysconfdir}/syslog.conf syslog-conf syslog.conf.${PN} 50 }
@@ -150,7 +155,9 @@ pkg_prerm_${PN} () { bn=`basename $link` sh /usr/bin/update-alternatives --remove $bn $to done </etc/busybox.links +} +pkg_prerm_${PN}-syslog () { # remove syslog if test "x$D" = "x"; then if test "$1" = "upgrade" -o "$1" = "remove"; then
Signature · 1 line
1.7.3.4
Re: [PATCH 1/1] busybox: Rework busybox to fix limitations in initscripts
Quoted 3 lines · Mark Hatle
A recent busybox change added a "second" initscript to the main busybox package. This however is not supported by the update-rc.d.bbclass. Instead we split the package so that each initscript gets it's own split.
Does this address:
http://bugzilla.pokylinux.org/show_bug.cgi?id=706
--
Darren
Quoted 62 lines
Signed-off-by Mark Hatle<[email protected]>--- meta/recipes-core/busybox/busybox.inc | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-)meta/recipes-core/busybox/busybox.inc +14
-7@@ -12,22 +12,25 @@ SECTION = "base" PRIORITY = "required" export EXTRA_CFLAGS = "${CFLAGS}" -PACKAGES =+ "${PN}-httpd ${PN}-udhcpd" +PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog" FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" +FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog.conf*" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" +FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc ${sysconfdir}/init.d/busybox-udhcpc" -FILES_${PN} += "${datadir}/udhcpc" -FILES_${PN} += "${sysconfdir}/init.d/busybox-udhcpc" +INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-udhcpc" -INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd" INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd" +INITSCRIPT_NAME_${PN}-syslog = "syslog" INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd" -INITSCRIPT_NAME_${PN} = "syslog busybox-udhcpc" -CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${PN}" +INITSCRIPT_NAME_${PN}-udhcpc = "busybox-udhcpc" +CONFFILES_${PN}-syslog = "${sysconfdir}/syslog.conf.${PN}" + +RRECOMMENDS_${PN} = "${PN}-syslog ${PN}-udhcpc" # This disables the syslog startup links in slugos (see slugos-init) -INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ." +INITSCRIPT_PARAMS_${PN}-syslog_slugos = "start 20 ." inherit cml1 update-rc.d@@ -116,7 +119,9 @@ pkg_postinst_${PN} () { # This adds the links, remember that this has to work when building an image too, hence the $D while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; update-alternatives --install $link $bn $to 50; done<$D/etc/busybox.links +} +pkg_postinst_${PN}-syslog () { update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 50 update-alternatives --install ${sysconfdir}/syslog.conf syslog-conf syslog.conf.${PN} 50 }@@ -150,7 +155,9 @@ pkg_prerm_${PN} () { bn=`basename $link` sh /usr/bin/update-alternatives --remove $bn $to done</etc/busybox.links +} +pkg_prerm_${PN}-syslog () { # remove syslog if test "x$D" = "x"; then if test "$1" = "upgrade" -o "$1" = "remove"; then
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Re: [PATCH 1/1] busybox: Rework busybox to fix limitations in initscripts
Quoted 8 lines · Darren Hart
Quoted 3 lines · Mark Hatle
A recent busybox change added a "second" initscript to the main busybox package. This however is not supported by the update-rc.d.bbclass. Instead we split the package so that each initscript gets it's own split.
Does this address:
Yes this fixes that issue.
--Mark
Quoted 67 lines
--
DarrenQuoted 62 lines
Signed-off-by Mark Hatle<[email protected]>--- meta/recipes-core/busybox/busybox.inc | 21 ++++++++++++++------- 1 files changed, 14 insertions(+), 7 deletions(-)meta/recipes-core/busybox/busybox.inc +14
-7@@ -12,22 +12,25 @@ SECTION = "base" PRIORITY = "required" export EXTRA_CFLAGS = "${CFLAGS}" -PACKAGES =+ "${PN}-httpd ${PN}-udhcpd" +PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog" FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd /srv/www" +FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog.conf*" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd" +FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc ${sysconfdir}/init.d/busybox-udhcpc" -FILES_${PN} += "${datadir}/udhcpc" -FILES_${PN} += "${sysconfdir}/init.d/busybox-udhcpc" +INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-udhcpc" -INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd" INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd" +INITSCRIPT_NAME_${PN}-syslog = "syslog" INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd" -INITSCRIPT_NAME_${PN} = "syslog busybox-udhcpc" -CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${PN}" +INITSCRIPT_NAME_${PN}-udhcpc = "busybox-udhcpc" +CONFFILES_${PN}-syslog = "${sysconfdir}/syslog.conf.${PN}" + +RRECOMMENDS_${PN} = "${PN}-syslog ${PN}-udhcpc" # This disables the syslog startup links in slugos (see slugos-init) -INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ." +INITSCRIPT_PARAMS_${PN}-syslog_slugos = "start 20 ." inherit cml1 update-rc.d@@ -116,7 +119,9 @@ pkg_postinst_${PN} () { # This adds the links, remember that this has to work when building an image too, hence the $D while read link; do case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=`basename $link`; update-alternatives --install $link $bn $to 50; done<$D/etc/busybox.links +} +pkg_postinst_${PN}-syslog () { update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 50 update-alternatives --install ${sysconfdir}/syslog.conf syslog-conf syslog.conf.${PN} 50 }@@ -150,7 +155,9 @@ pkg_prerm_${PN} () { bn=`basename $link` sh /usr/bin/update-alternatives --remove $bn $to done</etc/busybox.links +} +pkg_prerm_${PN}-syslog () { # remove syslog if test "x$D" = "x"; then if test "$1" = "upgrade" -o "$1" = "remove"; then
Re: [PATCH 1/1] busybox: Rework busybox to fix limitations in initscripts
In reply to Darren HartQuoted 8 lines · Darren Hart
Quoted 3 lines · Mark Hatle
A recent busybox change added a "second" initscript to the main busybox package. This however is not supported by the update-rc.d.bbclass. Instead we split the package so that each initscript gets it's own split.
Does this address:
Should do - it's exactly the problem I was working with Mark about.
Quoted 69 lines
--
DarrenQuoted 63 lines
Signed-off-by Mark Hatle<[email protected]>---
meta/recipes-core/busybox/busybox.inc | 21 ++++++++++++++-------1 files changed, 14 insertions(+), 7 deletions(-)meta/recipes-core/busybox/busybox.inc +0
-0@@ -12,22 +12,25 @@ SECTION = "base"PRIORITY = "required"
export
EXTRA_CFLAGS= "${CFLAGS}"meta/recipes-core/busybox/busybox.inc +1
-1-PACKAGES =+ "${PN}-httpd ${PN}-udhcpd" +PACKAGES =+ "${PN}-httpd ${PN}-udhcpd ${PN}-udhcpc ${PN}-syslog"FILES_${PN}-httpd = "${sysconfdir}/init.d/busybox-httpd
/srv/www" +FILES_${PN}-syslog = "${sysconfdir}/init.d/syslog* ${sysconfdir}/syslog.conf*" FILES_${PN}-udhcpd = "${sysconfdir}/init.d/busybox-udhcpd"meta/recipes-core/busybox/busybox.inc +2
-3+FILES_${PN}-udhcpc = "${sysconfdir}/udhcpc.d ${datadir}/udhcpc ${sysconfdir}/init.d/busybox-udhcpc" -FILES_${PN} += "${datadir}/udhcpc" -FILES_${PN} += "${sysconfdir}/init.d/busybox-udhcpc" +INITSCRIPT_PACKAGES = "${PN}-httpd ${PN}-syslog ${PN}-udhcpd ${PN}-udhcpc" -INITSCRIPT_PACKAGES = "${PN} ${PN}-httpd ${PN}-udhcpd"INITSCRIPT_NAME_${PN}-httpd = "busybox-httpd"
+INITSCRIPT_NAME_${PN}-syslog = "syslog"
INITSCRIPT_NAME_${PN}-udhcpd = "busybox-udhcpd"meta/recipes-core/busybox/busybox.inc +4
-2-INITSCRIPT_NAME_${PN} = "syslog busybox-udhcpc" -CONFFILES_${PN} = "${sysconfdir}/syslog.conf.${PN}" +INITSCRIPT_NAME_${PN}-udhcpc = "busybox-udhcpc" +CONFFILES_${PN}-syslog = "${sysconfdir}/syslog.conf.${PN}" + +RRECOMMENDS_${PN} = "${PN}-syslog ${PN}-udhcpc"# This disables the syslog startup links in slugos (see slugos-init)
meta/recipes-core/busybox/busybox.inc +1
-1-INITSCRIPT_PARAMS_${PN}_slugos = "start 20 ." +INITSCRIPT_PARAMS_${PN}-syslog_slugos = "start 20 ."inherit cml1 update-rc.d
meta/recipes-core/busybox/busybox.inc +0
-0@@ -116,7 +119,9 @@ pkg_postinst_${PN} () { # This adds the links, remember that this has to work when building an image too, hence the $Dwhile read link; do case "$link" in /*/*/*) to="../../bin/busybox";;
/bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; bn=basename $link; update-alternatives --install $link $bn $to 50; done<$D/etc/busybox.linksmeta/recipes-core/busybox/busybox.inc +2
-0+} +pkg_postinst_${PN}-syslog () {update-alternatives --install ${sysconfdir}/init.d/syslog syslog-init syslog.${PN} 50 update-alternatives --install
${sysconfdir}/syslog.confsyslog-conf syslog.conf.${PN} 50 }meta/recipes-core/busybox/busybox.inc +0
-0@@ -150,7 +155,9 @@ pkg_prerm_${PN} () {bn=
basename $link
sh/usr/bin/update-alternatives--remove $bn $to
done</etc/busybox.linksmeta/recipes-core/busybox/busybox.inc +2
-0+} +pkg_prerm_${PN}-syslog () {# remove syslog if test "x$D" = "x"; then if test "$1" = "upgrade" -o "$1" = "remove"; then
Signature · 4 lines
------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------
Richard Purdie
AppliedQuoted 11 lines · Mark Hatle
In order to resolve the issue of more then one initscript per split package, change the way busybox splits. We have added two additional packages busybox-udhcpc and busybox-syslog.. Both of which are now "recommended" to ensure that if available, they are installed.
Pull URL:
git://git.pokylinux.org/poky-contrib.git
Branch: mhatle/busybox
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/busyboxThanks,
Mark Hatle <[email protected]>
Merged into master, thanks.
Richard