Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > by-pkgid > a20171b72dce47191f4a3543bafcab23 > files > 5

ozscr-2.0.3-6mdk.src.rpm

%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