Hello community, here is the log from the commit of package perl-File-Which for openSUSE:Factory checked in at 2015-04-22 01:07:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-File-Which (Old) and /work/SRC/openSUSE:Factory/.perl-File-Which.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-File-Which" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-File-Which/perl-File-Which.changes 2011-11-21 12:40:14.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-File-Which.new/perl-File-Which.changes 2015-04-22 01:07:36.000000000 +0200 @@ -1,0 +2,44 @@ +Tue Apr 14 19:56:03 UTC 2015 - co...@suse.com + +- updated to 1.16 + see /usr/share/doc/packages/perl-File-Which/Changes + + 1.16 Sun 29 Mar 2015 + - Remove use Test::Script from tests that escaped when this requirement + became optional. + + 1.15 Sun 29 Mar 2015 + - Fixed small but important POD error + + 1.14 Sun 29 Mar 2015 + - App::pwhich is no longer bundled with File::Which and included + in its own distribution. + - pwhich that comes with this distribution is deprecated, and will + report a warning if you try to use it, you should insted install + App::pwhich. + - pwhich that comes with this distribution will not be installed if + App::pwhich 1.14 or better is already installed. + - pwhich will be removed from this distribution, but not before + 30 April 2015. + - Make Test::Script an optional dependency + + 1.12 Thu 26 Mar 2015 + - Fixed bug in pwhich introduced in version 1.10 where only the + first file was searched for + + 1.11 Thu 26 Mar 2015 + - Support for relative and fully qualified paths in Unix (gh#2) + + 1.10 Thu 26 Mar 2015 + - Test::Script is now a test instead of runtime requirement + It will be entirely removed as a prerequisite in a subsequent + release + - Will now find .exe and .com files (as it should) on cygwin (rt83146) + - Declared required Perl version is now 5.005003 + - Updated repository and maintainer information. Source for this + dist now lives on GitHub + - New module App::pwhich contains the guts of pwhich. It will be moved + into a separate dist in the near future. pwhich will be deprecated + and removed from this dist in the near future. + +------------------------------------------------------------------- Old: ---- File-Which-1.09.tar.gz New: ---- File-Which-1.16.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-File-Which.spec ++++++ --- /var/tmp/diff_new_pack.vTfjyK/_old 2015-04-22 01:07:37.000000000 +0200 +++ /var/tmp/diff_new_pack.vTfjyK/_new 2015-04-22 01:07:37.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-File-Which # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,48 +15,42 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild - Name: perl-File-Which +Version: 1.16 +Release: 0 %define cpan_name File-Which Summary: Portable implementation of the `which' utility -Version: 1.09 -Release: 7 -License: GPL-1.0+ or Artistic-1.0 +License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/File-Which/ -#Source: http://www.cpan.org/modules/by-module/File/File-Which-%{version}.tar.gz -Source: %{cpan_name}-%{version}.tar.gz +Source: http://www.cpan.org/authors/id/P/PL/PLICEASE/%{cpan_name}-%{version}.tar.gz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build -%{perl_requires} BuildRequires: perl BuildRequires: perl-macros -BuildRequires: perl(Exporter) -BuildRequires: perl(File::Spec) >= 0.60 -BuildRequires: perl(Getopt::Std) -BuildRequires: perl(Test::Script) >= 1.05 -# -Requires: perl(Exporter) -Requires: perl(File::Spec) >= 0.60 -Requires: perl(Getopt::Std) -Requires: perl(Test::Script) >= 1.05 +BuildRequires: perl(Test::More) >= 0.80 +%{perl_requires} %description -File::Which was created to be able to get the paths to executable programs -on systems under which the `which' program wasn't implemented in the shell. - -Authors: --------- - Per Einar Ellefsen <per.ei...@skynet.be> +'File::Which' was created to be able to get the paths to executable +programs on systems under which the `which' program wasn't implemented in +the shell. + +'File::Which' searches the directories of the user's 'PATH' (as returned by +'File::Spec->path()'), looking for executable files having the name +specified as a parameter to 'which()'. Under Win32 systems, which do not +have a notion of directly executable files, but uses special extensions +such as '.exe' and '.bat' to identify them, 'File::Which' takes extra steps +to assure that you will find the correct file (so for example, you might be +searching for 'perl', it'll try _perl.exe_, _perl.bat_, etc.) %prep %setup -q -n %{cpan_name}-%{version} +find . -type f -print0 | xargs -0 chmod 644 %build %{__perl} Makefile.PL INSTALLDIRS=vendor - %{__make} %{?_smp_mflags} %check @@ -64,18 +58,11 @@ %install %perl_make_install -# do not perl_process_packlist (noarch) -# remove .packlist file -%{__rm} -rf $RPM_BUILD_ROOT%perl_vendorarch -# remove perllocal.pod file -%{__rm} -rf $RPM_BUILD_ROOT%perl_archlib +%perl_process_packlist %perl_gen_filelist -%clean -%{__rm} -rf $RPM_BUILD_ROOT - %files -f %{name}.files -%defattr(-,root,root,-) +%defattr(-,root,root,755) %doc Changes LICENSE README %changelog ++++++ File-Which-1.09.tar.gz -> File-Which-1.16.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/Changes new/File-Which-1.16/Changes --- old/File-Which-1.09/Changes 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/Changes 2015-03-29 23:18:31.000000000 +0200 @@ -1,5 +1,43 @@ Revision history for File::Which. +1.16 Sun 29 Mar 2015 + - Remove use Test::Script from tests that escaped when this requirement + became optional. + +1.15 Sun 29 Mar 2015 + - Fixed small but important POD error + +1.14 Sun 29 Mar 2015 + - App::pwhich is no longer bundled with File::Which and included + in its own distribution. + - pwhich that comes with this distribution is deprecated, and will + report a warning if you try to use it, you should insted install + App::pwhich. + - pwhich that comes with this distribution will not be installed if + App::pwhich 1.14 or better is already installed. + - pwhich will be removed from this distribution, but not before + 30 April 2015. + - Make Test::Script an optional dependency + +1.12 Thu 26 Mar 2015 + - Fixed bug in pwhich introduced in version 1.10 where only the + first file was searched for + +1.11 Thu 26 Mar 2015 + - Support for relative and fully qualified paths in Unix (gh#2) + +1.10 Thu 26 Mar 2015 + - Test::Script is now a test instead of runtime requirement + It will be entirely removed as a prerequisite in a subsequent + release + - Will now find .exe and .com files (as it should) on cygwin (rt83146) + - Declared required Perl version is now 5.005003 + - Updated repository and maintainer information. Source for this + dist now lives on GitHub + - New module App::pwhich contains the guts of pwhich. It will be moved + into a separate dist in the near future. pwhich will be deprecated + and removed from this dist in the near future. + 1.09 Sun 27 Sep 2009 - Set svn:executable for the exe files so cygwin tests work diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/MANIFEST new/File-Which-1.16/MANIFEST --- old/File-Which-1.09/MANIFEST 2009-09-26 19:29:58.000000000 +0200 +++ new/File-Which-1.16/MANIFEST 2015-03-29 23:18:56.000000000 +0200 @@ -6,12 +6,11 @@ README script/pwhich t/01_compile.t +t/01_compile_script.t t/02_all.t t/03_simple.t t/04_pwhich.t -t/97_meta.t -t/98_pod.t -t/99_pmv.t +t/04_pwhich_script.t t/test-bin/all t/test-bin/all.bat t/test-bin/all.exe @@ -20,4 +19,5 @@ t/test-bin/test2.bat t/test-bin/test3 t/test-bin/test4/foo.txt -META.yml Module meta-data (added by MakeMaker) +META.yml Module YAML meta-data (added by MakeMaker) +META.json Module JSON meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/META.json new/File-Which-1.16/META.json --- old/File-Which-1.09/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/File-Which-1.16/META.json 2015-03-29 23:18:56.000000000 +0200 @@ -0,0 +1,60 @@ +{ + "abstract" : "Portable implementation of the \"which\" utility", + "author" : [ + "Adam Kennedy <ad...@cpan.org>" + ], + "dynamic_config" : 0, + "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.143240", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "File-Which", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : "0" + } + }, + "runtime" : { + "requires" : { + "Exporter" : "0", + "File::Spec" : "0.60", + "Getopt::Std" : "0", + "perl" : "5.005003" + } + }, + "test" : { + "requires" : { + "Test::More" : "0.80" + } + } + }, + "release_status" : "stable", + "resources" : { + "bugtracker" : { + "web" : "https://github.com/plicease/File-Which/issues" + }, + "homepage" : "https://metacpan.org/pod/File::Which", + "repository" : { + "type" : "git", + "url" : "https://github.com/plicease/File-Which.git", + "web" : "https://github.com/plicease/File-Which" + } + }, + "version" : "1.16" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/META.yml new/File-Which-1.16/META.yml --- old/File-Which-1.09/META.yml 2009-09-26 19:29:58.000000000 +0200 +++ new/File-Which-1.16/META.yml 2015-03-29 23:18:55.000000000 +0200 @@ -1,26 +1,30 @@ ---- #YAML:1.0 -name: File-Which -version: 1.09 -abstract: Portable implementation of the "which" utility +--- +abstract: 'Portable implementation of the "which" utility' author: - - Adam Kennedy <ad...@cpan.org> -license: perl -distribution_type: module -configure_requires: - ExtUtils::MakeMaker: 0 + - 'Adam Kennedy <ad...@cpan.org>' build_requires: - ExtUtils::MakeMaker: 0 -requires: - Exporter: 0 - File::Spec: 0.60 - Getopt::Std: 0 - Test::More: 0.80 - Test::Script: 1.05 -no_index: - directory: - - t - - inc -generated_by: ExtUtils::MakeMaker version 6.50 + ExtUtils::MakeMaker: '0' + Test::More: '0.80' +configure_requires: + ExtUtils::MakeMaker: '0' +dynamic_config: 0 +generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.143240' +license: perl meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: '1.4' +name: File-Which +no_index: + directory: + - t + - inc +requires: + Exporter: '0' + File::Spec: '0.60' + Getopt::Std: '0' + perl: '5.005003' +resources: + bugtracker: https://github.com/plicease/File-Which/issues + homepage: https://metacpan.org/pod/File::Which + repository: https://github.com/plicease/File-Which.git +version: '1.16' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/Makefile.PL new/File-Which-1.16/Makefile.PL --- old/File-Which-1.09/Makefile.PL 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/Makefile.PL 2015-03-27 15:47:08.000000000 +0100 @@ -1,25 +1,58 @@ -use 5.004; +use 5.005003; use strict; use ExtUtils::MakeMaker; +my @exe_files = ('script/pwhich'); + +if(eval q{ use App::pwhich 1.14; 1 }) +{ + @exe_files = (); +} + WriteMakefile( 'NAME' => 'File::Which', 'ABSTRACT' => 'Portable implementation of the "which" utility', 'VERSION_FROM' => 'lib/File/Which.pm', + ( $ExtUtils::MakeMaker::VERSION ge '6.48' ? ( + 'MIN_PERL_VERSION' => '5.005003', + ) : () ), 'PREREQ_PM' => { 'Exporter' => 0, 'Getopt::Std' => 0, 'File::Spec' => '0.60', - 'Test::More' => '0.80', - 'Test::Script' => '1.05', + ($ExtUtils::MakeMaker::VERSION lt '6.34' ? ( + 'Test::More' => '0.80', + ) : () ), }, - 'EXE_FILES' => [ - 'script/pwhich', - ], + ($ExtUtils::MakeMaker::VERSION ge '6.34' ? ( + TEST_REQUIRES => { + 'Test::More' => '0.80', + }, + ) : () ), + 'EXE_FILES' => \@exe_files, ( $] >= 5.005 ? ( AUTHOR => 'Adam Kennedy <ad...@cpan.org>', ) : () ), ( $ExtUtils::MakeMaker::VERSION ge '6.31' ? ( LICENSE => 'perl', ) : () ), + + ( $ExtUtils::MakeMaker::VERSION ge '6.46' ? ( + META_MERGE => { + 'meta-spec' => { version => 2 }, + dynamic_config => 0, + resources => { + bugtracker => { + web => 'https://github.com/plicease/File-Which/issues', + }, + homepage => 'https://metacpan.org/pod/File::Which', + repository => { + type => 'git', + url => 'https://github.com/plicease/File-Which.git', + web => 'https://github.com/plicease/File-Which', + }, + }, + }, + ) : () ), + ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/README new/File-Which-1.16/README --- old/File-Which-1.09/README 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/README 2015-03-27 15:47:08.000000000 +0100 @@ -1,109 +1,56 @@ -NAME - File::Which - Portable implementation of the `which' utility +File::Which +=========== -SYNOPSIS - use File::Which; # exports which() - use File::Which qw(which where); # exports which() and where() - - my $exe_path = which('perldoc'); - - my @paths = where('perl'); - - Or - - my @paths = which('perl'); # an array forces search for all of them - -DESCRIPTION - "File::Which" was created to be able to get the paths to executable - programs on systems under which the `which' program wasn't implemented - in the shell. - - "File::Which" searches the directories of the user's "PATH" (as returned - by "File::Spec->path()"), looking for executable files having the name - specified as a parameter to "which()". Under Win32 systems, which do not - have a notion of directly executable files, but uses special extensions - such as ".exe" and ".bat" to identify them, "File::Which" takes extra - steps to assure that you will find the correct file (so for example, you - might be searching for "perl", it'll try perl.exe, perl.bat, etc.) - -Steps Used on Win32, DOS, OS2 and VMS - Windows NT - Windows NT has a special environment variable called "PATHEXT", which is - used by the shell to look for executable files. Usually, it will contain - a list in the form ".EXE;.BAT;.COM;.JS;.VBS" etc. If "File::Which" finds - such an environment variable, it parses the list and uses it as the - different extensions. - - Windows 9x and other ancient Win/DOS/OS2 - This set of operating systems don't have the "PATHEXT" variable, and - usually you will find executable files there with the extensions ".exe", - ".bat" and (less likely) ".com". "File::Which" uses this hardcoded list - if it's running under Win32 but does not find a "PATHEXT" variable. - - VMS - Same case as Windows 9x: uses ".exe" and ".com" (in that order). - -Functions - which($short_exe_name) - Exported by default. - - $short_exe_name is the name used in the shell to call the program (for - example, "perl"). - - If it finds an executable with the name you specified, "which()" will - return the absolute path leading to this executable (for example, - /usr/bin/perl or C:\Perl\Bin\perl.exe). - - If it does *not* find the executable, it returns "undef". - - If "which()" is called in list context, it will return *all* the - matches. - - where($short_exe_name) - Not exported by default. - - Same as "which($short_exe_name)" in array context. Same as the `where' - utility, will return an array containing all the path names matching - $short_exe_name. - -BUGS AND CAVEATS - Not tested on VMS or MacOS, although there is platform specific code for - those. Anyone who haves a second would be very kind to send me a report - of how it went. - - File::Spec adds the current directory to the front of PATH if on Win32, - VMS or MacOS. I have no knowledge of those so don't know if the current - directory is searced first or not. Could someone please tell me? - -SUPPORT - Bugs should be reported via the CPAN bug tracker at - - <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Which> - - For other issues, contact the maintainer. - -AUTHOR - Adam Kennedy <ad...@cpan.org> - - Per Einar Ellefsen <perei...@cpan.org> - - Originated in modperl-2.0/lib/Apache/Build.pm. Changed for use in DocSet - (for the mod_perl site) and Win32-awareness by me, with slight - modifications by Stas Bekman, then extracted to create "File::Which". - - Version 0.04 had some significant platform-related changes, taken from - the Perl Power Tools `which' implementation by Abigail with enhancements - from Peter Prymmer. See - <http://www.perl.com/language/ppt/src/which/index.html> for more - information. - -COPYRIGHT - Copyright 2002 Per Einar Ellefsen. - - Some parts copyright 2009 Adam Kennedy. - - This program is free software; you can redistribute it and/or modify it - under the same terms as Perl itself. - -SEE ALSO - File::Spec, which(1), Perl Power Tools: - <http://www.perl.com/language/ppt/index.html>. +File::Which is a portable implementation (in Perl) of `which', and can +be used to get the absolute filename of an executable program +installed somewhere in your PATH, or just check for its existence. It +includes the command-line utility `pwhich' which has the same function +as `which'. + +INSTALLATION + +To install this module type the following (on Windows, use `nmake', +which can be obtained freely from Microsoft: see ActivePerl +documentation): + + $ tar zxvf File-Which-x.xx.tar.gz (replace x.xx with the correct version number) + $ cd File-Which-x.xx + $ perl Makefile.PL + $ make + $ make test + $ make install + +Using the CPAN shell: + + $ perl -MCPAN -eshell + cpan> install File::Which + cpan> exit + +TESTING + +When you run `make test', File::Which will test some of its +functionality. It uses the t/test-bin/ directory for this, treating +the files below it as programs. + +The tests might still be a bit shaky because there is a bit of magic +involved in doing this -- please report any problems you might have. + +Furthermore, the files under t/test-bin/ are *not* supposed to be +executed: do so at your own risk. Especially, the *.exe files are not +valid applications as they aren't compiled and might make your system +crash or whatever. Execute them at your own risk. (But don't worry, +this package doesn't bite otherwise :) + +DEPENDENCIES + +This module requires these other modules and libraries: + + File::Spec - distributed with perl. + +COPYRIGHT AND LICENCE + +Copyright (C) 2002 Per Einar Ellefsen <per.einar (at) skynet.be> + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/lib/File/Which.pm new/File-Which-1.16/lib/File/Which.pm --- old/File-Which-1.09/lib/File/Which.pm 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/lib/File/Which.pm 2015-03-29 23:16:36.000000000 +0200 @@ -1,13 +1,13 @@ package File::Which; -use 5.004; +use 5.005003; use strict; use Exporter (); use File::Spec (); use vars qw{$VERSION @ISA @EXPORT @EXPORT_OK}; BEGIN { - $VERSION = '1.09'; + $VERSION = '1.16'; @ISA = 'Exporter'; @EXPORT = 'which'; @EXPORT_OK = 'where'; @@ -16,6 +16,7 @@ use constant IS_VMS => ($^O eq 'VMS'); use constant IS_MAC => ($^O eq 'MacOS'); use constant IS_DOS => ($^O eq 'MSWin32' or $^O eq 'dos' or $^O eq 'os2'); +use constant IS_CYG => ($^O eq 'cygwin'); # For Win32 systems, stores the extensions used for # executable files @@ -32,6 +33,10 @@ } } elsif ( IS_VMS ) { push @PATHEXT, qw{.exe .com}; +} elsif ( IS_CYG ) { + # See this for more info + # http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-exe + push @PATHEXT, qw{.exe .com}; } sub which { @@ -69,6 +74,9 @@ } } + return $exec + if !IS_VMS and !IS_MAC and !IS_DOS and $exec =~ /\// and -f $exec and -x $exec; + my @path = File::Spec->path; if ( IS_DOS or IS_VMS or IS_MAC ) { unshift @path, File::Spec->curdir; @@ -89,7 +97,7 @@ IS_MAC || ( - IS_DOS + ( IS_DOS or IS_CYG ) and grep { $file =~ /$_\z/i @@ -202,30 +210,49 @@ C<`where'> utility, will return an array containing all the path names matching C<$short_exe_name>. -=head1 BUGS AND CAVEATS +=head1 CAVEATS Not tested on VMS or MacOS, although there is platform specific code for those. Anyone who haves a second would be very kind to send me a report of how it went. -File::Spec adds the current directory to the front of PATH if on -Win32, VMS or MacOS. I have no knowledge of those so don't know if the -current directory is searced first or not. Could someone please tell -me? - =head1 SUPPORT -Bugs should be reported via the CPAN bug tracker at +Bugs should be reported via the GitHub issue tracker -L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Which> +L<https://github.com/plicease/File-Which/issues> For other issues, contact the maintainer. +=head1 SEE ALSO + +=over 4 + +=item L<pwhich> + +Command line interface to this module. + +=item L<IPC::Cmd> + +Comes with a C<can_run> function with slightly different semantics that +the traditional UNIX where. It will find executables in the current +directory, even though the current directory is not searched for by +default on Unix. + +=item L<Devel::CheckBin> + +This module purports to "check that a command is available", but does not +provide any documentation on how you might use it. + +=back + =head1 AUTHOR -Adam Kennedy E<lt>ad...@cpan.orge<gt> +Current maintainer: Graham Ollis E<lt>plice...@cpan.orge<gt> + +Previous maintainer: Adam Kennedy E<lt>ad...@cpan.orge<gt> -Per Einar Ellefsen E<lt>perei...@cpan.orge<gt> +Original author: Per Einar Ellefsen E<lt>perei...@cpan.orge<gt> Originated in F<modperl-2.0/lib/Apache/Build.pm>. Changed for use in DocSet (for the mod_perl site) and Win32-awareness by me, with slight modifications diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/script/pwhich new/File-Which-1.16/script/pwhich --- old/File-Which-1.09/script/pwhich 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/script/pwhich 2015-03-29 23:16:46.000000000 +0200 @@ -1,21 +1,36 @@ #!/usr/bin/perl -use 5.004; +use 5.005003; +use strict; + +print STDERR "The pwhich bundled with File-Which is deprecated\n"; +print STDERR "It will be removed from File-Which, but not before April 30, 2015\n"; +print STDERR "Please install App::pwhich instead\n"; + +exit App::pwhich::main(@ARGV); + +package + App::pwhich; + use strict; use File::Which (); use Getopt::Std (); use vars qw{$VERSION}; BEGIN { - $VERSION = '1.09'; + $VERSION = '1.16'; } -# Handle options -my %opts = (); -Getopt::Std::getopts('av', \%opts); - -if ( $opts{v} ) { - print <<"END_TEXT"; +sub main +{ + local @ARGV = @_; + + # Handle options + my %opts = (); + Getopt::Std::getopts('av', \%opts); + + if ( $opts{v} ) { + print <<"END_TEXT"; This is pwhich running File::Which version $File::Which::VERSION Copyright 2002 Per Einar Ellefsen. @@ -26,39 +41,40 @@ it under the same terms as Perl itself. END_TEXT - exit(0); -} - -unless ( @ARGV ) { - print <<"END_TEXT"; + return 2; + } + + unless ( @ARGV ) { + print <<"END_TEXT"; Usage: $0 [-a] [-v] programname [programname ...] -a Print all matches in PATH, not just the first. -v Prints version and exits END_TEXT - - exit(0); -} - -foreach my $file ( @ARGV ) { - my @result = $opts{a} - ? File::Which::which($file) - # Need to force scalar - : scalar File::Which::which($file); - - # We might end up with @result = (undef) -> 1 elem - @result = () unless defined $result[0]; - foreach my $result ( @result ) { - print "$result\n" if $result; - } - unless ( @result ) { - print STDERR "pwhich: no $file in PATH\n"; - exit(255); - } + return 1; + } + + foreach my $file ( @ARGV ) { + my @result = $opts{a} + ? File::Which::which($file) + # Need to force scalar + : scalar File::Which::which($file); + + # We might end up with @result = (undef) -> 1 elem + @result = () unless defined $result[0]; + foreach my $result ( @result ) { + print "$result\n" if $result; + } + + unless ( @result ) { + print STDERR "pwhich: no $file in PATH\n"; + return 1; + } + } + + return 0; } -exit(0); - __END__ =pod @@ -76,8 +92,12 @@ =head1 DESCRIPTION +The pwhich bundled with File-Which is deprecated +It will be removed from File-Which, but not before April 30, 2015 +Please install L<App::pwhich> instead + `pwhich' is a command-line utility program for finding paths to other -programs based on the user's C<PATH>. It is similar to the usualy Unix +programs based on the user's C<PATH>. It is similar to the usually Unix tool `which', and tries to emulate its functionality, but is written purely in Perl (uses the module C<File::Which>), so is portable. @@ -97,18 +117,44 @@ =item -v -Prints version (of C<File::Which>) and copyright notice and exits. +Prints version (of L<File::Which>) and copyright notice and exits. =back =head1 SUPPORT -Bugs should be reported via the CPAN bug tracker at +Bugs should be reported via the GitHub issue tracker -L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Which> +L<https://github.com/plicease/File-Which/issues> For other issues, contact the maintainer. +=head1 SEE ALSO + +=over 4 + +=item L<File::Which> + +Perl API for L<pwhich> + +=item L<App::pwhich> + +Guts of this script. + +=iten L<IPC::Cmd> + +Comes with a C<can_run> function with slightly different semantics that +the traditional UNIX where. It will find executables in the current +directory, even though the current directory is not searched for by +default on Unix. + +=item L<Devel::CheckBin> + +This module purports to "check that a command is available", but does not +provide any documentation on how you might use it. + +=back + =head1 AUTHOR Adam Kennedy E<lt>ad...@cpan.orge<gt> @@ -134,8 +180,4 @@ This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. -=head1 SEE ALSO - -L<perl>, L<File::Which>, L<which(1)> - =cut diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/01_compile.t new/File-Which-1.16/t/01_compile.t --- old/File-Which-1.09/t/01_compile.t 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/t/01_compile.t 2015-03-29 23:12:48.000000000 +0200 @@ -1,14 +1,10 @@ -#!/usr/bin/perl - -use 5.004; +use 5.005003; use strict; BEGIN { $| = 1; $^W = 1; } -use Test::More tests => 2; -use Test::Script; +use Test::More tests => 1; use_ok( 'File::Which' ); -script_compiles('script/pwhich'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/01_compile_script.t new/File-Which-1.16/t/01_compile_script.t --- old/File-Which-1.09/t/01_compile_script.t 1970-01-01 01:00:00.000000000 +0100 +++ new/File-Which-1.16/t/01_compile_script.t 2015-03-29 23:13:06.000000000 +0200 @@ -0,0 +1,16 @@ +use 5.005003; +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +use Test::More; + +BEGIN { + plan skip_all => 'test requires Test::Script' unless eval q{ use Test::Script 1.05; 1 }; +} + +plan tests => 1; + +script_compiles('script/pwhich'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/02_all.t new/File-Which-1.16/t/02_all.t --- old/File-Which-1.09/t/02_all.t 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/t/02_all.t 2015-03-27 15:47:08.000000000 +0100 @@ -1,5 +1,4 @@ -#!/usr/bin/perl - +use 5.005003; use strict; BEGIN { $| = 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/03_simple.t new/File-Which-1.16/t/03_simple.t --- old/File-Which-1.09/t/03_simple.t 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/t/03_simple.t 2015-03-27 15:47:08.000000000 +0100 @@ -1,5 +1,4 @@ -#!/usr/bin/perl - +use 5.005003; use strict; BEGIN { $| = 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/04_pwhich.t new/File-Which-1.16/t/04_pwhich.t --- old/File-Which-1.09/t/04_pwhich.t 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/t/04_pwhich.t 2015-03-29 23:14:09.000000000 +0200 @@ -1,15 +1,13 @@ -#!/usr/bin/perl - # Check the pwhich script by confirming it matches the function result +use 5.005003; use strict; BEGIN { $| = 1; $^W = 1; } -use Test::More tests => 4; -use Test::Script; +use Test::More tests => 3; use File::Which; # Look for a very common program @@ -19,8 +17,3 @@ ok( $path, "Found path to $tool" ); ok( -f $path, "$tool exists" ); -# Can we find the tool with the command line version? -script_runs( - [ 'script/pwhich', 'perl' ], - 'Found perl with pwhich', -); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/04_pwhich_script.t new/File-Which-1.16/t/04_pwhich_script.t --- old/File-Which-1.09/t/04_pwhich_script.t 1970-01-01 01:00:00.000000000 +0100 +++ new/File-Which-1.16/t/04_pwhich_script.t 2015-03-29 23:13:27.000000000 +0200 @@ -0,0 +1,22 @@ +# Check the pwhich script by confirming it matches the function result + +use 5.005003; +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +use Test::More; +use File::Which; + +BEGIN { + plan skip_all => 'test requires Test::Script' unless eval q{ use Test::Script 1.05; 1 }; +} + +plan tests => 1; +# Can we find the tool with the command line version? +script_runs( + [ 'script/pwhich', 'perl' ], + 'Found perl with pwhich', +); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/97_meta.t new/File-Which-1.16/t/97_meta.t --- old/File-Which-1.09/t/97_meta.t 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/t/97_meta.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -#!/usr/bin/perl - -# Test that our META.yml file matches the current specification. - -use strict; -BEGIN { - $| = 1; - $^W = 1; -} - -my $MODULE = 'Test::CPAN::Meta 0.12'; - -# Don't run tests for installs -use Test::More; -unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { - plan( skip_all => "Author tests not required for installation" ); -} - -# Load the testing module -eval "use $MODULE"; -if ( $@ ) { - $ENV{RELEASE_TESTING} - ? die( "Failed to load required release-testing module $MODULE" ) - : plan( skip_all => "$MODULE not available for testing" ); -} - -meta_yaml_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/98_pod.t new/File-Which-1.16/t/98_pod.t --- old/File-Which-1.09/t/98_pod.t 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/t/98_pod.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,32 +0,0 @@ -#!/usr/bin/perl - -# Test that the syntax of our POD documentation is valid - -use strict; -BEGIN { - $| = 1; - $^W = 1; -} - -my @MODULES = ( - 'Pod::Simple 3.07', - 'Test::Pod 1.26', -); - -# Don't run tests for installs -use Test::More; -unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { - plan( skip_all => "Author tests not required for installation" ); -} - -# Load the testing modules -foreach my $MODULE ( @MODULES ) { - eval "use $MODULE"; - if ( $@ ) { - $ENV{RELEASE_TESTING} - ? die( "Failed to load required release-testing module $MODULE" ) - : plan( skip_all => "$MODULE not available for testing" ); - } -} - -all_pod_files_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/99_pmv.t new/File-Which-1.16/t/99_pmv.t --- old/File-Which-1.09/t/99_pmv.t 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/t/99_pmv.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,32 +0,0 @@ -#!/usr/bin/perl - -# Test that our declared minimum Perl version matches our syntax - -use strict; -BEGIN { - $| = 1; - $^W = 1; -} - -my @MODULES = ( - 'Perl::MinimumVersion 1.20', - 'Test::MinimumVersion 0.008', -); - -# Don't run tests for installs -use Test::More; -unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { - plan( skip_all => "Author tests not required for installation" ); -} - -# Load the testing modules -foreach my $MODULE ( @MODULES ) { - eval "use $MODULE"; - if ( $@ ) { - $ENV{RELEASE_TESTING} - ? die( "Failed to load required release-testing module $MODULE" ) - : plan( skip_all => "$MODULE not available for testing" ); - } -} - -all_minimum_version_from_metayml_ok(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-Which-1.09/t/test-bin/test2.bat new/File-Which-1.16/t/test-bin/test2.bat --- old/File-Which-1.09/t/test-bin/test2.bat 2009-09-26 19:29:48.000000000 +0200 +++ new/File-Which-1.16/t/test-bin/test2.bat 2015-03-27 15:47:08.000000000 +0100 @@ -1,3 +1,3 @@ -@echo off -echo This is for testing File::Which +@echo off +echo This is for testing File::Which echo Nothing interesting here! \ No newline at end of file