# # - IPC-Locker - # This spec file was automatically generated by cpan2rpm [ver: 2.028] # The following arguments were used: # --keep-pipes IPC::Locker 2>&1 # For more information on cpan2rpm please visit: http://perl.arix.com/ # %define pkgname IPC-Locker %define filelist %{pkgname}-%{version}-filelist %define NVR %{pkgname}-%{version}-%{release} %define maketest 1 name: perl-IPC-Locker summary: IPC-Locker - Distributed lock handler version: 1.488 release: 1 vendor: Wilson Snyder packager: Arix International license: Artistic group: Applications/CPAN url: http://www.cpan.org buildroot: %{_tmppath}/%{name}-%{version}-%(id -u -n) buildarch: noarch prefix: %(echo %{_prefix}) source: http://search.cpan.org//CPAN/authors/id/W/WS/WSNYDER/IPC-Locker-1.488.tar.gz %description the IPC::Locker manpage will query a remote lockerd server to obtain a lock around a critical section. When the critical section completes, the lock may be returned. This is useful for distributed utilities which run on many machines, and cannot use file locks or other such mechanisms due to NFS or lack of common file systems. Multiple locks may be requested, in which case the first lock to be free will be used. Lock requests are serviced in a first-in-first-out order, and the locker can optionally free locks for any processes that cease to exist. =over 4 =item new ([parameter=>value ...]); Create a lock structure. =item lock ([parameter=>value ...]); Try to obtain the lock, return the lock object if successful, else undef. =item locked () Return true if the lock has been obtained. =item lock_name () Return the name of the lock. =item unlock () Remove the given lock. This will be called automatically when the object is destroyed. =item ping () A simplified version of ping_status; polls the server to see if it is up. Returns true if up, otherwise undef. =item ping_status () Polls the server to see if it is up. Returns hash reference with {ok} indicating if up, and {status} with status information. If called without an object, defaults to call new() with connect_tries=>1, under the assumption that a quick go/nogo response is desired. =item break_lock () Remove current locker for the given lock. =item owner ([parameter=>value ...]); Returns a string of who has the lock or undef if not currently locked. Note that this information is not atomic, and may change asynchronously; do not use this to tell if the lock will be available, to do that, try to obtain the lock and then release it if you got it. =back # # This package was generated automatically with the cpan2rpm # utility. To get this software or for more information # please visit: http://perl.arix.com/ # %prep %setup -q -n %{pkgname}-%{version} chmod -R u+w %{_builddir}/%{pkgname}-%{version} %build grep -rsl '^#!.*perl' . | grep -v '.bak$' |xargs --no-run-if-empty \ %__perl -MExtUtils::MakeMaker -e 'MY->fixin(@ARGV)' CFLAGS="$RPM_OPT_FLAGS" %{__perl} Makefile.PL `%{__perl} -MExtUtils::MakeMaker -e ' print qq|PREFIX=%{buildroot}%{_prefix}| if \$ExtUtils::MakeMaker::VERSION =~ /5\.9[1-6]|6\.0[0-5]/ '` %{__make} %if %maketest %{__make} test %endif %install [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %{makeinstall} `%{__perl} -MExtUtils::MakeMaker -e ' print \$ExtUtils::MakeMaker::VERSION <= 6.05 ? qq|PREFIX=%{buildroot}%{_prefix}| : qq|DESTDIR=%{buildroot}| '` cmd=/usr/share/spec-helper/compress_files [ -x $cmd ] || cmd=/usr/lib/rpm/brp-compress [ -x $cmd ] && $cmd # SuSE Linux if [ -e /etc/SuSE-release -o -e /etc/UnitedLinux-release ] then %{__mkdir_p} %{buildroot}/var/adm/perl-modules %{__cat} `find %{buildroot} -name "perllocal.pod"` \ | %{__sed} -e s+%{buildroot}++g \ > %{buildroot}/var/adm/perl-modules/%{name} fi # remove special files find %{buildroot} -name "perllocal.pod" \ -o -name ".packlist" \ -o -name "*.bs" \ |xargs -i rm -f {} # no empty directories find %{buildroot}%{_prefix} \ -type d -depth \ -exec rmdir {} \; 2>/dev/null %{__perl} -MFile::Find -le ' find({ wanted => \&wanted, no_chdir => 1}, "%{buildroot}"); print "%doc init.d script readme.texi nagios Changes README"; for my $x (sort @dirs, @files) { push @ret, $x unless indirs($x); } print join "\n", sort @ret; sub wanted { return if /auto$/; local $_ = $File::Find::name; my $f = $_; s|^\Q%{buildroot}\E||; return unless length; return $files[@files] = $_ if -f $f; $d = $_; /\Q$d\E/ && return for reverse sort @INC; $d =~ /\Q$_\E/ && return for qw|/etc %_prefix/man %_prefix/bin %_prefix/share|; $dirs[@dirs] = $_; } sub indirs { my $x = shift; $x =~ /^\Q$_\E\// && $x ne $_ && return 1 for @dirs; } ' > %filelist [ -z %filelist ] && { echo "ERROR: empty %files listing" exit -1 } %clean [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %files -f %filelist %defattr(-,root,root) %changelog * Tue Sep 7 2010 rpm@janus.arix.com - Initial build.