e-smith-grub/root/etc/e-smith/events/actions/update-grub

27 lines
723 B
Perl

#!/usr/bin/perl
use strict;
use warnings;
use esmith::ConfigDB;
my $c = esmith::ConfigDB->open_ro or die "Could not open Config DB";
my $sysconfig = $c->get('sysconfig') or die "Missing db entry sysconfig";
my $locale = $sysconfig->prop('Language') || "en_US.UTF-8";
my $orilang=$ENV{LANG};
# here we force the environement as it is empty if launched by server-manager
if ( ! defined $ENV{LANG}|| $ENV{LANG}eq "" || $ENV{LANG} eq "C") {
$ENV{LANG}=$locale;
}
my $grubpath;
if (-e "/sys/firmware/efi") {
$grubpath = "/boot/efi/EFI/centos/grub.cfg";
} else {
$grubpath = "/boot/grub2/grub.cfg";
}
system("/usr/sbin/grub2-mkconfig", "-o", $grubpath) == 0
or die("Unable to update grub2\n");
$ENV{LANG}=$orilang;