[Buildroot] [PATCH] package/tzdata: fix installation commands
Arnout Vandecappelle
arnout at mind.be
Tue Nov 18 19:19:24 UTC 2014
On 18/11/14 19:38, Yann E. MORIN wrote:
> If the destination directory already exists (e.g. because of a re-run or
> a custom skeleton), then the zoneinfo files will be installed in a
> sub-directory of where we are trying to install them.
>
> Fix that by creating the destination directory and copying the content
> of the source directory.
>
> Also fix the host install commands to match what we do in the target
> install commands.
>
> Reported-by: Martin Dorwig <dorwig at tetronik.com>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
> ---
> package/tzdata/tzdata.mk | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk
> index 47e29c0..d0aa857 100644
> --- a/package/tzdata/tzdata.mk
> +++ b/package/tzdata/tzdata.mk
> @@ -26,8 +26,8 @@ TZDATA_LOCALTIME = $(call qstrip,$(BR2_TARGET_LOCALTIME))
> TZDATA_EXTRACT_CMDS =
>
> define TZDATA_INSTALL_TARGET_CMDS
> - $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share
> - cp -a $(HOST_DIR)/usr/share/zoneinfo $(TARGET_DIR)/usr/share/zoneinfo
> + $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/zoneinfo
> + cp -a $(HOST_DIR)/usr/share/zoneinfo/* $(TARGET_DIR)/usr/share/zoneinfo
Alternatively, the two lines could be replaced with
rsync -a $(HOST_DIR)/usr/share/zoneinfo/ \
$(TARGET_DIR)/usr/share/zoneinfo
(trailing / on the source dir avoids creating an additional directory level at
the destination)
Maybe we should decide in general if we prefer cp or rsync.
And then maybe we should also think about doing rsync --inplace or cp --reflink
to make use of btrfs COW...
Regards,
Arnout
> cd $(TARGET_DIR)/usr/share/zoneinfo; \
> for zone in posix/*; do \
> ln -sfn "$${zone}" "$${zone##*/}"; \
> @@ -59,7 +59,7 @@ define HOST_TZDATA_BUILD_CMDS
> endef
>
> define HOST_TZDATA_INSTALL_CMDS
> - mkdir -p $(HOST_DIR)/usr/share/zoneinfo
> + $(INSTALL) -d -m 0755 $(HOST_DIR)/usr/share/zoneinfo
> cp -a $(@D)/_output/* $(@D)/*.tab $(HOST_DIR)/usr/share/zoneinfo
> endef
>
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
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
mailing list