summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.org>2004-06-18 05:46:57 +0000
committerOlivier Blin <oblin@mandriva.org>2004-06-18 05:46:57 +0000
commit9a768e7b5f9ab5879bf3c8f5be3d1267156d5a94 (patch)
tree3fddde3c46615443b25844c45d42aacf2852970e
parentfe087ed9bb223366676eef790def68102497f77c (diff)
downloaddrakx-backup-do-not-use-9a768e7b5f9ab5879bf3c8f5be3d1267156d5a94.tar
drakx-backup-do-not-use-9a768e7b5f9ab5879bf3c8f5be3d1267156d5a94.tar.gz
drakx-backup-do-not-use-9a768e7b5f9ab5879bf3c8f5be3d1267156d5a94.tar.bz2
drakx-backup-do-not-use-9a768e7b5f9ab5879bf3c8f5be3d1267156d5a94.tar.xz
drakx-backup-do-not-use-9a768e7b5f9ab5879bf3c8f5be3d1267156d5a94.zip
in iso install, use ISOPATH environment variable instead of loopback device filename (limited to 64 chars)
-rw-r--r--mdk-stage1/disk.c1
-rw-r--r--perl-install/c/stuff.xs.pl8
-rw-r--r--perl-install/install_any.pm7
3 files changed, 2 insertions, 14 deletions
diff --git a/mdk-stage1/disk.c b/mdk-stage1/disk.c
index 1b6082fd0..864469ef9 100644
--- a/mdk-stage1/disk.c
+++ b/mdk-stage1/disk.c
@@ -342,6 +342,7 @@ static enum return_type try_with_device(char *dev_name)
umount(disk_own_mount);
return try_with_device(dev_name);
}
+ add_to_env("ISOPATH", location_full);
add_to_env("METHOD", "disk-iso");
} else {
symlink(location_full, IMAGE_LOCATION);
diff --git a/perl-install/c/stuff.xs.pl b/perl-install/c/stuff.xs.pl
index c4049eb95..f6c6c4098 100644
--- a/perl-install/c/stuff.xs.pl
+++ b/perl-install/c/stuff.xs.pl
@@ -705,14 +705,6 @@ standard_charset()
RETVAL
void
-get_loopback_name(int fd)
- INIT:
- struct loop_info loopinfo;
- PPCODE:
- if (!ioctl(fd, LOOP_GET_STATUS, &loopinfo))
- XPUSHs(sv_2mortal(newSVpv(loopinfo.lo_name, 0)));
-
-void
get_iso_volume_ids(int fd)
INIT:
struct iso_primary_descriptor voldesc;
diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm
index 300913446..c9d122d6e 100644
--- a/perl-install/install_any.pm
+++ b/perl-install/install_any.pm
@@ -89,12 +89,7 @@ sub look_for_ISOs() {
sysopen(my $F, $iso_images{loopdev}, 0) or return;
put_in_hash(\%iso_images, $get_iso_ids->($F));
- #- may not work if it the orginal iso image path was longer than 64 chars
- my ($loopfile) = c::get_loopback_name(fileno($F)) or return;
- $loopfile =~ s!^/sysroot!!;
- my $iso_dir = dirname($loopfile);
-
- foreach my $iso_file (glob("$iso_dir/*.iso")) {
+ foreach my $iso_file (glob("$ENV{ISOPATH}/*.iso")) {
my $iso_dev = devices::set_loop($iso_file) or return;
if (sysopen($F, $iso_dev, 0)) {
my $iso_ids = $get_iso_ids->($F);