As Neil Bothwick wrote, the sys-libs/timezone-data ebuild takes care of updating /etc/localtime whenever necessary, so symlinking is just not necessary, and copying once only is fine. Have a look at the relevant part of the ebuild and you can see this:
Code: Select all
80 pkg_config() {
81 # make sure the /etc/localtime file does not get stale #127899
82 local tz src etc_lt="${EROOT}etc/localtime"
83
84 if has_version '<sys-apps/baselayout-2' ; then
85 src="${EROOT}etc/conf.d/clock"
86 tz=$(unset TIMEZONE ; source "${src}" ; echo ${TIMEZONE-FOOKABLOIE})
87 else
88 src="${EROOT}etc/timezone"
89 if [[ -e ${src} ]] ; then
90 tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "${src}")
91 else
92 tz="FOOKABLOIE"
93 fi
94 fi
95 [[ -z ${tz} ]] && return 0
96
97 if [[ ${tz} == "FOOKABLOIE" ]] ; then
98 elog "You do not have TIMEZONE set in ${src}."
99
100 if [[ ! -e ${etc_lt} ]] ; then
101 # if /etc/localtime is a symlink somewhere, assume they
102 # know what they're doing and they're managing it themselves
103 if [[ ! -L ${etc_lt} ]] ; then
104 cp -f "${EROOT}"/usr/share/zoneinfo/Factory "${etc_lt}"
105 elog "Setting ${etc_lt} to Factory."
106 else
107 elog "Assuming your ${etc_lt} symlink is what you want; skipping update."
108 fi
109 else
110 elog "Skipping auto-update of ${etc_lt}."
111 fi
112 return 0
113 fi
114
115 if [[ ! -e ${EROOT}/usr/share/zoneinfo/${tz} ]] ; then
116 elog "You have an invalid TIMEZONE setting in ${src}"
117 elog "Your ${etc_lt} has been reset to Factory; enjoy!"
118 tz="Factory"
119 fi
120 einfo "Updating ${etc_lt} with ${EROOT}usr/share/zoneinfo/${tz}"
121 [[ -L ${etc_lt} ]] && rm -f "${etc_lt}"
122 cp -f "${EROOT}"/usr/share/zoneinfo/"${tz}" "${etc_lt}"
123 }
However, the ebuild is clever enough to skip the automatic update of /etc/localtime if you had already symlinked it.
So, the bottom line is: symlinking brings no additional benefit and won't work anyway for people who have /usr on a separate filesystem. However, for those people who have /usr on the same partition/filesystem, symlinking won't do any harm but is no better than the once-only copying procedure.