summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/timezone/tzdata.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-extended/timezone/tzdata.bb')
-rw-r--r--meta/recipes-extended/timezone/tzdata.bb358
1 files changed, 176 insertions, 182 deletions
diff --git a/meta/recipes-extended/timezone/tzdata.bb b/meta/recipes-extended/timezone/tzdata.bb
index f8443110d5..dd1960ffa7 100644
--- a/meta/recipes-extended/timezone/tzdata.bb
+++ b/meta/recipes-extended/timezone/tzdata.bb
@@ -4,207 +4,201 @@ DEPENDS = "tzcode-native"
4 4
5inherit allarch 5inherit allarch
6 6
7RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
8 timezone-arctic timezone-asia timezone-atlantic \
9 timezone-australia timezone-europe timezone-indian \
10 timezone-iso3166.tab timezone-pacific timezone-zone.tab"
11
12S = "${WORKDIR}"
13
14DEFAULT_TIMEZONE ?= "Universal" 7DEFAULT_TIMEZONE ?= "Universal"
15INSTALL_TIMEZONE_FILE ?= "1" 8INSTALL_TIMEZONE_FILE ?= "1"
16 9
17TZONES= "africa antarctica asia australasia europe northamerica southamerica \ 10TZONES = " \
18 factory etcetera backward \ 11 africa antarctica asia australasia europe northamerica southamerica \
19 " 12 factory etcetera backward \
20# pacificnew 13"
21 14
22do_compile () { 15# "slim" is the default since 2020b
23 for zone in ${TZONES}; do \ 16# "fat" is needed by e.g. MariaDB's mysql_tzinfo_to_sql
24 ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \ 17ZIC_FMT ?= "slim"
25 ${S}/${zone} ; \ 18
26 ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \ 19do_configure[cleandirs] = "${B}"
27 ${S}/${zone} ; \ 20B = "${WORKDIR}/build"
28 ${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \ 21
29 ${S}/${zone} ; \ 22do_compile() {
30 done 23 for zone in ${TZONES}; do
24 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo -L /dev/null ${S}/${zone}
25 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/posix -L /dev/null ${S}/${zone}
26 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/right -L ${S}/leapseconds ${S}/${zone}
27 done
31} 28}
32 29
33do_install () { 30do_install() {
34 install -d ${D}/$exec_prefix ${D}${datadir}/zoneinfo 31 install -d ${D}${datadir}/zoneinfo
35 cp -pPR ${S}/$exec_prefix ${D}/ 32 cp -pPR ${B}/zoneinfo/* ${D}${datadir}/zoneinfo
36 # libc is removing zoneinfo files from package 33
37 cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo 34 # libc is removing zoneinfo files from package
38 cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo 35 cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
39 cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo 36 cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
40 cp -pP "${S}/leapseconds" ${D}${datadir}/zoneinfo 37 cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
41 cp -pP "${S}/leap-seconds.list" ${D}${datadir}/zoneinfo 38 cp -pP "${S}/leapseconds" ${D}${datadir}/zoneinfo
42 39 cp -pP "${S}/leap-seconds.list" ${D}${datadir}/zoneinfo
43 # Install default timezone 40
44 if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then 41 # Install default timezone
45 install -d ${D}${sysconfdir} 42 if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
46 if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then 43 install -d ${D}${sysconfdir}
47 echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone 44 if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
48 fi 45 echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
49 ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime 46 fi
50 else 47 ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
51 bberror "DEFAULT_TIMEZONE is set to an invalid value." 48 else
52 exit 1 49 bberror "DEFAULT_TIMEZONE is set to an invalid value."
53 fi 50 exit 1
54 51 fi
55 chown -R root:root ${D} 52
53 chown -R root:root ${D}
56} 54}
57 55
58pkg_postinst_${PN} () { 56pkg_postinst:${PN}() {
59 etc_lt="$D${sysconfdir}/localtime" 57 etc_lt="$D${sysconfdir}/localtime"
60 src="$D${sysconfdir}/timezone" 58 src="$D${sysconfdir}/timezone"
61 59
62 if [ -e ${src} ] ; then 60 if [ -e "$src" ]; then
63 tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}") 61 tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "$src")
64 fi 62 fi
65 63
66 if [ ! -z "${tz}" -a ! -e "$D${datadir}/zoneinfo/${tz}" ] ; then 64 if [ ! -z "$tz" -a ! -e "$D${datadir}/zoneinfo/$tz" ]; then
67 echo "You have an invalid TIMEZONE setting in ${src}" 65 echo "You have an invalid TIMEZONE setting in $src"
68 echo "Your ${etc_lt} has been reset to Universal; enjoy!" 66 echo "Your $etc_lt has been reset to Universal; enjoy!"
69 tz="Universal" 67 tz="Universal"
70 echo "Updating ${etc_lt} with $D${datadir}/zoneinfo/${tz}" 68 echo "Updating $etc_lt with $D${datadir}/zoneinfo/$tz"
71 if [ -L ${etc_lt} ] ; then 69 if [ -L "$etc_lt" ]; then
72 rm -f "${etc_lt}" 70 rm -f "$etc_lt"
73 fi 71 fi
74 ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}" 72 ln -s "${datadir}/zoneinfo/$tz" "$etc_lt"
75 fi 73 fi
76} 74}
77 75
78# Packages primarily organized by directory with a major city 76# Packages are primarily organized by directory with a major city in most time
79# in most time zones in the base package 77# zones in the base package
80
81TZ_PACKAGES = " \ 78TZ_PACKAGES = " \
82 tzdata-core tzdata-misc tzdata-posix tzdata-right tzdata-africa \ 79 tzdata-core tzdata-misc tzdata-posix tzdata-right tzdata-africa \
83 tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \ 80 tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
84 tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific" 81 tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \
82"
85PACKAGES = "${TZ_PACKAGES} ${PN}" 83PACKAGES = "${TZ_PACKAGES} ${PN}"
86 84
87FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*" 85FILES:tzdata-africa += "${datadir}/zoneinfo/Africa"
88RPROVIDES_tzdata-africa = "tzdata-africa" 86
89 87FILES:tzdata-americas += " \
90FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \ 88 ${datadir}/zoneinfo/America \
91 ${datadir}/zoneinfo/US/* \ 89 ${datadir}/zoneinfo/US \
92 ${datadir}/zoneinfo/Brazil/* \ 90 ${datadir}/zoneinfo/Brazil \
93 ${datadir}/zoneinfo/Canada/* \ 91 ${datadir}/zoneinfo/Canada \
94 ${datadir}/zoneinfo/Mexico/* \ 92 ${datadir}/zoneinfo/Mexico \
95 ${datadir}/zoneinfo/Chile/*" 93 ${datadir}/zoneinfo/Chile \
96RPROVIDES_tzdata-americas = "tzdata-americas" 94"
97 95
98FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*" 96FILES:tzdata-antarctica += "${datadir}/zoneinfo/Antarctica"
99RPROVIDES_tzdata-antarctica = "tzdata-antarctica" 97
100 98FILES:tzdata-arctic += "${datadir}/zoneinfo/Arctic"
101FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*" 99
102RPROVIDES_tzdata-arctic = "tzdata-arctic" 100FILES:tzdata-asia += " \
103 101 ${datadir}/zoneinfo/Asia \
104FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \ 102 ${datadir}/zoneinfo/Indian \
105 ${datadir}/zoneinfo/Indian/* \ 103 ${datadir}/zoneinfo/Mideast \
106 ${datadir}/zoneinfo/Mideast/*" 104"
107RPROVIDES_tzdata-asia = "tzdata-asia" 105
108 106FILES:tzdata-atlantic += "${datadir}/zoneinfo/Atlantic"
109FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*" 107
110RPROVIDES_tzdata-atlantic = "tzdata-atlantic" 108FILES:tzdata-australia += "${datadir}/zoneinfo/Australia"
111 109
112FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*" 110FILES:tzdata-europe += "${datadir}/zoneinfo/Europe"
113RPROVIDES_tzdata-australia = "tzdata-australia" 111
114 112FILES:tzdata-pacific += "${datadir}/zoneinfo/Pacific"
115FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*" 113
116RPROVIDES_tzdata-europe = "tzdata-europe" 114FILES:tzdata-posix += "${datadir}/zoneinfo/posix"
117 115
118FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*" 116FILES:tzdata-right += "${datadir}/zoneinfo/right"
119RPROVIDES_tzdata-pacific = "tzdata-pacific" 117
120 118FILES:tzdata-misc += " \
121FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*" 119 ${datadir}/zoneinfo/Cuba \
122RPROVIDES_tzdata-posix = "tzdata-posix" 120 ${datadir}/zoneinfo/Egypt \
123 121 ${datadir}/zoneinfo/Eire \
124FILES_tzdata-right += "${datadir}/zoneinfo/right/*" 122 ${datadir}/zoneinfo/Factory \
125RPROVIDES_tzdata-right = "tzdata-right" 123 ${datadir}/zoneinfo/GB-Eire \
126 124 ${datadir}/zoneinfo/Hongkong \
127FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \ 125 ${datadir}/zoneinfo/Iceland \
128 ${datadir}/zoneinfo/Egypt \ 126 ${datadir}/zoneinfo/Iran \
129 ${datadir}/zoneinfo/Eire \ 127 ${datadir}/zoneinfo/Israel \
130 ${datadir}/zoneinfo/Factory \ 128 ${datadir}/zoneinfo/Jamaica \
131 ${datadir}/zoneinfo/GB-Eire \ 129 ${datadir}/zoneinfo/Japan \
132 ${datadir}/zoneinfo/Hongkong \ 130 ${datadir}/zoneinfo/Kwajalein \
133 ${datadir}/zoneinfo/Iceland \ 131 ${datadir}/zoneinfo/Libya \
134 ${datadir}/zoneinfo/Iran \ 132 ${datadir}/zoneinfo/Navajo \
135 ${datadir}/zoneinfo/Israel \ 133 ${datadir}/zoneinfo/Poland \
136 ${datadir}/zoneinfo/Jamaica \ 134 ${datadir}/zoneinfo/Portugal \
137 ${datadir}/zoneinfo/Japan \ 135 ${datadir}/zoneinfo/Singapore \
138 ${datadir}/zoneinfo/Kwajalein \ 136 ${datadir}/zoneinfo/Turkey \
139 ${datadir}/zoneinfo/Libya \ 137"
140 ${datadir}/zoneinfo/Navajo \ 138
141 ${datadir}/zoneinfo/Poland \ 139FILES:tzdata-core += " \
142 ${datadir}/zoneinfo/Portugal \ 140 ${sysconfdir}/localtime \
143 ${datadir}/zoneinfo/Singapore \ 141 ${sysconfdir}/timezone \
144 ${datadir}/zoneinfo/Turkey" 142 ${datadir}/zoneinfo/leapseconds \
145RPROVIDES_tzdata-misc = "tzdata-misc" 143 ${datadir}/zoneinfo/leap-seconds.list \
146 144 ${datadir}/zoneinfo/Pacific/Honolulu \
147FILES_tzdata-core += " \ 145 ${datadir}/zoneinfo/America/Anchorage \
148 ${sysconfdir}/localtime \ 146 ${datadir}/zoneinfo/America/Los_Angeles \
149 ${sysconfdir}/timezone \ 147 ${datadir}/zoneinfo/America/Denver \
150 ${datadir}/zoneinfo/leapseconds \ 148 ${datadir}/zoneinfo/America/Chicago \
151 ${datadir}/zoneinfo/leap-seconds.list \ 149 ${datadir}/zoneinfo/America/New_York \
152 ${datadir}/zoneinfo/Pacific/Honolulu \ 150 ${datadir}/zoneinfo/America/Caracas \
153 ${datadir}/zoneinfo/America/Anchorage \ 151 ${datadir}/zoneinfo/America/Sao_Paulo \
154 ${datadir}/zoneinfo/America/Los_Angeles \ 152 ${datadir}/zoneinfo/Europe/London \
155 ${datadir}/zoneinfo/America/Denver \ 153 ${datadir}/zoneinfo/Europe/Paris \
156 ${datadir}/zoneinfo/America/Chicago \ 154 ${datadir}/zoneinfo/Africa/Cairo \
157 ${datadir}/zoneinfo/America/New_York \ 155 ${datadir}/zoneinfo/Europe/Moscow \
158 ${datadir}/zoneinfo/America/Caracas \ 156 ${datadir}/zoneinfo/Asia/Dubai \
159 ${datadir}/zoneinfo/America/Sao_Paulo \ 157 ${datadir}/zoneinfo/Asia/Karachi \
160 ${datadir}/zoneinfo/Europe/London \ 158 ${datadir}/zoneinfo/Asia/Dhaka \
161 ${datadir}/zoneinfo/Europe/Paris \ 159 ${datadir}/zoneinfo/Asia/Bangkok \
162 ${datadir}/zoneinfo/Africa/Cairo \ 160 ${datadir}/zoneinfo/Asia/Hong_Kong \
163 ${datadir}/zoneinfo/Europe/Moscow \ 161 ${datadir}/zoneinfo/Asia/Tokyo \
164 ${datadir}/zoneinfo/Asia/Dubai \ 162 ${datadir}/zoneinfo/Australia/Darwin \
165 ${datadir}/zoneinfo/Asia/Karachi \ 163 ${datadir}/zoneinfo/Australia/Adelaide \
166 ${datadir}/zoneinfo/Asia/Dhaka \ 164 ${datadir}/zoneinfo/Australia/Brisbane \
167 ${datadir}/zoneinfo/Asia/Bangkok \ 165 ${datadir}/zoneinfo/Australia/Sydney \
168 ${datadir}/zoneinfo/Asia/Hong_Kong \ 166 ${datadir}/zoneinfo/Pacific/Noumea \
169 ${datadir}/zoneinfo/Asia/Tokyo \ 167 ${datadir}/zoneinfo/CET \
170 ${datadir}/zoneinfo/Australia/Darwin \ 168 ${datadir}/zoneinfo/CST6CDT \
171 ${datadir}/zoneinfo/Australia/Adelaide \ 169 ${datadir}/zoneinfo/EET \
172 ${datadir}/zoneinfo/Australia/Brisbane \ 170 ${datadir}/zoneinfo/EST \
173 ${datadir}/zoneinfo/Australia/Sydney \ 171 ${datadir}/zoneinfo/EST5EDT \
174 ${datadir}/zoneinfo/Pacific/Noumea \ 172 ${datadir}/zoneinfo/GB \
175 ${datadir}/zoneinfo/CET \ 173 ${datadir}/zoneinfo/GMT \
176 ${datadir}/zoneinfo/CST6CDT \ 174 ${datadir}/zoneinfo/GMT+0 \
177 ${datadir}/zoneinfo/EET \ 175 ${datadir}/zoneinfo/GMT-0 \
178 ${datadir}/zoneinfo/EST \ 176 ${datadir}/zoneinfo/GMT0 \
179 ${datadir}/zoneinfo/EST5EDT \ 177 ${datadir}/zoneinfo/Greenwich \
180 ${datadir}/zoneinfo/GB \ 178 ${datadir}/zoneinfo/HST \
181 ${datadir}/zoneinfo/GMT \ 179 ${datadir}/zoneinfo/MET \
182 ${datadir}/zoneinfo/GMT+0 \ 180 ${datadir}/zoneinfo/MST \
183 ${datadir}/zoneinfo/GMT-0 \ 181 ${datadir}/zoneinfo/MST7MDT \
184 ${datadir}/zoneinfo/GMT0 \ 182 ${datadir}/zoneinfo/NZ \
185 ${datadir}/zoneinfo/Greenwich \ 183 ${datadir}/zoneinfo/NZ-CHAT \
186 ${datadir}/zoneinfo/HST \ 184 ${datadir}/zoneinfo/PRC \
187 ${datadir}/zoneinfo/MET \ 185 ${datadir}/zoneinfo/PST8PDT \
188 ${datadir}/zoneinfo/MST \ 186 ${datadir}/zoneinfo/ROC \
189 ${datadir}/zoneinfo/MST7MDT \ 187 ${datadir}/zoneinfo/ROK \
190 ${datadir}/zoneinfo/NZ \ 188 ${datadir}/zoneinfo/UCT \
191 ${datadir}/zoneinfo/NZ-CHAT \ 189 ${datadir}/zoneinfo/UTC \
192 ${datadir}/zoneinfo/PRC \ 190 ${datadir}/zoneinfo/Universal \
193 ${datadir}/zoneinfo/PST8PDT \ 191 ${datadir}/zoneinfo/W-SU \
194 ${datadir}/zoneinfo/ROC \ 192 ${datadir}/zoneinfo/WET \
195 ${datadir}/zoneinfo/ROK \ 193 ${datadir}/zoneinfo/Zulu \
196 ${datadir}/zoneinfo/UCT \ 194 ${datadir}/zoneinfo/zone.tab \
197 ${datadir}/zoneinfo/UTC \ 195 ${datadir}/zoneinfo/zone1970.tab \
198 ${datadir}/zoneinfo/Universal \ 196 ${datadir}/zoneinfo/iso3166.tab \
199 ${datadir}/zoneinfo/W-SU \ 197 ${datadir}/zoneinfo/Etc \
200 ${datadir}/zoneinfo/WET \ 198"
201 ${datadir}/zoneinfo/Zulu \ 199
202 ${datadir}/zoneinfo/zone.tab \ 200CONFFILES:tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
203 ${datadir}/zoneinfo/zone1970.tab \ 201
204 ${datadir}/zoneinfo/iso3166.tab \ 202ALLOW_EMPTY:${PN} = "1"
205 ${datadir}/zoneinfo/Etc/*" 203
206 204RDEPENDS:${PN} = "${TZ_PACKAGES}"
207CONFFILES_tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
208
209ALLOW_EMPTY_${PN} = "1"
210RDEPENDS_${PN} = "${TZ_PACKAGES}"