Sophie

Sophie

distrib > Mandriva > 2007.1 > x86_64 > by-pkgid > 5f32740af25bb902f5dde33d057f24b5 > files > 3

lockdev-1.0.3-1mdv2007.0.src.rpm

%define	major 1
%define libname	%mklibname lockdev %{major}

Summary:	A library for locking devices
Name:		lockdev
Version:	1.0.3
Release:	%mkrel 1
License:	LGPL
Group:		System/Libraries
URL:		ftp://ftp.debian.org/debian/pool/main/l/lockdev/
Source0:	ftp://ftp.debian.org/debian/pool/main/l/lockdev/%{name}_%{version}.orig.tar.bz2
Patch0:		%{name}-Makefile.patch
Patch1:		%{name}-baudboy.patch
BuildRequires:	chrpath
BuildRoot:	%{_tmppath}/%{name}-%{version}

%description
Lockdev provides a reliable way to put an exclusive lock to devices using both
FSSTND and SVr4 methods.

%package -n	%{libname}
Summary:	A library for locking devices
Group:		System/Libraries

%description -n	%{libname}
Lockdev provides a reliable way to put an exclusive lock to devices using both
FSSTND and SVr4 methods.

%package -n	%{libname}-devel
Summary:	The Static lockdev library and header files for the lockdev library
Group:		Development/C
Requires:	%{libname} = %{version}-%{release}
Provides:	lib%{name}-devel = %{version}-%{release}
Provides:	%{name}-devel = %{version}-%{release}

%description -n	%{libname}-devel
The lockdev library provides a reliable way to put an exclusive lock on devices
using both FSSTND and SVr4 methods. The lockdev-devel package contains the
static development library and headers.

%package	baudboy
Summary:	lockdev utility
Group:		System/Kernel and hardware
Requires:	%{libname} = %{version}-%{release}

%description	baudboy
This package contains sgid lockdev utility used by Baudboy API.

%package -n	perl-LockDev
Summary:	LockDev - Perl extension to manage device lockfiles
Group:		Development/Perl
Requires:	%{libname} = %{version}-%{release}

%description -n	perl-LockDev
The LockDev methods act on device locks normally located in /var/lock. The lock
is acquired creating a pair of files hardlinked between them and named after
the device name (as mandated by FSSTND) and the device's major and minor
numbers (as in SVr4 locks). This permits to circumvent a problem using only the
FSSTND lock method when the same device exists under different names (for
convenience or when a device must be accessible by more than one group of
users).

The lock file names are typically in the form LCK..ttyS1 and LCK.004.065, and
their content is the pid of the process who owns the lock.

%prep

%setup -q
%patch0 -p1
%patch1 -p1

%build

make shared static lockdev CC="%{__cc}" CFLAGS="%{optflags}"

pushd LockDev
    perl Makefile.PL INSTALLDIRS=vendor
    make OPTIMIZE="%{optflags}"
popd

%install
rm -rf %{buildroot}

install -d %{buildroot}%{_sbindir}
install -d %{buildroot}%{_libdir}
install -d %{buildroot}%{_includedir}
install -d %{buildroot}%{_mandir}/man3

install -m0755 liblockdev.so.1.0.3 %{buildroot}%{_libdir}/
ln -snf liblockdev.so.1.0.3 %{buildroot}%{_libdir}/liblockdev.so.1
ln -snf liblockdev.so.1.0.3 %{buildroot}%{_libdir}/liblockdev.so

install -m0644 liblockdev.a %{buildroot}%{_libdir}/
install -m0644 src/*.h %{buildroot}%{_includedir}/
install -m0755 lockdev %{buildroot}%{_sbindir}/
install -m0644 docs/lockdev.3 %{buildroot}%{_mandir}/man3/

%makeinstall_std -C LockDev

# nuke rpath
chrpath -d %{buildroot}%{perl_vendorarch}/auto/LockDev/*.so

%post -n %{libname} -p /sbin/ldconfig

%postun -n %{libname} -p /sbin/ldconfig

%clean
rm -rf %{buildroot}

%files -n %{libname}
%defattr(-,root,root)
%doc AUTHORS ChangeLog ChangeLog.old LICENSE README.debug docs/LSB.991201
%attr(0755,root,root) %{_libdir}/lib*.so.*

%files -n %{libname}-devel
%defattr(-,root,root)
%attr(0755,root,root) %{_libdir}/*.so
%attr(0644,root,root) %{_libdir}/*.a
%attr(0644,root,root) %{_includedir}/*.h
%attr(0644,root,root) %{_mandir}/man3/lockdev.3*

%files baudboy
%defattr(-,root,root)
%attr(2755,root,uucp) %{_sbindir}/lockdev

%files -n perl-LockDev
%defattr(-,root,root)
%{perl_vendorarch}/LockDev.pm
%dir %{perl_vendorarch}/auto/LockDev
%attr(0755,root,root) %{perl_vendorarch}/auto/LockDev/*.so
%{_mandir}/man3/LockDev.3*

%changelog
* Wed Jul 26 2006 Oden Eriksson <oeriksson@mandriva.com> 1.0.3-1mdk
- initial Mandriva package (PLD import)