Blame SPECS/clevis.spec

524513
%global _hardened_build 1
524513
524513
Name:           clevis
f08250
Version:        15
81f594
Release:        3%{?dist}
524513
Summary:        Automated decryption framework
524513
524513
License:        GPLv3+
524513
URL:            https://github.com/latchset/%{name}
524513
Source0:        https://github.com/latchset/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz
524513
f08250
Patch0001: 0001-Fixes-for-dealing-with-newer-tang-without-tangd-upda.patch
f08250
Patch0002: 0002-Add-the-option-to-extract-luks-passphrase-used-for-b.patch
f67e96
Patch0003: 0003-systemd-account-for-unlocking-failures-in-clevis-luk.patch
81f594
Patch0004: 0004-systemd-drop-ncat-dependency.patch
524513
f08250
BuildRequires:  git
524513
BuildRequires:  gcc
524513
BuildRequires:  meson
524513
BuildRequires:  asciidoc
524513
BuildRequires:  ninja-build
524513
BuildRequires:  bash-completion
524513
524513
BuildRequires:  libjose-devel >= 8
524513
BuildRequires:  libluksmeta-devel >= 8
524513
BuildRequires:  audit-libs-devel
524513
BuildRequires:  libudisks2-devel
524513
BuildRequires:  openssl-devel
524513
524513
BuildRequires:  tpm2-tools >= 3.0.0
524513
BuildRequires:  desktop-file-utils
524513
BuildRequires:  pkgconfig
524513
BuildRequires:  systemd
524513
BuildRequires:  dracut
524513
BuildRequires:  tang >= 6
524513
BuildRequires:  curl
524513
BuildRequires:  luksmeta
524513
BuildRequires:  cracklib-dicts
524513
Buildrequires:  jq
524513
BuildRequires:  diffutils
524513
BuildRequires:  expect
64015d
BuildRequires:  openssl
524513
64015d
Requires:       cracklib-dicts
524513
Requires:       tpm2-tools >= 3.0.0
524513
Requires:       coreutils
524513
Requires:       jose >= 8
524513
Requires:       curl
64015d
Requires:       jq
524513
Requires(pre):  shadow-utils
524513
524513
%description
524513
Clevis is a framework for automated decryption. It allows you to encrypt
524513
data using sophisticated unlocking policies which enable decryption to
524513
occur automatically.
524513
524513
The clevis package provides basic encryption/decryption policy support.
524513
Users can use this directly; but most commonly, it will be used as a
524513
building block for other packages. For example, see the clevis-luks
64015d
and clevis-dracut packages for automatic root volume unlocking of LUKS
524513
volumes during early boot.
524513
524513
%package luks
64015d
Summary:        LUKS integration for clevis
524513
Requires:       %{name}%{?_isa} = %{version}-%{release}
524513
Requires:       cryptsetup
524513
Requires:       luksmeta >= 8
524513
524513
%description luks
64015d
LUKS integration for clevis. This package allows you to bind a LUKS
524513
volume to a clevis unlocking policy. For automated unlocking, an unlocker
524513
will also be required. See, for example, clevis-dracut and clevis-udisks2.
524513
524513
%package systemd
524513
Summary:        systemd integration for clevis
524513
Requires:       %{name}-luks%{?_isa} = %{version}-%{release}
524513
%if 0%{?fedora} > 27
524513
Requires:       systemd%{?_isa} >= 235-3
524513
%else
524513
%if 0%{?fedora} == 27
524513
Requires:       systemd%{?_isa} >= 234-9
524513
%else
524513
%if 0%{?fedora} == 26
524513
Requires:       systemd%{?_isa} >= 233-7
524513
%else
524513
Requires:       systemd%{?_isa} >= 236
524513
%endif
524513
%endif
524513
%endif
524513
524513
%description systemd
64015d
Automatically unlocks clevis-bound LUKS block devices during boot.
524513
524513
%package dracut
524513
Summary:        Dracut integration for clevis
524513
Requires:       %{name}-systemd%{?_isa} = %{version}-%{release}
524513
Requires:       dracut-network
524513
524513
%description dracut
64015d
Automatically unlocks LUKS block devices in early boot.
524513
524513
%package udisks2
524513
Summary:        UDisks2/Storaged integration for clevis
524513
Requires:       %{name}-luks%{?_isa} = %{version}-%{release}
524513
524513
%description udisks2
64015d
Automatically unlocks LUKS block devices in desktop environments that
524513
use UDisks2 or storaged (like GNOME).
524513
524513
%prep
64015d
%autosetup -S git
524513
524513
%build
524513
%meson -Duser=clevis -Dgroup=clevis
524513
%meson_build
524513
524513
%install
524513
%meson_install
524513
524513
%check
524513
desktop-file-validate \
524513
  %{buildroot}/%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
524513
%meson_test
524513
524513
%pre
f08250
getent group %{name} >/dev/null || groupadd -r %{name} &>/dev/null
524513
getent passwd %{name} >/dev/null || \
524513
    useradd -r -g %{name} -d %{_localstatedir}/cache/%{name} -s /sbin/nologin \
f08250
    -c "Clevis Decryption Framework unprivileged user" %{name} &>/dev/null
f08250
# Add clevis user to tss group.
f08250
if getent group tss >/dev/null && ! groups %{name} | grep -q "\btss\b"; then
f08250
    usermod -a -G tss %{name} &>/dev/null
f08250
fi
524513
exit 0
524513
f08250
%posttrans
f08250
# In case clevis-luks-askpass is enabled, make sure it's using the
f08250
# correct target, which changed in v14.
f08250
[ "$(find /etc/systemd/system/ -name "clevis-luks-askpass*")" ] || exit 0
f08250
find /etc/systemd/system/ -name "clevis-luks-askpass*" \
f08250
     | grep -q cryptsetup.target.wants && exit 0
f08250
f08250
find /etc/systemd/system/ -name "clevis-luks-askpass*" -exec rm {} +
f08250
systemctl enable clevis-luks-askpass.path >/dev/null 2>&1 || :
524513
exit 0
524513
524513
%files
524513
%license COPYING
524513
%{_datadir}/bash-completion/
524513
%{_bindir}/%{name}-decrypt-tang
524513
%{_bindir}/%{name}-decrypt-tpm2
524513
%{_bindir}/%{name}-decrypt-sss
524513
%{_bindir}/%{name}-decrypt
524513
%{_bindir}/%{name}-encrypt-tang
524513
%{_bindir}/%{name}-encrypt-tpm2
524513
%{_bindir}/%{name}-encrypt-sss
524513
%{_bindir}/%{name}
524513
%{_mandir}/man1/%{name}-encrypt-tang.1*
524513
%{_mandir}/man1/%{name}-encrypt-tpm2.1*
524513
%{_mandir}/man1/%{name}-encrypt-sss.1*
524513
%{_mandir}/man1/%{name}-decrypt.1*
524513
%{_mandir}/man1/%{name}.1*
524513
524513
%files luks
524513
%{_mandir}/man7/%{name}-luks-unlockers.7*
524513
%{_mandir}/man1/%{name}-luks-unlock.1*
524513
%{_mandir}/man1/%{name}-luks-unbind.1*
524513
%{_mandir}/man1/%{name}-luks-bind.1*
64015d
%{_mandir}/man1/%{name}-luks-list.1*
64015d
%{_mandir}/man1/%{name}-luks-pass.1*
524513
%{_mandir}/man1/%{name}-luks-regen.1*
524513
%{_mandir}/man1/%{name}-luks-report.1*
64015d
%{_mandir}/man1/%{name}-luks-edit.1*
524513
%{_bindir}/%{name}-luks-unlock
524513
%{_bindir}/%{name}-luks-unbind
524513
%{_bindir}/%{name}-luks-bind
524513
%{_bindir}/%{name}-luks-common-functions
64015d
%{_bindir}/%{name}-luks-list
64015d
%{_bindir}/%{name}-luks-pass
524513
%{_bindir}/%{name}-luks-regen
524513
%{_bindir}/%{name}-luks-report
64015d
%{_bindir}/%{name}-luks-edit
524513
524513
%files systemd
524513
%{_libexecdir}/%{name}-luks-askpass
f08250
%{_unitdir}/%{name}-luks-askpass.path
f08250
%{_unitdir}/%{name}-luks-askpass.service
524513
524513
%files dracut
524513
%{_prefix}/lib/dracut/modules.d/60%{name}
64015d
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-sss
64015d
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-tang
64015d
%{_prefix}/lib/dracut/modules.d/60%{name}-pin-tpm2
524513
524513
%files udisks2
524513
%{_sysconfdir}/xdg/autostart/%{name}-luks-udisks2.desktop
524513
%attr(4755, root, root) %{_libexecdir}/%{name}-luks-udisks2
524513
524513
%changelog
81f594
* Thu Nov 18 2021 Sergio Correia <scorreia@redhat.com> - 15-3
81f594
- Drop ncat dependency
81f594
  Resolves: rhbz#1949289
81f594
f67e96
* Wed Nov 17 2021 Sergio Correia <scorreia@redhat.com> - 15-2
f67e96
- Account for unlocking failures in clevis-luks-askpass
f67e96
  Resolves: rhbz#2018292
f67e96
f08250
* Mon Oct 26 2020 Sergio Correia <scorreia@redhat.com> - 15-1
f08250
- Update to latest upstream release, v15
f08250
  Resolves: rhbz#1887836
f08250
  Resolves: rhbz#1853651
f08250
  Resolves: rhbz#1874460
f08250
64015d
* Wed May 20 2020 Sergio Correia <scorreia@redhat.com> - 13-3
64015d
- Add clevis luks edit command
64015d
  Resolves: rhbz#1436735
64015d
64015d
* Mon May 18 2020 Sergio Correia <scorreia@redhat.com> - 13-2
64015d
- Introduce -y (assume yes) argument to clevis luks bind
64015d
  Resolves: rhbz#1819767
64015d
64015d
* Sun May 10 2020 Sergio Correia <scorreia@redhat.com> - 13-1
64015d
- Update to new upstream release, v13
64015d
  Resolves: rhbz#1827225
64015d
  Resolves: rhbz#1827665
64015d
  Resolves: rhbz#1801556
64015d
  Resolves: rhbz#1784448
64015d
  Resolves: rhbz#1826917
64015d
  Resolves: rhbz#1812014
64015d
64015d
* Sun Feb 02 2020 Sergio Correia <scorreia@redhat.com> - 11-9
524513
- Improve clevis luks regen not to unbind+bind in every case
524513
  Resolves: rhbz#1795675
524513
524513
* Mon Jan 13 2020 Sergio Correia <scorreia@redhat.com> - 11-8
524513
- Use one clevis-luks-askpass per device
524513
  Resolves: rhbz#1784524
524513
524513
* Sat Nov 30 2019 Sergio Correia <scorreia@redhat.com> - 11-7
524513
- Add rd.neednet=1 to cmdline only if there are devices bound to tang
524513
  Resolves: rhbz#1762028
524513
524513
* Sat Nov 30 2019 Sergio Correia <scorreia@redhat.com> - 11-6
524513
- Add option to extract luks passphrase used for binding
524513
  Resolves: rhbz#1436780
524513
524513
* Thu Nov 28 2019 Sergio Correia <scorreia@redhat.com> - 11-5
524513
- Add support for listing existing PBD policies in place
524513
  Resolves: rhbz#1766526
524513
524513
* Fri Oct 18 2019 Sergio Correia <scorreia@redhat.com> - 11-4
524513
- Improve error message when bind is given an invalid PIN
524513
  Resolves: rhbz#1543380
524513
524513
* Wed Oct 16 2019 Sergio Correia <scorreia@redhat.com> - 11-3
524513
- Add clevis luks report and regen
524513
  Resolves: rhbz#1564566
524513
  Resolves: rhbz#1564559
524513
524513
* Fri Jan 04 2019 Daniel Kopecek <dkopecek@redhat.com> - 11-2
524513
- Check that key derivation key is available
524513
- Delete remaining references to the removed http pin
524513
- Install cryptsetup and tpm2_pcrlist in the initramfs
524513
- Add device TCTI library to the initramfs
524513
  Resolves: rhbz#1648004
524513
  Resolves: rhbz#1650246
524513
524513
* Tue Aug 14 2018 Nathaniel McCallum <npmccallum@redhat.com> - 11-1
524513
- Update to v11
524513
524513
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 10-2
524513
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
524513
524513
* Wed Mar 21 2018 Nathaniel McCallum <npmccallum@redhat.com> - 10-1
524513
- Update to v10
524513
524513
* Tue Feb 13 2018 Nathaniel McCallum <npmccallum@redhat.com> - 9-1
524513
- Update to v9
524513
524513
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 8-2
524513
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
524513
524513
* Mon Nov 13 2017 Nathaniel McCallum <npmccallum@redhat.com> - 8-1
524513
- Update to v8
524513
524513
* Wed Nov 08 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 7-2
524513
- Rebuild for cryptsetup-2.0.0
524513
524513
* Fri Oct 27 2017 Nathaniel McCallum <npmccallum@redhat.com> - 7-1
524513
- Update to v7
524513
524513
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6-3
524513
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
524513
524513
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6-2
524513
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
524513
524513
* Tue Jun 27 2017 Nathaniel McCallum <npmccallum@redhat.com> - 6-1
524513
- New upstream release
524513
- Specify unprivileged user/group during configuration
524513
- Move clevis user/group creation to base clevis package
524513
524513
* Mon Jun 26 2017 Nathaniel McCallum <npmccallum@redhat.com> - 5-1
524513
- New upstream release
524513
- Run clevis decryption from udisks2 under an unprivileged user
524513
524513
* Wed Jun 14 2017 Nathaniel McCallum <npmccallum@redhat.com> - 4-1
524513
- New upstream release
524513
524513
* Wed Jun 14 2017 Nathaniel McCallum <npmccallum@redhat.com> - 3-1
524513
- New upstream release
524513
524513
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2-2
524513
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
524513
524513
* Fri Nov 18 2016 Nathaniel McCallum <npmccallum@redhat.com> - 2-1
524513
- New upstream release
524513
524513
* Mon Nov 14 2016 Nathaniel McCallum <npmccallum@redhat.com> - 1-1
524513
- First release