]> git.pld-linux.org Git - SPECS.git/blob - gpr400.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / gpr400.spec
1 # TODO: probably update patch is incomplete
2 #
3 # Conditional build:
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)
8
9 %if %{without kernel}
10 %undefine       with_dist_kernel
11 %endif
12
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}
15 exit 1
16 %endif
17
18 %if "%{_alt_kernel}" != "%{nil}"
19 %if 0%{?build_kernels:1}
20 %{error:alt_kernel and build_kernels are mutually exclusive}
21 exit 1
22 %endif
23 %undefine       with_userspace
24 %global         _build_kernels          %{alt_kernel}
25 %else
26 %global         _build_kernels          %{?build_kernels:,%{?build_kernels}}
27 %endif
28
29 %if %{without userspace}
30 # nothing to be placed to debuginfo package
31 %define         _enable_debug_packages  0
32 %endif
33
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)
38
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
41 %define pname   gpr400
42 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}%{_alt_kernel}}
43 Version:        0
44 %define snap    20130219
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)
48 Group:          Libraries
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)
60
61 %description
62 PC/SC driver for Gemplus GPR400 / GemPC 400 smart card readers
63
64 %description -l pl.UTF-8
65 Sterownik PC/SC do czytników kart procesorowych Gemplus GPR400 / GemPC
66 400.
67
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
71 Group:          Libraries
72 Requires:       pcsc-lite
73
74 %description -n pcsc-driver-gpr400
75 PC/SC driver for Gemplus GPR400 / GemPC 400 smart card readers
76
77 %description -n pcsc-driver-gpr400 -l pl.UTF-8
78 Sterownik PC/SC do czytników kart procesorowych Gemplus GPR400 / GemPC
79 400.
80
81 %define kernel_pkg()\
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}\
86 Group:          Base/Kernel\
87 Requires(post,postun):  /sbin/depmod\
88 %if %{with dist_kernel}\
89 %requires_releq_kernel\
90 Requires(postun):       %releq_kernel\
91 %endif\
92 \
93 %description -n kernel%{_alt_kernel}-pcmcia-gpr400\
94 Linux driver for Gemplus GPR400/GemPC 400 smart card readers.\
95 \
96 This package contains Linux module.\
97 \
98 %description -n kernel%{_alt_kernel}-pcmcia-gpr400 -l pl.UTF-8\
99 Sterownik dla Linuksa do czytników kart procesorowych GemPlus\
100 GPR400/GemPC 400.\
101 \
102 Ten pakiet zawiera moduł jądra Linuksa.\
103 \
104 %if %{with kernel}\
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*\
108 %endif\
109 \
110 %post   -n kernel%{_alt_kernel}-pcmcia-gpr400\
111 %depmod %{_kernel_ver}\
112 \
113 %postun -n kernel%{_alt_kernel}-pcmcia-gpr400\
114 %depmod %{_kernel_ver}\
115 %{nil}
116
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\
121 %{nil}
122
123 %define install_kernel_pkg()\
124 %{nil}
125
126 %{?with_kernel:%{expand:%kpkg}}
127
128 %prep
129 %setup -q -n %{pname}-master
130 %patch0 -p1
131
132 %build
133 %if %{with userspace}
134 CC="%{__cc}" \
135 CFLAGS="%{rpmcflags}" \
136 %{__make} -C ifd-gpr400 \
137         CC="%{__cc}" \
138         CFLAGS="%{rpmcflags} -Wall -fPIC" \
139         LD="%{__cc} %{rpmldflags}"
140 %endif
141
142 %{?with_kernel:%{expand:%bkpkg}}
143
144 %install
145 rm -rf $RPM_BUILD_ROOT
146 install -d $RPM_BUILD_ROOT
147
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
155 CHANNELID       5
156 EOF
157 %endif
158
159 %if %{with kernel}
160 %{expand:%ikpkg}
161 cp -a installed/* $RPM_BUILD_ROOT
162 %endif
163
164 %clean
165 rm -rf $RPM_BUILD_ROOT
166
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
173 %endif
This page took 1.839358 seconds and 3 git commands to generate.