Hello community, here is the log from the commit of package efivar for openSUSE:Factory checked in at 2017-03-11 15:19:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/efivar (Old) and /work/SRC/openSUSE:Factory/.efivar.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "efivar" Sat Mar 11 15:19:01 2017 rev:8 rq:478067 version:31 Changes: -------- --- /work/SRC/openSUSE:Factory/efivar/efivar.changes 2017-02-11 01:39:21.052523371 +0100 +++ /work/SRC/openSUSE:Factory/.efivar.new/efivar.changes 2017-03-11 15:19:03.268499780 +0100 @@ -1,0 +2,15 @@ +Fri Mar 3 18:09:42 UTC 2017 - [email protected] + +- libefiboot-export-disk_get_partition_info.patch: + (bsc#870211, bsc#945705) + +------------------------------------------------------------------- +Tue Feb 10 10:40:18 UTC 2017 - [email protected] + +- Update to 31 (fate#322108) +- Drop upstreamed patches + + efivar-no-static.patch + + deprecated-readdir_r.patch + + efivar-use-sysmacros.patch + +------------------------------------------------------------------- @@ -12,0 +28,2 @@ +- Drop obsolete patch + efivar-bsc988000-remove-versioning-efi_set_variable.patch @@ -22,0 +40 @@ + + efivar-bsc988000-fix-mode-efi_set_variable.patch @@ -29,0 +48,8 @@ +Mon Jul 11 06:44:37 UTC 2016 - [email protected] + +- Add efivar-bsc988000-fix-mode-efi_set_variable.patch and + efivar-bsc988000-remove-versioning-efi_set_variable.patch to set + the default file mode rather than fetching a value randomly + (bsc#988000) + +------------------------------------------------------------------- @@ -42 +68 @@ -- Update to 0.23 +- Update to 0.23 for fwupdate (FATE#319345) Old: ---- deprecated-readdir_r.patch efivar-0.24.tar.bz2 efivar-no-static.patch efivar-use-sysmacros.patch New: ---- efivar-31.tar.bz2 libefiboot-export-disk_get_partition_info.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ efivar.spec ++++++ --- /var/tmp/diff_new_pack.A6Y3tn/_old 2017-03-11 15:19:03.848417715 +0100 +++ /var/tmp/diff_new_pack.A6Y3tn/_new 2017-03-11 15:19:03.848417715 +0100 @@ -18,26 +18,24 @@ %if 0%{?suse_version} <= 1320 # Allow building on older products (SLE11SP4, SLES12, and Leap 42.2) - %bcond_without forced_lto - %if 0%{?suse_version} == 1110 - %define gcc 48 - %define gcc_v 4.8 + %define gcc 5 + %define gcc_v %{gcc} + %if 120200 <= 0%{?sle_version} && 0%{?sle_version} < 130000 + %define gcc 6 + %define gcc_v %{gcc} %endif -%else - %bcond_with forced_lto %endif +%define major 1 Name: efivar -Version: 0.24 +Version: 31 Release: 0 Summary: Tools to manage UEFI variables License: LGPL-2.1 Group: Development/Libraries/Other Url: https://github.com/rhinstaller/efivar -Source0: https://github.com/rhinstaller/efivar/releases/download/%{version}/%{name}-%{version}.tar.bz2 -Patch1: efivar-no-static.patch -Patch2: deprecated-readdir_r.patch -Patch3: efivar-use-sysmacros.patch +Source: https://github.com/rhinstaller/%{name}/releases/download/%{version}/%{name}-%{version}.tar.bz2 +Patch0: libefiboot-export-disk_get_partition_info.patch %if "0%{?buildroot}" == "0" # set a sane value for buildroot, unless it's already there! BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -48,35 +46,33 @@ %if 0%{?gcc} != 0 BuildRequires: gcc%{gcc} %endif -Requires: libefivar0 = %{version}-%{release} +Requires: libefivar%{major} = %{version}-%{release} %description efivar provides a simple command line interface to the UEFI variable facility. -%package -n libefivar0 +%package -n libefivar%{major} Summary: Library to manage UEFI variables Group: Development/Libraries/Other -%description -n libefivar0 +%description -n libefivar%{major} Library to allow for the simple manipulation of UEFI variables. %package devel Summary: Development headers for libefivar Group: Development/Libraries/Other -Requires: libefivar0 = %{version}-%{release} +Requires: libefivar%{major} = %{version}-%{release} %description devel Development headers required to use libefivar. %prep %setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%patch0 -p1 %if 0%{?suse_version} == 1110 # Instead of conditional patching: # - 'popt.pc' missing in 'popt-devel' on SLE11 -perl -pi -e 's{^.*PKGS=popt.*$}{}; s{(efivar\S* : LIBS=.*)dl}{$1popt dl}' \ +perl -pi -e 's{^.*PKGS=popt.*$}{}; s{^(efivar\S* : LIBS=.*)dl}{$1popt dl}' \ src/Makefile # - 'uchar.h' missing in both 'glibc-devel' and 'gcc-5' packages on SLE11 perl -pi -e 's{\#include \<uchar\.h\>}{typedef __CHAR16_TYPE__ char16_t;}' \ @@ -84,17 +80,14 @@ %endif %build -CFLAGS="%{optflags} -Wno-nonnull" -%if %{with forced_lto} - CFLAGS="$CFLAGS -flto" -%endif +CFLAGS="%{optflags} -Wno-nonnull -flto" %ifarch ia64 CFLAGS="${CFLAGS//-fstack-protector/}" %endif export CFLAGS make \ -%if 0%{?suse_version} == 1110 +%if 0%{?gcc_v} != 0 CC=gcc-%{gcc_v} \ AR=gcc-ar-%{gcc_v} \ NM=gcc-nm-%{gcc_v} \ @@ -110,9 +103,12 @@ install %fdupes -s %{buildroot} -%post -n libefivar0 -p /sbin/ldconfig +# fail on undercover ABI changes +file %{buildroot}/%{_libdir}/lib%{name}.so.%{major}* + +%post -n libefivar%{major} -p /sbin/ldconfig -%postun -n libefivar0 -p /sbin/ldconfig +%postun -n libefivar%{major} -p /sbin/ldconfig %files %defattr(-,root,root) @@ -127,7 +123,7 @@ %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc -%files -n libefivar0 +%files -n libefivar%{major} %defattr(-,root,root) %{_libdir}/*.so.* ++++++ efivar-0.24.tar.bz2 -> efivar-31.tar.bz2 ++++++ ++++ 7785 lines of diff (skipped) ++++++ libefiboot-export-disk_get_partition_info.patch ++++++ From: Raymund Will <[email protected]> Date: Fri, 3 Mar 2017 18:36:30 +0100 Subject: [PATCH] libefiboot: export disk_get_partition_info() References: bsc#870211, bsc#945705 This is necessary to extend to functionality of 'efibootmgr --delete' beyond a mere '--bootnum'-usage. Signed-off-by: Raymund Will <[email protected]> --- src/disk.c | 27 +++++++++++++++++++++++++++ src/include/efivar/efiboot-disk.h | 32 ++++++++++++++++++++++++++++++++ src/include/efivar/efiboot.h | 1 + src/libefiboot.map.in | 4 ++++ 5 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 src/include/efivar/efiboot-disk.h diff --git a/src/disk.c b/src/disk.c index 91d636d..df8066b 100644 --- a/src/disk.c +++ b/src/disk.c @@ -247,6 +247,33 @@ get_partition_info(int fd, uint32_t options, return rc; } +/* + * efi_disk_get_partition_info() + * @fd - open file descriptor to disk + * @part - partition number (1 is first partition on the disk) + * @start - partition starting sector returned + * @size - partition size (in sectors) returned + * @signature - partition signature returned + * @mbr_type - partition type returned + * @signature_type - signature type returned + * + * Description: Finds partition table info for given partition on given disk. + * Both GPT and MSDOS partition tables are tested for. + * Returns 0 on success, non-zero on failure + */ +int +__attribute__((__nonnull__ (3,4,5,6,7))) +__attribute__((__visibility__ ("default"))) +efi_disk_get_partition_info (int fd, + uint32_t part, + uint64_t *start, uint64_t *size, + uint8_t *signature, + uint8_t *mbr_type, uint8_t *signature_type) +{ + return get_partition_info(fd, EFIBOOT_OPTIONS_IGNORE_PMBR_ERR, part, + start, size, signature, mbr_type, signature_type); +} + ssize_t __attribute__((__visibility__ ("hidden"))) _make_hd_dn(uint8_t *buf, ssize_t size, int fd, uint32_t partition, diff --git a/src/include/efivar/efiboot-disk.h b/src/include/efivar/efiboot-disk.h new file mode 100644 index 0000000..50ae862 --- /dev/null +++ b/src/include/efivar/efiboot-disk.h @@ -0,0 +1,32 @@ +/* + * libefiboot - library for the manipulation of EFI boot variables + * Copyright 2012-2015 Red Hat, Inc. + * Copyright (C) 2001 Dell Computer Corporation <[email protected]> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of the + * License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see + * <http://www.gnu.org/licenses/>. + * + */ +#ifndef _EFIBOOT_BOOT_H +#define _EFIBOOT_BOOT_H 1 + +extern int efi_disk_get_partition_info (int fd, + uint32_t part, + uint64_t *start, uint64_t *size, + uint8_t *signature, + uint8_t *mbr_type, uint8_t *signature_type) + __attribute__((__nonnull__ (3,4,5,6,7))) + __attribute__((__visibility__ ("default"))); + +#endif /* _EFIBOOT_BOOT_H */ diff --git a/src/include/efivar/efiboot.h b/src/include/efivar/efiboot.h index 9a4b450..a2512b0 100644 --- a/src/include/efivar/efiboot.h +++ b/src/include/efivar/efiboot.h @@ -34,5 +34,6 @@ #include <efiboot-creator.h> #include <efiboot-loadopt.h> +#include <efiboot-disk.h> #endif /* EFIBOOT_H */ diff --git a/src/libefiboot.map.in b/src/libefiboot.map.in index cb19d65..15970d9 100644 --- a/src/libefiboot.map.in +++ b/src/libefiboot.map.in @@ -33,3 +33,7 @@ LIBEFIBOOT_1.29 { LIBEFIBOOT_1.30 { } LIBEFIBOOT_1.29; + +LIBEFIBOOT_1.31 { + global: efi_disk_get_partition_info; +} LIBEFIBOOT_1.30; -- 2.6.6
