tss2/tss2.spec

152 lines
4.8 KiB
RPMSpec
Raw Normal View History

2016-10-06 15:56:22 +00:00
#
# Spec file for IBM's TSS for the TPM 2.0
#
%{!?__global_ldflags: %global __global_ldflags -Wl,-z,relro}
Name: tss2
Version: 1027
Release: 1%{?dist}
2016-10-06 15:56:22 +00:00
Summary: IBM's TCG Software Stack (TSS) for TPM 2.0 and related utilities
Group: Applications/System
License: BSD
URL: http://sourceforge.net/projects/ibmtpm20tss/
Source0: https://sourceforge.net/projects/ibmtpm20tss/files/NotForUsers_FedoraSourceRpm/ibmtss%{version}.tar.gz
# Source1 should be temporary measure. v1027 of the Source0 tarball no
# longer includes the man pages, but the script with the details to generate
# them wasn't committed until v1045.
Source1: https://sourceforge.net/p/ibmtpm20tss/tss/ci/v1045/tree/utils/makeman.sh?format=raw#/makeman.sh
2016-10-06 15:56:22 +00:00
BuildRequires: help2man
2016-10-06 15:56:22 +00:00
BuildRequires: openssl-devel
Requires: openssl
%description
TSS2 is a user space Trusted Computing Group's Software Stack (TSS) for
TPM 2.0. It implements the functionality equivalent to the TCG TSS
working group's ESAPI, SAPI, and TCTI layers (and perhaps more) but with
a hopefully far simpler interface.
It comes with about 80 "TPM tools" that can be used for rapid prototyping,
education and debugging.
%package devel
Summary: Development libraries and headers for IBM's TSS 2.0
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Development libraries and headers for IBM's TSS 2.0. You will need this in
order to build TSS 2.0 applications.
%prep
%setup -q -c %{name}-%{version}
cp %{SOURCE1} utils/makeman.sh
2016-10-06 15:56:22 +00:00
%build
# nonstandard variable names are used in place of CFLAGS and LDFLAGS
pushd utils
CCFLAGS="%{optflags}" \
LNFLAGS="%{__global_ldflags}" \
make -f makefile.fedora %{?_smp_mflags}
# Generate man pages for extracted list of executables
mkdir -p man/man1
BIN_PREFIX=tss
man_exe=$(sed -n "s,^help2man.*/usr/bin/${BIN_PREFIX}\\([^ ]*\) .*\$,\\1,p" makeman.sh)
for f in $man_exe; do
# prefixed name
n=${BIN_PREFIX}$f
# extract description of binary
desc=$(sed -n -e "s,^help2man.* -n \"\\([^\"]*\\)\".*/usr/bin/$n .*\$,\\1,p" makeman.sh)
# temporarily link executable to prefixed name so man page is generated with correct name
ln -s $PWD/$f %{_tmppath}/$n
LD_LIBRARY_PATH="$PWD:$LD_LIBRARY_PATH" help2man -h-h --version-string="v%{version}" -n "$desc" %{_tmppath}/$n > man/man1/$n.1
rm %{_tmppath}/$n
done
2016-10-06 15:56:22 +00:00
popd
%install
# Prefix for namespacing
BIN_PREFIX=tss
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_libdir}
mkdir -p %{buildroot}/%{_includedir}/%{name}/
mkdir -p %{buildroot}/%{_mandir}/man1
pushd utils
# Pick out executables and copy with namespacing
for f in *; do
if [[ -x $f && -f $f && ! $f =~ .*\..* ]]; then
cp -p $f %{buildroot}/%{_bindir}/${BIN_PREFIX}$f
fi;
done
cp -p *.so.0.1 %{buildroot}/%{_libdir}
cp -p %{name}/*.h %{buildroot}/%{_includedir}/%{name}/
cp -p man/man1/tss*.1 %{buildroot}/%{_mandir}/man1/
popd
# Make symbolic links to the shared lib
pushd %{buildroot}/%{_libdir}
rm -f libtss.so.0
ln -sf libtss.so.0.1 libtss.so.0
rm -f libtss.so
ln -sf libtss.so.0 libtss.so
popd
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%license LICENSE
%{_bindir}/tss*
%{_libdir}/libtss.so.0
%{_libdir}/libtss.so.0.*
%attr(0644, root, root) %{_mandir}/man1/tss*.1*
%files devel
%{_includedir}/%{name}
%{_libdir}/libtss.so
%doc ibmtss.doc
%changelog
* Fri Jan 19 2018 Merlin Mathesius <mmathesi@redhat.com> - 1027-1
- Version bump. Now supported for all architectures.
- Generate man pages since they are no longer included in source archive.
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 713-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 713-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 713-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
2016-10-06 15:56:22 +00:00
* Wed Oct 05 2016 Hon Ching(Vicky) Lo <lo1@us.ibm.com> - 713-7
- Removed defattr from the devel subpackage
* Mon Sep 26 2016 Hon Ching(Vicky) Lo <lo1@us.ibm.com> - 713-6
- Added s390x arch as another "ExcludeArch"
* Mon Sep 26 2016 Hon Ching(Vicky) Lo <lo1@us.ibm.com> - 713-5
- Replaced ExclusiveArch with ExcludeArch
* Mon Sep 19 2016 Hon Ching(Vicky) Lo <lo1@us.ibm.com> - 713-4
- Used ExclusiveArch instead of BuildArch tag
- Removed attr from symlink in devel subpackage
- Added manpages and modified the Source0
- Added CCFLAGS and LNFLAGS to enforce hardening and optimization
* Wed Aug 17 2016 Hon Ching(Vicky) Lo <lo1@us.ibm.com> - 713-3
- Modified supported arch to ppc64le
* Sat Aug 13 2016 Hon Ching(Vicky) Lo <lo1@us.ibm.com> - 713-2
- Minor spec fixes
* Tue Aug 09 2016 Hon Ching(Vicky) Lo <lo1@us.ibm.com> - 713-1
- Updated for initial submission
* Fri Mar 20 2015 George Wilson <gcwilson@us.ibm.com>
- Initial implementation