]> rtime.felk.cvut.cz Git - novaboot.git/commitdiff
Support both old and new isolinux versions
authorMichal Sojka <sojkam1@fel.cvut.cz>
Mon, 21 Jul 2014 22:12:57 +0000 (00:12 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Mon, 21 Jul 2014 22:31:47 +0000 (00:31 +0200)
debian/control
novaboot
tests/novaboot.wv

index 60b153dc91207b990fed4a79e54412a3006ee7c3..296c2cb78c9e3fb54b39cffa04ad5e17573e56af 100644 (file)
@@ -12,8 +12,7 @@ Package: novaboot
 Architecture: all
 Depends: perl, libexpect-perl, ${misc:Depends}
 Recommends: perl-doc, rsync, qemu-system, openssh-client,
- isolinux, syslinux-common, genisoimage, amtterm, libwww-perl, procps,
- sudo, file
+ syslinux, genisoimage, amtterm, libwww-perl, procps, sudo, file
 Suggests: scons, make, isc-dhcp-server, tftpd-hpa, iproute | iproute2
 Description: Tool for booting operating systems on remote hardware
  This program makes booting of an operating system (e.g. Linux or
index 11719c62d647dad9dcc1e99b40e50b226e05cb47..357ff032c1d011348adb48ade4acf705583133ae 100755 (executable)
--- a/novaboot
+++ b/novaboot
@@ -816,8 +816,16 @@ foreach my $script (@scripts) {
 ## Generate ISO image
 if (defined $iso_image) {
     system_verbose("mkdir -p isolinux");
-    # FIXME: Does somebody need support for older syslinux (without ldlinux etc.)?
-    system_verbose('cp /usr/lib/ISOLINUX/isolinux.bin /usr/lib/syslinux/modules/bios/mboot.c32 /usr/lib/syslinux/modules/bios/libcom32.c32 /usr/lib/syslinux/modules/bios/menu.c32 /usr/lib/syslinux/modules/bios/ldlinux.c32 isolinux');
+
+    my @files;
+    if (-f '/usr/lib/ISOLINUX/isolinux.bin') {
+       # Newer ISOLINUX version
+       @files = qw(/usr/lib/ISOLINUX/isolinux.bin /usr/lib/syslinux/modules/bios/mboot.c32 /usr/lib/syslinux/modules/bios/libcom32.c32 /usr/lib/syslinux/modules/bios/menu.c32 /usr/lib/syslinux/modules/bios/ldlinux.c32);
+    } else {
+       # Older ISOLINUX version
+       @files = qw(/usr/lib/syslinux/isolinux.bin /usr/lib/syslinux/mboot.c32 /usr/lib/syslinux/menu.c32);
+    }
+    system_verbose("cp @files isolinux");
     open(my $fh, ">isolinux/isolinux.cfg");
     if ($#scripts) {
        print $fh "TIMEOUT 50\n";
@@ -828,7 +836,7 @@ if (defined $iso_image) {
     print $fh "$menu_iso";
     close($fh);
 
-    my $files = join(" ", map("$_=$_", (keys(%files_iso), 'isolinux/isolinux.bin', 'isolinux/isolinux.cfg', 'isolinux/libcom32.c32', 'isolinux/mboot.c32', 'isolinux/ldlinux.c32', 'isolinux/menu.c32')));
+    my $files = join(" ", map("$_=$_", (keys(%files_iso), 'isolinux/isolinux.cfg', map(s|.*/|isolinux/|r, @files))));
     $iso_image ||= "$config_name.iso";
 
     # Note: We use -U flag below to "Allow 'untranslated' filenames,
index 63c402bb972a4035589a3398146916f3a55f430e..e76a4c80f0eea8d23a961459bfb2a439df2d7f2e 100755 (executable)
@@ -80,7 +80,7 @@ WVPASS grep "exec HYP" config-novaboot
 
 WVSTART ISO image generation
 create_dummy
-WVPASS ./script --iso --target ''
+WVPASS ./script --iso --gen-only
 
 WVSTART Recursive target definition
 create_dummy