[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