[OE-core] [PATCH] update-rc.d.bbclass: Fix host/target test in postinst
Hans Beckérus
hans.beckerus at gmail.com
Sun Oct 27 08:17:14 UTC 2013
> 27 okt 2013 kl. 08:51 skrev Hans Beckerus <hans.beckerus at gmail.com>:
>
>> On 2013-10-27 8:25, Jacob Kroon wrote:
>> Hi Hans,
>> I'm far from being a scripting-expert, so I just did what I could in order to
>> get rid of the warning and stop the service.
>> Sending this patch was just a way to raise some attention to the bug and get
>> some discussion going :-)
> No problem ;)
> Try this instead
>
> if [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
> echo stop
> fi
>
...and of course replace the 'echo stop' with the previous real call to the init script. This was only to test the syntax.
> Thanks.
> Hans
>
>> If there are other ways one should proceed instead of sending "broken" patches
>> to the mailing list I will do so in the future.
>> Regards
>> Jacob
>>
>>
>> On Sun, Oct 27, 2013 at 8:18 AM, Hans Beckerus <hans.beckerus at gmail.com
>> <mailto:hans.beckerus at gmail.com>> wrote:
>>
>>> On 2013-10-27 12:36, Jacob Kroon wrote:
>>> When running the postinst script I get a shell warning:
>>>
>>> sh: argument expected
>>>
>>> and the service is never stopped. This patch fixes the warning
>>> message and stops the service.
>> This patch does not look right to me?
>> If length of $(D) is zero the condition will *always* be true. Instead of
>> actually testing the existence of "${INIT_D_DIR}/${INITSCRIPT_NAME}" it is
>> now simply converted to a string. What did I miss ;)
>>
>> Thanks.
>> Hans
>>
>>> Signed-off-by: Jacob Kroon <jacob.kroon at gmail.com
>> <mailto:jacob.kroon at gmail.com>>
>>> ---
>>> meta/classes/update-rc.d.bbclass | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/meta/classes/update-rc.d.bbclass
>> b/meta/classes/update-rc.d.bbclass
>>> index e14659d..835b717 100644
>>> --- a/meta/classes/update-rc.d.bbclass
>>> +++ b/meta/classes/update-rc.d.bbclass
>>> @@ -16,7 +16,7 @@ updatercd_postinst() {
>>> # test if there is a previous init script there, ie, we are updating the
>> package
>>> # if so, we stop the service and remove it before we install from the
>> new package
>>> if type update-rc.d >/dev/null 2>/dev/null; then
>>> - if [ -z "$D" -a `test -f "${INIT_D_DIR}/${INITSCRIPT_NAME}"` ]; then
>>> + if [ -z "$D" -a "test -f ${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
>>> ${INIT_D_DIR}/${INITSCRIPT_NAME} stop
>>> fi
>>> if [ -n "$D" ]; then
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> <mailto:Openembedded-core at lists.openembedded.org>
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>>
>>
>>
>> --
>> -- Jacob
>
More information about the Openembedded-core
mailing list