summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/tzdata/tzdata_2012d.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/tzdata/tzdata_2012d.bb')
-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 () {
47 cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo 47 cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
48 48
49 # Install default timezone 49 # Install default timezone
50 install -d ${D}${sysconfdir} 50 if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
51 echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone 51 install -d ${D}${sysconfdir}
52 ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime 52 echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
53 ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
54 else
55 bberror "DEFAULT_TIMEZONE is set to an invalid value."
56 exit 1
57 fi
53 58
54 chown -R root:root ${D} 59 chown -R root:root ${D}
55} 60}
56 61
57pkg_postinst_${PN} () { 62pkg_postinst_${PN} () {
58
59# code taken from Gentoo's tzdata ebuild
60
61 etc_lt="$D${sysconfdir}/localtime" 63 etc_lt="$D${sysconfdir}/localtime"
62 src="$D${sysconfdir}/timezone" 64 src="$D${sysconfdir}/timezone"
63 65
64 if [ -e ${src} ] ; then 66 if [ -e ${src} ] ; then
65 tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") 67 tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
66 else
67 tz="FUBAR"
68 fi 68 fi
69 69
70 if [ -z ${tz} ] ; then 70 if [ -z ${tz} ] ; then
71 return 0 71 return 0
72 fi 72 fi
73 73
74 if [ ${tz} = "FUBAR" ] ; then
75 echo "You do not have TIMEZONE set in ${src}."
76
77 if [ ! -e ${etc_lt} ] ; then
78 # if /etc/localtime is a symlink somewhere, assume they
79 # know what they're doing and they're managing it themselves
80 if [ ! -L ${etc_lt} ] ; then
81 cp -f "$D${datadir}/zoneinfo/Universal" "${etc_lt}"
82 echo "Setting ${etc_lt} to Universal."
83 else
84 echo "Assuming your ${etc_lt} symlink is what you want; skipping update."
85 fi
86 else
87 echo "Skipping auto-update of ${etc_lt}."
88 fi
89 return 0
90 fi
91
92 if [ ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then 74 if [ ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then
93 echo "You have an invalid TIMEZONE setting in ${src}" 75 echo "You have an invalid TIMEZONE setting in ${src}"
94 echo "Your ${etc_lt} has been reset to Universal; enjoy!" 76 echo "Your ${etc_lt} has been reset to Universal; enjoy!"
@@ -97,7 +79,7 @@ pkg_postinst_${PN} () {
97 if [ -L ${etc_lt} ] ; then 79 if [ -L ${etc_lt} ] ; then
98 rm -f "${etc_lt}" 80 rm -f "${etc_lt}"
99 fi 81 fi
100 cp -f "$D${datadir}/zoneinfo/${tz}" "${etc_lt}" 82 ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}"
101 fi 83 fi
102} 84}
103 85