Blame SPECS/tpm2-tss.spec

3af8dc
Name:           tpm2-tss
6dfae6
Version:        2.3.2
e56592
Release:        3%{?dist}
3af8dc
Summary:        TPM2.0 Software Stack
3af8dc
3af8dc
# The entire source code is under BSD except implementation.h and tpmb.h which
3af8dc
# is under TCGL(Trusted Computing Group License).
3af8dc
License:        BSD
3af8dc
URL:            https://github.com/tpm2-software/tpm2-tss
3af8dc
Source0:        https://github.com/tpm2-software/tpm2-tss/releases/download/%{version}/%{name}-%{version}.tar.gz
6dfae6
# patch submitted upstream https://github.com/tpm2-software/tpm2-tss/pull/1707
6dfae6
Patch0:         0001-man-Clean-up-libmandoc-parser-warnings.patch
e56592
# Upstream patches
e56592
Patch1:         0001-esys-Check-object-handle-node-before-calling-compute.patch
e56592
Patch2:         0001-build-update-exported-symbols-map-for-libtss2-mu.patch
e56592
Patch3:         0001-esys-fix-Esys_StartAuthSession-called-with-optional-.patch
e56592
Patch4:         0001-esys-fixup-compute_encrypted_salt-err-handling-in-Es.patch
e56592
Patch5:         0001-esys-zero-out-ctx-salt-after-on-startAuthSession_fin.patch
e56592
Patch6:         0001-mu-Remove-use-of-VLAs-for-Marshalling-TPML-types.patch
e56592
Patch7:         0001-esys_iutil-use-memcmp-in-byte-array-comparison.patch
e56592
Patch8:         0001-tcti-device-getPollHandles-should-allow-num_handles-.patch
e56592
Patch9:         0001-tctildr-fix-segmentation-fault-if-name_conf-is-too-b.patch
e56592
Patch10:        0001-esys-fix-keysize-of-ECC-curve-TPM2_ECC_NISTP224.patch
e56592
Patch11:        0001-Esys_CreateLoaded-fix-resource-name-calculation.patch
e56592
Patch12:        0001-sys-match-counter-variable-type-for-cmdAuthsArray-co.patch
e56592
Patch13:        0001-Return-proper-error-code-on-memory-allocation-failur.patch
3af8dc
3af8dc
%global udevrules_prefix 60-
3af8dc
3af8dc
BuildRequires:  gcc
3af8dc
BuildRequires:  gcc-c++
6dfae6
BuildRequires:  doxygen
3af8dc
BuildRequires:  autoconf-archive
3af8dc
BuildRequires:  libtool
3af8dc
BuildRequires:  pkgconfig
3af8dc
BuildRequires:  systemd
3af8dc
BuildRequires:  libgcrypt-devel
6dfae6
BuildRequires:  openssl-devel
3af8dc
3af8dc
%description
3af8dc
tpm2-tss is a software stack supporting Trusted Platform Module(TPM) 2.0 system
3af8dc
APIs. It sits between TPM driver and applications, providing TPM2.0 specified
3af8dc
APIs for applications to access TPM module through kernel TPM drivers.
3af8dc
3af8dc
%prep
6dfae6
%autosetup -p1 -n %{name}-%{version}
3af8dc
3af8dc
%build
3af8dc
# Use built-in tpm-udev.rules, with specified installation path and prefix.
3af8dc
%configure --disable-static --disable-silent-rules --with-udevrulesdir=%{_udevrulesdir} --with-udevrulesprefix=%{udevrules_prefix}
3af8dc
3af8dc
# This is to fix Rpath errors. Taken from https://fedoraproject.org/wiki/Packaging:Guidelines#Removing_Rpath
3af8dc
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
3af8dc
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
3af8dc
3af8dc
%make_build
3af8dc
3af8dc
%install
3af8dc
%make_install
3af8dc
find %{buildroot}%{_libdir} -type f -name \*.la -delete
3af8dc
e56592
%pre
e56592
getent group tss >/dev/null || groupadd -f -g 59 -r tss
e56592
if ! getent passwd tss >/dev/null ; then
e56592
    if ! getent passwd 59 >/dev/null ; then
e56592
      useradd -r -u 59 -g tss -d /dev/null -s /sbin/nologin -c "Account used for TPM access" tss
e56592
    else
e56592
      useradd -r -g tss -d /dev/null -s /sbin/nologin -c "Account used for TPM access" tss
e56592
    fi
e56592
fi
e56592
exit 0
e56592
3af8dc
%files
3af8dc
%doc README.md CHANGELOG.md
3af8dc
%license LICENSE
3af8dc
%{_libdir}/libtss2-mu.so.*
3af8dc
%{_libdir}/libtss2-sys.so.*
3af8dc
%{_libdir}/libtss2-esys.so.*
6dfae6
%{_libdir}/libtss2-rc.so.*
6dfae6
%{_libdir}/libtss2-tctildr.so.*
3af8dc
%{_libdir}/libtss2-tcti-device.so.*
3af8dc
%{_libdir}/libtss2-tcti-mssim.so.*
3af8dc
%{_udevrulesdir}/%{udevrules_prefix}tpm-udev.rules
3af8dc
3af8dc
3af8dc
%package        devel
3af8dc
Summary:        Headers and libraries for building apps that use tpm2-tss 
3af8dc
Requires:       %{name}%{_isa} = %{version}-%{release}
3af8dc
3af8dc
%description    devel
3af8dc
This package contains headers and libraries required to build applications that
3af8dc
use tpm2-tss.
3af8dc
3af8dc
%files devel
3af8dc
%{_includedir}/tss2/
3af8dc
%{_libdir}/libtss2-mu.so
3af8dc
%{_libdir}/libtss2-sys.so
3af8dc
%{_libdir}/libtss2-esys.so
6dfae6
%{_libdir}/libtss2-rc.so
6dfae6
%{_libdir}/libtss2-tctildr.so
6dfae6
%{_libdir}/libtss2-tcti-default.so
3af8dc
%{_libdir}/libtss2-tcti-device.so
3af8dc
%{_libdir}/libtss2-tcti-mssim.so
3af8dc
%{_libdir}/pkgconfig/tss2-mu.pc
3af8dc
%{_libdir}/pkgconfig/tss2-sys.pc
3af8dc
%{_libdir}/pkgconfig/tss2-esys.pc
6dfae6
%{_libdir}/pkgconfig/tss2-rc.pc
6dfae6
%{_libdir}/pkgconfig/tss2-tctildr.pc
3af8dc
%{_libdir}/pkgconfig/tss2-tcti-device.pc
3af8dc
%{_libdir}/pkgconfig/tss2-tcti-mssim.pc
6dfae6
%{_mandir}/man3/*.3.gz
3af8dc
%{_mandir}/man7/tss2*.7.gz
3af8dc
3af8dc
%post -p /sbin/ldconfig
3af8dc
3af8dc
%postun -p /sbin/ldconfig
3af8dc
3af8dc
%changelog
e56592
* Mon Nov 16 2020 Jerry Snitselaar <jsnitsel@redhat.com> - 2.3.2-3
e56592
- Add tss user if doesn't exist.
e56592
- Update exported symbols map for libtss2-mu
e56592
- esys: Check object handle node before calling compute_session_value
e56592
- esys: fix resource name calculation
e56592
- esys: fix Esys_StartAuthSession called with optional params
e56592
- esys: fix keysize of ECC curve TPM2_ECC_NISTP224
e56592
- esys: fixup compute_encrypted_salt error handling
e56592
- esys: use memcmp in byte array comparison
e56592
- esys: zero out ctx->salt after startAuthSession_finish
e56592
- mu: Remove use of VLAs for Marshalling TPML types
e56592
- return proper error code on memory allocation failure
e56592
- sys: match counter variable type for cmdAuthsArray->count
e56592
- tcti-device: getPollHandles should allow num_handles query
e56592
- tctildr: fix segmentation fault if name_conf is too big
e56592
resolves: rhbz#1879071 rhbz#1855180
e56592
6dfae6
* Mon Apr 27 2020 Jerry Snitselaar <jsnitsel@redhat.com> - 2.3.2-2
6dfae6
- Clean up libmandoc parser errors.
6dfae6
resolves: rhbz#1789684
6dfae6
6dfae6
* Thu Feb 20 2020 Jerry Snitselaar <jsnitsel@redhat.com> - 2.3.2-1
6dfae6
- Update to 2.3.2 release
6dfae6
resolves: rhbz#1789684
6dfae6
6dfae6
* Tue May 28 2019 Jerry Snitselaar <jsnitsel@redhat.com> - 2.0.0-5
6dfae6
- Add CI gating support
6dfae6
resolves: rhbz#1682418
6dfae6
3af8dc
* Mon Jul 23 2018 Jerry Snitselaar <jsnitsel@redhat.com> - 2.0.0-4
3af8dc
- Remove TCGL from spec license list.
3af8dc
3af8dc
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-3
3af8dc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
3af8dc
3af8dc
* Wed Jul 4 2018 Yunying Sun <yunying.sun@intel.com> - 2.0.0-2
3af8dc
- Re-enable ESAPI since gcrypt dependency is not an issue for Fedora
3af8dc
- Bump release version to 2.0.0-2
3af8dc
3af8dc
* Mon Jul 2 2018 Yunying Sun <yunying.sun@intel.com> - 2.0.0-1
3af8dc
- Update to 2.0.0 release (RHBZ#1508870)
3af8dc
- Remove patch file 60-tpm-udev.rules, use upstream tpm-udev.rules instead
3af8dc
- Disable ESAPI to fix build errors caused by dependency to libgcrypt 1.6.0
3af8dc
- Add scriptlet to fix Rpath errors
3af8dc
- Update file installation paths and names accordingly 
3af8dc
3af8dc
* Sun Mar 04 2018 Javier Martinez Canillas <javierm@redhat.com> - 1.4.0-1
3af8dc
- Update URLs to point to the new project location
3af8dc
- Add README.md CHANGELOG.md to %%files directive
3af8dc
- Update to 1.4.0 release (RHBZ#1508870)
3af8dc
3af8dc
* Fri Feb 23 2018 Javier Martinez Canillas <javierm@redhat.com> - 1.3.0-4
3af8dc
- Install udev rule for TPM character devices
3af8dc
3af8dc
* Wed Feb 21 2018 Javier Martinez Canillas <javierm@redhat.com> - 1.3.0-3
3af8dc
- Remove ExclusiveArch: %%{ix86} x86_64 directive
3af8dc
3af8dc
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.0-2
3af8dc
- Escape macros in %%changelog
3af8dc
3af8dc
* Fri Dec 08 2017 Javier Martinez Canillas <javierm@redhat.com> - 1.3.0-1
3af8dc
- Update to 1.3.0 release
3af8dc
3af8dc
* Wed Nov 29 2017 Javier Martinez Canillas <javierm@redhat.com> - 1.3.0-0.1.rc2
3af8dc
- Update to 1.3.0 release candidate 2 (RHBZ#1508870)
3af8dc
- Remove global pkg_prefix since now the upstream repo and package names match
3af8dc
- Update URLs to point to the new project location
3af8dc
- Remove -Wno-int-in-bool-context compiler flag since now upstream takes care
3af8dc
- Remove %%doc directive since README.md and CHANGELOG.md are not in the tarball
3af8dc
- Add patch to include a LICENSE since the generated tarball does not have it
3af8dc
3af8dc
* Mon Aug 28 2017 Javier Martinez Canillas <javierm@redhat.com> - 1.2.0-1
3af8dc
- Update to 1.2.0 release
3af8dc
- Use tpm2-tss instead of TPM2.0-TSS as prefix since project name changed
3af8dc
- Fix SPEC file access mode
3af8dc
- Include new man pages in %%files directive
3af8dc
3af8dc
* Fri Aug 18 2017 Javier Martinez Canillas <javierm@redhat.com> - 1.1.0-3
3af8dc
- Remove unneeded source tarballs (RHBZ#1482828)
3af8dc
3af8dc
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
3af8dc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
3af8dc
3af8dc
* Wed Jul 26 2017 Sun Yunying <yunying.sun@intel.com> - 1.1.0-1
3af8dc
- Update to 1.1.0 release
3af8dc
3af8dc
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-3
3af8dc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
3af8dc
3af8dc
* Mon Dec 12 2016 Sun Yunying <yunying.sun@intel.com> - 1.0-2
3af8dc
- Remove global macro pkg_version to avoid duplicate of version
3af8dc
- Use ExclusiveArch instead of ExcludeArch
3af8dc
- Use less wildcard in %%files section to be more specific
3af8dc
- Add trailing slash at end of added directory in %%file section
3af8dc
- Remove autoconf/automake/pkgconfig(cmocka) from BuildRequires
3af8dc
- Increase release version to 2
3af8dc
3af8dc
* Fri Dec 2 2016 Sun Yunying <yunying.sun@intel.com> - 1.0-1
3af8dc
- Initial version of the package