# # - Proc::Simple - # This spec file was automatically generated by cpan2rpm [ver: 2.028] # The following arguments were used: # --keep-pipes http://search.cpan.org/CPAN/authors/id/M/MS/MSCHILLI/Proc-Simple-1.22.tar.gz 2>&1 # For more information on cpan2rpm please visit: http://perl.arix.com/ # %define pkgname Proc-Simple %define filelist %{pkgname}-%{version}-filelist %define NVR %{pkgname}-%{version}-%{release} %define maketest 1 name: perl-Proc-Simple summary: Proc-Simple - - launch and control background processes version: 1.22 release: 1 vendor: Michael Schilli 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/M/MS/MSCHILLI/Proc-Simple-1.22.tar.gz %description The Proc::Simple package provides objects mimicing real-life processes from a user's point of view. A new process object is created by $myproc = Proc::Simple->new(); Either external programs or perl subroutines can be launched and controlled as processes in the background. A 10-second sleep process, for example, can be launched as an external program as in $myproc->start("/bin/sleep 10"); # or $myproc->start("/bin/sleep", "10"); or as a perl subroutine, as in sub mysleep { sleep(shift); } # Define mysleep() $myproc->start(\&mysleep, 10); # Launch it. or even as $myproc->start(sub { sleep(10); }); The *start* Method returns immediately after starting the specified process in background, i.e. there's no blocking. It returns *1* if the process has been launched sucessfully and *0* if not. The *poll* method checks if the process is still running $running = $myproc->poll(); and returns *1* if it is, *0* if it's not. Finally, $myproc->kill(); terminates the process by sending it the SIGTERM signal. As an option, another signal can be specified. $myproc->kill("SIGUSR1"); sends the SIGUSR1 signal to the running process. *kill* returns *1* if it succeeds in sending the signal, *0* if it doesn't. The methods are discussed in more detail in the next section. A destructor is provided so that a signal can be sent to the forked processes automatically should the process object be destroyed or if the process exits. By default this behaviour is turned off (see the kill_on_destroy and signal_on_destroy methods). # # 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 eg 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 * Mon Mar 15 2010 rpm@janus.arix.com - Initial build.