]> rtime.felk.cvut.cz Git - novaboot.git/blobdiff - novaboot
Support both old and new isolinux versions
[novaboot.git] / novaboot
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,