From patchwork Fri Feb 8 12:22:40 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2,2/2] tzdata: Simplify code removing not used cases Date: Fri, 08 Feb 2013 12:22:40 -0000 From: Otavio Salvador X-Patchwork-Id: 44333 Message-Id: <1360326160-8310-2-git-send-email-otavio@ossystems.com.br> To: openembedded-core@lists.openembedded.org Cc: Otavio Salvador 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. Change-Id: I9a4f05db7a0bdc06511deb5693d1d16569d2fc63 Signed-off-by: Otavio Salvador --- meta/recipes-extended/tzdata/tzdata_2012d.bb | 36 ++++++------------------- 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 9ec6715..4811072 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 }