diff options
-rw-r--r-- | perl-install/any.pm | 27 | ||||
-rw-r--r-- | perl-install/install_steps.pm | 3 | ||||
-rw-r--r-- | perl-install/mouse.pm | 6 | ||||
-rw-r--r-- | perl-install/network/isdn.pm | 5 | ||||
-rw-r--r-- | perl-install/network/netconnect.pm | 28 | ||||
-rw-r--r-- | perl-install/network/smb.pm | 3 | ||||
-rw-r--r-- | perl-install/network/tools.pm | 7 |
7 files changed, 30 insertions, 49 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm index 511db03ba..6193f848d 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -455,9 +455,7 @@ sub pppConfig { $toreplace{papname} = ($modem->{auth} eq 'PAP' || $modem->{auth} eq 'CHAP') && $toreplace{login}; #- build ifcfg-ppp0. - my $ifcfg = "$prefix/etc/sysconfig/network-scripts/ifcfg-ppp0"; - local *IFCFG; open IFCFG, ">$ifcfg" or die "Can't open $ifcfg"; - print IFCFG <<END; + my $various = <<END; DEVICE="$toreplace{intf}" ONBOOT="no" USERCTL="no" @@ -482,15 +480,12 @@ RETRYTIMEOUT="60" BOOTPROTO="none" PEERDNS="$toreplace{peerdns}" END - foreach (1..2) { - print IFCFG qq(DNS$_=$toreplace{"dns$_"}\n) if $toreplace{"dns$_"}; - } - close IFCFG; + output("$prefix/etc/sysconfig/network-scripts/ifcfg-ppp0", + $various, + map { qq(DNS$_=$toreplace{"dns$_"}\n) } grep { $toreplace{"dns$_"} } 1..2); #- build chat-ppp0. - my $chat = "$prefix/etc/sysconfig/network-scripts/chat-ppp0"; - local *CHAT; open CHAT, ">$chat" or die "Can't open $chat"; - print CHAT <<END; + my @chat = <<END; 'ABORT' 'BUSY' 'ABORT' 'ERROR' 'ABORT' 'NO CARRIER' @@ -500,26 +495,26 @@ END '' 'ATZ' END if ($modem->{special_command}) { - print CHAT <<END; + push @chat, <<END; 'OK' '$modem->{special_command}' END } - print CHAT <<END; + push @chat, <<END; 'OK' 'ATDT$toreplace{phone}' 'CONNECT' '' END if ($modem->{auth} eq 'Terminal-based' || $modem->{auth} eq 'Script-based') { - print CHAT <<END; + push @chat, <<END; 'ogin:--ogin:' '$toreplace{login}' 'ord:' '$toreplace{passwd}' END } - print CHAT <<END; + push @chat, <<END; 'TIMEOUT' '5' '~--' '' END - close CHAT; - chmod 0600, $chat; + my $chat_file = "$prefix/etc/sysconfig/network-scripts/chat-ppp0"; + output_with_perm($chat_file, 0600, @chat); if ($modem->{auth} eq 'PAP' || $modem->{auth} eq 'CHAP') { #- need to create a secrets file for the connection. diff --git a/perl-install/install_steps.pm b/perl-install/install_steps.pm index 0892b39ab..a9a613f0a 100644 --- a/perl-install/install_steps.pm +++ b/perl-install/install_steps.pm @@ -634,8 +634,7 @@ sub configureNetwork { $o->{netcnx}{type} = 'lan'; foreach ("up", "down") { my $f = "$o->{prefix}/etc/sysconfig/network-scripts/net_cnx_$_"; - output $f, "\nif$_ eth0\n"; - chmod 0755, $f; + output_with_perm($f, 0755, "\nif$_ eth0\n"); } output "$o->{prefix}/etc/sysconfig/network-scripts/net_cnx_pg", "\n/usr/sbin/drakconnet\n"; } diff --git a/perl-install/mouse.pm b/perl-install/mouse.pm index 8ba23f7c4..cc164e38e 100644 --- a/perl-install/mouse.pm +++ b/perl-install/mouse.pm @@ -383,8 +383,7 @@ sub various_xfree_conf { if ($mouse->{nbuttons} <= 5) { unlink($f); } else { - output_p($f, "xmodmap -e 'pointer = 1 2 3 6 7 4 5'\n"); - chmod 0755, $f; + output_with_perm($f, 0755, "xmodmap -e 'pointer = 1 2 3 6 7 4 5'\n"); } } { @@ -393,8 +392,7 @@ sub various_xfree_conf { unlink($f); } else { $in->do_pkgs->install('xinput'); - output_p($f, "xinput set-button-map Mouse2 1 2 3 6 7 4 5\n"); - chmod 0755, $f; + output_with_perm($f, 0755, "xinput set-button-map Mouse2 1 2 3 6 7 4 5\n"); } } } diff --git a/perl-install/network/isdn.pm b/perl-install/network/isdn.pm index b485c2e1c..be13b4021 100644 --- a/perl-install/network/isdn.pm +++ b/perl-install/network/isdn.pm @@ -100,8 +100,7 @@ sub isdn_write_config_backend { symlinkf("isdn" . $bundle . ".conf", "$prefix/etc/isdn/isdnctrl.conf"); symlinkf("ioptions" . $bundle, "$prefix/etc/ppp/ioptions"); } else { - my $f = "$prefix/etc/isdn/profile/link/myisp"; - output($f, + output_with_perm("$prefix/etc/isdn/profile/link/myisp", 0600, qq( I4L_USERNAME="$isdn->{login}" I4L_SYSNAME="" @@ -110,8 +109,6 @@ I4L_REMOTE_OUT="$isdn->{phone_out}" I4L_DIALMODE="$isdn->{dialing_mode}" ) . if_($isdn->{speed} =~ /128/, 'SLAVE="ippp1" ')); - chmod 0600, $f; - output "$prefix/etc/isdn/profile/card/mycard", qq( I4L_MODULE="$isdn->{driver}" diff --git a/perl-install/network/netconnect.pm b/perl-install/network/netconnect.pm index f0ebedfc9..8f9b83136 100644 --- a/perl-install/network/netconnect.pm +++ b/perl-install/network/netconnect.pm @@ -138,16 +138,14 @@ sub main { Click on Ok to keep your configuration, or cancel to reconfigure your Internet & Network connection. "), 1)) and do { $netcnx->{type} = 'lan'; - output "$prefix$connect_file", + output_with_perm("$prefix$connect_file", 0755, qq( ifup eth0 -); - output "$prefix$disconnect_file", +)); + output("$prefix$disconnect_file", 0755, qq( ifdown eth0 -); - chmod 0755, "$prefix$disconnect_file"; - chmod 0755, "$prefix$connect_file"; +)); $direct_net_install = 1; goto step_5; }; @@ -283,9 +281,9 @@ Test your connection via net_monitor or mcc. If your connection doesn't work, yo $network_configured or network::configureNetwork2($in, $prefix, $netc, $intf); + my $connect_cmd; if ($netcnx->{type} =~ /modem/ || $netcnx->{type} =~ /isdn_external/) { - output "$prefix$connect_prog", - qq( + $connect_cmd = qq( #!/bin/bash if [ -n "\$DISPLAY" ]; then if [ -e /usr/bin/kppp ]; then @@ -299,8 +297,7 @@ $connect_file fi ); } elsif ($netcnx->{type}) { - output "$prefix$connect_prog", - qq( + $connect_cmd = qq( #!/bin/bash if [ -n "\$DISPLAY" ]; then /usr/sbin/net_monitor --connect @@ -309,15 +306,13 @@ $connect_file fi ); } else { - output "$prefix$connect_prog", - qq( + $connect_cmd = qq( #!/bin/bash /usr/sbin/drakconnect ); } if ($direct_net_install) { - output "$prefix$connect_prog", - qq( + $connect_cmd = qq( #!/bin/bash if [ -n "\$DISPLAY" ]; then /usr/sbin/net_monitor --connect @@ -326,7 +321,7 @@ $connect_file fi ); } - chmod 0755, "$prefix$connect_prog"; + output_with_perm("$prefix$connect_prog", 0755, $connect_cmd) if $connect_cmd; $netcnx->{$_} = $netc->{$_} foreach qw(NET_DEVICE NET_INTERFACE); $netcnx->{NET_INTERFACE} and set_net_conf($netcnx, $netc); @@ -354,7 +349,7 @@ sub save_conf { $intf = { %$intf }; - output("$prefix/etc/sysconfig/network-scripts/drakconnect_conf", + output_with_perm("$prefix/etc/sysconfig/network-scripts/drakconnect_conf", 0600, "SystemName=" . do { $netc->{HOSTNAME} =~ /([^\.]*)\./; $1 } . " DomainName=" . do { $netc->{HOSTNAME} =~ /\.(.*)/; $1 } . " InternetAccessType=" . do { if ($netcnx->{type}) { $netcnx->{type} } else { $netc->{GATEWAY} ? "lan" : "" } } . " @@ -430,7 +425,6 @@ ADSLLogin=$adsl->{login} ADSLPassword=$adsl->{passwd} DOMAINNAME2=$netc->{DOMAINNAME2}" ); - chmod 0600, "$prefix/etc/sysconfig/network-scripts/drakconnect_conf"; my $a = $netcnx->{PROFILE} ? $netcnx->{PROFILE} : "default"; cp_af("$prefix/etc/sysconfig/network-scripts/drakconnect_conf", "$prefix/etc/sysconfig/network-scripts/drakconnect_conf." . $a); chmod 0600, "$prefix/etc/sysconfig/network-scripts/drakconnect_conf"; diff --git a/perl-install/network/smb.pm b/perl-install/network/smb.pm index 06bd70609..e3dfc9ce6 100644 --- a/perl-install/network/smb.pm +++ b/perl-install/network/smb.pm @@ -131,8 +131,7 @@ sub remove_bad_credentials { sub save_credentials { my ($credentials) = @_; my $file = $credentials->{file}; - output_p("$::prefix$file", map { "$_ = $credentials->{$_}\n" } qw(username domain password)); - chmod(0640, "$::prefix$file"); + output_with_perm("$::prefix$file", 0640, map { "$_ = $credentials->{$_}\n" } qw(username domain password)); } diff --git a/perl-install/network/tools.pm b/perl-install/network/tools.pm index 55c8b8a89..48809e8ef 100644 --- a/perl-install/network/tools.pm +++ b/perl-install/network/tools.pm @@ -18,11 +18,10 @@ sub write_cnx_script { $netc->{internet_cnx}{$type}{type} = $type2; } else { foreach ($connect_file, $disconnect_file) { - output("$prefix$_", + output_with_perm("$prefix$_", 0755, '#!/bin/bash ' . if_(!$netc->{at_boot}, 'if [ "x$1" == "x--boot_time" ]; then exit; fi ') . $netc->{internet_cnx}{$netc->{internet_cnx_choice}}{$_}); - chmod 0755, "$prefix$_"; } } } @@ -223,7 +222,8 @@ sub disconnected {} sub write_initscript { - output("$prefix/etc/rc.d/init.d/internet", sprintf(<<'EOF', $connect_file, $connect_file, $disconnect_file, $disconnect_file)); + output_with_perm("$prefix/etc/rc.d/init.d/internet", 0755, + sprintf(<<'EOF', $connect_file, $connect_file, $disconnect_file, $disconnect_file)); #!/bin/bash # # internet Bring up/down internet connection @@ -267,7 +267,6 @@ sub write_initscript { esac exit 0 EOF - chmod 0755, "$prefix/etc/rc.d/init.d/internet"; $::isStandalone ? system("/sbin/chkconfig --add internet") : do { symlinkf("../init.d/internet", "$prefix/etc/rc.d/rc$_") foreach '0.d/K11internet', '1.d/K11internet', '2.d/K11internet', '3.d/S89internet', '5.d/S89internet', '6.d/K11internet'; |