diff --git a/res/appstore/Package.appxmanifest b/res/appstore/Package.appxmanifest index 0cf7b7b2..899503e0 100644 --- a/res/appstore/Package.appxmanifest +++ b/res/appstore/Package.appxmanifest @@ -11,7 +11,7 @@ + Version="3.16.1834.0" /> Rufus diff --git a/src/iso.c b/src/iso.c index 78f3907e..dcb77cb2 100644 --- a/src/iso.c +++ b/src/iso.c @@ -380,10 +380,11 @@ static void fix_config(const char* psz_fullpath, const char* psz_path, const cha } // // Since version 8.2, and https://github.com/rhinstaller/anaconda/commit/a7661019546ec1d8b0935f9cb0f151015f2e1d95, - // Red Hat derivatives have changed their CD-ROM detection policy which leads to the installation source not - // being found. So we need to use 'inst.repo' instead of 'inst.stage2' in the kernel options. + // Red Hat derivatives have changed their CD-ROM detection policy which leads to the installation source + // not being found. So we need to use 'inst.repo' instead of 'inst.stage2' in the kernel options. // - if (replace_in_token_data(src, props->is_grub_cfg ? "linuxefi" : "append", "inst.stage2", "inst.repo", TRUE) != NULL) { + if (img_report.rh8_derivative && (replace_in_token_data(src, props->is_grub_cfg ? + "linuxefi" : "append", "inst.stage2", "inst.repo", TRUE) != NULL)) { uprintf(" Patched %s: '%s' ➔ '%s'\n", src, "inst.stage2", "inst.repo"); modified = TRUE; } diff --git a/src/rufus.c b/src/rufus.c index 4335967c..acc6ba36 100755 --- a/src/rufus.c +++ b/src/rufus.c @@ -1220,7 +1220,18 @@ out: // The scanning process can be blocking for message processing => use a thread DWORD WINAPI ImageScanThread(LPVOID param) { - int i; + // Regexp patterns used to match ISO labels for the Red Hat 8 derivatives + // where we should apply an inst.stage2 ➔ inst.repo workaround for ISO + // mode (per: https://github.com/rhinstaller/anaconda/pull/3529). + const char* redhat8_derivative[] = { + "^AlmaLinux-8.*", // AlmaLinux 8.x + "^Fedora.*-3[3-9].*", // Fedora 33-39 + "^CentOS-8.*", // CentOS 8.x + "^OL-8.*", // Oracle Linux 8.x + "^RHEL-8.*", // Red Hat 8.x + "^Rocky-8.*", // Rocky Linux 8.x + }; + int i, len; uint8_t arch; char tmp_path[MAX_PATH]; @@ -1282,6 +1293,13 @@ DWORD WINAPI ImageScanThread(LPVOID param) if (img_report.is_iso) { DisplayISOProps(); + for (i = 0; i < ARRAYSIZE(redhat8_derivative); i++) { + if (re_match(redhat8_derivative[i], img_report.label, &len) >= 0) { + img_report.rh8_derivative = TRUE; + break; + } + } + // If we have an ISOHybrid, but without an ISO method we support, disable ISO support altogether if (IS_DD_BOOTABLE(img_report) && (img_report.disable_iso || (!IS_BIOS_BOOTABLE(img_report) && !IS_EFI_BOOTABLE(img_report)))) { diff --git a/src/rufus.h b/src/rufus.h index a967f99f..4090a131 100644 --- a/src/rufus.h +++ b/src/rufus.h @@ -366,6 +366,7 @@ typedef struct { BOOLEAN is_vhd; BOOLEAN is_windows_img; BOOLEAN disable_iso; + BOOLEAN rh8_derivative; uint16_t winpe; uint16_t has_efi; uint8_t has_md5sum; diff --git a/src/rufus.rc b/src/rufus.rc index 16593fad..c7bee1bd 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 232, 326 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES -CAPTION "Rufus 3.16.1833" +CAPTION "Rufus 3.16.1834" FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP @@ -395,8 +395,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,16,1833,0 - PRODUCTVERSION 3,16,1833,0 + FILEVERSION 3,16,1834,0 + PRODUCTVERSION 3,16,1834,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -414,13 +414,13 @@ BEGIN VALUE "Comments", "https://rufus.ie" VALUE "CompanyName", "Akeo Consulting" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "3.16.1833" + VALUE "FileVersion", "3.16.1834" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2021 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" VALUE "OriginalFilename", "rufus-3.16.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "3.16.1833" + VALUE "ProductVersion", "3.16.1834" END END BLOCK "VarFileInfo"