mirror of https://github.com/sipwise/ngcpcfg.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.4 KiB
50 lines
1.4 KiB
[%
|
|
# vi: ft=tt2
|
|
|
|
# Sets the Debian release information for the node calling this function.
|
|
#
|
|
# This sets the global variables:
|
|
# debian.codename
|
|
# debian.version
|
|
-%]
|
|
[% PERL -%]
|
|
my $version_file = '/etc/debian_version';
|
|
my $debian_codename;
|
|
my $debian_version;
|
|
my $debian_version_major;
|
|
|
|
open my $hh, '<', $version_file or die "Error opening $version_file";
|
|
$debian_version = <$hh>;
|
|
close $hh;
|
|
chomp $debian_version;
|
|
die "Fatal error retrieving Debian release version from $version_file"
|
|
unless length $debian_version;
|
|
|
|
my %versions = (
|
|
12 => 'bookworm',
|
|
13 => 'trixie',
|
|
);
|
|
my %codenames = map { $versions{$_} => $_ } keys %versions;
|
|
|
|
if ($debian_version =~ m/^([0-9]+)\.[0-9]+/) {
|
|
$debian_version_major = $1;
|
|
$debian_codename = $versions{$debian_version_major};
|
|
die "Error: unsupported Debian release $debian_version"
|
|
unless defined $debian_codename;
|
|
} elsif ($debian_version =~ m{^([[:alnum:]]+)/sid}) {
|
|
$debian_codename = $1;
|
|
$debian_version_major = $codenames{$debian_codename};
|
|
die "Error: unsupported Debian codename $debian_codename"
|
|
unless defined $debian_version_major;
|
|
} else {
|
|
die "Fatal error retrieving Debian release codename [$debian_version]";
|
|
}
|
|
|
|
$stash->update({
|
|
debian => {
|
|
version => $debian_version_major,
|
|
codename => $debian_codename,
|
|
}
|
|
});
|
|
[% END -%]
|