mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 18:32:12 +02:00
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 (From OE-Core rev: 77fed2c773d7d98f88d6e8a2f4a8617b9e8b8a62) 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>
208 lines
8.6 KiB
BlitzBasic
208 lines
8.6 KiB
BlitzBasic
DESCRIPTION = "Timezone data"
|
|
HOMEPAGE = "ftp://elsie.nci.nih.gov/pub/"
|
|
SECTION = "base"
|
|
LICENSE = "PD"
|
|
LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=06468c0e84ef4d4c97045a4a29b08234"
|
|
DEPENDS = "tzcode-native"
|
|
|
|
PR = "r3"
|
|
|
|
inherit allarch
|
|
|
|
RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
|
|
timezone-arctic timezone-asia timezone-atlantic \
|
|
timezone-australia timezone-europe timezone-indian \
|
|
timezone-iso3166.tab timezone-pacific timezone-zone.tab"
|
|
|
|
SRC_URI = "ftp://ftp.iana.org/tz/releases/tzdata${PV}.tar.gz;name=tzdata"
|
|
|
|
SRC_URI[tzdata.md5sum] = "fc0f54b76054800394f8c366ea1eeea7"
|
|
SRC_URI[tzdata.sha256sum] = "46c0e92a7aa89c3cfe571b585ceb6958bb444604aea3e09587f2cbe474c95575"
|
|
|
|
S = "${WORKDIR}"
|
|
|
|
DEFAULT_TIMEZONE ?= "Universal"
|
|
|
|
TZONES= "africa antarctica asia australasia europe northamerica southamerica \
|
|
factory solar87 solar88 solar89 etcetera backward systemv \
|
|
"
|
|
# pacificnew
|
|
|
|
do_compile () {
|
|
for zone in ${TZONES}; do \
|
|
${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo -L /dev/null \
|
|
-y ${S}/yearistype.sh ${S}/${zone} ; \
|
|
${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/posix -L /dev/null \
|
|
-y ${S}/yearistype.sh ${S}/${zone} ; \
|
|
${STAGING_BINDIR_NATIVE}/zic -d ${WORKDIR}${datadir}/zoneinfo/right -L ${S}/leapseconds \
|
|
-y ${S}/yearistype.sh ${S}/${zone} ; \
|
|
done
|
|
}
|
|
|
|
do_install () {
|
|
install -d ${D}/$exec_prefix ${D}${datadir}/zoneinfo
|
|
cp -pPR ${S}/$exec_prefix ${D}/
|
|
# libc is removing zoneinfo files from package
|
|
cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
|
|
cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
|
|
|
|
# Install default timezone
|
|
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} () {
|
|
etc_lt="$D${sysconfdir}/localtime"
|
|
src="$D${sysconfdir}/timezone"
|
|
|
|
if [ -e ${src} ] ; then
|
|
tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
|
|
fi
|
|
|
|
if [ -z ${tz} ] ; then
|
|
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!"
|
|
tz="Universal"
|
|
echo "Updating ${etc_lt} with $D${datadir}/zoneinfo/${tz}"
|
|
if [ -L ${etc_lt} ] ; then
|
|
rm -f "${etc_lt}"
|
|
fi
|
|
ln -s "${datadir}/zoneinfo/${tz}" "${etc_lt}"
|
|
fi
|
|
}
|
|
|
|
# Packages primarily organized by directory with a major city
|
|
# in most time zones in the base package
|
|
|
|
PACKAGES = "tzdata tzdata-misc tzdata-posix tzdata-right tzdata-africa \
|
|
tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
|
|
tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific"
|
|
|
|
FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*"
|
|
RPROVIDES_tzdata-africa = "tzdata-africa"
|
|
|
|
FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \
|
|
${datadir}/zoneinfo/US/* \
|
|
${datadir}/zoneinfo/Brazil/* \
|
|
${datadir}/zoneinfo/Canada/* \
|
|
${datadir}/zoneinfo/Mexico/* \
|
|
${datadir}/zoneinfo/Chile/*"
|
|
RPROVIDES_tzdata-americas = "tzdata-americas"
|
|
|
|
FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*"
|
|
RPROVIDES_tzdata-antarctica = "tzdata-antarctica"
|
|
|
|
FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*"
|
|
RPROVIDES_tzdata-arctic = "tzdata-arctic"
|
|
|
|
FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \
|
|
${datadir}/zoneinfo/Indian/* \
|
|
${datadir}/zoneinfo/Mideast/*"
|
|
RPROVIDES_tzdata-asia = "tzdata-asia"
|
|
|
|
FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*"
|
|
RPROVIDES_tzdata-atlantic = "tzdata-atlantic"
|
|
|
|
FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*"
|
|
RPROVIDES_tzdata-australia = "tzdata-australia"
|
|
|
|
FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*"
|
|
RPROVIDES_tzdata-europe = "tzdata-europe"
|
|
|
|
FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*"
|
|
RPROVIDES_tzdata-pacific = "tzdata-pacific"
|
|
|
|
FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*"
|
|
RPROVIDES_tzdata-posix = "tzdata-posix"
|
|
|
|
FILES_tzdata-right += "${datadir}/zoneinfo/right/*"
|
|
RPROVIDES_tzdata-right = "tzdata-right"
|
|
|
|
|
|
FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \
|
|
${datadir}/zoneinfo/Egypt \
|
|
${datadir}/zoneinfo/Eire \
|
|
${datadir}/zoneinfo/Factory \
|
|
${datadir}/zoneinfo/GB-Eire \
|
|
${datadir}/zoneinfo/Hongkong \
|
|
${datadir}/zoneinfo/Iceland \
|
|
${datadir}/zoneinfo/Iran \
|
|
${datadir}/zoneinfo/Israel \
|
|
${datadir}/zoneinfo/Jamaica \
|
|
${datadir}/zoneinfo/Japan \
|
|
${datadir}/zoneinfo/Kwajalein \
|
|
${datadir}/zoneinfo/Libya \
|
|
${datadir}/zoneinfo/Navajo \
|
|
${datadir}/zoneinfo/Poland \
|
|
${datadir}/zoneinfo/Portugal \
|
|
${datadir}/zoneinfo/Singapore \
|
|
${datadir}/zoneinfo/Turkey"
|
|
RPROVIDES_tzdata-misc = "tzdata-misc"
|
|
|
|
|
|
FILES_${PN} += "${datadir}/zoneinfo/Pacific/Honolulu \
|
|
${datadir}/zoneinfo/America/Anchorage \
|
|
${datadir}/zoneinfo/America/Los_Angeles \
|
|
${datadir}/zoneinfo/America/Denver \
|
|
${datadir}/zoneinfo/America/Chicago \
|
|
${datadir}/zoneinfo/America/New_York \
|
|
${datadir}/zoneinfo/America/Caracas \
|
|
${datadir}/zoneinfo/America/Sao_Paulo \
|
|
${datadir}/zoneinfo/Europe/London \
|
|
${datadir}/zoneinfo/Europe/Paris \
|
|
${datadir}/zoneinfo/Africa/Cairo \
|
|
${datadir}/zoneinfo/Europe/Moscow \
|
|
${datadir}/zoneinfo/Asia/Dubai \
|
|
${datadir}/zoneinfo/Asia/Karachi \
|
|
${datadir}/zoneinfo/Asia/Dhaka \
|
|
${datadir}/zoneinfo/Asia/Bankok \
|
|
${datadir}/zoneinfo/Asia/Hong_Kong \
|
|
${datadir}/zoneinfo/Asia/Tokyo \
|
|
${datadir}/zoneinfo/Australia/Darwin \
|
|
${datadir}/zoneinfo/Australia/Adelaide \
|
|
${datadir}/zoneinfo/Australia/Brisbane \
|
|
${datadir}/zoneinfo/Australia/Sydney \
|
|
${datadir}/zoneinfo/Pacific/Noumea \
|
|
${datadir}/zoneinfo/CET \
|
|
${datadir}/zoneinfo/CST6CDT \
|
|
${datadir}/zoneinfo/EET \
|
|
${datadir}/zoneinfo/EST \
|
|
${datadir}/zoneinfo/EST5EDT \
|
|
${datadir}/zoneinfo/GB \
|
|
${datadir}/zoneinfo/GMT \
|
|
${datadir}/zoneinfo/GMT+0 \
|
|
${datadir}/zoneinfo/GMT-0 \
|
|
${datadir}/zoneinfo/GMT0 \
|
|
${datadir}/zoneinfo/Greenwich \
|
|
${datadir}/zoneinfo/HST \
|
|
${datadir}/zoneinfo/MET \
|
|
${datadir}/zoneinfo/MST \
|
|
${datadir}/zoneinfo/MST7MDT \
|
|
${datadir}/zoneinfo/NZ \
|
|
${datadir}/zoneinfo/NZ-CHAT \
|
|
${datadir}/zoneinfo/PRC \
|
|
${datadir}/zoneinfo/PST8PDT \
|
|
${datadir}/zoneinfo/ROC \
|
|
${datadir}/zoneinfo/ROK \
|
|
${datadir}/zoneinfo/UCT \
|
|
${datadir}/zoneinfo/UTC \
|
|
${datadir}/zoneinfo/Universal \
|
|
${datadir}/zoneinfo/W-SU \
|
|
${datadir}/zoneinfo/WET \
|
|
${datadir}/zoneinfo/Zulu \
|
|
${datadir}/zoneinfo/zone.tab \
|
|
${datadir}/zoneinfo/iso3166.tab \
|
|
${datadir}/zoneinfo/Etc/*"
|