* [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