clevis/clevis.spec

282 lines
9.1 KiB
RPMSpec
Raw Normal View History

2016-11-18 21:20:24 +00:00
Name: clevis
2020-05-10 14:10:44 +00:00
Version: 13
Release: 3%{?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
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
BuildRequires: cracklib-dicts
BuildRequires: luksmeta
BuildRequires: openssl
2020-05-10 14:10:44 +00:00
BuildRequires: diffutils
BuildRequires: jq
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
Recommends: cracklib-dicts
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
2020-05-10 14:10:44 +00:00
Summary: LUKS integration for clevis
2016-11-18 21:20:24 +00:00
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
2020-05-10 14:10:44 +00:00
LUKS integration for clevis. This package allows you to bind a LUKS
2016-11-18 21:20:24 +00:00
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
2020-05-10 14:10:44 +00:00
Automatically unlocks LUKS _netdev block devices from /etc/crypttab.
2017-10-23 16:09:45 +00:00
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
2020-05-10 14:10:44 +00:00
Automatically unlocks LUKS block devices in early boot.
2016-11-18 21:20:24 +00:00
%package udisks2
Summary: UDisks2/Storaged integration for clevis
Requires: %{name}-luks%{?_isa} = %{version}-%{release}
%description udisks2
2020-05-10 14:10:44 +00:00
Automatically unlocks LUKS block devices in desktop environments that
2016-11-18 21:20:24 +00:00
use UDisks2 or storaged (like GNOME).
%prep
%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*
2020-05-10 14:10:44 +00:00
%{_mandir}/man1/%{name}-luks-list.1.*
2017-10-23 16:09:45 +00:00
%{_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
2020-05-10 14:10:44 +00:00
%{_bindir}/%{name}-luks-common-functions
%{_bindir}/%{name}-luks-list
2017-10-23 16:09:45 +00:00
%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}
2020-01-20 12:29:15 +00:00
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-sss/module-setup.sh
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-tang/module-setup.sh
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-tpm2/module-setup.sh
2016-11-18 21:20:24 +00:00
%files udisks2
%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
%attr(4755, root, root) %{_libexecdir}/%{name}-luks-udisks2
%changelog
* Sun Aug 02 2020 Benjamin Gilbert <bgilbert@redhat.com> - 13-3
- Downgrade cracklib-dicts to Recommends
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
2020-05-10 14:10:44 +00:00
* Sun May 10 2020 Sergio Correia <scorreia@redhat.com> - 13-1
- Update to new clevis upstream release, v13.
* Thu May 07 2020 Sergio Correia <scorreia@redhat.com> - 12-4
- cracklib-dicts should be also listed as a build dependency, since
it's required for running some of the tests
* Mon Apr 06 2020 Sergio Correia <scorreia@redhat.com> - 12-3
- Make cracklib-dicts a regular dependency
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
2020-01-20 12:29:15 +00:00
* Mon Jan 20 2020 Sergio Correia <scorreia@redhat.com> - 12-1
- Update to new clevis upstream release, v12.
* Thu Dec 19 2019 Sergio Correia <scorreia@redhat.com> - 11-11
- Backport upstream PR#70 - Handle case where we try to use a partially
used luksmeta slot
Resolves: rhbz#1672371
* Thu Dec 05 2019 Sergio Correia <scorreia@redhat.com> - 11-10
- Disable LUKS2 tests for now, since they fail randomly in Koji
builders, killing the build
* Wed Dec 04 2019 Sergio Correia <scorreia@redhat.com> - 11-9
- Backport of upstream patches and the following fixes:
- Rework the logic for reading the existing key
- fix for different output from 'luksAddKey' command w/cryptsetup v2.0.2 (
- pins/tang: check that key derivation key is available
2019-10-31 16:07:08 +00:00
* Wed Oct 30 2019 Peter Robinson <pbrobinson@fedoraproject.org> 11-8
- Drop need network patch
* Fri Sep 06 2019 Javier Martinez Canillas <javierm@redhat.com> - 11-7
- Add support for tpm2-tools 4.0
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 11-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* 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
* Thu Dec 6 2018 Peter Robinson <pbrobinson@fedoraproject.org> 11-3
- Work around network requirement for early boot
* 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
* 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
* 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
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* 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
* 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