diff options
Diffstat (limited to 'perl-install/standalone/XFdrake')
-rwxr-xr-x | perl-install/standalone/XFdrake | 66 |
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); |