From 59491564457b11aa864a36444797e9c9dfb59047 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 21 Aug 2015 20:16:36 -0400 Subject: [PATCH] sys-libs/timezone-data: short circuit config step when /etc/localtime is a symlink #511474 The code path already does nothing whenever /etc/localtime is a symlink, so deleting the different ways we message the user in favor a shortcut at the start should be fine. It also means you don't get misleading messages when running systemd. --- .../timezone-data/timezone-data-2015f.ebuild | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/sys-libs/timezone-data/timezone-data-2015f.ebuild b/sys-libs/timezone-data/timezone-data-2015f.ebuild index 0ba79099f6b0..fdeb5231eeed 100644 --- a/sys-libs/timezone-data/timezone-data-2015f.ebuild +++ b/sys-libs/timezone-data/timezone-data-2015f.ebuild @@ -106,19 +106,20 @@ pkg_config() { # make sure the /etc/localtime file does not get stale #127899 local tz src="${EROOT}etc/timezone" etc_lt="${EROOT}etc/localtime" + # If it's a symlink, assume the user knows what they're doing and + # they're managing it themselves. #511474 + if [[ -L ${etc_lt} ]] ; then + einfo "Assuming your ${etc_lt} symlink is what you want; skipping update." + return 0 + fi + tz=$(get_TIMEZONE) || return 0 if [[ ${tz} == "FOOKABLOIE" ]] ; then elog "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 "${EROOT}"/usr/share/zoneinfo/Factory "${etc_lt}" - elog "Setting ${etc_lt} to Factory." - else - elog "Assuming your ${etc_lt} symlink is what you want; skipping update." - fi + cp -f "${EROOT}"/usr/share/zoneinfo/Factory "${etc_lt}" + elog "Setting ${etc_lt} to Factory." else elog "Skipping auto-update of ${etc_lt}." fi @@ -130,12 +131,8 @@ pkg_config() { elog "Your ${etc_lt} has been reset to Factory; enjoy!" tz="Factory" fi - if [[ -L ${etc_lt} ]]; then - einfo "Skipping symlinked ${etc_lt}" - else - einfo "Updating ${etc_lt} with ${EROOT}usr/share/zoneinfo/${tz}" - cp -f "${EROOT}"/usr/share/zoneinfo/"${tz}" "${etc_lt}" - fi + einfo "Updating ${etc_lt} with ${EROOT}usr/share/zoneinfo/${tz}" + cp -f "${EROOT}"/usr/share/zoneinfo/"${tz}" "${etc_lt}" } pkg_postinst() { -- 2.26.2