diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..66e371f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/tpm2-tss-2.3.2.tar.gz diff --git a/.tpm2-tss.metadata b/.tpm2-tss.metadata new file mode 100644 index 0000000..3667521 --- /dev/null +++ b/.tpm2-tss.metadata @@ -0,0 +1 @@ +c24ce8b20a8686ada775239389292f6d78020668 SOURCES/tpm2-tss-2.3.2.tar.gz diff --git a/SOURCES/0001-man-Clean-up-libmandoc-parser-warnings.patch b/SOURCES/0001-man-Clean-up-libmandoc-parser-warnings.patch new file mode 100644 index 0000000..e32f1b4 --- /dev/null +++ b/SOURCES/0001-man-Clean-up-libmandoc-parser-warnings.patch @@ -0,0 +1,84 @@ +From d696645b147eaac5d5c90ff3dca672e52d89d7f0 Mon Sep 17 00:00:00 2001 +From: Jerry Snitselaar +Date: Mon, 27 Apr 2020 12:16:47 -0700 +Subject: [PATCH] man: Clean up libmandoc parser warnings + +- Fix typo in Tss2_Tcti_Device_Init.3.in. +- Remove .RE macros that had no preceding .RS macro in Tss2_TctiLdr_Initialize.3.in. + Replace .RE .sp with .LP. +- ' is a control character, format function names to be similar to + other manpages, and use \(oq and \(cq for quotes instead in tss2-tctildr.7.in. + +Signed-off-by: Jerry Snitselaar +--- + man/Tss2_TctiLdr_Initialize.3.in | 6 ++---- + man/Tss2_Tcti_Device_Init.3.in | 2 +- + man/tss2-tctildr.7.in | 12 ++++++++---- + 3 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/man/Tss2_TctiLdr_Initialize.3.in b/man/Tss2_TctiLdr_Initialize.3.in +index 8e5fffaa247b..eb5ea1f8315f 100644 +--- a/man/Tss2_TctiLdr_Initialize.3.in ++++ b/man/Tss2_TctiLdr_Initialize.3.in +@@ -65,8 +65,7 @@ libtss2-tcti-tabrmd.so.0 + libtss2-tcti-device.so.0 + .IP \[bu] + libtss2-tcti-mssim.so.0 +-.RE +-.sp ++.LP + When the + .I name + string is neither NULL nor the empty string the implementation will attempt +@@ -81,8 +80,7 @@ name with the following permutations: + libtss2-tcti-.so.0 + .IP \[bu] + libtss2-tcti-.so +-.RE +-.sp ++.LP + The + .I config + string is not interpreted by the TctiLdr init functions and is passed +diff --git a/man/Tss2_Tcti_Device_Init.3.in b/man/Tss2_Tcti_Device_Init.3.in +index 3cd2eed7fb0b..122ede1536bc 100644 +--- a/man/Tss2_Tcti_Device_Init.3.in ++++ b/man/Tss2_Tcti_Device_Init.3.in +@@ -86,7 +86,7 @@ is returned if any parameters contain unexpected values. + is returned if any parameters are NULL when they should not be. + .B TSS2_TCTI_RC_BAD_CONTEXT + is returned if the size of the provided +-.i tctiContext ++.I tctiContext + is insufficient. + .SH EXAMPLE + TCTI initialization fragment: +diff --git a/man/tss2-tctildr.7.in b/man/tss2-tctildr.7.in +index a907aec0cd64..7432316ec6bb 100644 +--- a/man/tss2-tctildr.7.in ++++ b/man/tss2-tctildr.7.in +@@ -10,13 +10,17 @@ instances. + .SH DESCRIPTION + The TCTI dynamic loading and initialization protocol requires a lot of + boilerplate code. To reduce duplication the tss2-tctildr library adds the +-'Tss2_TctiLdr_Initialize', 'Tss2_TctiLdr_Initialize_Ex' and +-'Tss2_TctiLdr_Finalize' functions to abstract away the machinery required ++.BR Tss2_TctiLdr_Initialize (), ++.BR Tss2_TctiLdr_Initialize_Ex (), ++and ++.BR Tss2_TctiLdr_Finalize () ++functions to abstract away the machinery required + to load, initialize, and finalize a TCTI context. + + To assist in the discovery of TCTIs this library provides the +-'Tss2_TctiLdr_GetInfo' function. This function, paired with a 'free' +-function to free the memory allocated by 'GetInfo', provides a simple ++.BR Tss2_TctiLdr_GetInfo () ++function. This function, paired with a \(oqfree\(cq ++function to free the memory allocated by \(oqGetInfo\(cq, provides a simple + query interface for discovery of the available and default TCTIs + available to the tss2-tctildr implementation + +-- +2.24.0 + diff --git a/SPECS/tpm2-tss.spec b/SPECS/tpm2-tss.spec new file mode 100644 index 0000000..26cb23c --- /dev/null +++ b/SPECS/tpm2-tss.spec @@ -0,0 +1,175 @@ +Name: tpm2-tss +Version: 2.3.2 +Release: 2%{?dist} +Summary: TPM2.0 Software Stack + +# The entire source code is under BSD except implementation.h and tpmb.h which +# is under TCGL(Trusted Computing Group License). +License: BSD +URL: https://github.com/tpm2-software/tpm2-tss +Source0: https://github.com/tpm2-software/tpm2-tss/releases/download/%{version}/%{name}-%{version}.tar.gz +# patch submitted upstream https://github.com/tpm2-software/tpm2-tss/pull/1707 +Patch0: 0001-man-Clean-up-libmandoc-parser-warnings.patch + +%global udevrules_prefix 60- + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: doxygen +BuildRequires: autoconf-archive +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: systemd +BuildRequires: libgcrypt-devel +BuildRequires: openssl-devel + +%description +tpm2-tss is a software stack supporting Trusted Platform Module(TPM) 2.0 system +APIs. It sits between TPM driver and applications, providing TPM2.0 specified +APIs for applications to access TPM module through kernel TPM drivers. + +%prep +%autosetup -p1 -n %{name}-%{version} + +%build +# Use built-in tpm-udev.rules, with specified installation path and prefix. +%configure --disable-static --disable-silent-rules --with-udevrulesdir=%{_udevrulesdir} --with-udevrulesprefix=%{udevrules_prefix} + +# This is to fix Rpath errors. Taken from https://fedoraproject.org/wiki/Packaging:Guidelines#Removing_Rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +%make_build + +%install +%make_install +find %{buildroot}%{_libdir} -type f -name \*.la -delete + +%files +%doc README.md CHANGELOG.md +%license LICENSE +%{_libdir}/libtss2-mu.so.* +%{_libdir}/libtss2-sys.so.* +%{_libdir}/libtss2-esys.so.* +%{_libdir}/libtss2-rc.so.* +%{_libdir}/libtss2-tctildr.so.* +%{_libdir}/libtss2-tcti-device.so.* +%{_libdir}/libtss2-tcti-mssim.so.* +%{_udevrulesdir}/%{udevrules_prefix}tpm-udev.rules + + +%package devel +Summary: Headers and libraries for building apps that use tpm2-tss +Requires: %{name}%{_isa} = %{version}-%{release} + +%description devel +This package contains headers and libraries required to build applications that +use tpm2-tss. + +%files devel +%{_includedir}/tss2/ +%{_libdir}/libtss2-mu.so +%{_libdir}/libtss2-sys.so +%{_libdir}/libtss2-esys.so +%{_libdir}/libtss2-rc.so +%{_libdir}/libtss2-tctildr.so +%{_libdir}/libtss2-tcti-default.so +%{_libdir}/libtss2-tcti-device.so +%{_libdir}/libtss2-tcti-mssim.so +%{_libdir}/pkgconfig/tss2-mu.pc +%{_libdir}/pkgconfig/tss2-sys.pc +%{_libdir}/pkgconfig/tss2-esys.pc +%{_libdir}/pkgconfig/tss2-rc.pc +%{_libdir}/pkgconfig/tss2-tctildr.pc +%{_libdir}/pkgconfig/tss2-tcti-device.pc +%{_libdir}/pkgconfig/tss2-tcti-mssim.pc +%{_mandir}/man3/*.3.gz +%{_mandir}/man7/tss2*.7.gz + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%changelog +* Mon Apr 27 2020 Jerry Snitselaar - 2.3.2-2 +- Clean up libmandoc parser errors. +resolves: rhbz#1789684 + +* Thu Feb 20 2020 Jerry Snitselaar - 2.3.2-1 +- Update to 2.3.2 release +resolves: rhbz#1789684 + +* Tue May 28 2019 Jerry Snitselaar - 2.0.0-5 +- Add CI gating support +resolves: rhbz#1682418 + +* Mon Jul 23 2018 Jerry Snitselaar - 2.0.0-4 +- Remove TCGL from spec license list. + +* Sat Jul 14 2018 Fedora Release Engineering - 2.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 4 2018 Yunying Sun - 2.0.0-2 +- Re-enable ESAPI since gcrypt dependency is not an issue for Fedora +- Bump release version to 2.0.0-2 + +* Mon Jul 2 2018 Yunying Sun - 2.0.0-1 +- Update to 2.0.0 release (RHBZ#1508870) +- Remove patch file 60-tpm-udev.rules, use upstream tpm-udev.rules instead +- Disable ESAPI to fix build errors caused by dependency to libgcrypt 1.6.0 +- Add scriptlet to fix Rpath errors +- Update file installation paths and names accordingly + +* Sun Mar 04 2018 Javier Martinez Canillas - 1.4.0-1 +- Update URLs to point to the new project location +- Add README.md CHANGELOG.md to %%files directive +- Update to 1.4.0 release (RHBZ#1508870) + +* Fri Feb 23 2018 Javier Martinez Canillas - 1.3.0-4 +- Install udev rule for TPM character devices + +* Wed Feb 21 2018 Javier Martinez Canillas - 1.3.0-3 +- Remove ExclusiveArch: %%{ix86} x86_64 directive + +* Fri Feb 09 2018 Igor Gnatenko - 1.3.0-2 +- Escape macros in %%changelog + +* Fri Dec 08 2017 Javier Martinez Canillas - 1.3.0-1 +- Update to 1.3.0 release + +* Wed Nov 29 2017 Javier Martinez Canillas - 1.3.0-0.1.rc2 +- Update to 1.3.0 release candidate 2 (RHBZ#1508870) +- Remove global pkg_prefix since now the upstream repo and package names match +- Update URLs to point to the new project location +- Remove -Wno-int-in-bool-context compiler flag since now upstream takes care +- Remove %%doc directive since README.md and CHANGELOG.md are not in the tarball +- Add patch to include a LICENSE since the generated tarball does not have it + +* Mon Aug 28 2017 Javier Martinez Canillas - 1.2.0-1 +- Update to 1.2.0 release +- Use tpm2-tss instead of TPM2.0-TSS as prefix since project name changed +- Fix SPEC file access mode +- Include new man pages in %%files directive + +* Fri Aug 18 2017 Javier Martinez Canillas - 1.1.0-3 +- Remove unneeded source tarballs (RHBZ#1482828) + +* Thu Aug 03 2017 Fedora Release Engineering - 1.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Sun Yunying - 1.1.0-1 +- Update to 1.1.0 release + +* Sat Feb 11 2017 Fedora Release Engineering - 1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 12 2016 Sun Yunying - 1.0-2 +- Remove global macro pkg_version to avoid duplicate of version +- Use ExclusiveArch instead of ExcludeArch +- Use less wildcard in %%files section to be more specific +- Add trailing slash at end of added directory in %%file section +- Remove autoconf/automake/pkgconfig(cmocka) from BuildRequires +- Increase release version to 2 + +* Fri Dec 2 2016 Sun Yunying - 1.0-1 +- Initial version of the package