[Buildroot] [PATCH 1/2] Makefile: add chmod before rm when cleaning.
Arnout Vandecappelle
arnout at mind.be
Wed Apr 17 20:42:34 UTC 2019
On 17/04/2019 02:09, Louis des Landes wrote:
> Some build systems (looking at you golang) create read only directories
> as caches.
> As such rm -rf will actually fail, causing clean and <pkg>-dirclean to fail.
>
> This patch will cause `make clean` to run chmod -R +w on the relevant
> directory first, which will allow rm -rf to work.
>
> This may be resolved if https://github.com/golang/go/issues/31481 is
> resolved satisfactorily.
I don't like this very much - adding a go-specific workaround to the generic
infrastructure.
Would it be acceptable to instead do the chmod as a POST_BUILD_HOOK that is
added by golang-package?
I also don't understand that I haven't encountered this issue myself... Maybe I
don't build Go packages...
Regards,
Arnout
>
> Signed-off-by: Louis des Landes <louis.deslandes at fleet.space>
> ---
> Makefile | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Makefile b/Makefile
> index 522c0b0606..fc2a82e074 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1060,6 +1060,12 @@ printvars:
>
> .PHONY: clean
> clean:
> + # Some build systems (looking at you golang) create read only directories
> + # As such rm -rf will actually fail, so brute force them all to writeable
> + # before removing them.
> + chmod -R u+w $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \
> + $(BUILD_DIR) $(BASE_DIR)/staging \
> + $(LEGAL_INFO_DIR) $(GRAPHS_DIR)
> rm -rf $(BASE_TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) $(HOST_DIR_SYMLINK) \
> $(BUILD_DIR) $(BASE_DIR)/staging \
> $(LEGAL_INFO_DIR) $(GRAPHS_DIR)
>
More information about the buildroot
mailing list