* [PATCH 0/1] busybox: fix to support FEATURE_INDIVIDUAL @ 2013-05-30 8:51 Qi.Chen 2013-05-30 8:51 ` [PATCH 1/1] " Qi.Chen 0 siblings, 1 reply; 6+ messages in thread From: Qi.Chen @ 2013-05-30 8:51 UTC (permalink / raw) To: openembedded-core; +Cc: qingtao.cao From: Chen Qi <Qi.Chen@windriver.com> The following changes since commit 5cb59cc6910d8f3165528c4a71e29e4de897d242: yocto-bsp: re-enable AutoAddDevices in xorg.conf for generated BSPs (2013-05-29 22:25:41 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib ChenQi/busybox-individual http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/busybox-individual Chen Qi (1): busybox: fix to support FEATURE_INDIVIDUAL meta/recipes-core/busybox/busybox.inc | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) -- 1.7.9.5 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/1] busybox: fix to support FEATURE_INDIVIDUAL 2013-05-30 8:51 [PATCH 0/1] busybox: fix to support FEATURE_INDIVIDUAL Qi.Chen @ 2013-05-30 8:51 ` Qi.Chen 2013-05-30 12:26 ` Saul Wold 0 siblings, 1 reply; 6+ messages in thread From: Qi.Chen @ 2013-05-30 8:51 UTC (permalink / raw) To: openembedded-core; +Cc: qingtao.cao From: Chen Qi <Qi.Chen@windriver.com> Previously, if CONFIG_FEATURE_INDIVIDUAL was enabled for busybox, yocto-based systems could start correctly. This is because if busybox is built as individual apps, '/bin/busybox' may not be present, so setting the default ALTERNATIVE_TARGET to '/bin/busybox' is not appropriate and could lead to errors. This patch fixes this problem by checking the existence of '/bin/busybox' before setting the ALTERNATIVE_TARGET to '/bin/busybox'. After this change, if busybox is built as individual apps, we'll have links like '/bin/ls -> /bin/ls.busybox', otherwise, we'll have links like '/bin/ls -> /bin/busybox'. Besides, this patch removes the pkg_postinst part in the busybox recipe, because it's redundant. [YOCTO #4570] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> --- meta/recipes-core/busybox/busybox.inc | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index c8908b0..6abe167 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc @@ -171,7 +171,7 @@ do_install () { install -m 0755 "0_lib/$NAME" "${D}$FILE.${BPN}" done # add suid bit where needed - for i in `grep -E "APPLET.*_BB_SUID_((MAYBE|REQUIRE))" include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f 1 -d ','`; do + for i in `grep -E "APPLET.*BB_SUID_((MAYBE|REQUIRE))" include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f 1 -d ','`; do find ${D} -name $i.${BPN} -exec chmod a+s {} \; done install -m 0755 0_lib/libbusybox.so.${PV} ${D}${libdir}/libbusybox.so.${PV} @@ -242,14 +242,16 @@ ALTERNATIVE_TARGET[syslog-init] = "${sysconfdir}/init.d/syslog.${BPN}" ALTERNATIVE_LINK_NAME[syslog-startup-conf] = "${sysconfdir}/syslog-startup.conf" ALTERNATIVE_TARGET[syslog-startup-conf] = "${sysconfdir}/syslog-startup.conf.${BPN}" -ALTERNATIVE_TARGET = "/bin/busybox" - python do_package_prepend () { # We need to load the full set of busybox provides from the /etc/busybox.links # Use this to see the update-alternatives with the right information dvar = d.getVar('D', True) pn = d.getVar('PN', True) + + if os.path.exists('%s/bin/busybox' % (dvar)): + d.setVar('ALTERNATIVE_TARGET', "/bin/busybox") + f = open('%s/etc/busybox.links' % (dvar), 'r') for alt_link_name in f: @@ -265,14 +267,6 @@ python do_package_prepend () { f.close() } -pkg_postinst_${PN} () { - # If we are not making an image we create links for the utilities that doesn't exist - # so the update-alternatives script will get the utilities it needs - # (update-alternatives have no problem replacing links later anyway) - test -n 2> /dev/null || alias test='busybox test' - if test "x$D" = "x"; then while read link; do if test ! -h "$link"; then case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; busybox ln -s $to $link; fi; done </etc/busybox.links; fi -} - 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 -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] busybox: fix to support FEATURE_INDIVIDUAL 2013-05-30 8:51 ` [PATCH 1/1] " Qi.Chen @ 2013-05-30 12:26 ` Saul Wold 2013-06-03 2:19 ` ChenQi 0 siblings, 1 reply; 6+ messages in thread From: Saul Wold @ 2013-05-30 12:26 UTC (permalink / raw) To: Qi.Chen; +Cc: qingtao.cao, openembedded-core On 05/30/2013 05:51 PM, Qi.Chen@windriver.com wrote: > From: Chen Qi <Qi.Chen@windriver.com> > > Previously, if CONFIG_FEATURE_INDIVIDUAL was enabled for busybox, > yocto-based systems could start correctly. > > This is because if busybox is built as individual apps, '/bin/busybox' > may not be present, so setting the default ALTERNATIVE_TARGET to > '/bin/busybox' is not appropriate and could lead to errors. > > This patch fixes this problem by checking the existence of '/bin/busybox' > before setting the ALTERNATIVE_TARGET to '/bin/busybox'. > > After this change, if busybox is built as individual apps, we'll have > links like '/bin/ls -> /bin/ls.busybox', otherwise, we'll have links > like '/bin/ls -> /bin/busybox'. > Does this add size to the image? In this example does ls.busybox link to something else or is it a binary on it's own? Sau! > Besides, this patch removes the pkg_postinst part in the busybox recipe, > because it's redundant. > > [YOCTO #4570] > > Signed-off-by: Chen Qi <Qi.Chen@windriver.com> > --- > meta/recipes-core/busybox/busybox.inc | 16 +++++----------- > 1 file changed, 5 insertions(+), 11 deletions(-) > > diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc > index c8908b0..6abe167 100644 > --- a/meta/recipes-core/busybox/busybox.inc > +++ b/meta/recipes-core/busybox/busybox.inc > @@ -171,7 +171,7 @@ do_install () { > install -m 0755 "0_lib/$NAME" "${D}$FILE.${BPN}" > done > # add suid bit where needed > - for i in `grep -E "APPLET.*_BB_SUID_((MAYBE|REQUIRE))" include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f 1 -d ','`; do > + for i in `grep -E "APPLET.*BB_SUID_((MAYBE|REQUIRE))" include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f 1 -d ','`; do > find ${D} -name $i.${BPN} -exec chmod a+s {} \; > done > install -m 0755 0_lib/libbusybox.so.${PV} ${D}${libdir}/libbusybox.so.${PV} > @@ -242,14 +242,16 @@ ALTERNATIVE_TARGET[syslog-init] = "${sysconfdir}/init.d/syslog.${BPN}" > ALTERNATIVE_LINK_NAME[syslog-startup-conf] = "${sysconfdir}/syslog-startup.conf" > ALTERNATIVE_TARGET[syslog-startup-conf] = "${sysconfdir}/syslog-startup.conf.${BPN}" > > -ALTERNATIVE_TARGET = "/bin/busybox" > - > python do_package_prepend () { > # We need to load the full set of busybox provides from the /etc/busybox.links > # Use this to see the update-alternatives with the right information > > dvar = d.getVar('D', True) > pn = d.getVar('PN', True) > + > + if os.path.exists('%s/bin/busybox' % (dvar)): > + d.setVar('ALTERNATIVE_TARGET', "/bin/busybox") > + > f = open('%s/etc/busybox.links' % (dvar), 'r') > > for alt_link_name in f: > @@ -265,14 +267,6 @@ python do_package_prepend () { > f.close() > } > > -pkg_postinst_${PN} () { > - # If we are not making an image we create links for the utilities that doesn't exist > - # so the update-alternatives script will get the utilities it needs > - # (update-alternatives have no problem replacing links later anyway) > - test -n 2> /dev/null || alias test='busybox test' > - if test "x$D" = "x"; then while read link; do if test ! -h "$link"; then case "$link" in /*/*/*) to="../../bin/busybox";; /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; busybox ln -s $to $link; fi; done </etc/busybox.links; fi > -} > - > 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 > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] busybox: fix to support FEATURE_INDIVIDUAL 2013-05-30 12:26 ` Saul Wold @ 2013-06-03 2:19 ` ChenQi 2013-06-03 4:10 ` Saul Wold 0 siblings, 1 reply; 6+ messages in thread From: ChenQi @ 2013-06-03 2:19 UTC (permalink / raw) To: Saul Wold; +Cc: qingtao.cao, openembedded-core On 05/30/2013 08:26 PM, Saul Wold wrote: > On 05/30/2013 05:51 PM, Qi.Chen@windriver.com wrote: >> From: Chen Qi <Qi.Chen@windriver.com> >> >> Previously, if CONFIG_FEATURE_INDIVIDUAL was enabled for busybox, >> yocto-based systems could start correctly. >> >> This is because if busybox is built as individual apps, '/bin/busybox' >> may not be present, so setting the default ALTERNATIVE_TARGET to >> '/bin/busybox' is not appropriate and could lead to errors. >> >> This patch fixes this problem by checking the existence of >> '/bin/busybox' >> before setting the ALTERNATIVE_TARGET to '/bin/busybox'. >> >> After this change, if busybox is built as individual apps, we'll have >> links like '/bin/ls -> /bin/ls.busybox', otherwise, we'll have links >> like '/bin/ls -> /bin/busybox'. >> > Does this add size to the image? In this example does ls.busybox link > to something else or is it a binary on it's own? > > Sau! > > It increases about 1M of the whole image size. ls.busybox, for example, is a binary. Best Regards, Chen Qi >> Besides, this patch removes the pkg_postinst part in the busybox recipe, >> because it's redundant. >> >> [YOCTO #4570] >> >> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> >> --- >> meta/recipes-core/busybox/busybox.inc | 16 +++++----------- >> 1 file changed, 5 insertions(+), 11 deletions(-) >> >> diff --git a/meta/recipes-core/busybox/busybox.inc >> b/meta/recipes-core/busybox/busybox.inc >> index c8908b0..6abe167 100644 >> --- a/meta/recipes-core/busybox/busybox.inc >> +++ b/meta/recipes-core/busybox/busybox.inc >> @@ -171,7 +171,7 @@ do_install () { >> install -m 0755 "0_lib/$NAME" "${D}$FILE.${BPN}" >> done >> # add suid bit where needed >> - for i in `grep -E "APPLET.*_BB_SUID_((MAYBE|REQUIRE))" >> include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f >> 1 -d ','`; do >> + for i in `grep -E "APPLET.*BB_SUID_((MAYBE|REQUIRE))" >> include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f >> 1 -d ','`; do >> find ${D} -name $i.${BPN} -exec chmod a+s {} \; >> done >> install -m 0755 0_lib/libbusybox.so.${PV} >> ${D}${libdir}/libbusybox.so.${PV} >> @@ -242,14 +242,16 @@ ALTERNATIVE_TARGET[syslog-init] = >> "${sysconfdir}/init.d/syslog.${BPN}" >> ALTERNATIVE_LINK_NAME[syslog-startup-conf] = >> "${sysconfdir}/syslog-startup.conf" >> ALTERNATIVE_TARGET[syslog-startup-conf] = >> "${sysconfdir}/syslog-startup.conf.${BPN}" >> >> -ALTERNATIVE_TARGET = "/bin/busybox" >> - >> python do_package_prepend () { >> # We need to load the full set of busybox provides from the >> /etc/busybox.links >> # Use this to see the update-alternatives with the right >> information >> >> dvar = d.getVar('D', True) >> pn = d.getVar('PN', True) >> + >> + if os.path.exists('%s/bin/busybox' % (dvar)): >> + d.setVar('ALTERNATIVE_TARGET', "/bin/busybox") >> + >> f = open('%s/etc/busybox.links' % (dvar), 'r') >> >> for alt_link_name in f: >> @@ -265,14 +267,6 @@ python do_package_prepend () { >> f.close() >> } >> >> -pkg_postinst_${PN} () { >> - # If we are not making an image we create links for the >> utilities that doesn't exist >> - # so the update-alternatives script will get the utilities it needs >> - # (update-alternatives have no problem replacing links later >> anyway) >> - test -n 2> /dev/null || alias test='busybox test' >> - if test "x$D" = "x"; then while read link; do if test ! -h >> "$link"; then case "$link" in /*/*/*) to="../../bin/busybox";; >> /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; busybox ln >> -s $to $link; fi; done </etc/busybox.links; fi >> -} >> - >> 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 >> > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] busybox: fix to support FEATURE_INDIVIDUAL 2013-06-03 2:19 ` ChenQi @ 2013-06-03 4:10 ` Saul Wold 2013-06-03 4:34 ` ChenQi 0 siblings, 1 reply; 6+ messages in thread From: Saul Wold @ 2013-06-03 4:10 UTC (permalink / raw) To: ChenQi; +Cc: qingtao.cao, openembedded-core On 06/02/2013 07:19 PM, ChenQi wrote: > On 05/30/2013 08:26 PM, Saul Wold wrote: >> On 05/30/2013 05:51 PM, Qi.Chen@windriver.com wrote: >>> From: Chen Qi <Qi.Chen@windriver.com> >>> >>> Previously, if CONFIG_FEATURE_INDIVIDUAL was enabled for busybox, >>> yocto-based systems could start correctly. >>> >>> This is because if busybox is built as individual apps, '/bin/busybox' >>> may not be present, so setting the default ALTERNATIVE_TARGET to >>> '/bin/busybox' is not appropriate and could lead to errors. >>> >>> This patch fixes this problem by checking the existence of >>> '/bin/busybox' >>> before setting the ALTERNATIVE_TARGET to '/bin/busybox'. >>> >>> After this change, if busybox is built as individual apps, we'll have >>> links like '/bin/ls -> /bin/ls.busybox', otherwise, we'll have links >>> like '/bin/ls -> /bin/busybox'. >>> >> Does this add size to the image? In this example does ls.busybox link >> to something else or is it a binary on it's own? >> >> Sau! >> >> > It increases about 1M of the whole image size. > ls.busybox, for example, is a binary. > That's NOT ok, we are looking to reduce the image size especially for core-image-minimal, I believe the static test I did with building a busybox with only a tinylogin config was actually smaller that the current tinylogin binary! Please investigate this route, we also need to understand what other parts of busybox are using SetUID. Thanks Sau! > Best Regards, > Chen Qi > >>> Besides, this patch removes the pkg_postinst part in the busybox recipe, >>> because it's redundant. >>> >>> [YOCTO #4570] >>> >>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> >>> --- >>> meta/recipes-core/busybox/busybox.inc | 16 +++++----------- >>> 1 file changed, 5 insertions(+), 11 deletions(-) >>> >>> diff --git a/meta/recipes-core/busybox/busybox.inc >>> b/meta/recipes-core/busybox/busybox.inc >>> index c8908b0..6abe167 100644 >>> --- a/meta/recipes-core/busybox/busybox.inc >>> +++ b/meta/recipes-core/busybox/busybox.inc >>> @@ -171,7 +171,7 @@ do_install () { >>> install -m 0755 "0_lib/$NAME" "${D}$FILE.${BPN}" >>> done >>> # add suid bit where needed >>> - for i in `grep -E "APPLET.*_BB_SUID_((MAYBE|REQUIRE))" >>> include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f >>> 1 -d ','`; do >>> + for i in `grep -E "APPLET.*BB_SUID_((MAYBE|REQUIRE))" >>> include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f >>> 1 -d ','`; do >>> find ${D} -name $i.${BPN} -exec chmod a+s {} \; >>> done >>> install -m 0755 0_lib/libbusybox.so.${PV} >>> ${D}${libdir}/libbusybox.so.${PV} >>> @@ -242,14 +242,16 @@ ALTERNATIVE_TARGET[syslog-init] = >>> "${sysconfdir}/init.d/syslog.${BPN}" >>> ALTERNATIVE_LINK_NAME[syslog-startup-conf] = >>> "${sysconfdir}/syslog-startup.conf" >>> ALTERNATIVE_TARGET[syslog-startup-conf] = >>> "${sysconfdir}/syslog-startup.conf.${BPN}" >>> >>> -ALTERNATIVE_TARGET = "/bin/busybox" >>> - >>> python do_package_prepend () { >>> # We need to load the full set of busybox provides from the >>> /etc/busybox.links >>> # Use this to see the update-alternatives with the right >>> information >>> >>> dvar = d.getVar('D', True) >>> pn = d.getVar('PN', True) >>> + >>> + if os.path.exists('%s/bin/busybox' % (dvar)): >>> + d.setVar('ALTERNATIVE_TARGET', "/bin/busybox") >>> + >>> f = open('%s/etc/busybox.links' % (dvar), 'r') >>> >>> for alt_link_name in f: >>> @@ -265,14 +267,6 @@ python do_package_prepend () { >>> f.close() >>> } >>> >>> -pkg_postinst_${PN} () { >>> - # If we are not making an image we create links for the >>> utilities that doesn't exist >>> - # so the update-alternatives script will get the utilities it needs >>> - # (update-alternatives have no problem replacing links later >>> anyway) >>> - test -n 2> /dev/null || alias test='busybox test' >>> - if test "x$D" = "x"; then while read link; do if test ! -h >>> "$link"; then case "$link" in /*/*/*) to="../../bin/busybox";; >>> /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; busybox ln >>> -s $to $link; fi; done </etc/busybox.links; fi >>> -} >>> - >>> 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 >>> >> >> > > > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/1] busybox: fix to support FEATURE_INDIVIDUAL 2013-06-03 4:10 ` Saul Wold @ 2013-06-03 4:34 ` ChenQi 0 siblings, 0 replies; 6+ messages in thread From: ChenQi @ 2013-06-03 4:34 UTC (permalink / raw) To: Saul Wold; +Cc: qingtao.cao, openembedded-core On 06/03/2013 12:10 PM, Saul Wold wrote: > On 06/02/2013 07:19 PM, ChenQi wrote: >> On 05/30/2013 08:26 PM, Saul Wold wrote: >>> On 05/30/2013 05:51 PM, Qi.Chen@windriver.com wrote: >>>> From: Chen Qi <Qi.Chen@windriver.com> >>>> >>>> Previously, if CONFIG_FEATURE_INDIVIDUAL was enabled for busybox, >>>> yocto-based systems could start correctly. >>>> >>>> This is because if busybox is built as individual apps, '/bin/busybox' >>>> may not be present, so setting the default ALTERNATIVE_TARGET to >>>> '/bin/busybox' is not appropriate and could lead to errors. >>>> >>>> This patch fixes this problem by checking the existence of >>>> '/bin/busybox' >>>> before setting the ALTERNATIVE_TARGET to '/bin/busybox'. >>>> >>>> After this change, if busybox is built as individual apps, we'll have >>>> links like '/bin/ls -> /bin/ls.busybox', otherwise, we'll have links >>>> like '/bin/ls -> /bin/busybox'. >>>> >>> Does this add size to the image? In this example does ls.busybox link >>> to something else or is it a binary on it's own? >>> >>> Sau! >>> >>> >> It increases about 1M of the whole image size. >> ls.busybox, for example, is a binary. >> > That's NOT ok, we are looking to reduce the image size especially for > core-image-minimal, I believe the static test I did with building a > busybox with only a tinylogin config was actually smaller that the > current tinylogin binary! > > Please investigate this route, we also need to understand what other > parts of busybox are using SetUID. > This is a different bug. (busybox in Yocto/OE doesn't support FEATURE_INDIVIDUAL https://bugzilla.yoctoproject.org/show_bug.cgi?id=4570) I encountered this bug when I was exploring busybox. I won't use this 'FEATURE_INDIVIDUAL' approach to fix bug#4207, as you said above, it increases image size, and that's not what we want. (Switch to using busybox instead of tinylogin https://bugzilla.yoctoproject.org/show_bug.cgi?id=4207). Best Regards, Chen Qi > Thanks > Sau! > > >> Best Regards, >> Chen Qi >> >>>> Besides, this patch removes the pkg_postinst part in the busybox >>>> recipe, >>>> because it's redundant. >>>> >>>> [YOCTO #4570] >>>> >>>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> >>>> --- >>>> meta/recipes-core/busybox/busybox.inc | 16 +++++----------- >>>> 1 file changed, 5 insertions(+), 11 deletions(-) >>>> >>>> diff --git a/meta/recipes-core/busybox/busybox.inc >>>> b/meta/recipes-core/busybox/busybox.inc >>>> index c8908b0..6abe167 100644 >>>> --- a/meta/recipes-core/busybox/busybox.inc >>>> +++ b/meta/recipes-core/busybox/busybox.inc >>>> @@ -171,7 +171,7 @@ do_install () { >>>> install -m 0755 "0_lib/$NAME" "${D}$FILE.${BPN}" >>>> done >>>> # add suid bit where needed >>>> - for i in `grep -E "APPLET.*_BB_SUID_((MAYBE|REQUIRE))" >>>> include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f >>>> 1 -d ','`; do >>>> + for i in `grep -E "APPLET.*BB_SUID_((MAYBE|REQUIRE))" >>>> include/applets.h | grep -v _BB_SUID_DROP | cut -f 3 -d '(' | cut -f >>>> 1 -d ','`; do >>>> find ${D} -name $i.${BPN} -exec chmod a+s {} \; >>>> done >>>> install -m 0755 0_lib/libbusybox.so.${PV} >>>> ${D}${libdir}/libbusybox.so.${PV} >>>> @@ -242,14 +242,16 @@ ALTERNATIVE_TARGET[syslog-init] = >>>> "${sysconfdir}/init.d/syslog.${BPN}" >>>> ALTERNATIVE_LINK_NAME[syslog-startup-conf] = >>>> "${sysconfdir}/syslog-startup.conf" >>>> ALTERNATIVE_TARGET[syslog-startup-conf] = >>>> "${sysconfdir}/syslog-startup.conf.${BPN}" >>>> >>>> -ALTERNATIVE_TARGET = "/bin/busybox" >>>> - >>>> python do_package_prepend () { >>>> # We need to load the full set of busybox provides from the >>>> /etc/busybox.links >>>> # Use this to see the update-alternatives with the right >>>> information >>>> >>>> dvar = d.getVar('D', True) >>>> pn = d.getVar('PN', True) >>>> + >>>> + if os.path.exists('%s/bin/busybox' % (dvar)): >>>> + d.setVar('ALTERNATIVE_TARGET', "/bin/busybox") >>>> + >>>> f = open('%s/etc/busybox.links' % (dvar), 'r') >>>> >>>> for alt_link_name in f: >>>> @@ -265,14 +267,6 @@ python do_package_prepend () { >>>> f.close() >>>> } >>>> >>>> -pkg_postinst_${PN} () { >>>> - # If we are not making an image we create links for the >>>> utilities that doesn't exist >>>> - # so the update-alternatives script will get the utilities it >>>> needs >>>> - # (update-alternatives have no problem replacing links later >>>> anyway) >>>> - test -n 2> /dev/null || alias test='busybox test' >>>> - if test "x$D" = "x"; then while read link; do if test ! -h >>>> "$link"; then case "$link" in /*/*/*) to="../../bin/busybox";; >>>> /bin/*) to="busybox";; /*/*) to="../bin/busybox";; esac; busybox ln >>>> -s $to $link; fi; done </etc/busybox.links; fi >>>> -} >>>> - >>>> 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 >>>> >>> >>> >> >> >> > > ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-06-03 4:33 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-05-30 8:51 [PATCH 0/1] busybox: fix to support FEATURE_INDIVIDUAL Qi.Chen 2013-05-30 8:51 ` [PATCH 1/1] " Qi.Chen 2013-05-30 12:26 ` Saul Wold 2013-06-03 2:19 ` ChenQi 2013-06-03 4:10 ` Saul Wold 2013-06-03 4:34 ` ChenQi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox