mirror of
git://git.proxmox.com/git/pve-common.git
synced 2025-02-15 13:57:21 +03:00
parent
34ebb22690
commit
ed4e6e0c51
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
||||
RELEASE=2.0
|
||||
|
||||
VERSION=1.0
|
||||
PKGREL=19
|
||||
PKGREL=20
|
||||
|
||||
PACKAGE=libpve-common-perl
|
||||
|
||||
|
@ -727,9 +727,11 @@ sub read_etc_network_interfaces {
|
||||
|
||||
my $d = $ifaces->{$i};
|
||||
while (defined ($line = <$fh>)) {
|
||||
if ($line =~ m/^#(.*)\s*$/) {
|
||||
$d->{comment} = '' if !$d->{comment};
|
||||
$d->{comment} .= PVE::Tools::decode_text($1) . "\n";
|
||||
if ($line =~ m/^\s*#(.*)\s*$/) {
|
||||
# NOTE: we use 'comments' instead of 'comment' to
|
||||
# avoid automatic utf8 conversion
|
||||
$d->{comments} = '' if !$d->{comments};
|
||||
$d->{comments} .= "$1\n";
|
||||
} elsif ($line =~ m/^\s+((\S+)\s+(.+))$/) {
|
||||
my $option = $1;
|
||||
my ($id, $value) = ($2, $3);
|
||||
@ -876,10 +878,10 @@ sub __interface_to_string {
|
||||
$raw .= "\t$option\n";
|
||||
}
|
||||
|
||||
# add comments
|
||||
my $comment = $d->{comment} || '';
|
||||
foreach my $cl (split(/\n/, $comment)) {
|
||||
$raw .= '#' . PVE::Tools::encode_text($cl) . "\n";
|
||||
# add comments
|
||||
my $comments = $d->{comments} || '';
|
||||
foreach my $cl (split(/\n/, $comments)) {
|
||||
$raw .= "#$cl\n";
|
||||
}
|
||||
|
||||
$raw .= "\n";
|
||||
@ -894,14 +896,48 @@ sub write_etc_network_interfaces {
|
||||
|
||||
my $printed = {};
|
||||
|
||||
my $if_type_hash = {
|
||||
loopback => 10,
|
||||
eth => 20,
|
||||
bond => 30,
|
||||
bridge => 40,
|
||||
};
|
||||
|
||||
my $lookup_type_prio = sub {
|
||||
my $iface = shift;
|
||||
|
||||
my $alias = 0;
|
||||
if ($iface =~ m/^(\S+):\d+$/) {
|
||||
$iface = $1;
|
||||
$alias = 1;
|
||||
}
|
||||
|
||||
my $pri;
|
||||
if ($iface eq 'lo') {
|
||||
$pri = $if_type_hash->{loopback};
|
||||
} elsif ($iface =~ m/^eth\d+$/) {
|
||||
$pri = $if_type_hash->{eth} + $alias;
|
||||
} elsif ($iface =~ m/^bond\d+$/) {
|
||||
$pri = $if_type_hash->{bond} + $alias;
|
||||
} elsif ($iface =~ m/^vmbr\d+$/) {
|
||||
$pri = $if_type_hash->{bridge} + $alias;
|
||||
}
|
||||
|
||||
return $pri || ($if_type_hash->{unknown} + $alias);
|
||||
};
|
||||
|
||||
foreach my $iface (sort {
|
||||
my $ref1 = $ifaces->{$a};
|
||||
my $ref2 = $ifaces->{$b};
|
||||
my $p1 = $ref1->{priority} || 100000;
|
||||
my $p2 = $ref2->{priority} || 100000;
|
||||
my $p1 = &$lookup_type_prio($a);
|
||||
my $p2 = &$lookup_type_prio($b);
|
||||
|
||||
return $p1 <=> $p2 if $p1 != $p2;
|
||||
|
||||
$p1 = $ref1->{priority} || 100000;
|
||||
$p2 = $ref2->{priority} || 100000;
|
||||
|
||||
return $p1 <=> $p2 if $p1 != $p2;
|
||||
|
||||
return $a cmp $b;
|
||||
} keys %$ifaces) {
|
||||
|
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,3 +1,9 @@
|
||||
libpve-common-perl (1.0-20) unstable; urgency=low
|
||||
|
||||
* fix bug #116, #103: try to keep ordering in /etc/network/interfaces
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Mon, 19 Mar 2012 13:30:07 +0100
|
||||
|
||||
libpve-common-perl (1.0-19) unstable; urgency=low
|
||||
|
||||
* add dns-name format
|
||||
|
Loading…
x
Reference in New Issue
Block a user