Remy Bohmer wrote:
> Hi,
> 
> 2010/5/31 Michael Olbrich <[email protected]>:
>> On Sat, May 29, 2010 at 11:08:30PM +0200, Remy Bohmer wrote:
>>> If the ptxdist project is build from a Source Control Management tool
>>> that makes files read-only, then ptxdist fails when it wants to
>>> overwrite the kernel-config after the kernel-old-config step.
>>>
>>> It is not a real error, the oldconfig has succeed, so just print
>>> a warning about the read-only file instead of fail completely.
>>>
>>> Signed-off-by: Remy Bohmer <[email protected]>
>>> Acked-by: Marc Kleine-Budde <[email protected]>
>>> ---
>>>  rules/kernel.make |    6 +++++-
>>>  1 files changed, 5 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/rules/kernel.make b/rules/kernel.make
>>> index 9477502..f8c2c09 100644
>>> --- a/rules/kernel.make
>>> +++ b/rules/kernel.make
>>> @@ -125,7 +125,11 @@ ifdef KERNEL_INITRAMFS_SOURCE_y
>>>  endif
>>>
>>>       @$(call ptx/oldconfig, KERNEL)
>>> -     @cp "$(KERNEL_DIR)/.config" "$(<)"
>>> +     @if [ -w $(<) ]; then \
>>> +             cp "$(KERNEL_DIR)/.config" "$(<)"; \
>>> +      else \
>>> +             echo "WARNING: $(<) is Read-only, not updating it!" 1>&2; \
>>> +      fi
>> I don't like this. $(KERNEL_CONFIG) may not be readonly on purpose and
>> changes get lost. What about:
>>
>> if diff -q  "$(KERNEL_DIR)/.config" "$(<)" > /dev/null; then
>>        cp "$(KERNEL_DIR)/.config" "$(<)"
>> fi
>>
>> Then it only fails if there are changes.

you can also use "cmp -s", which is used in the oldconfig/menuconfig

> This will not work, since it always changes, even if there is not
> actually made a change at all.
> It changes because the timestamp at the 4th line in the config file
> will be updated on every 'make oldconfig' , resulting in that always a
> difference will be detected. It could only work if a compare is done
> only on the lines that do not start with '#', like this

The timestamp thing is not true, since ptxdist sets "KCONFIG_NOTIMESTAMP=1"

cheers, Marc

> 
> if diff -q -I '#'  "$(KERNEL_DIR)/.config" "$(<)" > /dev/null; then
>        cp "$(KERNEL_DIR)/.config" "$(<)"
> fi
> 
> What do you think of that?
> 
> Kind regards,
> 
> Remy
> 


-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
ptxdist mailing list
[email protected]

Reply via email to