summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone')
-rwxr-xr-xperl-install/standalone/XFdrake31
-rwxr-xr-xperl-install/standalone/mousedrake51
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