Hello community, here is the log from the commit of package efibootmgr for openSUSE:Factory checked in at 2015-06-30 10:13:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/efibootmgr (Old) and /work/SRC/openSUSE:Factory/.efibootmgr.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "efibootmgr" Changes: -------- --- /work/SRC/openSUSE:Factory/efibootmgr/efibootmgr.changes 2014-12-25 23:20:32.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.efibootmgr.new/efibootmgr.changes 2015-06-30 10:13:52.000000000 +0200 @@ -1,0 +2,15 @@ +Fri Jun 12 07:45:20 UTC 2015 - [email protected] + +- Update to 0.12 + * This release is mostly a maintenance release that uses + libefivar's new library API for creating device paths and load + options. + * Also DHCPv4 network boot entries are now something you can + create without knowing an awful lot about ACPI. +- Refresh patches + efibootmgr-0.11.0-derhat.diff as efibootmgr-derhat.diff + efibootmgr-0.11.0-check-boot-order.diff as + efibootmgr-check-boot-order.diff +- Update project and download url + +------------------------------------------------------------------- Old: ---- efibootmgr-0.11.0-check-boot-order.diff efibootmgr-0.11.0-derhat.diff efibootmgr-0.11.0.tar.gz New: ---- efibootmgr-0.12.tar.bz2 efibootmgr-check-boot-order.diff efibootmgr-derhat.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ efibootmgr.spec ++++++ --- /var/tmp/diff_new_pack.vkgj9m/_old 2015-06-30 10:13:53.000000000 +0200 +++ /var/tmp/diff_new_pack.vkgj9m/_new 2015-06-30 10:13:53.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package efibootmgr # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,20 +17,20 @@ Name: efibootmgr +Version: 0.12 +Release: 0 Summary: EFI Boot Manager License: GPL-2.0+ Group: System/Boot -Version: 0.11.0 -Release: 0 -Url: https://github.com/vathpela/efibootmgr -Source: https://github.com/vathpela/efibootmgr/releases/download/efibootmgr-%{version}/efibootmgr-%{version}.tar.gz -Patch1: %{name}-0.11.0-derhat.diff -Patch2: %{name}-0.11.0-check-boot-order.diff - -BuildRoot: %{_tmppath}/%{name}-%{version}-build +Url: https://github.com/rhinstaller/efibootmgr +Source: https://github.com/rhinstaller/efibootmgr/releases/download/efibootmgr-%{version}/efibootmgr-%{version}.tar.bz2 +Patch1: %{name}-derhat.diff +Patch2: %{name}-check-boot-order.diff BuildRequires: efivar-devel BuildRequires: pciutils-devel +BuildRequires: pkg-config BuildRequires: zlib-devel +BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: ia64 x86_64 i586 aarch64 %description @@ -54,14 +54,14 @@ (SUSE*|SLE*) VENDOR="SUSE";; (*) VENDOR="linux";; esac -make %{?_smp_mflags} EXTRA_CFLAGS="$RPM_OPT_FLAGS" \ +make %{?_smp_mflags} EXTRA_CFLAGS="%{optflags}" \ OS_VENDOR="$VENDOR" EFI_LOADER="$LOADER" %install -install -d $RPM_BUILD_ROOT%{_sbindir} -make install BINDIR=$RPM_BUILD_ROOT%{_sbindir} -install -d $RPM_BUILD_ROOT%{_mandir}/man8 -install -m 644 src/man/man8/efibootmgr.8 $RPM_BUILD_ROOT%{_mandir}/man8 +install -d %{buildroot}%{_sbindir} +make install BINDIR=%{buildroot}%{_sbindir} +install -d %{buildroot}%{_mandir}/man8 +install -m 644 src/man/man8/efibootmgr.8 %{buildroot}%{_mandir}/man8 %files %defattr(-, root, root) ++++++ efibootmgr-0.11.0.tar.gz -> efibootmgr-0.12.tar.bz2 ++++++ ++++ 5210 lines of diff (skipped) ++++++ efibootmgr-check-boot-order.diff ++++++ --- src/efibootmgr/efibootmgr.c | 3 +++ 1 file changed, 3 insertions(+) Index: efibootmgr-0.12/src/efibootmgr/efibootmgr.c =================================================================== --- efibootmgr-0.12.orig/src/efibootmgr/efibootmgr.c +++ efibootmgr-0.12/src/efibootmgr/efibootmgr.c @@ -451,6 +451,9 @@ remove_dupes_from_boot_order(void) /* Adjust the size if we didn't copy everything. */ new_data_size = sizeof(new_data[0]) * new_i; + if (new_i == 0) + return efi_del_variable(EFI_GLOBAL_GUID, "BootOrder"); + /* Now new_data has what we need */ free(boot_order->data); boot_order->data = (uint8_t *)new_data; ++++++ efibootmgr-derhat.diff ++++++ From: Raymund Will <[email protected]> Subject: Make default '--loader' build-time configurable. Each distribution uses a specific 'vendor'-directory in the 'efi' directory on the EFI System Partition to store their EFI loader. There's little use in hardcoding the value for just one in 'efibootmgr', which is displayed in '--help' and used as default without '--loader'. Simply use make OS_VENDOR=redhat EFI_LOADER=grub.efi to get the previous value. :) Signed-off-by: Raymund Will <[email protected]> --- Makefile | 4 ++++ src/efibootmgr/efibootmgr.c | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) Index: efibootmgr-0.12/Makefile =================================================================== --- efibootmgr-0.12.orig/Makefile +++ efibootmgr-0.12/Makefile @@ -1,5 +1,8 @@ default: all + OS_VENDOR := vendor + EFI_LOADER := boot.efi + SIGNING_KEY := pjones RELEASE_MAJOR := 0 RELEASE_MINOR := 12 @@ -8,6 +11,7 @@ RELEASE_STRING := $(RELEASE_NAME)-$(RELEASE_MAJOR).$(RELEASE_MINOR) CFLAGS = $(EXTRA_CFLAGS) -DEFIBOOTMGR_VERSION=\"$(RELEASE_MAJOR).$(RELEASE_MINOR)\" \ + -DDEFAULT_LOADER=\"\\\\efi\\\\$(OS_VENDOR)\\\\$(EFI_LOADER)\" \ -Wsign-compare -Wall -Werror -g -D_FILE_OFFSET_BITS=64 \ -I/usr/include/efivar Index: efibootmgr-0.12/src/efibootmgr/efibootmgr.c =================================================================== --- efibootmgr-0.12.orig/src/efibootmgr/efibootmgr.c +++ efibootmgr-0.12/src/efibootmgr/efibootmgr.c @@ -1,5 +1,6 @@ /* - efibootmgr.c - Manipulates EFI variables as exported in /proc/efi/vars + efibootmgr.c - Manipulates EFI variables as exported in + /sys/firmware/efi/vars (previously was /proc/efi/vars) Copyright (C) 2001-2004 Dell, Inc. <[email protected]> @@ -18,7 +19,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - This must tie the EFI_DEVICE_PATH to /boot/efi/EFI/redhat/grub.efi + This must tie the EFI_DEVICE_PATH to /boot/efi/efi/<vendor>/<loader>.efi The EFI_DEVICE_PATH will look something like: ACPI device path, length 12 bytes Hardware Device Path, PCI, length 6 bytes @@ -58,6 +59,9 @@ #define EFIBOOTMGR_VERSION "unknown (fix Makefile!)" #endif +#ifndef DEFAULT_LOADER +#define DEFAULT_LOADER "unknown (fix Makefile!)" +#endif typedef struct _var_entry { char *name; @@ -985,7 +989,7 @@ usage() printf("\t --ip-port <local>,<remote> set local and remote IP ports\n"); printf("\t --ip-origin { {dhcp|static} | { static|stateless|stateful} }\n"); #endif - printf("\t-l | --loader name (defaults to \\EFI\\redhat\\grub.efi)\n"); + printf("\t-l | --loader name (defaults to \""DEFAULT_LOADER"\")\n"); printf("\t-L | --label label Boot manager display label (defaults to \"Linux\")\n"); printf("\t-n | --bootnext XXXX set BootNext to XXXX (hex)\n"); printf("\t-N | --delete-bootnext delete BootNext\n"); @@ -1013,6 +1017,7 @@ set_default_opts() opts.timeout = -1; /* Don't set it */ opts.edd10_devicenum = 0x80; opts.loader = "\\EFI\\redhat\\grub.efi"; + opts.loader = DEFAULT_LOADER; opts.label = (unsigned char *)"Linux"; opts.disk = "/dev/sda"; opts.part = 1;
