Subject: CVS commit: pkgsrc/sysutils/grub2
From: =?UTF-8?B?RnLDqWTDqXJpYyBGYXViZXJ0ZWF1?=
Date: 2018-05-23 09:56:54
Message id: 20180523075654.2F880FBEC@cvs.NetBSD.org

Log Message:
grub2: update to 2.02

* Remove patches fixed in upstream
* Remove 'CONFIGURE_ARGS+=  --disable-grub-emu-usb': option no more supported
* Fix DejaVu search path
* Remove hack for use of pkgsrc's flex on NetBSD (that causes build errors)
* Disable SSP checking (that causes linking errors)

Changes:
New in 2.02:

* New/improved filesystem and disk support:
  * Big-endian UFS1.
  * Experimental 64-bit ext2 support.
  * Various fixes for non-512-byte sector devices.
  * New `proc' filesystem framework, used by LUKS disks.
  * Fix DM-RAID partition handling.
  * New `nativedisk' command to switch from firmware to native disk drivers.
  * Compressed HFS+.
  * DragonFly BSD labels.
  * CBFS (coreboot).
  * Handle partitioned LVM properly.
  * Use LVM UUIDs whenever possible.
  * GPT PReP.
  * New `progress' module that shows progress information while reading
    files.
  * ZFS features support.
  * ZFS LZ4 support.
  * XFS V5 format support.
  * LVM RAID1 support.

* New/improved terminal and video support:
  * Monochrome text (matching `hercules' in GRUB Legacy).
  * Morse code output using system speaker.
  * `spkmodem' output (simple data protocol using system speaker).
  * Handle Japanese special keys.
  * coreboot framebuffer.
  * Serial on ARC.
  * Native vt100 handling for grub-emu, replacing the use of the curses
    library.
  * New gfxmenu options for terminal window positioning, theme background
    image handling, and scrollbar padding, plus `item_pixmap_style' and
    `highlight_overlay'.
  * Support several more image types (paletted and greyscale).

* Boot protocol improvements:
  * Support Apple FAT binaries on non-Apple platforms.
  * Improve FreeDOS direct loading support compatibility.
  * Enable `linux16' on all x86 platforms, not just BIOS.
  * New TrueCrypt ISO loader.
  * multiboot2 boot-services EFI specification.
  * multiboot2 EFI memory map specification.
  * multiboot2 full-file specfication.

* New/improved network support:
  * New variables `net_default_*' containing properties of the default
    interface.
  * Autoload `http' and `tftp' modules if necessary.
  * Improve TFTP robustness.
  * Parse `nd' disk names in GRUB Legacy configuration files.
  * Issue separate DNS queries for IPv4 and IPv6.
  * Support IPv6 Router Advertisement to configure default router.
  * New variable net_<interface>_next_server containing next server
    from BOOTP reply.

* Coreboot improvements:
  * CBFS support both in on-disk images (loopback) and flash.
  * Ability to launch another payload from flash or disk
  * Coreboot framebuffer
  * CBMEMC support (both logging and inspecting logs)
  * Command for inspecting coreboot timestamps (`coreboot_boottime').
  * Command for inspecting coreboot tables (`lscoreboot').
  * New target default_payload.elf.
  * Increased maximal core size.
  * Prefer pmtimer for TSC calibration.

* New/improved platform support:
  * New `efifwsetup' and `lsefi' commands on EFI platforms.
  * New `cmosdump' and `cmosset' commands on platforms with CMOS support.
  * New command `pcidump' for PCI platforms.
  * Improve opcode parsing in ACPI halt implementation.
  * Use the TSC as a possible time source on i386-ieee1275.
  * Merge PowerPC grub-mkrescue implementation with the common one.
  * Support grub-mkrescue on i386-ieee1275, sparc64, bootinfo machines such
    as pSeries, and mips-arc.
  * Make grub-mkrescue better support Apple Intel Macs on CD.
  * Enable GRUB Legacy configuration file parsing on EFI.
  * Support halt for Loongson 2E.
  * ARM U-Boot and EFI ports.
  * Reorganise platform-dependent code in utilities to avoid #ifdef mess.
  * AROS and Haiku support for userspace utilities.
  * Xen PV port.
  * Fix EFI stack alignment.
  * ARM64 EFI port.
  * On Linux, read partition start offsets from sysfs if possible.
  * New grub-macbless utility, and better integration with Mac firmware in
    grub-install.
  * Support Yeeloong 3A.
  * Add `cpuid --pae' option to detect Physical Address Extension on x86.
  * Support for USB debug dongles.
  * Support for *-emu on all platforms (previously only i386/x86_64 worked).
  * Support *-emu on Windows.
  * New platform `none' which builds only user level utilities. This is now
    default if target CPU is not supported.
  * Support for booting little-endian Linux kernel on powerpc.
  * Support network boot with Oracle sun4v vnet devices.
  * Added SAS disks to the IEEE 1275 Open Firmware device list.
  * Try multiple methods for TSC (timestamp counter) calibration - PIT, pmtimer,
    EFI Stall. If everything fails, use hardcoded frequency 800MHz.
  * Support Hyper-V Gen2 platforms which lack PIT for TSC calibration.
  * Map UEFI Persistent Memory to E820 persistent memory.
  * New Xen loader on ARM64.
  * Respect alignment requirement for block device IO buffers on EFI.

* Security:
  * Add optional facility to enforce that all files read by the core image
    from disk have a valid detached digital signature.

* Performance:
  * Avoid costly division operations in many places.
  * New boot time analysis framework (`./configure --enable-boot-time').
  * Initialise USB ports in parallel.
  * New `testspeed' command to test file read speed.
  * Speed-up gfxterm by storing intermediate results in more compact format.
  * Lazy LVM/mdraid scan.
  * Disk hints.

* Scripting:
  * New `eval' and `tr' commands.
  * grub-script-check fails on scripts containing no commands.

* Installation and other utility improvements:
  * Add option to compress files on installation or image creation.
  * Using grub-reboot no longer requires setting `GRUB_DEFAULT=saved'.
  * Support probing EFI System Partition (requires os-prober >= 1.58).
  * Fix inconsistent use of `GRUB_CRYPTODISK_ENABLE' and
    `GRUB_ENABLE_CRYPTODISK'; the latter is now used consistently.
  * grub-mount handles symbolic links to directories.
  * Support disabling submenus with `GRUB_DISABLE_SUBMENU' configuration key
    for grub-mkconfig.
  * grub-install, grub-mknetdir, grub-mkrescue, and grub-mkstandalone
    rewritten in C.  They should now work in supported non-Unix-like
    environments.
  * Native mingw support.
  * Ability to install on EFI under windows.
  * Reorganise timeout handling using new `timeout_style' environment
    variable and `GRUB_TIMEOUT_STYLE' configuration key for grub-mkconfig.
    Menu hotkeys pressed during a hidden timeout now boot the corresponding
    menu entry immediately.
  * New `file' command and grub-file utility to check file types.
  * New syslinux configuration file parser.
  * Set menu entry class to primary OS name returned by os-prober to display
    OS specific icon.
  * On Linux x86 detect EFI word size in grub-install and automatically select
    correct platform (x86_64-efi or i386-efi) to install. Requires Linux kernel
    4.0 or higher.

* Build system:
  * Remove all uses of nested functions; GRUB no longer requires an
    executable stack.
  * Fix documentation build with Texinfo >= 5.1.
  * More robust and documented cross-compiling support.
  * Partial clang support for some platforms (experimental).
  * Partial mingw64 x86_64-efi compile support (highly experimental).
  * Partial mingw32 i386-* (other than already present i386-pc)
    compile support (highly experimental).
  * Support for grub-mkpasswd on Windows.
  * Eliminate the use of AutoGen.  This allowed some performance
    improvements to the build system.
  * Remove variable length arrays.
  * OpenBSD compile and tools support (NetBSD and FreeBSD were already supported).
  * Fix build with FreeType >= 2.5.1.
  * Make gentpl.py compatible with Python 3.  It now requires at least
    Python 2.6.
  * modinfo.sh contains build information now.
  * Added many new tests to improve robustness.
  * Target is built without libgcc now. Necessary builtins are reimplemented
    directly. This removes requirement for target-specific runtime on build
    system.
  * emu libusb support removed (was broken and unmaintained).
  * powerpc64le compile support.
  * Use fixed timestamp when generating GRUB image for reproducible builds.
  * Verify at build time that modules contain only supported relocations and their
    structure matches what boot-time module loader expects.
  * Do not require fonts on powerpc-ieee1275.

* Revision control moved to git.

Files:
RevisionActionfile
1.12modifypkgsrc/sysutils/grub2/Makefile
1.2modifypkgsrc/sysutils/grub2/PLIST
1.7modifypkgsrc/sysutils/grub2/distinfo
1.1addpkgsrc/sysutils/grub2/patches/patch-grub-core_osdep_bsd_hostdisk.c
1.1removepkgsrc/sysutils/grub2/patches/patch-configure
1.1removepkgsrc/sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_sys_types.h
1.1removepkgsrc/sysutils/grub2/patches/patch-grub-core_lib_posix__wrap_wchar.h
1.1removepkgsrc/sysutils/grub2/patches/patch-grub-core_lib_xzembed_xz__dec__lzma2.c
1.1removepkgsrc/sysutils/grub2/patches/patch-grub-core_loader_i386_pc_plan9.c
1.1removepkgsrc/sysutils/grub2/patches/patch-grub-core_net_bootp.c
1.1removepkgsrc/sysutils/grub2/patches/patch-grub-core_script_yylex.l
1.1removepkgsrc/sysutils/grub2/patches/patch-stpcpy-1.diff
1.1removepkgsrc/sysutils/grub2/patches/patch-stpcpy-2-gen.diff
1.1removepkgsrc/sysutils/grub2/patches/patch-util_getroot.c
1.1removepkgsrc/sysutils/grub2/patches/patch-util_grub-mkfont.c
1.1removepkgsrc/sysutils/grub2/patches/patch-util_grub.d_10__netbsd.in