1 # TODO: probably update patch is incomplete
4 %bcond_without dist_kernel # allow non-distribution kernel
5 %bcond_without kernel # don't build kernel modules
6 %bcond_without userspace # don't build userspace programs
7 %bcond_with verbose # verbose build (V=1)
10 %undefine with_dist_kernel
13 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
14 %{error:kernel and userspace cannot be built at the same time on PLD builders}
18 %if "%{_alt_kernel}" != "%{nil}"
19 %if 0%{?build_kernels:1}
20 %{error:alt_kernel and build_kernels are mutually exclusive}
23 %undefine with_userspace
24 %global _build_kernels %{alt_kernel}
26 %global _build_kernels %{?build_kernels:,%{?build_kernels}}
29 %if %{without userspace}
30 # nothing to be placed to debuginfo package
31 %define _enable_debug_packages 0
34 %define kbrs %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:2.6.36" ; done)
35 %define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
36 %define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
37 %define ikpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%install_kernel_pkg ; done)
39 Summary: Linux drivers for Gemplus GPR400 / GemPC 400 PCMCIA smart card readers
40 Summary(pl.UTF-8): Linuksowe sterowniki do czytników kart procesorowych Gemplus GPR400 / GemPC 400 na PCMCIA
42 Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}%{_alt_kernel}}
45 %define rel 0.%{snap}.0.1
46 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
47 License: LGPL v2.1 (IFD driver), GPL v2 (Linux kernel driver)
49 Source0: https://github.com/jeansch/gpr400/archive/master/%{pname}-%{snap}.tar.gz
50 # Source0-md5: 1ced7ca5616c257a0229b400ffcfc822
51 Patch0: %{pname}-update.patch
52 # from http://www.hydromel.net/driver/gpr400/
53 Source1: http://www.hydromel.net/driver/gpr400/iccdrv.ZIP
54 # Source1-md5: a46a0dd7b26c1c8354c7898bcd2ae7a1
55 URL: https://github.com/jeansch/gpr400/
56 BuildRequires: pcsc-lite-devel >= 1.2.0
57 BuildRequires: rpmbuild(macros) >= 1.678
58 %{?with_dist_kernel:%{expand:%kbrs}}
59 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 PC/SC driver for Gemplus GPR400 / GemPC 400 smart card readers
64 %description -l pl.UTF-8
65 Sterownik PC/SC do czytników kart procesorowych Gemplus GPR400 / GemPC
68 %package -n pcsc-driver-gpr400
69 Summary: PC/SC driver for Gemplus GPR400 / GemPC 400 smart card readers
70 Summary(pl.UTF-8): Sterownik PC/SC do czytników kart procesorowych Gemplus GPR400 / GemPC 400
74 %description -n pcsc-driver-gpr400
75 PC/SC driver for Gemplus GPR400 / GemPC 400 smart card readers
77 %description -n pcsc-driver-gpr400 -l pl.UTF-8
78 Sterownik PC/SC do czytników kart procesorowych Gemplus GPR400 / GemPC
82 %package -n kernel%{_alt_kernel}-pcmcia-gpr400\
83 Summary: Linux driver for Gemplus GPR400/GemPC 400 smart card readers\
84 Summary(pl.UTF-8): Sterownik dla Linuksa do czytników kart procesorowych GemPlus GPR400/GemPC 400\
85 Release: %{rel}@%{_kernel_ver_str}\
87 Requires(post,postun): /sbin/depmod\
88 %if %{with dist_kernel}\
89 %requires_releq_kernel\
90 Requires(postun): %releq_kernel\
93 %description -n kernel%{_alt_kernel}-pcmcia-gpr400\
94 Linux driver for Gemplus GPR400/GemPC 400 smart card readers.\
96 This package contains Linux module.\
98 %description -n kernel%{_alt_kernel}-pcmcia-gpr400 -l pl.UTF-8\
99 Sterownik dla Linuksa do czytników kart procesorowych GemPlus\
102 Ten pakiet zawiera moduł jądra Linuksa.\
105 %files -n kernel%{_alt_kernel}-pcmcia-gpr400\
106 %defattr(644,root,root,755)\
107 /lib/modules/%{_kernel_ver}/kernel/drivers/pcmcia/gpr400_cs.ko*\
110 %post -n kernel%{_alt_kernel}-pcmcia-gpr400\
111 %depmod %{_kernel_ver}\
113 %postun -n kernel%{_alt_kernel}-pcmcia-gpr400\
114 %depmod %{_kernel_ver}\
117 %define build_kernel_pkg()\
118 %build_kernel_modules -C gpr400_cs -m gpr400_cs KERNELRELEASE=%{_kernel_ver}\
119 # install to local directory, this makes building for multiple kernels easy\
120 %install_kernel_modules -D installed -m gpr400_cs/gpr400_cs -d kernel/drivers/pcmcia\
123 %define install_kernel_pkg()\
126 %{?with_kernel:%{expand:%kpkg}}
129 %setup -q -n %{pname}-master
133 %if %{with userspace}
135 CFLAGS="%{rpmcflags}" \
136 %{__make} -C ifd-gpr400 \
138 CFLAGS="%{rpmcflags} -Wall -fPIC" \
139 LD="%{__cc} %{rpmldflags}"
142 %{?with_kernel:%{expand:%bkpkg}}
145 rm -rf $RPM_BUILD_ROOT
146 install -d $RPM_BUILD_ROOT
148 %if %{with userspace}
149 install -D ifd-gpr400/libgpr400_ifd.so $RPM_BUILD_ROOT%{_libdir}/pcsc/drivers/libgpr400_ifd.so
150 install -d $RPM_BUILD_ROOT/etc/reader.conf.d
151 cat >$RPM_BUILD_ROOT/etc/reader.conf.d/gpr400.conf <<EOF
152 FRIENDLYNAME "Gemplus GPR400"
153 DEVICEFILE /dev/gpr400
154 LIBPATH %{_libdir}/pcsc/drivers/libgpr400_ifd.so
161 cp -a installed/* $RPM_BUILD_ROOT
165 rm -rf $RPM_BUILD_ROOT
167 %if %{with userspace}
168 %files -n pcsc-driver-gpr400
169 %defattr(644,root,root,755)
170 %doc ifd-gpr400/README
171 %attr(755,root,root) %{_libdir}/pcsc/drivers/libgpr400_ifd.so
172 %config(noreplace) %verify(not md5 mtime size) /etc/reader.conf.d/gpr400.conf