# RPM specfile for the trousers project on Fedora %define name trousers %define version 0.3.1 %define release 14 Name: %{name} Summary: TCG's Software Stack v1.2 Version: %{version} Release: %{release}%{?dist} License: CPL Group: System Environment/Libraries Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz Url: http://trousers.sourceforge.net BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: libtool, gtk2-devel, openssl-devel Requires(pre): shadow-utils Requires(post): /sbin/ldconfig Requires(post): /sbin/chkconfig Requires(postun): /sbin/ldconfig Requires(postun): /sbin/service Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service Patch0: trousers-0.3.1-remove-group-install-code.patch Patch1: trousers-0.3.1-limits.patch Patch2: trousers-0.3.1-cast.patch Patch3: trousers-0.3.1-module-ordering.patch Patch4: trousers-0.3.1-workaround-selinux-namespace-pollution.patch Patch5: trousers-0.3.1-reuseaddr.patch Patch6: trousers-0.3.1-use-tpm-emu.patch %description TrouSerS is an implementation of the Trusted Computing Group's Software Stack (TSS) specification. You can use TrouSerS to write applications that make use of your TPM hardware. TPM hardware can create, store and use RSA keys securely (without ever being exposed in memory), verify a platform's software state using cryptographic hashes and more. %package static Summary: TrouSerS TCG Device Driver Library Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} %description static The TCG Device Driver Library (TDDL) used by the TrouSerS tcsd as the interface to the TPM's device driver. For more information about writing applications to the TDDL interface, see the latest TSS spec at https://www.trustedcomputinggroup.org/specs/TSS. %package devel Summary: TrouSerS header files and documentation Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel Header files and man pages for use in creating Trusted Computing enabled applications. %prep %setup -q %patch0 -p1 %patch1 -p2 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %build %configure make %{?_smp_mflags} %install rm -rf ${RPM_BUILD_ROOT} mkdir -p ${RPM_BUILD_ROOT}/%{_localstatedir}/lib/tpm mkdir -p ${RPM_BUILD_ROOT}/%{_initrddir} cp -p dist/fedora/fedora.initrd.tcsd ${RPM_BUILD_ROOT}/%{_initrddir}/tcsd make install DESTDIR=${RPM_BUILD_ROOT} INSTALL="install -p" rm -f ${RPM_BUILD_ROOT}/%{_libdir}/libtspi.la %clean rm -rf ${RPM_BUILD_ROOT} %pre getent group tss >/dev/null || groupadd -g 59 r tss getent passwd tss >/dev/null || \ useradd -r -u 59 -g tss -d /dev/null -s /sbin/nologin \ -c "Account used by the trousers package to sandbox the tcsd daemon" tss exit 0 %post /sbin/ldconfig /sbin/chkconfig --add tcsd %preun if [ $1 = 0 ]; then /sbin/service tcsd stop &> /dev/null /sbin/chkconfig --del tcsd fi %postun /sbin/ldconfig if [ $1 -gt 1 ]; then /sbin/service tcsd condrestart &>/dev/null fi %files %defattr(-, root, root, -) %doc README AUTHORS LICENSE ChangeLog %attr(755, tss, tss) %{_sbindir}/tcsd %{_libdir}/libtspi.so.? %{_libdir}/libtspi.so.?.?.? %config(noreplace) %attr(600, tss, tss) %{_sysconfdir}/tcsd.conf %attr(644, root, root) %{_mandir}/man5/* %attr(644, root, root) %{_mandir}/man8/* %{_initrddir}/tcsd %{_localstatedir}/lib/tpm/ %files devel # The files to be used by developers, 'trousers-devel' %defattr(-, root, root, -) %attr(755, root, root) %{_libdir}/libtspi.so %{_includedir}/tss/ %{_includedir}/trousers/ %{_mandir}/man3/Tspi_* %files static %defattr(-, root, root, -) # The only static library shipped by trousers, the TDDL %{_libdir}/libtddl.a %changelog * Wed Feb 25 2009 Fedora Release Engineering - 0.3.1-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sun Jan 18 2009 Tomas Mraz - 0.3.1-13 - rebuild with new openssl * Tue Dec 16 2008 David Woodhouse - 0.3.1-12 - Bump release to avoid wrong tag in rawhide * Tue Dec 16 2008 David Woodhouse - 0.3.1-11 - Work around SELinux namespace pollution (#464037) - Use SO_REUSEADDR - Use TPM emulator if it's available and no hardware is * Wed Aug 08 2008 Emily Ratliff - 0.3.1-10 - Use the uid/gid pair assigned to trousers from BZ#457593 * Fri Aug 01 2008 Emily Ratliff - 0.3.1-9 - Incorporated changes from the RHEL package which were done by Steve Grubb * Wed Jun 04 2008 Emily Ratliff - 0.3.1-8 - Fix cast issue preventing successful build on ppc64 and x86_64 * Tue Jun 03 2008 Emily Ratliff - 0.3.1-7 - Fix for BZ #434267 and #440733. Patch authored by Debora Velarde * Tue Feb 19 2008 Fedora Release Engineering - 0.3.1-6 - Autorebuild for GCC 4.3 * Mon Dec 17 2007 Kent Yoder - 0.3.1-5 - Updated static rpm's comment line (too long) * Thu Dec 13 2007 Kent Yoder - 0.3.1-4 - Updated specfile for RHBZ#323441 comment #28 * Wed Dec 12 2007 Kent Yoder - 0.3.1-3 - Updated specfile for RHBZ#323441 comment #22 * Wed Nov 28 2007 Kent Yoder - 0.3.1-2 - Updated to include the include dirs in the devel package; added the no-install-hooks patch * Wed Nov 28 2007 Kent Yoder - 0.3.1-1 - Updated specfile for RHBZ#323441 comment #13 * Mon Nov 12 2007 Kent Yoder - 0.3.1 - Updated specfile for comments in RHBZ#323441 * Wed Jun 07 2006 Kent Yoder - 0.2.6-1 - Updated build section to use smp_mflags - Removed .la file from installed dest and files section * Tue Jun 06 2006 Kent Yoder - 0.2.6-1 - Initial add of changelog tag for trousers CVS