ibmtss/ibmtss.spec

112 lines
4.5 KiB
RPMSpec

#
# spec file for package ibmtss
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
#
%define suite ibmtss
Name: ibmtss
Version: 755
Release: 0
Summary: IBM's TPM 2.0 TSS
License: BSD-3-Clause
Group: Productivity/Security
Url: https://sourceforge.net/projects/ibmtpm20tss/
Source: %{name}%{version}withman.tar.gz
Patch0: makefile.patch
Source1: %{name}
Source2: %{name}.1
BuildRequires: libopenssl-devel <= 1.1
BuildRequires: libopenssl-devel >= 1.0
%ifnarch s390x s390 ppc64 ppc
BuildRequires: ibmswtpm2
%define test 1
%else
%define test ""
%endif
Recommends: %{name}-base = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This is a user space TCG Software Stack (TSS) for TPM 2.0. It
implements the functionality equivalent to the TCG TSS working
group's planned ESAPI, SAPI, and TCTI APIs.
It comes with over 100 "TPM tools" that can be used for scripted
apps, rapid prototyping, education, and debugging.
%package base
Summary: IBM's TPM 2.0 TSS shared files
Group: Productivity/Security
BuildArch: noarch
%description base
Includes IBM's TPM 2.0 TSS certificates and policy files.
%package devel
Summary: IBM's TPM 2.0 TSS headers
Group: Development/Libraries/C and C++
Requires: %{suite} = %{version}
%description devel
Includes IBM's TPM 2.0 TSS certificates and policy files.
%prep
%setup -c -q
%patch0 -p1
%build
cd utils
[ -n "%{test}" ] && { %{_libexecdir}/%{suite}/tpm_server & tpm_server="$!" ; }
CCFLAGS="%{optflags}" make LNAFLAGS="-Wl,-rpath,%{_libexecdir}/%{suite}" %{?_smp_mflags}
testfailed=0
[ -n "%{test}" ] && { TPM_INTERFACE_TYPE=socsim LD_LIBRARY_PATH=. ./reg.sh || testfailed=$? ; }
[ -n "%{test}" ] && kill "$tpm_server" || :
[ "$testfailed" -eq 0 ]
%install
cd utils
install -m 755 -D -t %{buildroot}/%{_libexecdir}/%{suite} libtss.so
install -m 755 -D -t %{buildroot}/%{_libexecdir}/%{suite} activatecredential certify changeeps changepps clear clearcontrol clockrateadjust clockset contextload contextsave create createek createprimary dictionaryattacklockreset dictionaryattackparameters duplicate eccparameters encryptdecrypt eventextend eventsequencecomplete evictcontrol flushcontext getcapability getcommandauditdigest getrandom getsessionauditdigest gettime hash hashsequencestart hierarchychangeauth hierarchycontrol hmac hmacstart import load loadexternal makecredential nvcertify nvchangeauth nvdefinespace nvextend nvglobalwritelock nvincrement nvread nvreadlock nvreadpublic nvsetbits nvundefinespace nvundefinespacespecial nvwrite nvwritelock objectchangeauth pcrallocate pcrevent pcrextend pcrread pcrreset policyauthorize policyauthvalue policycommandcode policycountertimer policycphash policygetdigest policymaker policymakerpcr policynv policynvwritten policyor policypassword policypcr policyrestart policysecret policysigned policyticket powerup quote readclock readpublic returncode rewrap rsadecrypt rsaencrypt sequencecomplete sequenceupdate setprimarypolicy shutdown sign signapp startauthsession startup stirrandom unseal verifysignature writeapp
mkdir -p %{buildroot}/%{_datadir}/%{suite}
cp -a policies certificates %{buildroot}/%{_datadir}/%{suite}
mkdir -p %{buildroot}/%{_includedir}/%{suite}
cp -a tss2 *.h %{buildroot}/%{_includedir}/%{suite}
install -p -D -m 755 %{SOURCE1} %{buildroot}/%{_bindir}/%{suite}
install -p -D -m 644 %{SOURCE1}.1 %{buildroot}/%{_mandir}/man1/%{suite}.1
sed -i -e s,%UTILDIR%,%{_libexecdir}/%{suite},g -e s,%DATADIR%,%{_datadir}/%{suite},g -e s,%DOCDIR%,%{_docdir}/%{name},g \
%{buildroot}/%{_bindir}/%{suite} %{buildroot}/%{_mandir}/man1/%{suite}.1
%files
%defattr(-,root,root)
%doc ibmtss.doc LICENSE
%{_libexecdir}/%{suite}
%{_bindir}/%{suite}
%{_mandir}/man1/%{suite}.1*
%files base
%defattr(-,root,root)
%doc LICENSE
%{_datadir}/%{suite}
%files devel
%defattr(-,root,root)
%doc LICENSE
%{_includedir}/%{suite}
%changelog