clevis/clevis.spec
Nathaniel McCallum cef823f52b Initial import
2016-11-18 16:20:24 -05:00

102 lines
2.7 KiB
RPMSpec

%global _hardened_build 1
Name: clevis
Version: 2
Release: 1%{?dist}
Summary: Automated decryption framework
License: GPLv3+
URL: https://github.com/latchset/%{name}
Source0: https://github.com/latchset/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.bz2
BuildRequires: libjose-openssl-devel >= 6
BuildRequires: libjose-zlib-devel >= 6
BuildRequires: libluksmeta-devel
BuildRequires: http-parser-devel
BuildRequires: libudisks2-devel
BuildRequires: openssl-devel
BuildRequires: desktop-file-utils
BuildRequires: pkgconfig
BuildRequires: systemd
BuildRequires: dracut
BuildRequires: tang
Requires: coreutils
%description
Clevis is a framework for automated decryption. It allows you to encrypt
data using sophisticated unlocking policies which enable decryption to
occur automatically.
The clevis package provides basic encryption/decryption policy support.
Users can use this directly; but most commonly, it will be used as a
building block for other packages. For example, see the clevis-luks
and clevis-dracut packages for automatic root volume unlocking of LUKSv1
volumes during early boot.
%package luks
Summary: LUKSv1 integration for clevis
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: cryptsetup
Requires: luksmeta
%description luks
LUKSv1 integration for clevis. This package allows you to bind a LUKSv1
volume to a clevis unlocking policy. For automated unlocking, an unlocker
will also be required. See, for example, clevis-dracut and clevis-udisks2.
%package dracut
Summary: Dracut integration for clevis
Requires: %{name}-luks%{?_isa} = %{version}-%{release}
Requires: dracut-network
Requires: nc
%description dracut
Automatically unlocks LUKSv1 block devices in early boot.
%package udisks2
Summary: UDisks2/Storaged integration for clevis
Requires: %{name}-luks%{?_isa} = %{version}-%{release}
%description udisks2
Automatically unlocks LUKSv1 block devices in desktop environments that
use UDisks2 or storaged (like GNOME).
%prep
%setup -q
%build
%configure
%make_build V=1
%install
%make_install
%check
desktop-file-validate \
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
%make_build check
%files
%license COPYING
%{_bindir}/%{name}
%{_libexecdir}/%{name}
%files luks
%{_libexecdir}/%{name}/bind-luks
%files dracut
%{_prefix}/lib/dracut/modules.d/60%{name}
%files udisks2
%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
%attr(4755, root, root) %{_libexecdir}/%{name}-luks-udisks2
%changelog
* Fri Nov 18 2016 Nathaniel McCallum <npmccallum@redhat.com> - 2-1
- New upstream release
* Mon Nov 14 2016 Nathaniel McCallum <npmccallum@redhat.com> - 1-1
- First release