diff mbox

system/timezone: check localtime exists

Message ID 1400791259-2017-1-git-send-email-yann.morin.1998@free.fr
State Accepted
Headers show

Commit Message

Yann E. MORIN May 22, 2014, 8:40 p.m. UTC
From: "Yann E. MORIN" <yann.morin.1998@free.fr>

When installing a localtime, check it is a valid timezone.

Reported-by: Sagaert Johan <sagaert.johan@skynet.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/tz/tz.mk         | 5 +++++
 package/tzdata/tzdata.mk | 5 +++++
 2 files changed, 10 insertions(+)

Comments

Peter Korsgaard May 22, 2014, 9:52 p.m. UTC | #1
>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > When installing a localtime, check it is a valid timezone.

 > Reported-by: Sagaert Johan <sagaert.johan@skynet.be>
 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 > ---
 >  package/tz/tz.mk         | 5 +++++
 >  package/tzdata/tzdata.mk | 5 +++++
 >  2 files changed, 10 insertions(+)

 > diff --git a/package/tz/tz.mk b/package/tz/tz.mk
 > index 865ba3b..3198db7 100644
 > --- a/package/tz/tz.mk
 > +++ b/package/tz/tz.mk
 > @@ -27,6 +27,11 @@ define TZ_INSTALL_TARGET_CMDS
 >  	mkdir -p $(TARGET_DIR)/usr/share/zoneinfo/uclibc
 >  	cp -a $(@D)/output/* $(TARGET_DIR)/usr/share/zoneinfo/uclibc
 >  	if [ -n "$(TZ_LOCALTIME)" ]; then                               \
 > +	    if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/uclibc/$(TZDATA_LOCALTIME) ]; then \
 > +	        printf "'%s' is not a valid timezone\n"                 \
 > +	               "$(TZDATA_LOCALTIME)";                           \

I have extended this to make it a bit more clear what the user should
change:

-               printf "'%s' is not a valid timezone\n"                 \
+               printf "Error: '%s' is not a valid timezone, check your BR2_TARGET_LOCALTIME setting\n" \

And committed, thanks.
diff mbox

Patch

diff --git a/package/tz/tz.mk b/package/tz/tz.mk
index 865ba3b..3198db7 100644
--- a/package/tz/tz.mk
+++ b/package/tz/tz.mk
@@ -27,6 +27,11 @@  define TZ_INSTALL_TARGET_CMDS
 	mkdir -p $(TARGET_DIR)/usr/share/zoneinfo/uclibc
 	cp -a $(@D)/output/* $(TARGET_DIR)/usr/share/zoneinfo/uclibc
 	if [ -n "$(TZ_LOCALTIME)" ]; then                               \
+	    if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/uclibc/$(TZDATA_LOCALTIME) ]; then \
+	        printf "'%s' is not a valid timezone\n"                 \
+	               "$(TZDATA_LOCALTIME)";                           \
+	        exit 1;                                                 \
+	    fi;                                                         \
 	    cd $(TARGET_DIR)/etc;                                       \
 	    ln -sf ../usr/share/zoneinfo/uclibc/$(TZDATA_LOCALTIME) TZ; \
 	fi
diff --git a/package/tzdata/tzdata.mk b/package/tzdata/tzdata.mk
index a498d10..c394dd2 100644
--- a/package/tzdata/tzdata.mk
+++ b/package/tzdata/tzdata.mk
@@ -44,6 +44,11 @@  define TZDATA_INSTALL_TARGET_CMDS
 	    ln -sfn "$${zone}" "$${zone##*/}";  \
 	done
 	if [ -n "$(TZDATA_LOCALTIME)" ]; then                           \
+	    if [ ! -f $(TARGET_DIR)/usr/share/zoneinfo/$(TZDATA_LOCALTIME) ]; then \
+	        printf "'%s' is not a valid timezone\n"                 \
+	               "$(TZDATA_LOCALTIME)";                           \
+	        exit 1;                                                 \
+	    fi;                                                         \
 	    cd $(TARGET_DIR)/etc;                                       \
 	    ln -sf ../usr/share/zoneinfo/$(TZDATA_LOCALTIME) localtime; \
 	    echo "$(TZDATA_LOCALTIME)" >timezone;                       \