diff options
author | Scott Moser <smoser@ubuntu.com> | 2016-03-01 12:30:31 -0500 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2016-03-01 12:30:31 -0500 |
commit | 290afe72d53b5e38c3781934e23a676a3c1986e5 (patch) | |
tree | d17d8ded09d9274c40f652d8bc3d4fd0d6449cae | |
parent | f0e26abe896318819a6b568dd72e9974b53928c8 (diff) | |
download | vyos-cloud-init-290afe72d53b5e38c3781934e23a676a3c1986e5.tar.gz vyos-cloud-init-290afe72d53b5e38c3781934e23a676a3c1986e5.zip |
timezone: use a symlink when updating /etc/localtime
Unless /etc/localtime is an existing file and not a symlink,
then we will symlink instead of copying the tz_file to /etc/localtime.
The copy was due to an old bug in Ubuntu, symlink should be preferred.
LP: #1543025
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | cloudinit/distros/__init__.py | 6 |
2 files changed, 7 insertions, 1 deletions
@@ -81,6 +81,8 @@ - lxd: add support for setting up lxd using 'lxd init' (LP: #1522879) - Add Image Customization Parser for VMware vSphere Hypervisor Support. [Sankar Tanguturi] + - timezone: use a symlink rather than copy for /etc/localtime + unless it is already a file (LP: #1543025). 0.7.6: - open 0.7.6 diff --git a/cloudinit/distros/__init__.py b/cloudinit/distros/__init__.py index 71884b32..8167c594 100644 --- a/cloudinit/distros/__init__.py +++ b/cloudinit/distros/__init__.py @@ -897,5 +897,9 @@ def set_etc_timezone(tz, tz_file=None, tz_conf="/etc/timezone", util.write_file(tz_conf, str(tz).rstrip() + "\n") # This ensures that the correct tz will be used for the system if tz_local and tz_file: - util.copy(tz_file, tz_local) + # use a symlink if there exists a symlink or tz_local is not present + if os.path.islink(tz_local) or not os.path.exists(tz_local): + os.symlink(tz_file, tz_local) + else: + util.copy(tz_file, tz_local) return |