diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/local.mk | 4 | ||||
-rw-r--r-- | gnu/packages/cdrom.scm | 9 | ||||
-rw-r--r-- | gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch | 47 | ||||
-rw-r--r-- | gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch | 107 |
4 files changed, 4 insertions, 163 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index ad5464cb86..5b81791542 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1445,9 +1445,7 @@ dist_patch_DATA = \ %D%/packages/patches/xfce4-panel-plugins.patch \ %D%/packages/patches/xfce4-settings-defaults.patch \ %D%/packages/patches/xinetd-fix-fd-leak.patch \ - %D%/packages/patches/xinetd-CVE-2013-4342.patch \ - %D%/packages/patches/xorriso-no-partition-table-in-inner-efi.patch \ - %D%/packages/patches/xorriso-no-mbr-in-inner-efi.patch + %D%/packages/patches/xinetd-CVE-2013-4342.patch MISC_DISTRO_FILES = \ %D%/packages/ld-wrapper.in diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index ef4ce022e4..59f32deb78 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 John Darrington <jmd@gnu.org> @@ -155,17 +155,14 @@ libcdio.") (define-public xorriso (package (name "xorriso") - (version "1.5.0") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/xorriso/xorriso-" version ".tar.gz")) (sha256 (base32 - "0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9")) - (patches - (search-patches "xorriso-no-partition-table-in-inner-efi.patch" - "xorriso-no-mbr-in-inner-efi.patch")))) + "1rqpzj95f70jfwpn4lamasfgqpizjsipz12aprdhri777b4zas9v")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch b/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch deleted file mode 100644 index a43889d2c6..0000000000 --- a/gnu/packages/patches/xorriso-no-mbr-in-inner-efi.patch +++ /dev/null @@ -1,47 +0,0 @@ -https://dev.lovelyhq.com/libburnia/libisoburn/commit/1eb51f44dadb8b6c5f87533ca357186cdc1ac625 -diff --git a/frontend/grub-mkrescue-sed.sh b/frontend/grub-mkrescue-sed.sh -index b3948c99..dcd9d696 100755 ---- a/frontend/grub-mkrescue-sed.sh -+++ b/frontend/grub-mkrescue-sed.sh -@@ -120,6 +120,7 @@ fi - # "yes" overwrites the MBR partition table area in the EFI boot image by zeros. - # Some EFI implementations get stuck when seeing in the EFI partition a - # partition table entry which begins at LBA 0. -+# "extra" not only zeros the partition table but also the MBR signature. - efi_zero_inner_pt=no - if test -n "$MKRESCUE_SED_IN_EFI_NO_PT" - then -@@ -192,24 +193,31 @@ then - find "$dir" - fi - --if test "$efi_zero_inner_pt" = yes -+if test "$efi_zero_inner_pt" = yes -o "$efi_zero_inner_pt" = extra - then - did_dd=0 - if test -e "$dir"/efi.img - then -+ # Look for 0x55 0xAA in bytes 510 and 511 - magic=$(dd bs=1 skip=510 count=2 if="$dir"/efi.img 2>/dev/null | \ - od -c | head -1 | awk '{print $2 " " $3}') - if test "$magic" = "U 252" - then -+ echo "Performing actions for MKRESCUE_SED_IN_EFI_NO_PT=$efi_zero_inner_pt" >&2 - dd if=/dev/zero bs=1 seek=446 count=64 conv=notrunc of="$dir"/efi.img - did_dd=1 -+ if test "$efi_zero_inner_pt" = extra -+ then -+ dd if=/dev/zero bs=1 seek=510 count=2 conv=notrunc of="$dir"/efi.img -+ fi -+ echo >&2 - fi - fi - if test "$did_dd" = 0 - then - echo >&2 - echo "$0 : NOTE : No EFI image found or no MBR signature in it." >&2 -- echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=yes" >&2 -+ echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=$efi_zero_inner_pt" >&2 - echo >&2 - fi - fi diff --git a/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch b/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch deleted file mode 100644 index a719ca1f89..0000000000 --- a/gnu/packages/patches/xorriso-no-partition-table-in-inner-efi.patch +++ /dev/null @@ -1,107 +0,0 @@ -https://dev.lovelyhq.com/libburnia/libisoburn/commit/3a2a3ba737a06162c22ace0ae09d33ba97aa2673 -diff --git a/frontend/grub-mkrescue-sed.sh b/frontend/grub-mkrescue-sed.sh -index d772ff22..b3948c99 100755 ---- a/frontend/grub-mkrescue-sed.sh -+++ b/frontend/grub-mkrescue-sed.sh -@@ -1,6 +1,6 @@ - #!/bin/sh - --# Copyright (C) 2015 - 2016 -+# Copyright (C) 2015 - 2019 - # Thomas Schmitt <scdbackup@gmx.net>, libburnia-project.org - # Provided under BSD license: Use, modify, and distribute as you like. - -@@ -117,6 +117,15 @@ fi - # command line.) - # Each argument must be a single word. No whitespace. No quotation marks. - -+# "yes" overwrites the MBR partition table area in the EFI boot image by zeros. -+# Some EFI implementations get stuck when seeing in the EFI partition a -+# partition table entry which begins at LBA 0. -+efi_zero_inner_pt=no -+if test -n "$MKRESCUE_SED_IN_EFI_NO_PT" -+then -+ efi_zero_inner_pt="$MKRESCUE_SED_IN_EFI_NO_PT" -+fi -+ - - # - # Do the work -@@ -183,12 +192,48 @@ then - find "$dir" - fi - -+if test "$efi_zero_inner_pt" = yes -+then -+ did_dd=0 -+ if test -e "$dir"/efi.img -+ then -+ magic=$(dd bs=1 skip=510 count=2 if="$dir"/efi.img 2>/dev/null | \ -+ od -c | head -1 | awk '{print $2 " " $3}') -+ if test "$magic" = "U 252" -+ then -+ dd if=/dev/zero bs=1 seek=446 count=64 conv=notrunc of="$dir"/efi.img -+ did_dd=1 -+ fi -+ fi -+ if test "$did_dd" = 0 -+ then -+ echo >&2 -+ echo "$0 : NOTE : No EFI image found or no MBR signature in it." >&2 -+ echo "$0 : NOTE : Will not obey MKRESCUE_SED_IN_EFI_NO_PT=yes" >&2 -+ echo >&2 -+ fi -+fi -+ - efi_tmp_name= -+if test x"$mode" = xmjg \ -+ -o x"$mode" = xmbr_only \ -+ -o x"$mode" = xgpt_appended \ -+ -o x"$mode" = xmbr_hfs -+then -+ # Move EFI partition image file out of the "$dir" tree, i.e. out of the ISO -+ efi_tmp_name=grub-mkrescue-sed-efi-img.$$ -+ if test -e "$dir"/efi.img -+ then -+ mv "$dir"/efi.img /tmp/$efi_tmp_name -+ elif test -e /tmp/$efi_tmp_name -+ then -+ rm /tmp/$efi_tmp_name -+ fi -+fi -+ - if test x"$mode" = xmjg - then - # Exchange arguments for the experimental GRUB2 mjg layout -- efi_tmp_name=grub-mkrescue-sed-efi-img.$$ -- mv "$dir"/efi.img /tmp/$efi_tmp_name - x=$(echo " $*" | sed \ - -e "s/-efi-boot-part --efi-boot-image/-no-pad -append_partition $partno 0xef \/tmp\/$efi_tmp_name/" \ - -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_${partno}:all:: -no-emul-boot -isohybrid-gpt-basdat/" \ -@@ -207,8 +252,6 @@ then - elif test x"$mode" = xmbr_only - then - # Exchange arguments for no-HFS MBR-only layout -- efi_tmp_name=grub-mkrescue-sed-efi-img.$$ -- mv "$dir"/efi.img /tmp/$efi_tmp_name - x=$(echo " $*" | sed \ - -e "s/-efi-boot-part --efi-boot-image/$iso_mbr_part_type -no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name/" \ - -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \ -@@ -228,8 +271,6 @@ then - elif test x"$mode" = xmbr_hfs - then - # Exchange arguments for MBR and HFS+ layout -- efi_tmp_name=grub-mkrescue-sed-efi-img.$$ -- mv "$dir"/efi.img /tmp/$efi_tmp_name - x=$(echo " $*" | sed \ - -e "s/-efi-boot-part --efi-boot-image/$iso_mbr_part_type -no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name/" \ - -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \ -@@ -247,8 +288,6 @@ then - elif test x"$mode" = xgpt_appended - then - # Exchange arguments for no-HFS MBR-only layout -- efi_tmp_name=grub-mkrescue-sed-efi-img.$$ -- mv "$dir"/efi.img /tmp/$efi_tmp_name - x=$(echo " $*" | sed \ - -e "s/-efi-boot-part --efi-boot-image/-no-pad -append_partition 2 0xef \/tmp\/$efi_tmp_name -appended_part_as_gpt -partition_offset 16/" \ - -e "s/--efi-boot efi\.img/-eltorito-alt-boot -e --interval:appended_partition_2:all:: -no-emul-boot/" \ |