[Buildroot] [PATCH v4 0/9] target permissions

Ezequiel Garcia ezequiel at vanguardiasur.com.ar
Mon Nov 24 22:17:28 UTC 2014



On 11/21/2014 01:18 PM, Guido Martínez wrote:
> Hey guys,
> 
> fourth patchset to fix the target permissions variability.
> 
> I checked (to the best of my knowledge) every 'cp' and 'rsync' call
> under package/. There are two bigs cases:
> 
> (1) Copies from the package or download directory to the build directory
> (example: cache-calibrator, fan-ctrl, ramspeed, samba4). They are OK,
> since they copy source code, a Makefile or some other build files. These
> files _shouldn't_ affect the result, so I left them the way they are. We
> can change them if you agree, but I thought it'd be too much noise for
> now.
> 
> (2) Copies from anything under output/ to the target. These should
> all be fine. Since we now build with a controlled umask and reset any
> permissions that could vary (tar files don't vary), we shouldn't observe
> any variability under output/ (modulo (1)-kind copies).
> 
> I tested parallel builds with this, as Yann suggested, and they seem to
> work the same, which is expected since we just wrap everything at the
> top level.
> 
> Differences from v3 are:
> 
> - Recursive running of make is done with $(MAKE), and not using
>   --no-print-directory. Also, change the "%" rule in "$(MAKECMDGOALS)"
>   to properly detect phony rules.
> 
> - Use --chmod on the external toolchain's rsync, to prevent any weird
>   permissions coming from there. This isn't stricly necessary, since the
>   toolchain libs are copied to the target via 'install', which won't
>   depend on any existing permissions. But this way we're safer in case
>   anything changes in the future. Also we make sure everything under
>   output/ is controlled.
> 
> - Fix some cp's to the target from non-controlled dirs
>   on boot/grub/grub.mk, fs/iso9660/iso9660.mk, and
>   board/boundarydevices/nitrogen6x/post-build.sh
> 
> - Fifth patch dropped as it was accepted.
> 
> - Added the umask setting in the Makefile generated in the $(O) dir.
>   This is just an optimization so we don't have another level of 'make'
>   running.
> 
> - Fixed 'install' call on matchbox-keyboard patch (#4)
> 
> Thanks!
> 
> ---
> 
> Guido Martínez (9):
>   Makefile: don't depend on the umask
>   Makefile: don't depend on current skeleton/overlay permissions
>   toolchain/helpers.mk: use --chmod on rsync
>   pkg-generic.mk: don't depend on external package permissions
>   package: matchbox-keyboard: use install instead of cp
>   scripts: mkmakefile: set umask before calling BR's makefile
>   nitrogen6x: use install instead of cp
>   boot/grub: use install instead of cp
>   fs/iso9660: use install instead of cp
> 
>  Makefile                                              | 19 +++++++++++++++++--
>  board/boundarydevices/nitrogen6x/post-build.sh        |  6 +++---
>  boot/grub/grub.mk                                     | 14 +++++++-------
>  fs/iso9660/iso9660.mk                                 | 16 +++++++++-------
>  .../matchbox/matchbox-keyboard/matchbox-keyboard.mk   |  2 +-
>  package/pkg-generic.mk                                |  2 +-
>  support/scripts/mkmakefile                            |  2 +-
>  toolchain/helpers.mk                                  |  2 +-
>  8 files changed, 40 insertions(+), 23 deletions(-)
> 

Wouldn't it be nice to document this behavior in the manual?

Unless this is considered just an implementation detail.
-- 
Ezequiel Garcia, VanguardiaSur
www.vanguardiasur.com.ar


More information about the buildroot mailing list