Mageia Bugzilla – Attachment 2308 Details for
Bug 5772
Ethernet test fails when adding additional media
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
live patch for drakx
patch.pl (text/plain), 1.63 KB, created by
Thierry Vignaud
on 2012-05-14 13:02:48 CEST
(
hide
)
Description:
live patch for drakx
Filename:
MIME Type:
Creator:
Thierry Vignaud
Created:
2012-05-14 13:02:48 CEST
Size:
1.63 KB
patch
obsolete
>use network::network; > >package network::network; > >undef *write_resolv_conf; > >*write_resolv_conf = sub { > my ($net) = @_; > my $resolv = $net->{resolv}; > my $file = $::prefix . $resolv_file; > > my %new = ( > search => [ grep { $_ } uniq(@$resolv{'DOMAINNAME', 'DOMAINNAME2', 'DOMAINNAME3'}) ], > nameserver => [ grep { $_ } uniq(@$resolv{'dnsServer', 'dnsServer2', 'dnsServer3'}) ], > ); > > my (%prev, @unknown); > foreach (cat_($file)) { > s/\s+$//; > s/^[#\s]*//; > > if (my ($key, $val) = /^(search|nameserver)\s+(.*)$/) { > push @{$prev{$key}}, $val; > } elsif (/^ppp temp entry$/) { > } elsif (/\S/) { > push @unknown, $_; > } > } > unlink $file if -l $file; #- workaround situation when /etc/resolv.conf is an absolute link to /etc/ppp/resolv.conf or whatever > > if (@{$new{search}} || @{$new{nameserver}}) { > $prev{$_} = [ difference2($prev{$_} || [], $new{$_}) ] foreach keys %new; > > my @search = do { > my @new = if_(@{$new{search}}, "search " . join(' ', @{$new{search}}) . "\n"); > my @old = if_(@{$prev{search}}, "# search " . join(' ', @{$prev{search}}) . "\n"); > @new, @old; > }; > my @nameserver = do { > my @new = map { "nameserver $_\n" } @{$new{nameserver}}; > my @old = map { "# nameserver $_\n" } @{$prev{nameserver}}; > @new, @old; > }; > # so that we can resolv in installer as well: > foreach my $f ($file, $resolv_file) { > output_with_perm($f, 0644, @search, @nameserver, (map { "# $_\n" } @unknown), "\n# ppp temp entry\n"); > } > > c::res_init(); # reinit the resolver so DNS changes take affect > 1; > } else { > log::explanations("neither domain name nor dns server are configured"); > 0; > } >}
use network::network; package network::network; undef *write_resolv_conf; *write_resolv_conf = sub { my ($net) = @_; my $resolv = $net->{resolv}; my $file = $::prefix . $resolv_file; my %new = ( search => [ grep { $_ } uniq(@$resolv{'DOMAINNAME', 'DOMAINNAME2', 'DOMAINNAME3'}) ], nameserver => [ grep { $_ } uniq(@$resolv{'dnsServer', 'dnsServer2', 'dnsServer3'}) ], ); my (%prev, @unknown); foreach (cat_($file)) { s/\s+$//; s/^[#\s]*//; if (my ($key, $val) = /^(search|nameserver)\s+(.*)$/) { push @{$prev{$key}}, $val; } elsif (/^ppp temp entry$/) { } elsif (/\S/) { push @unknown, $_; } } unlink $file if -l $file; #- workaround situation when /etc/resolv.conf is an absolute link to /etc/ppp/resolv.conf or whatever if (@{$new{search}} || @{$new{nameserver}}) { $prev{$_} = [ difference2($prev{$_} || [], $new{$_}) ] foreach keys %new; my @search = do { my @new = if_(@{$new{search}}, "search " . join(' ', @{$new{search}}) . "\n"); my @old = if_(@{$prev{search}}, "# search " . join(' ', @{$prev{search}}) . "\n"); @new, @old; }; my @nameserver = do { my @new = map { "nameserver $_\n" } @{$new{nameserver}}; my @old = map { "# nameserver $_\n" } @{$prev{nameserver}}; @new, @old; }; # so that we can resolv in installer as well: foreach my $f ($file, $resolv_file) { output_with_perm($f, 0644, @search, @nameserver, (map { "# $_\n" } @unknown), "\n# ppp temp entry\n"); } c::res_init(); # reinit the resolver so DNS changes take affect 1; } else { log::explanations("neither domain name nor dns server are configured"); 0; } }
View Attachment As Raw
Actions:
View
Attachments on
bug 5772
:
2196
|
2200
|
2230
|
2235
|
2238
|
2239
|
2303
| 2308 |
2309
|
2310