From 85a5df22f5190cb6a31119a48c177e7667ffa27b Mon Sep 17 00:00:00 2001 From: besawn <38794505+besawn@users.noreply.github.com> Date: Tue, 30 Nov 2021 12:44:58 -0500 Subject: [PATCH] Modified packimage to always include the local zoneinfo time zone file --- xCAT-server/lib/xcat/plugins/packimage.pm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/xCAT-server/lib/xcat/plugins/packimage.pm b/xCAT-server/lib/xcat/plugins/packimage.pm index c39af98a2..6fda44cf9 100755 --- a/xCAT-server/lib/xcat/plugins/packimage.pm +++ b/xCAT-server/lib/xcat/plugins/packimage.pm @@ -75,6 +75,7 @@ sub process_request { my $callback = shift; my $doreq = shift; my $installroot = xCAT::TableUtils->getInstallDir(); + my @timezone = xCAT::TableUtils->get_site_attribute("timezone"); my $args; if (defined($request->{arg})) { @@ -343,6 +344,15 @@ sub process_request { } close($exlist); + # timedatectl requires /etc/localtime link to the zoneinfo in /usr/share/zoneinfo + if ($timezone[0]) { + unlink("$rootimg_dir/etc/localtime"); + symlink("../usr/share/zoneinfo/$timezone[0]", "$rootimg_dir/etc/localtime"); + + # Add the zoneinfo to the include list + $excludetext .= "+./usr/share/zoneinfo/$timezone[0]\n"; + } + #handle the #INLCUDE# tag recursively my $idir = dirname($exlistlocname); my $doneincludes = 0; @@ -645,7 +655,6 @@ sub copybootscript { my $arch = shift; my $profile = shift; my $callback = shift; - my @timezone = xCAT::TableUtils->get_site_attribute("timezone"); if (-f "$installroot/postscripts/xcatdsklspost") { @@ -653,15 +662,6 @@ sub copybootscript { mkpath("$rootimg_dir/opt/xcat"); copy("$installroot/postscripts/xcatdsklspost", "$rootimg_dir/opt/xcat/xcatdsklspost"); - if ($timezone[0]) { - unlink("$rootimg_dir/etc/localtime"); - # Copy timezone file to /etc and link 'localtime' to it - mkpath(dirname("$rootimg_dir/etc/$timezone[0]")); - copy("$rootimg_dir/usr/share/zoneinfo/$timezone[0]", "$rootimg_dir/etc/$timezone[0]"); - symlink("./$timezone[0]", "$rootimg_dir/etc/localtime"); - } - - chmod(0755, "$rootimg_dir/opt/xcat/xcatdsklspost"); } else {