summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install')
-rw-r--r--perl-install/Makefile7
-rw-r--r--perl-install/c/stuff.xs.pm2
-rw-r--r--perl-install/install_any.pm3
-rw-r--r--perl-install/share/compssList3
-rwxr-xr-xperl-install/standalone/XFdrake59
-rwxr-xr-xperl-install/standalone/diskdrake66
6 files changed, 135 insertions, 5 deletions
diff --git a/perl-install/Makefile b/perl-install/Makefile
index e314c283d..c8c7e0a30 100644
--- a/perl-install/Makefile
+++ b/perl-install/Makefile
@@ -1,7 +1,8 @@
VERSION = 2.2.10-BOOT
SUDO = sudo
SO_FILES = c/blib/arch/auto/c/c.so
-PMS = *.pm Newt/*.pm c/stuff.pm resize_fat/*.pm pci_probing/*.pm commands install2 diskdrake XFdrake g_auto_install
+PMS = *.pm Newt/*.pm c/stuff.pm resize_fat/*.pm pci_probing/*.pm commands install2 g_auto_install
+PMS .= $(patsubst %, standalone/%,diskdrake XFdrake rpmdrake)
REP4PMS = /usr/bin/perl-install
ROOTDEST = /export
DEST = $(ROOTDEST)/Mandrake/mdkinst
@@ -25,12 +26,12 @@ TAGS: $(PMS)
clean:
for i in $(DIRS); do $(MAKE) -C $$i clean; done
- rm -rf auto ../diskdrake*
+ rm -rf auto
find . -name "*~" -o -name ".#*" -o -name "TAGS" -o -name "*.old" | xargs rm -f
tar-drakxtools: clean
cd .. ; rm -rf drakxtools ; cp -af perl-install drakxtools ; cp -af tools/ddcprobe drakxtools
- cd ../drakxtools ; rm -f install* ForMakefile.pm pkgs.pm ftp.pm t.pm ; mv Makefile.drakxtools Makefile
+ cd ../drakxtools ; rm -f install* ForMakefile.pm pkgs.pm ftp.pm t.pm ; mv Makefile.drakxtools Makefile ; mv -f standalone/* .
cd .. ; tar cfy drakxtools.tar.bz2 --exclude CVS $(patsubst %,drakxtools/%,Makefile MonitorsDB Newt c ddcprobe po pci_probing resize_fat diskdrake diskdrake.rc XFdrake *.pm)
cd .. ; rm -rf drakxtools
diff --git a/perl-install/c/stuff.xs.pm b/perl-install/c/stuff.xs.pm
index 94610be77..2f4d4efe6 100644
--- a/perl-install/c/stuff.xs.pm
+++ b/perl-install/c/stuff.xs.pm
@@ -12,9 +12,9 @@ print '
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/utsname.h>
+#include <sys/mount.h>
#include <linux/keyboard.h>
#include <linux/kd.h>
-#include <linux/fs.h>
#include <linux/hdreg.h>
#include <linux/vt.h>
#include <linux/cdrom.h>
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 10a11c639..f982ac38d 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -468,6 +468,9 @@ sub install_urpmi {
local *FILES; open FILES, "hdlist2files $f|";
chop, print LIST "$dir/Mandrake/RPMS/$_\n" foreach <FILES>;
close FILES or die "hdlist2files failed";
+
+ $dir .= "/Mandrake/RPMS with ../base/hdlist" if $method =~ /ftp|http/;
+ eval { output "$prefix/etc/urpmi/urpmi.cfg", "$name $dir\n" };
}
run_program::rooted($prefix, "urpmi.update");
}
diff --git a/perl-install/share/compssList b/perl-install/share/compssList
index 70677a13a..34ae83131 100644
--- a/perl-install/share/compssList
+++ b/perl-install/share/compssList
@@ -83,7 +83,7 @@ dip 15 0 13
dosemu 55 0 49
dosemu-freedos 55 0 49
dosfstools 25 0 22
-drakxtools 89 0 83
+drakxtools 85 0 83
dump 9 0 87
e2fsprogs-devel 1 0 25
ed 45 0 5
@@ -572,6 +572,7 @@ rhsound 40 0 36
rhs-printfilters 1 1 0
rmt 27 0 24
routed 22 99 19
+rpmdrake 84 10 81
rpm-devel 6 0 80
rsh 46 99 75
rsync 39 99 75
diff --git a/perl-install/standalone/XFdrake b/perl-install/standalone/XFdrake
new file mode 100755
index 000000000..46c5b6f63
--- /dev/null
+++ b/perl-install/standalone/XFdrake
@@ -0,0 +1,59 @@
+#!/usr/bin/perl
+
+# XFdrake
+# Copyright (C) 1999 MandrakeSoft (pixel@linux-mandrake.com)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# 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 common qw(:file);
+use Xconfigurator;
+use Xconfig;
+
+local $_ = join '', @ARGV;
+
+/-h/ and die "usage: XFdrake [--beginner] [--expert] [--auto] [--noauto] [--skiptest] [--testing]\n";
+
+$::beginner = /--beginner/;
+$::expert = /--expert/;
+$::auto = /--auto/;
+$::noauto = /--noauto/;
+$::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
diff --git a/perl-install/standalone/diskdrake b/perl-install/standalone/diskdrake
new file mode 100755
index 000000000..a3ffafe83
--- /dev/null
+++ b/perl-install/standalone/diskdrake
@@ -0,0 +1,66 @@
+#!/usr/bin/perl
+
+# DiskDrake
+# Copyright (C) 1999 MandrakeSoft (pixel@linux-mandrake.com)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# DiskDrake uses resize_fat which is a perl rewrite of the work of Andrew
+# Clausen (libresize).
+# DiskDrake is also based upon the libfdisk and the install from Red Hat Software
+
+
+use lib qw(/usr/lib/libDrakX .);
+use common qw(:common :functional);
+use diskdrake;
+use interactive_gtk;
+use detect_devices;
+use fsedit;
+use fs;
+use log;
+
+$::isStandalone = 1;
+#$::expert = 1;
+
+if ($>) {
+ $ENV{PATH} = "/sbin:/usr/sbin:$ENV{PATH}";
+}
+
+
+#if ($ARGV[0] eq '-l') {
+# $@ and print "Error\n";
+# $::expert = 1;
+# print diskdrake::get_info($_, $hds->[0]) foreach fsedit::get_fstab($hds->[0]);
+# exit !$@;
+#}
+my $in = interactive_gtk->new;
+my $hds =
+ catch_cdie { fsedit::hds([ detect_devices::hds() ], {}) }
+ sub {
+ my ($err) = $@ =~ /(.*) at /;
+ $@ =~ /overlapping/ and $in->ask_warn('', $@), return 1;
+ $in->ask_okcancel(_("Error"),
+[_("I can't read your partition table, it's too corrupted for me :(
+I'll try to go on blanking bad partitions"), $err]);
+ };
+
+$SIG{__DIE__} = sub { chomp $_[0]; log::l("ERROR: $_[0]") };
+my $fstab = [ fsedit::get_fstab(@$hds) ];
+
+fs::get_mntpoints_from_fstab($fstab);
+fs::check_mounted($fstab);
+diskdrake::main($hds, {}, $in);
+
+exec "true";