From 8ab3847694dba228f3c30ebf583f3719458439a5 Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Mon, 30 Mar 2015 02:09:03 +0100 Subject: [PATCH] [syslinux] partially improve support for openSuse based live ISOs * Using /syslinux.cfg creates issues, so we force the use of /boot/[i386|x86_64]/loader/isolinux.cfg * IMPORTANT: This does NOT fix openSuse based live ISO support as the openSuse boot scripts are NOT designed to handle anything else but an ISO9660 filesystem. Especially, they cannot handle FAT. * Closes #478 * Also set rufus-next to 2.2 --- configure | 20 ++++++++++---------- configure.ac | 2 +- src/iso.c | 29 +++++++++++++++++++++++++---- src/rufus.h | 1 + src/rufus.rc | 16 ++++++++-------- 5 files changed, 45 insertions(+), 23 deletions(-) diff --git a/configure b/configure index 7c99f872..ce20d917 100644 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for rufus 2.1. +# Generated by GNU Autoconf 2.69 for rufus 2.2. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='rufus' PACKAGE_TARNAME='rufus' -PACKAGE_VERSION='2.1' -PACKAGE_STRING='rufus 2.1' +PACKAGE_VERSION='2.2' +PACKAGE_STRING='rufus 2.2' PACKAGE_BUGREPORT='https://github.com/pbatard/rufus/issues' PACKAGE_URL='http://rufus.akeo.ie' @@ -1227,7 +1227,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures rufus 2.1 to adapt to many kinds of systems. +\`configure' configures rufus 2.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1293,7 +1293,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rufus 2.1:";; + short | recursive ) echo "Configuration of rufus 2.2:";; esac cat <<\_ACEOF @@ -1383,7 +1383,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rufus configure 2.1 +rufus configure 2.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1438,7 +1438,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rufus $as_me 2.1, which was +It was created by rufus $as_me 2.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2301,7 +2301,7 @@ fi # Define the identity of the package. PACKAGE='rufus' - VERSION='2.1' + VERSION='2.2' cat >>confdefs.h <<_ACEOF @@ -4466,7 +4466,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rufus $as_me 2.1, which was +This file was extended by rufus $as_me 2.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4520,7 +4520,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -rufus config.status 2.1 +rufus config.status 2.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 17a8b1c6..08fe6ddf 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([rufus], [2.1], [https://github.com/pbatard/rufus/issues], [rufus], [http://rufus.akeo.ie]) +AC_INIT([rufus], [2.2], [https://github.com/pbatard/rufus/issues], [rufus], [http://rufus.akeo.ie]) AM_INIT_AUTOMAKE([-Wno-portability foreign no-dist no-dependencies]) AC_CONFIG_SRCDIR([src/rufus.c]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/iso.c b/src/iso.c index fbd7ae5c..ccedab57 100644 --- a/src/iso.c +++ b/src/iso.c @@ -600,7 +600,7 @@ BOOL ExtractISO(const char* src_iso, const char* dest_dir, BOOL scan) udf_t* p_udf = NULL; udf_dirent_t* p_udf_root; char *tmp, *buf, *ext; - char path[MAX_PATH]; + char path[MAX_PATH], path2[16]; const char* basedir[] = { "i386", "minint" }; const char* tmp_sif = ".\\txtsetup.sif~"; iso_extension_mask_t iso_extension_mask = ISO_EXTENSION_ALL; @@ -698,8 +698,22 @@ out: // If multiple config files exist, choose the one with the shortest path // (so that a '/syslinux.cfg' is preferred over a '/isolinux/isolinux.cfg') if (!IsStrArrayEmpty(config_path)) { - safe_strcpy(iso_report.cfg_path, sizeof(iso_report.cfg_path), config_path.String[0]); - for (i=1; i= safe_strlen(config_path.String[i])) safe_strcpy(iso_report.cfg_path, sizeof(iso_report.cfg_path), config_path.String[i]); } - uprintf("Will use %s for Syslinux\n", iso_report.cfg_path); + uprintf("Will use '%s' for Syslinux\n", iso_report.cfg_path); // Extract all of the isolinux.bin files we found to identify their versions for (i=0; i create a new one if (fd == NULL) { diff --git a/src/rufus.h b/src/rufus.h index 0423351e..0fed3939 100644 --- a/src/rufus.h +++ b/src/rufus.h @@ -262,6 +262,7 @@ typedef struct { BOOL has_old_c32[NB_OLD_C32]; BOOL has_old_vesamenu; BOOL has_efi_syslinux; + BOOL needs_syslinux_overwrite; BOOL has_grub4dos; BOOL has_grub2; BOOL has_kolibrios; diff --git a/src/rufus.rc b/src/rufus.rc index 9a4a2ab2..754a07ac 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -32,7 +32,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 242, 376 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Rufus 2.1.649" +CAPTION "Rufus 2.2.650" FONT 8, "Segoe UI", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Start",IDC_START,127,339,50,14 @@ -157,7 +157,7 @@ END IDD_DIALOG_XP DIALOGEX 12, 12, 242, 376 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Rufus 2.1.649" +CAPTION "Rufus 2.2.650" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Start",IDC_START,127,339,50,14 @@ -283,7 +283,7 @@ END IDD_DIALOG_RTL DIALOGEX 12, 12, 242, 376 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_RTLREADING | WS_EX_APPWINDOW | WS_EX_LAYOUTRTL -CAPTION "Rufus 2.1.649" +CAPTION "Rufus 2.2.650" FONT 8, "Segoe UI", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Start",IDC_START,127,339,50,14 @@ -415,7 +415,7 @@ END IDD_DIALOG_RTL_XP DIALOGEX 12, 12, 242, 376 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_RTLREADING | WS_EX_APPWINDOW | WS_EX_LAYOUTRTL -CAPTION "Rufus 2.1.649" +CAPTION "Rufus 2.2.650" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Start",IDC_START,127,339,50,14 @@ -671,8 +671,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,1,649,0 - PRODUCTVERSION 2,1,649,0 + FILEVERSION 2,2,650,0 + PRODUCTVERSION 2,2,650,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -689,13 +689,13 @@ BEGIN BEGIN VALUE "CompanyName", "Akeo Consulting (http://akeo.ie)" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "2.1.649" + VALUE "FileVersion", "2.2.650" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2015 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "http://www.gnu.org/copyleft/gpl.html" VALUE "OriginalFilename", "rufus.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "2.1.649" + VALUE "ProductVersion", "2.2.650" END END BLOCK "VarFileInfo"