# # spec file for package efivar # # Copyright (c) 2017 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 # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %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 %endif %else %bcond_with forced_lto %endif Name: efivar Version: 0.24 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 %if "0%{?buildroot}" == "0" # set a sane value for buildroot, unless it's already there! BuildRoot: %{_tmppath}/%{name}-%{version}-build %endif BuildRequires: fdupes BuildRequires: pkg-config BuildRequires: popt-devel %if 0%{?gcc} != 0 BuildRequires: gcc%{gcc} %endif Requires: libefivar0 = %{version}-%{release} %description efivar provides a simple command line interface to the UEFI variable facility. %package -n libefivar0 Summary: Library to manage UEFI variables Group: Development/Libraries/Other %description -n libefivar0 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} %description devel Development headers required to use libefivar. %prep %setup -q %patch1 -p1 %patch2 -p1 %patch3 -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}' \ src/Makefile # - 'uchar.h' missing in both 'glibc-devel' and 'gcc-5' packages on SLE11 perl -pi -e 's{\#include \}{typedef __CHAR16_TYPE__ char16_t;}' \ src/export.c %endif %build # SUSE multi-dist building effort if [ "0%{?gcc}" != "0" ]||[ ! -x /usr/bin/gcc-ar ]; then mkdir bin if [ "0%{?gcc}" != "0" ]; then for p in "" -ar -nm -ranlib; do ln -s /usr/bin/gcc$p-%{gcc_v} bin/gcc$p done else ln -s /usr/bin/ar bin/gcc-ar fi PATH=$PWD/bin:$PATH fi CFLAGS="%{optflags} -Wno-nonnull" %if %{with forced_lto} CFLAGS="$CFLAGS -flto" %endif %ifarch ia64 CFLAGS="${CFLAGS//-fstack-protector/}" %endif export CFLAGS make \ libdir=%{_libdir} \ bindir=%{_bindir} %install make DESTDIR=%{buildroot} \ libdir=%{_libdir} \ bindir=%{_bindir} \ install %fdupes -s %{buildroot} %post -n libefivar0 -p /sbin/ldconfig %postun -n libefivar0 -p /sbin/ldconfig %files %defattr(-,root,root) %doc COPYING %{_bindir}/efivar %{_mandir}/man1/* %files devel %defattr(-,root,root) %{_mandir}/man3/* %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %files -n libefivar0 %defattr(-,root,root) %{_libdir}/*.so.* %changelog