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
openSUSE Build Service is sponsored by