Blame SPECS/clevis.spec

f0108e
%global _hardened_build 1
f0108e
f0108e
Name:           clevis
f0108e
Version:        7
f0108e
Release:        4%{?dist}
f0108e
Summary:        Automated decryption framework
f0108e
f0108e
License:        GPLv3+
f0108e
URL:            https://github.com/latchset/%{name}
f0108e
Source0:        https://github.com/latchset/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.bz2
f0108e
Patch0:         clevis-7-dracut.patch
f0108e
Patch1:         clevis-7-retry.patch
f0108e
f0108e
BuildRequires:  libjose-devel >= 8
f0108e
BuildRequires:  libluksmeta-devel >= 8
f0108e
BuildRequires:  audit-libs-devel >= 2.8.1
f0108e
BuildRequires:  libudisks2-devel
f0108e
BuildRequires:  openssl-devel
f0108e
f0108e
BuildRequires:  desktop-file-utils
f0108e
BuildRequires:  pkgconfig
f0108e
BuildRequires:  autoconf
f0108e
BuildRequires:  automake
f0108e
BuildRequires:  systemd
f0108e
BuildRequires:  dracut
f0108e
BuildRequires:  tang >= 6
f0108e
BuildRequires:  curl
f0108e
f0108e
Requires:       coreutils
f0108e
Requires:       jose >= 8
f0108e
Requires:       curl
f0108e
Requires(pre):  shadow-utils
f0108e
f0108e
%description
f0108e
Clevis is a framework for automated decryption. It allows you to encrypt
f0108e
data using sophisticated unlocking policies which enable decryption to
f0108e
occur automatically.
f0108e
f0108e
The clevis package provides basic encryption/decryption policy support.
f0108e
Users can use this directly; but most commonly, it will be used as a
f0108e
building block for other packages. For example, see the clevis-luks
f0108e
and clevis-dracut packages for automatic root volume unlocking of LUKSv1
f0108e
volumes during early boot.
f0108e
f0108e
%package luks
f0108e
Summary:        LUKSv1 integration for clevis
f0108e
Requires:       %{name}%{?_isa} = %{version}-%{release}
f0108e
Requires:       cryptsetup
f0108e
Requires:       luksmeta >= 8
f0108e
f0108e
%description luks
f0108e
LUKSv1 integration for clevis. This package allows you to bind a LUKSv1
f0108e
volume to a clevis unlocking policy. For automated unlocking, an unlocker
f0108e
will also be required. See, for example, clevis-dracut and clevis-udisks2.
f0108e
f0108e
%package systemd
f0108e
Summary:        systemd integration for clevis
f0108e
Requires:       %{name}-luks%{?_isa} = %{version}-%{release}
f0108e
Requires:       systemd%{?_isa} >=  219-45.20171030
f0108e
Requires:       nc
f0108e
f0108e
%description systemd
f0108e
Automatically unlocks LUKSv1 _netdev block devices from /etc/crypttab.
f0108e
f0108e
%package dracut
f0108e
Summary:        Dracut integration for clevis
f0108e
Requires:       %{name}-systemd%{?_isa} = %{version}-%{release}
f0108e
Requires:       dracut-network
f0108e
f0108e
%description dracut
f0108e
Automatically unlocks LUKSv1 block devices in early boot.
f0108e
f0108e
%package udisks2
f0108e
Summary:        UDisks2/Storaged integration for clevis
f0108e
Requires:       %{name}-luks%{?_isa} = %{version}-%{release}
f0108e
f0108e
%description udisks2
f0108e
Automatically unlocks LUKSv1 block devices in desktop environments that
f0108e
use UDisks2 or storaged (like GNOME).
f0108e
f0108e
%prep
f0108e
%autosetup -p1
f0108e
f0108e
%build
f0108e
autoreconf -if
f0108e
%configure --enable-user=clevis --enable-group=clevis
f0108e
%make_build V=1
f0108e
f0108e
%install
f0108e
%make_install
f0108e
ln -sf %{name}-luks-bind.1.gz %{buildroot}/%{_mandir}/man1/%{name}-bind-luks.1.gz
f0108e
f0108e
%check
f0108e
desktop-file-validate \
f0108e
  %{buildroot}/%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
f0108e
%make_build check
f0108e
f0108e
%pre
f0108e
getent group %{name} >/dev/null || groupadd -r %{name}
f0108e
getent passwd %{name} >/dev/null || \
f0108e
    useradd -r -g %{name} -d %{_localstatedir}/cache/%{name} -s /sbin/nologin \
f0108e
    -c "Clevis Decryption Framework unprivileged user" %{name}
f0108e
exit 0
f0108e
f0108e
%files
f0108e
%license COPYING
f0108e
%{_bindir}/%{name}-decrypt-http
f0108e
%{_bindir}/%{name}-decrypt-tang
f0108e
%{_bindir}/%{name}-decrypt-sss
f0108e
%{_bindir}/%{name}-decrypt
f0108e
%{_bindir}/%{name}-encrypt-http
f0108e
%{_bindir}/%{name}-encrypt-tang
f0108e
%{_bindir}/%{name}-encrypt-sss
f0108e
%{_bindir}/%{name}
f0108e
%{_mandir}/man1/%{name}-encrypt-http.1*
f0108e
%{_mandir}/man1/%{name}-encrypt-tang.1*
f0108e
%{_mandir}/man1/%{name}-encrypt-sss.1*
f0108e
%{_mandir}/man1/%{name}-decrypt.1*
f0108e
%{_mandir}/man1/%{name}.1*
f0108e
f0108e
%files luks
f0108e
%{_mandir}/man1/%{name}-luks-unlockers.1*
f0108e
%{_mandir}/man1/%{name}-luks-unlock.1*
f0108e
%{_mandir}/man1/%{name}-luks-bind.1*
f0108e
%{_mandir}/man1/%{name}-bind-luks.1*
f0108e
%{_bindir}/%{name}-luks-unlock
f0108e
%{_bindir}/%{name}-luks-bind
f0108e
%{_bindir}/%{name}-bind-luks
f0108e
f0108e
%files systemd
f0108e
%{_libexecdir}/%{name}-luks-askpass
f0108e
%{_unitdir}/%{name}-luks-askpass.path
f0108e
%{_unitdir}/%{name}-luks-askpass.service
f0108e
f0108e
%files dracut
f0108e
%{_prefix}/lib/dracut/modules.d/60%{name}
f0108e
f0108e
%files udisks2
f0108e
%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
f0108e
%attr(4755, root, root) %{_libexecdir}/%{name}-luks-udisks2
f0108e
f0108e
%changelog
f0108e
* Mon Nov 13 2017 Nathaniel McCallum <npmccallum@redhat.com> - 7-4
f0108e
- Retry unlocking under systemd. This prevents a race condition.
f0108e
- Resolves: rhbz#1475406
f0108e
f0108e
* Mon Nov 13 2017 Nathaniel McCallum <npmccallum@redhat.com> - 7-3
f0108e
- Add patch to fix path generation issues with dracut
f0108e
- Resolves: rhbz#1512638
f0108e
f0108e
* Fri Nov 03 2017 Nathaniel McCallum <npmccallum@redhat.com> - 7-2
f0108e
- Add man page symlink for the clevis-bind-luks => clevis-luks-bind
f0108e
- Related: rhbz#1475406
f0108e
f0108e
* Fri Oct 27 2017 Nathaniel McCallum <npmccallum@redhat.com> - 7-1
f0108e
- Update to v7
f0108e
- Resolves: rhbz#1467907
f0108e
- Resolves: rhbz#1467908
f0108e
- Resolves: rhbz#1475406
f0108e
- Resolves: rhbz#1500975
f0108e
- Resolves: rhbz#1478888
f0108e
f0108e
* Tue Jun 27 2017 Nathaniel McCallum <npmccallum@redhat.com> - 6-1
f0108e
- New upstream release
f0108e
- Specify unprivileged user/group during configuration
f0108e
- Move clevis user/group creation to base clevis package
f0108e
f0108e
* Mon Jun 26 2017 Nathaniel McCallum <npmccallum@redhat.com> - 5-1
f0108e
- New upstream release
f0108e
- Run clevis decryption from udisks2 under an unprivileged user
f0108e
- Reenable udisks2 subpackage
f0108e
f0108e
* Wed Jun 14 2017 Nathaniel McCallum <npmccallum@redhat.com> - 4-1
f0108e
- New upstream release
f0108e
- Disable udisks2 subpackage
f0108e
f0108e
* Wed Jun 14 2017 Nathaniel McCallum <npmccallum@redhat.com> - 3-1
f0108e
- New upstream release
f0108e
f0108e
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2-2
f0108e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
f0108e
f0108e
* Fri Nov 18 2016 Nathaniel McCallum <npmccallum@redhat.com> - 2-1
f0108e
- New upstream release
f0108e
f0108e
* Mon Nov 14 2016 Nathaniel McCallum <npmccallum@redhat.com> - 1-1
f0108e
- First release