3 %bcond_without kernel # don't build kernel modules
4 %bcond_without userspace # don't build userspace packages
5 %bcond_with verbose # verbose kernel module build
7 # The goal here is to have main, userspace, package built once with
8 # simple release number, and only rebuild kernel packages with kernel
9 # version as part of release number, without the need to bump release
10 # with every kernel change.
11 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
12 %{error:kernel and userspace cannot be built at the same time on PLD builders}
16 %if %{without userspace}
17 # nothing to be placed to debuginfo package
18 %define _enable_debug_packages 0
21 %define _duplicate_files_terminate_build 0
23 %define pname tpm_emulator
25 Summary: Software-based TPM and MTM Emulator
26 Summary(pl.UTF-8): Programowy emulator TPM i MTM
27 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
29 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
31 Group: Applications/System
32 Source0: http://downloads.sourceforge.net/tpm-emulator.berlios/%{pname}-%{version}.tar.gz
33 # Source0-md5: e26becb8a6a2b6695f6b3e8097593db8
34 Patch0: %{pname}-libdir.patch
35 URL: http://tpm-emulator.berlios.de/
36 BuildRequires: cmake >= 2.4
37 BuildRequires: gmp-devel
38 BuildRequires: rpmbuild(macros) >= 1.701
39 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
40 Requires: %{name}-libs = %{version}-%{rel}
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 Software-based TPM and MTM Emulator.
46 %description -l pl.UTF-8
47 Programowy emulator TPM i MTM.
50 Summary: TSS-conformant device driver library for the emulator
51 Summary(pl.UTF-8): Biblioteka sterownika urządzenia zgodnego z TSS dla emulatora
55 TSS-conformant device driver library for the emulator.
57 %description libs -l pl.UTF-8
58 Biblioteka sterownika urządzenia zgodnego z TSS dla emulatora.
61 Summary: Header file for TDDL library
62 Summary(pl.UTF-8): Plik nagłówkowy biblioteki TDDL
63 Group: Development/Libraries
64 Requires: %{name}-libs = %{version}-%{rel}
67 Header file for TDDL library.
69 %description devel -l pl.UTF-8
70 Plik nagłówkowy biblioteki TDDL.
73 Summary: Static TDDL library
74 Summary(pl.UTF-8): Statyczna biblioteka TDDL
75 Group: Development/Libraries
76 Requires: %{name}-devel = %{version}-%{rel}
81 %description static -l pl.UTF-8
82 Statyczna biblioteka TDDL.
85 %package -n kernel%{_alt_kernel}-char-tpmd\
86 Summary: Kernel module that provides /dev/tpm device\
87 Summary(pl.UTF-8): Moduł jądra udostępniający urządzenie /dev/tpm\
88 Release: %{rel}@%{_kernel_ver_str}\
90 %requires_releq_kernel\
91 Requires(postun): %releq_kernel\
93 %description -n kernel%{_alt_kernel}-char-tpmd\
94 Kernel module that provides /dev/tpm device for backward compatibility\
95 and forwards the received commands to tpmd.\
97 %description -n kernel%{_alt_kernel}-char-tpmd -l pl.UTF-8\
98 Moduł jądra udostępniający dla kompatybilności urządzenie /dev/tpm i\
99 przekazujący odebrane polecenia do tpmd.\
102 %files -n kernel%{_alt_kernel}-char-tpmd\
103 %defattr(644,root,root,755)\
104 /lib/modules/%{_kernel_ver}/misc/tpmd_dev.ko*\
105 /lib/udev/rules.d/80-tpmd_dev.rules\
108 %post -n kernel%{_alt_kernel}-char-tpmd\
109 %depmod %{_kernel_ver}\
111 %postun -n kernel%{_alt_kernel}-char-tpmd\
112 %depmod %{_kernel_ver}\
115 %define build_kernel_pkg()\
116 %build_kernel_modules -m tpmd_dev -C tpmd_dev/linux\
117 %install_kernel_modules -D installed -m tpmd_dev/linux/tpmd_dev -d misc\
120 %{?with_kernel:%{expand:%create_kernel_packages}}
123 %setup -q -n %{pname}-%{version}
126 # separate kernel module from userspace build
127 echo > tpmd_dev/CMakeLists.txt
133 %if %{with userspace}
138 ln -sf ../../build/config.h tpmd_dev/linux/config.h
139 %{__make} -C tpmd_dev/linux tpmd_dev.rules
140 %{expand:%build_kernel_packages}
144 rm -rf $RPM_BUILD_ROOT
146 %if %{with userspace}
147 %{__make} -C build install \
148 DESTDIR=$RPM_BUILD_ROOT
152 install -d $RPM_BUILD_ROOT/lib/udev/rules.d
153 cp -p tpmd_dev/linux/tpmd_dev.rules $RPM_BUILD_ROOT/lib/udev/rules.d/80-tpmd_dev.rules
154 cp -a installed/* $RPM_BUILD_ROOT
158 rm -rf $RPM_BUILD_ROOT
160 %post libs -p /sbin/ldconfig
161 %postun libs -p /sbin/ldconfig
163 %if %{with userspace}
165 %defattr(644,root,root,755)
166 %doc AUTHORS ChangeLog README
167 %attr(755,root,root) %{_bindir}/tpmd
170 %defattr(644,root,root,755)
171 %attr(755,root,root) %{_libdir}/libtddl.so.*.*.*.*
172 %attr(755,root,root) %ghost %{_libdir}/libtddl.so.1.2
175 %defattr(644,root,root,755)
176 %attr(755,root,root) %{_libdir}/libtddl.so
177 %{_includedir}/tddl.h
180 %defattr(644,root,root,755)