2016-11-18 21:20:24 +00:00
|
|
|
%global _hardened_build 1
|
|
|
|
|
|
|
|
Name: clevis
|
2018-08-14 03:37:17 +00:00
|
|
|
Version: 11
|
2019-09-06 12:39:24 +00:00
|
|
|
Release: 7%{?dist}
|
2016-11-18 21:20:24 +00:00
|
|
|
Summary: Automated decryption framework
|
|
|
|
|
|
|
|
License: GPLv3+
|
|
|
|
URL: https://github.com/latchset/%{name}
|
2018-08-14 03:37:17 +00:00
|
|
|
Source0: https://github.com/latchset/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz
|
2016-11-18 21:20:24 +00:00
|
|
|
|
2018-11-09 10:52:31 +00:00
|
|
|
Patch0: Delete-remaining-references-to-the-removed-http-pin.patch
|
|
|
|
Patch1: Install-cryptsetup-and-tpm2_pcrlist-in-the-initramfs.patch
|
|
|
|
Patch2: Add-device-TCTI-library-to-the-initramfs.patch
|
2018-12-06 13:30:05 +00:00
|
|
|
Patch3: 0001-Drop-rd.neednet-1-for-the-time-being-so-tpm2-unlock-.patch
|
2019-09-06 12:39:24 +00:00
|
|
|
# Support for tpm2-tools 4.0, backported from the following pull-request:
|
|
|
|
# https://github.com/latchset/clevis/pull/114
|
|
|
|
Patch4: clevis-encrypt-tpm2-fix-TPM-object-attributes.patch
|
|
|
|
Patch5: clevis-pin-tpm2-module-setup.sh-test-for-required-bi.patch
|
|
|
|
Patch6: pins-tpm2-add-support-for-tpm2-tools-4.X.patch
|
2018-11-09 10:52:31 +00:00
|
|
|
|
2018-07-09 17:06:43 +00:00
|
|
|
BuildRequires: gcc
|
2018-08-14 03:37:17 +00:00
|
|
|
BuildRequires: meson
|
|
|
|
BuildRequires: asciidoc
|
|
|
|
BuildRequires: ninja-build
|
|
|
|
BuildRequires: bash-completion
|
|
|
|
|
2017-06-14 14:24:19 +00:00
|
|
|
BuildRequires: libjose-devel >= 8
|
2017-10-23 16:09:45 +00:00
|
|
|
BuildRequires: libluksmeta-devel >= 8
|
|
|
|
BuildRequires: audit-libs-devel
|
2016-11-18 21:20:24 +00:00
|
|
|
BuildRequires: libudisks2-devel
|
|
|
|
BuildRequires: openssl-devel
|
|
|
|
|
2018-03-22 14:37:17 +00:00
|
|
|
BuildRequires: tpm2-tools >= 3.0.0
|
2016-11-18 21:20:24 +00:00
|
|
|
BuildRequires: desktop-file-utils
|
|
|
|
BuildRequires: pkgconfig
|
|
|
|
BuildRequires: systemd
|
|
|
|
BuildRequires: dracut
|
2017-06-14 14:26:13 +00:00
|
|
|
BuildRequires: tang >= 6
|
2017-06-14 14:24:19 +00:00
|
|
|
BuildRequires: curl
|
2016-11-18 21:20:24 +00:00
|
|
|
|
2018-02-13 20:59:07 +00:00
|
|
|
Requires: tpm2-tools >= 3.0.0
|
2016-11-18 21:20:24 +00:00
|
|
|
Requires: coreutils
|
2017-06-14 14:24:19 +00:00
|
|
|
Requires: jose >= 8
|
|
|
|
Requires: curl
|
2017-06-27 11:28:46 +00:00
|
|
|
Requires(pre): shadow-utils
|
2016-11-18 21:20:24 +00:00
|
|
|
|
|
|
|
%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
|
2017-10-23 16:09:45 +00:00
|
|
|
Requires: luksmeta >= 8
|
2016-11-18 21:20:24 +00:00
|
|
|
|
|
|
|
%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.
|
|
|
|
|
2017-10-23 16:09:45 +00:00
|
|
|
%package systemd
|
|
|
|
Summary: systemd integration for clevis
|
|
|
|
Requires: %{name}-luks%{?_isa} = %{version}-%{release}
|
|
|
|
%if 0%{?fedora} > 27
|
|
|
|
Requires: systemd%{?_isa} >= 235-3
|
|
|
|
%else
|
|
|
|
%if 0%{?fedora} == 27
|
|
|
|
Requires: systemd%{?_isa} >= 234-9
|
|
|
|
%else
|
|
|
|
%if 0%{?fedora} == 26
|
|
|
|
Requires: systemd%{?_isa} >= 233-7
|
|
|
|
%else
|
|
|
|
Requires: systemd%{?_isa} >= 236
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
Requires: nc
|
|
|
|
|
|
|
|
%description systemd
|
|
|
|
Automatically unlocks LUKSv1 _netdev block devices from /etc/crypttab.
|
|
|
|
|
2016-11-18 21:20:24 +00:00
|
|
|
%package dracut
|
|
|
|
Summary: Dracut integration for clevis
|
2017-10-23 16:09:45 +00:00
|
|
|
Requires: %{name}-systemd%{?_isa} = %{version}-%{release}
|
2016-11-18 21:20:24 +00:00
|
|
|
Requires: dracut-network
|
|
|
|
|
|
|
|
%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
|
2018-11-09 10:52:31 +00:00
|
|
|
%autosetup -p1
|
2016-11-18 21:20:24 +00:00
|
|
|
|
|
|
|
%build
|
2018-08-14 03:37:17 +00:00
|
|
|
%meson -Duser=clevis -Dgroup=clevis
|
|
|
|
%meson_build
|
2016-11-18 21:20:24 +00:00
|
|
|
|
|
|
|
%install
|
2018-08-14 03:37:17 +00:00
|
|
|
%meson_install
|
2016-11-18 21:20:24 +00:00
|
|
|
|
|
|
|
%check
|
|
|
|
desktop-file-validate \
|
|
|
|
%{buildroot}/%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
|
2018-08-14 03:37:17 +00:00
|
|
|
%meson_test
|
2016-11-18 21:20:24 +00:00
|
|
|
|
2017-06-27 11:28:46 +00:00
|
|
|
%pre
|
2017-06-26 15:43:58 +00:00
|
|
|
getent group %{name} >/dev/null || groupadd -r %{name}
|
|
|
|
getent passwd %{name} >/dev/null || \
|
|
|
|
useradd -r -g %{name} -d %{_localstatedir}/cache/%{name} -s /sbin/nologin \
|
|
|
|
-c "Clevis Decryption Framework unprivileged user" %{name}
|
|
|
|
exit 0
|
|
|
|
|
2016-11-18 21:20:24 +00:00
|
|
|
%files
|
|
|
|
%license COPYING
|
2018-08-14 03:37:17 +00:00
|
|
|
%{_datadir}/bash-completion/
|
2017-06-14 14:24:19 +00:00
|
|
|
%{_bindir}/%{name}-decrypt-tang
|
2018-02-13 20:59:07 +00:00
|
|
|
%{_bindir}/%{name}-decrypt-tpm2
|
2017-06-14 14:24:19 +00:00
|
|
|
%{_bindir}/%{name}-decrypt-sss
|
|
|
|
%{_bindir}/%{name}-decrypt
|
|
|
|
%{_bindir}/%{name}-encrypt-tang
|
2018-02-13 20:59:07 +00:00
|
|
|
%{_bindir}/%{name}-encrypt-tpm2
|
2017-06-14 14:24:19 +00:00
|
|
|
%{_bindir}/%{name}-encrypt-sss
|
2016-11-18 21:20:24 +00:00
|
|
|
%{_bindir}/%{name}
|
2017-06-14 14:24:19 +00:00
|
|
|
%{_mandir}/man1/%{name}-encrypt-tang.1*
|
2018-02-13 20:59:07 +00:00
|
|
|
%{_mandir}/man1/%{name}-encrypt-tpm2.1*
|
2017-06-14 14:24:19 +00:00
|
|
|
%{_mandir}/man1/%{name}-encrypt-sss.1*
|
|
|
|
%{_mandir}/man1/%{name}-decrypt.1*
|
|
|
|
%{_mandir}/man1/%{name}.1*
|
2016-11-18 21:20:24 +00:00
|
|
|
|
|
|
|
%files luks
|
2017-11-13 16:47:39 +00:00
|
|
|
%{_mandir}/man7/%{name}-luks-unlockers.7*
|
2017-10-23 16:09:45 +00:00
|
|
|
%{_mandir}/man1/%{name}-luks-unlock.1*
|
2018-03-21 18:44:56 +00:00
|
|
|
%{_mandir}/man1/%{name}-luks-unbind.1*
|
2017-10-23 16:09:45 +00:00
|
|
|
%{_mandir}/man1/%{name}-luks-bind.1*
|
|
|
|
%{_bindir}/%{name}-luks-unlock
|
2018-03-21 18:44:56 +00:00
|
|
|
%{_bindir}/%{name}-luks-unbind
|
2017-10-23 16:09:45 +00:00
|
|
|
%{_bindir}/%{name}-luks-bind
|
|
|
|
|
|
|
|
%files systemd
|
|
|
|
%{_libexecdir}/%{name}-luks-askpass
|
|
|
|
%{_unitdir}/%{name}-luks-askpass.path
|
|
|
|
%{_unitdir}/%{name}-luks-askpass.service
|
2016-11-18 21:20:24 +00:00
|
|
|
|
|
|
|
%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
|
2019-09-06 12:39:24 +00:00
|
|
|
* Fri Sep 06 2019 Javier Martinez Canillas <javierm@redhat.com> - 11-7
|
|
|
|
- Add support for tpm2-tools 4.0
|
|
|
|
|
2019-07-24 20:24:00 +00:00
|
|
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11-6
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
2019-01-31 15:44:00 +00:00
|
|
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11-5
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
|
2018-12-06 13:44:49 +00:00
|
|
|
* Thu Dec 6 2018 Peter Robinson <pbrobinson@fedoraproject.org> 11-4
|
|
|
|
- Update patch for work around
|
|
|
|
|
2018-12-06 13:30:05 +00:00
|
|
|
* Thu Dec 6 2018 Peter Robinson <pbrobinson@fedoraproject.org> 11-3
|
|
|
|
- Work around network requirement for early boot
|
|
|
|
|
2018-11-09 10:52:31 +00:00
|
|
|
* Fri Nov 09 2018 Javier Martinez Canillas <javierm@redhat.com> - 11-2
|
|
|
|
- Delete remaining references to the removed http pin
|
|
|
|
- Install cryptsetup and tpm2_pcrlist in the initramfs
|
|
|
|
- Add device TCTI library to the initramfs
|
|
|
|
Resolves: rhbz#1644876
|
|
|
|
|
|
|
|
* Tue Aug 14 2018 Nathaniel McCallum <npmccallum@redhat.com> - 11-1
|
2018-08-14 03:37:17 +00:00
|
|
|
- Update to v11
|
|
|
|
|
2018-07-12 21:52:22 +00:00
|
|
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
2018-03-21 18:44:56 +00:00
|
|
|
* Wed Mar 21 2018 Nathaniel McCallum <npmccallum@redhat.com> - 10-1
|
|
|
|
- Update to v10
|
|
|
|
|
2018-02-13 20:59:07 +00:00
|
|
|
* Tue Feb 13 2018 Nathaniel McCallum <npmccallum@redhat.com> - 9-1
|
|
|
|
- Update to v9
|
|
|
|
|
2018-02-07 05:06:04 +00:00
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
|
2017-11-13 16:47:39 +00:00
|
|
|
* Mon Nov 13 2017 Nathaniel McCallum <npmccallum@redhat.com> - 8-1
|
|
|
|
- Update to v8
|
|
|
|
|
2017-11-08 15:59:58 +00:00
|
|
|
* Wed Nov 08 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7-2
|
|
|
|
- Rebuild for cryptsetup-2.0.0
|
|
|
|
|
2017-10-23 16:09:45 +00:00
|
|
|
* Fri Oct 27 2017 Nathaniel McCallum <npmccallum@redhat.com> - 7-1
|
|
|
|
- Update to v7
|
|
|
|
|
2017-08-02 18:51:37 +00:00
|
|
|
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6-3
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
|
|
|
|
2017-07-26 04:57:33 +00:00
|
|
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
|
|
|
|
2017-06-27 11:28:46 +00:00
|
|
|
* Tue Jun 27 2017 Nathaniel McCallum <npmccallum@redhat.com> - 6-1
|
|
|
|
- New upstream release
|
|
|
|
- Specify unprivileged user/group during configuration
|
|
|
|
- Move clevis user/group creation to base clevis package
|
|
|
|
|
2017-06-26 15:43:58 +00:00
|
|
|
* Mon Jun 26 2017 Nathaniel McCallum <npmccallum@redhat.com> - 5-1
|
|
|
|
- New upstream release
|
|
|
|
- Run clevis decryption from udisks2 under an unprivileged user
|
|
|
|
|
2017-06-14 17:32:38 +00:00
|
|
|
* Wed Jun 14 2017 Nathaniel McCallum <npmccallum@redhat.com> - 4-1
|
|
|
|
- New upstream release
|
|
|
|
|
2017-06-14 14:24:19 +00:00
|
|
|
* Wed Jun 14 2017 Nathaniel McCallum <npmccallum@redhat.com> - 3-1
|
|
|
|
- New upstream release
|
|
|
|
|
2017-02-10 07:34:31 +00:00
|
|
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2-2
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
|
|
|
|
2016-11-18 21:20:24 +00:00
|
|
|
* 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
|