[Buildroot] [PATCH next v6 05/10] Makefile: define TARGET_DIR_WARNING_FILE relative to TARGET_DIR
peter at korsgaard.com
Mon Nov 26 18:15:19 UTC 2018
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at bootlin.com> writes:
> In commit 7e9870ce32d6329d9e3d602247fbe1709a2275a4 ("core: introduce
> intermediate BASE_TARGET_DIR variable"), the definition of
> TARGET_DIR_WARNING_FILE was changed to use $(BASE_TARGET_DIR) instead
> of $(TARGET_DIR).
> However, this change is incompatible with per-package directories, and
> is in fact not needed.
> With per-package directories, using $(BASE_TARGET_DIR) means that
> TARGET_DIR_WARNING_FILE is
> output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM. Due to this, when
> skeleton-init-common or skeleton-custom attempt to install it, it
> fails, because it should be installed to their package per-package
> target directory, and not the global output/target directory that doesn't
> exist yet. The failure looks like this:
> /usr/bin/install -m 0644 support/misc/target-dir-warning.txt /home/thomas/projets/buildroot/output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
> /usr/bin/install: cannot create regular file '/home/thomas/projets/buildroot/output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM': No such file or directory
> make: *** [package/pkg-generic.mk:336: /home/thomas/projets/buildroot/output/build/skeleton-init-common/.stamp_target_installed] Error 1
> TARGET_DIR_WARNING_FILE is used in three places:
> - In skeleton-custom.mk and skeleton-init-common.mk, where as
> explained above, using $(TARGET_DIR) fixes the use of
> $(TARGET_DIR_WARNING_FILE) in the context of per-package target
> - In fs/common.mk, where it is used as argument to $(notdir ...) to
> retrieve just the name of the warning file. So in this case, we
> really don't care about the path of the file, just its name.
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> Acked-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Committed to next, thanks.
Bye, Peter Korsgaard
More information about the buildroot