diff options
Diffstat (limited to 'perl-install/standalone')
-rwxr-xr-x | perl-install/standalone/XFdrake | 31 | ||||
-rwxr-xr-x | perl-install/standalone/mousedrake | 51 |
2 files changed, 58 insertions, 24 deletions
diff --git a/perl-install/standalone/XFdrake b/perl-install/standalone/XFdrake index 46c5b6f63..28864acc1 100755 --- a/perl-install/standalone/XFdrake +++ b/perl-install/standalone/XFdrake @@ -17,9 +17,9 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -use lib qw(/usr/lib/libDrakX .); +use lib qw(/usr/lib/libDrakX); -use common qw(:file); +use interactive; use Xconfigurator; use Xconfig; @@ -35,25 +35,8 @@ $::skiptest = /--skiptest/; $::testing = /--testing/; $::isStandalone = 1; -my $hasX = do { `xtest`; $? == 0 }; - -my $in; if ($hasX) { - require 'interactive_gtk.pm'; - $in = interactive_gtk->new; -} else { - *log::l = undef; - *log::l = sub {}; - require 'interactive_newt.pm'; - $in = interactive_newt->new; -} - -Xconfigurator::main('', Xconfig::getinfo(), $in, -# sub { -# use install_any; -# print "Here\n"; -# my ($X) = glob_("/mnt/disk/XFree86-$_[0]-*") or die "$_[0]'s X server rpm not found"; -# pkgs::install('', [ { name => $_[0], file => $X } ], 1, 0); -# } -); - -exec 'true' if $hasX; #- workaround for perl-GTK +my $in = vnew interactive; + +Xconfigurator::main('', Xconfig::getinfo(), $in, 0, sub { `urpmi --auto XFree86-$_[0]` }); + +exec 'true' if ref($in) =~ /gtk/; #- workaround for perl-GTK diff --git a/perl-install/standalone/mousedrake b/perl-install/standalone/mousedrake new file mode 100755 index 000000000..852c5e612 --- /dev/null +++ b/perl-install/standalone/mousedrake @@ -0,0 +1,51 @@ +#!/usr/bin/perl + +use lib qw(/usr/lib/libDrakX); + +use common qw(:system); +use interactive; +use mouse; + +local $_ = join '', @ARGV; + +/-h/ and die "usage: mousedrake [--auto] [--noauto] [--testing]\n"; + +$::auto = /--auto/; +$::noauto = /--noauto/; +$::testing = /--testing/; +$::isStandalone = 1; + +my $in = vnew interactive; + +my $mouse = mouse::detect() unless $::noauto; + +if (!(my $name = $mouse->{FULLNAME}) || !$::auto) { + $name ||= "Generic Mouse (serial)"; + $name = $in->ask_from_list_('', _("What is the type of your mouse?"), [ mouse::names() ], $name); + $mouse = mouse::name2mouse($name); + + if ($mouse->{device} eq "usbmouse") { + my ($c) = pci_probing::main::probe("serial_usb") or die _("no serial_usb found\n"); + eval { modules::load($c->[1], "serial_usb") }; + } +} + +$mouse->{XEMU3} = 'yes' if $mouse->{nbuttons} < 3 && (!$::noauto || $in->ask_yesorno('', _("Emulate third button?"), 1)); + +$mouse->{device} = mouse::serial_ports_names2dev( + $in->ask_from_list(_("Mouse Port"), + _("Which serial port is your mouse connected to?"), + [ mouse::serial_ports_names() ])) if $mouse->{device} eq "ttyS"; + +mouse::write('', $mouse); +modules::write_conf("/etc/conf.modules") if $mouse->{device} eq "usbmouse" && !$::testing; + +my $f = "/etc/X11/XF86Config"; +substInFile { + if (/^Section "Pointer"/ .. /^EndSection/) { + s|^(\s*Protocol\s+).*|$1 "$mouse->{XMOUSETYPE}"|; + s|^(\s*Device\s+).*|$1 "/dev/mouse"|; + } +} $f if -e $f && !$::testing; + +exec 'true' if ref($in) =~ /gtk/; #- workaround for perl-GTK |