summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2013-02-08 14:52:20 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-14 23:17:05 +0000
commit4b5e1757224085deac54b2583853fc779dc70614 (patch)
tree4331e26476906055d723311522829c72e4c7b1ad /meta
parenta9b42c8e85332a65788b1434f926186d4887b287 (diff)
downloadopenembedded-core-4b5e1757224085deac54b2583853fc779dc70614.tar.gz
openembedded-core-4b5e1757224085deac54b2583853fc779dc70614.tar.bz2
openembedded-core-4b5e1757224085deac54b2583853fc779dc70614.zip
tzdata: Simplify code removing not used cases
We shouldn't have an use-case where we'd use 'FUBAR' timezone so instead of adding postinst handling for this use case we handle it at install time and keep the Universal as fallback if user did something wrong. This also ensure the /etc/localtime file is kept as a symbolic link. This will make timezone not available when /usr is in separated partition (and not mounted) however the applications ought to fallback to GMT timezone in this case and when /usr is made availble timezone will work fine. Change-Id: I9a4f05db7a0bdc06511deb5693d1d16569d2fc63 Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-extended/tzdata/tzdata_2012d.bb36
1 files changed, 9 insertions, 27 deletions
diff --git a/meta/recipes-extended/tzdata/tzdata_2012d.bb b/meta/recipes-extended/tzdata/tzdata_2012d.bb
index 9ec6715bc3..4811072b31 100644
--- a/meta/recipes-extended/tzdata/tzdata_2012d.bb
+++ b/meta/recipes-extended/tzdata/tzdata_2012d.bb
@@ -47,48 +47,30 @@ do_install () {
cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
# Install default timezone
- install -d ${D}${sysconfdir}
- echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
- ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
+ if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
+ install -d ${D}${sysconfdir}
+ echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
+ ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
+ else
+ bberror "DEFAULT_TIMEZONE is set to an invalid value."
+ exit 1
+ fi
chown -R root:root ${D}
}
pkg_postinst_${PN} () {
-
-# code taken from Gentoo's tzdata ebuild
-
etc_lt="$D${sysconfdir}/localtime"
src="$D${sysconfdir}/timezone"
if [ -e ${src} ] ; then
tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
- else
- tz="FUBAR"
fi
if [ -z ${tz} ] ; then
return 0
fi
- if [ ${tz} = "FUBAR" ] ; then
- echo "You do not have TIMEZONE set in ${src}."
-
- if [ ! -e ${etc_lt} ] ; then
- # if /etc/localtime is a symlink somewhere, assume they
- # know what they're doing and they're managing it themselves
- if [ ! -L ${etc_lt} ] ; then
- cp -f "$D${datadir}/zoneinfo/Universal" "${etc_lt}"
- echo "Setting ${etc_lt} to Universal."
- else
- echo "Assuming your ${etc_lt} symlink is what you want; skipping update."
- fi
- else
- echo "Skipping auto-update of ${etc_lt}."
- fi
- return 0
- fi
-
if [ ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then
echo "You have an invalid TIMEZONE setting in ${src}"
echo "Your ${etc_lt} has been reset to Universal; enjoy!"
@@ -97,7 +79,7 @@ pkg_postinst_${PN} () {
if [ -L ${etc_lt} ] ; then
rm -f "${etc_lt}"
fi
- cp -f "$D${datadir}/zoneinfo/${tz}" "${etc_lt}"
+ ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}"
fi
}