[Buildroot] [PATCH v3 1/5] Makefile: don't depend on the umask
arnout at mind.be
Mon Nov 17 21:41:52 UTC 2014
On 17/11/14 22:36, Yann E. MORIN wrote:
> Guido, All,
> On 2014-11-17 14:19 -0300, Guido Martínez spake thusly:
>> Some packages and BR itself create files and directories on the target
>> with cp/mkdir/etc which depend on the umask at the time of building.
>> To fix this, use a trick inside the Makefile which wraps all rules when
>> the umask is not 0022. This sets the umask at the top level, and then
>> the building process continues as usual.
>> Signed-off-by: Guido Martínez <guido at vanguardiasur.com.ar>
>> Makefile | 15 +++++++++++++++
>> 1 file changed, 15 insertions(+)
>> diff --git a/Makefile b/Makefile
>> index 471edf9..5ad8235 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -24,6 +24,19 @@
>> # You shouldn't need to mess with anything beyond this point...
>> +# Trick for always running with a fixed umask
>> +ifneq ($(shell umask),$(UMASK))
>> + @umask $(UMASK) && make --no-print-directory
> You should use $(MAKE) instead of just 'make'.
> I'm not too fond of --no-print-directory, because it is gonna be
> inherited by all sub-makes, and especially the sub-makes that actually
> build the packages. I don't care we have an extra "Entering directory"
Note that the generated Makefile in $(O) does add --no-print-directory...
> Also, did you check how that plays with top-level parallel builds? I'm
> not too fond of it, but some users want to use it. See the comment a bit
> further in the Makefile.
>> + @umask $(UMASK) && make --no-print-directory $@
> Yann E. MORIN.
>> +else # umask
>> # This is our default rule, so must come first
>> @@ -932,3 +945,5 @@ include docs/manual/manual.mk
>> -include $(BR2_EXTERNAL)/docs/*/*.mk
>> .PHONY: $(noconfig_targets)
>> +endif #umask
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
More information about the buildroot