File efivar.spec of Package efivar
%define realname efivar
%define srcext tar.bz2
%define so_ver 1
# Common info
Name: %{realname}
Version: 0
Release: wiz%{?extraver:0.}1%{?dist}
License: LGPL-2.1
Group: Hardware/Other
URL: https://github.com/rhboot/efivar
Summary: Tools to work with EFI variables
# Build-time parameters
BuildRequires: pkg-config
BuildRoot: %{_tmppath}/%{name}-root
Source: %{realname}-%{version}.%{srcext}
%description
Tools and libraries to manipulate EFI variables.
%package -n libefiboot%{?so_ver}
Group: System/Libraries
Summary: Libraries to manipulate EFI boot variables
Provides: libefiboot = %{version}-%{release}
%description -n libefiboot%{?so_ver}
Libraries to manipulate EFI boot variables.
%package -n libefiboot-devel
Group: Development/Languages/C and C++
Summary: Development stuff for libefiboot%{?so_ver}
Requires: libefiboot%{?so_ver} = %{version}-%{release}
Provides: libefiboot%{?so_ver}-devel
Provides: efiboot-devel
%description -n libefiboot-devel
Headers and libraries to build software against libefiboot%{?so_ver}.
%package -n libefivar%{?so_ver}
Group: System/Libraries
Summary: Libraries to manipulate EFI variables
%description -n libefivar%{?so_ver}
Libraries to manipulate EFI variables.
%package -n libefivar-devel
Group: Development/Languages/C and C++
Summary: Development stuff for libefivar%{?so_ver}
Requires: libefivar%{?so_ver} = %{version}-%{release}
Provides: libefivar%{?so_ver}-devel
Provides: efivar-devel
%description -n libefivar-devel
Headers and libraries to build software against libefivar%{?so_ver}.
# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-%{version}%{?extraver}
# Build step (compile/build binaries, documentation, etc)
%build
%{__make} %{?_smp_mflags} \
CFLAGS='%{optflags} -Wno-error=address-of-packed-member %{?gcc_lto}' \
LDFLAGS='-Wl,--as-needed -Wl,--strip-all -Wl,--no-undefined -Wl,-z,now -Wl,-z,relro %{?gcc_lto}'
# Install built stuff
%install
%{__make} install DESTDIR=%{buildroot} \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir} \
INCLUDEDIR=%{_includedir} \
MANDIR=%{_mandir}
# Cleanup
%clean
[ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
# Files list for the main package
%files
%defattr(-,root,root)
%doc COPYING README.md
%{_bindir}/*
%doc %{_mandir}/man1/*
# Files list for libefiboot
%files -n libefiboot%{?so_ver}
%defattr(-,root,root)
%doc COPYING README.md
%{_libdir}/libefiboot.so.%{?so_ver}*
# Files list for libefiboot-devel
%files -n libefiboot-devel
%defattr(-,root,root)
%doc COPYING README.md
%{_libdir}/libefiboot.so
%{_libdir}/pkgconfig/efiboot.pc
%dir %{_includedir}/efivar
%{_includedir}/efivar/efiboot*.h
# Files list for libefivar
%files -n libefivar%{?so_ver}
%defattr(-,root,root)
%doc COPYING README.md
%{_libdir}/libefivar.so.%{?so_ver}*
# Files list for libefivar-devel
%files -n libefivar-devel
%defattr(-,root,root)
%doc COPYING README.md
%{_libdir}/libefivar.so
%{_libdir}/pkgconfig/efivar.pc
%dir %{_includedir}/efivar
%{_includedir}/efivar/efivar*.h
%exclude %{_mandir}/man3/*
%{_mandir}/man3/efi_get_variable.3*
%{_mandir}/man3/efi_variable_t.3*
%post -n libefiboot%{?so_ver} -p /sbin/ldconfig
%postun -n libefiboot%{?so_ver} -p /sbin/ldconfig
%post -n libefivar%{?so_ver} -p /sbin/ldconfig
%postun -n libefivar%{?so_ver} -p /sbin/ldconfig
%changelog