summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/XFdrake
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/XFdrake')
-rwxr-xr-xperl-install/standalone/XFdrake66
1 files changed, 34 insertions, 32 deletions
diff --git a/perl-install/standalone/XFdrake b/perl-install/standalone/XFdrake
index 46c5b6f63..88db4c23d 100755
--- a/perl-install/standalone/XFdrake
+++ b/perl-install/standalone/XFdrake
@@ -17,43 +17,45 @@
# 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;
+use c;
local $_ = join '', @ARGV;
-/-h/ and die "usage: XFdrake [--beginner] [--expert] [--auto] [--noauto] [--skiptest] [--testing]\n";
+/-h/ and die "usage: XFdrake [--xf3] [--beginner] [--expert] [--auto] [--noauto] [--skiptest] [--testing]\n";
-$::beginner = /--beginner/;
-$::expert = /--expert/;
-$::auto = /--auto/;
-$::noauto = /--noauto/;
-$::skiptest = /--skiptest/;
-$::testing = /--testing/;
-$::isStandalone = 1;
+my $i = {};
-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
+$::isStandalone = 1;
+$::force_xf3 = /-xf3/;
+$::beginner = /-beginner/;
+$::expert = /-expert/;
+$::auto = /-auto/;
+$::noauto = /-noauto/;
+$::testing = /-testing/;
+$i->{skiptest} = /-skiptest/;
+
+my $in = interactive->vnew('su');
+
+my $f = "/usr/X11R6/lib/X11/Cards";
+if (!-e $f) { $in->suspend; system("urpmi --auto --best-output XFree86 XFree86-75dpi-fonts"); $in->resume; }
+-e $f or die "install XFree86 first!\n";
+
+`pidof xfs` > 0 or system("/etc/rc.d/init.d/xfs start");
+
+system("mount /proc 2>/dev/null"); # ensure /proc is mounted for pci probing
+
+Xconfig::getinfoFromXF86Config($i) if $0 =~ Xdrakres;
+Xconfig::getinfo($i);
+
+Xconfigurator::main('', $i, $in, 0, -e "/etc/pcmcia",
+ sub { my ($server, @l) = @_;
+ $in->suspend;
+ system("urpmi --auto --best-output XFree86-$server " . join(' ', @l));
+ $in->resume;
+ });
+$in->exit(0);