]> git.proxmox.com Git - pve-container.git/blame - src/PVE/LXC/Setup/Fedora.pm
setup: fedora: code cleanup, reuse variable
[pve-container.git] / src / PVE / LXC / Setup / Fedora.pm
CommitLineData
b0143ab1
WB
1package PVE::LXC::Setup::Fedora;
2
3use strict;
4use warnings;
5
81a6ec3f 6use PVE::LXC::Setup::CentOS;
b0143ab1 7
81a6ec3f 8use base qw(PVE::LXC::Setup::CentOS);
b0143ab1
WB
9
10sub new {
d721cb54 11 my ($class, $conf, $rootdir, $os_release) = @_;
b0143ab1 12
d721cb54 13 my $version = $os_release->{VERSION_ID};
4160e22d 14 die "unsupported Fedora release '$version'\n" if !($version >= 22 && $version <= 33);
b0143ab1
WB
15
16 my $self = { conf => $conf, rootdir => $rootdir, version => $version };
17
18 $conf->{ostype} = "fedora";
19
20 return bless $self, $class;
21}
22
97e3e8e8
WB
23sub template_fixup {
24 my ($self, $conf) = @_;
25 $self->setup_securetty($conf);
26 $self->ct_unlink('/etc/systemd/system/getty@.service');
27}
28
29sub setup_init {
30 my ($self, $conf) = @_;
31 $self->setup_container_getty_service($conf);
32}
33
6751d98a
SI
34sub setup_network {
35 my ($self, $conf) = @_;
36
37 # systemd-networkd is default in fedora-templates from upstream since
38 # 25, however quite a few workarounds were posted in the forum, recommending
39 # to start the (legacy) network.service via /etc/rc.local for fedora > 25.
40 # /etc/sysconfig/network is not present in the templates for fedora > 25.
41 # use its presence to decide, whether to configure the legacy config
42 # additionally for 25, 26, 27.
43
44 my $sysconfig_used = $self->ct_file_exists("/etc/sysconfig/network");
45
46 my $version = $self->{version};
47
dd9b8264
TL
48 my $setup_sysconfig = ($version <= 24 || ($version <= 27 && $sysconfig_used));
49 my $setup_systemd = ($version >= 25);
6751d98a
SI
50
51 $self->SUPER::setup_network($conf) if $setup_sysconfig;
52 $self->SUPER::setup_systemd_networkd($conf) if $setup_systemd;
53}
b0143ab1 541;