%define name ozscr %define version 2.0.3 %define release %mkrel 6 %define module_name ozscrlx Name: %{name} Version: %{version} Release: %{release} License: LGPL # bzipped # yes, password and everything is on the download page Source0: ftp://scrdriver:scrdriver@209.19.104.194/Linux//O2Micro_PCMCIA_SCR_203_Linux_Kernel26_OpenSource.tar.bz2 Source1: ozscr-Info.plist.bz2 Source2: ozscr-dkms-make.sh.bz2 # without it, build on x86_64 was complaining: # ld: ctapi.o: relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC Patch: ozscr-fpic.patch.bz2 Summary: M.U.S.C.L.E. PC/SC O2 Micro OZSCR PCMCIA driver URL: http://www.linuxnet.com/sourcedrivers.html Group: System/Kernel and hardware # XXX ? #ExclusiveArch: %ix86 x86_64 BuildRequires: kernel-source-2.6, libpcsclite-devel, libmusclecard-devel, pkgconfig Requires: pcsc-lite >= 1.3.0, libmusclecard >= 1.3.1, kernel-2.6 Buildroot: %{_tmppath}/%{name}-%{version}-root Requires(pre): rpm-helper %description Source driver for the O2Micro Smartcardbus PCMCIA Smartcard Reader (2.6 kernel). %package -n dkms-%{name} Summary: OZ711EC1 dkms kernel module Group: System/Kernel and hardware Requires: dkms Requires: pcmcia-cs %description -n dkms-%{name} This package contains a pcmcia kernel driver for the OZ series PCMCIA smart card readers produced by O2 Micro. This driver is meant to be used with the PCSC-Lite daemon from the pcsc-lite package. %package -n pcsc-%{name} Summary: M.U.S.C.L.E. PC/SC O2 Micro OZSCR PCMCIA reader Group: System/Kernel and hardware Requires: dkms-%{name} = %{version} Requires: pcsc-lite >= 1.3.0 %description -n pcsc-%{name} This package contains the pcsc-lite bundle and config files to use the OZ series PCMCIA smart card readers produced by O2 Micro. %prep %setup -q -n OZSCR_%{version}_Kern_2.6 %patch -p1 -b .fpic # Fix Pcsc lite driver lib Makefile sed -i -e 's|-I/usr/local/include/PCSC|%(pkg-config --cflags libpcsclite)|g' src/ozctapi/Makefile # Fix config file sed -i -e 's|/usr/local/o2micro/lib_OZSCR.so|%(pkg-config --variable=usbdropdir libpcsclite)lib_OZSCR.so.%{version}|g' etc/reader.conf.* %build # Build PCSC Driver cd src/ozctapi %make %install rm -rf $RPM_BUILD_ROOT # Install tree for pcsc driver PCSCDRIVERS=$(pkg-config --variable=usbdropdir libpcsclite) install -d -m755 %{buildroot}$PCSCDRIVERS install -d -m755 %{buildroot}$PCSCDRIVERS/../services/ozscr.bundle/Contents/ install -d -m755 %{buildroot}%{_sysconfdir}/pcmcia install -d -m755 %{buildroot}/%{_sysconfdir}/reader.conf.d/ # pcsc driver install -m755 src/ozctapi/lib_OZSCR.so %{buildroot}$PCSCDRIVERS/lib_OZSCR.so.%{version} install -m644 etc/reader.conf.* %{buildroot}%{_sysconfdir}/reader.conf.d/ozscr.conf bzip2 -dc %SOURCE1 > %{buildroot}/$PCSCDRIVERS/../services/ozscr.bundle/Contents/Info.plist chmod 0644 %{buildroot}/$PCSCDRIVERS/../services/ozscr.bundle/Contents/Info.plist # permissions, eol chmod 0644 src/ozctapi/COPYING sed -i INSTALL -e 's, $,,' # dkms install tree install -d -m755 %{buildroot}/usr/src/%{name}-%{version}-%{release} install -d -m755 %{buildroot}/usr/src/%{name}-%{version}-%{release}/ozscrlx-2.6 install -d -m755 %{buildroot}/usr/src/%{name}-%{version}-%{release}/ozscrlx-2.6.13 # dkms install -m0644 etc/pcmcia/O2MICRO.conf %{buildroot}%{_sysconfdir}/pcmcia install -m0755 etc/pcmcia/smartcardreader-ozscr %{buildroot}%{_sysconfdir}/pcmcia install -m0644 src/ozscrlx-2.6/COPYING %{buildroot}/usr/src/%{name}-%{version}-%{release} cp -a src/ozscrlx-2.6/{*.[ch],Makefile} %{buildroot}/usr/src/%{name}-%{version}-%{release}/ozscrlx-2.6 cp -a src/ozscrlx-2.6.13/{*.[ch],Makefile} %{buildroot}/usr/src/%{name}-%{version}-%{release}/ozscrlx-2.6.13 bzip2 -dc %SOURCE2 > %{buildroot}/usr/src/%{name}-%{version}-%{release}/make.sh # not required, but rpmlint complains otherwise: chmod 0755 %{buildroot}/usr/src/%{name}-%{version}-%{release}/make.sh # dkms cat > %{buildroot}/usr/src/%{name}-%{version}-%{release}/dkms.conf <<EOF PACKAGE_VERSION="%{version}-%{release}" # Items below here should not have to change with each driver version PACKAGE_NAME="%{name}" DEST_MODULE_LOCATION[0]="/kernel/drivers/char/pcmcia" BUILT_MODULE_NAME[0]="%{module_name}" MAKE[0]="sh make.sh modules" CLEAN="sh make.sh modules" AUTOINSTALL="YES" EOF %clean rm -rf %{buildroot} %post -n dkms-%{name} %{_sbindir}/dkms add -m %{name} -v %{version}-%{release} --rpm_safe_upgrade %{_sbindir}/dkms build -m %{name} -v %{version}-%{release} --rpm_safe_upgrade %{_sbindir}/dkms install -m %{name} -v %{version}-%{release} --rpm_safe_upgrade # rmmod any old driver if present and not in use (e.g. by X) rmmod %{module_name} > /dev/null 2>&1 || true modprobe %{module_name} > /dev/null 2>&1 || true %preun -n dkms-%{name} dkms remove -m %{name} -v %{version}-%{release} --all --rpm_safe_upgrade %files -n dkms-%{name} %defattr(-,root,root) %{_prefix}/src/%{name}-%{version}-%{release} %{_sysconfdir}/pcmcia/smartcardreader-ozscr %config(noreplace) %{_sysconfdir}/pcmcia/O2MICRO.conf %post -n pcsc-%{name} #/sbin/ldconfig -n $(pkg-config --variable=usbdropdir libpcsclite) /usr/sbin/update-reader.conf %files -n pcsc-%{name} %defattr(-,root,root) %doc doc/Changes doc/OZ711_SCR_Registers.pdf INSTALL src/ozctapi/COPYING %{_libdir}/pcsc/*/* %config(noreplace) %{_sysconfdir}/reader.conf.d/ozscr.conf %changelog # Changelog for packages rebuilt on stable releases (leave it first): %{!?_with_unstable:* %(LC_ALL=C date +"%a %b %d %Y") %{packager} %{version}-%{release}} %{!?_with_unstable: - rebuild of %{version}-%{rel}%{distsuffix} for %{distversion}} * Thu Mar 23 2006 Andreas Hasenack <andreas@mandriva.com> 2.0.3-6%{distsuffix} - don't own files/directories from other packages - using macros for some standard locations - added download url - prereq -> requires(foo) - fixed some permissions - fixed pcsc-lite version requirement so that it is consistent * Wed Mar 13 2006 Olivier Lahaye <olivier.lahaye1@free.fr> 2.0.3-5%{distsuffix} - Rebuild against new pcsc-liste V1.3.0 and libmusclecard V1.3.1 * Wed Mar 08 2006 Olivier Lahaye <olivier.lahaye1@free.fr> 2.0.3-4%{distsuffix} - Fix update-reader-conf to update-reader.conf (since v1.2.9) * Mon Mar 06 2006 Olivier Lahaye <olivier.lahaye1@free.fr> 2.0.3-3%{distsuffix} - Repackage using dkms * Thu Mar 02 2006 Olivier Lahaye <olivier.lahaye1@free.fr> 2.0.3-2%{distsuffix} - Fixed reader.conf - Compile driver instead of using shipped binary * Thu Mar 02 2006 Olivier Lahaye <olivier.lahaye1@free.fr> 2.0.3-1%{distsuffix} - Initial package