Hello community,
here is the log from the commit of package perl-IO-Interactive for
openSUSE:Factory checked in at 2016-02-25 22:01:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-IO-Interactive (Old)
and /work/SRC/openSUSE:Factory/.perl-IO-Interactive.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-IO-Interactive"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-IO-Interactive/perl-IO-Interactive.changes
2011-11-21 12:41:26.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.perl-IO-Interactive.new/perl-IO-Interactive.changes
2016-02-25 22:48:31.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Feb 7 10:07:36 UTC 2016 - [email protected]
+
+- updated to 1.021
+ see /usr/share/doc/packages/perl-IO-Interactive/Changes
+
+-------------------------------------------------------------------
Old:
----
IO-Interactive-0.0.6.tar.gz
New:
----
IO-Interactive-1.021.tar.gz
cpanspec.yml
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-IO-Interactive.spec ++++++
--- /var/tmp/diff_new_pack.x4BQmB/_old 2016-02-25 22:48:32.000000000 +0100
+++ /var/tmp/diff_new_pack.x4BQmB/_new 2016-02-25 22:48:32.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-IO-Interactive
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 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
@@ -16,23 +16,23 @@
#
-
Name: perl-IO-Interactive
-Version: 0.0.6
-Release: 1
-License: GPL-1.0+ or Artistic-1.0
+Version: 1.021
+Release: 0
%define cpan_name IO-Interactive
Summary: Utilities for interactive I/O
-Url: http://search.cpan.org/dist/IO-Interactive/
+License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
-#Source:
http://www.cpan.org/authors/id/B/BD/BDFOY/IO-Interactive-%{version}.tar.gz
-Source: %{cpan_name}-%{version}.tar.gz
-BuildRequires: perl(version)
+Url: http://search.cpan.org/dist/IO-Interactive/
+Source0:
http://www.cpan.org/authors/id/B/BD/BDFOY/%{cpan_name}-%{version}.tar.gz
+Source1: cpanspec.yml
+BuildArch: noarch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-Requires: perl(version)
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildArch: noarch
+BuildRequires: perl(Test::More) >= 0.94
+BuildRequires: perl(version) >= 0.78
+Requires: perl(version) >= 0.78
%{perl_requires}
%description
@@ -41,17 +41,17 @@
* 'is_interactive()'
- This subroutine returns true if '*ARGV' and the currently selected
- filehandle (usually '*STDOUT') are connected to the terminal. The test is
- considerably more sophisticated than:
+This subroutine returns true if '*ARGV' and the currently selected
+filehandle (usually '*STDOUT') are connected to the terminal. The test is
+considerably more sophisticated than:
-t *ARGV && -t *STDOUT
- as it takes into account the magic behaviour of '*ARGV'.
+as it takes into account the magic behaviour of '*ARGV'.
- You can also pass 'is_interactive' a writable filehandle, in which case
- it requires that filehandle be connected to a terminal (instead of the
- currently selected). The usual suspect here is '*STDERR':
+You can also pass 'is_interactive' a writable filehandle, in which case it
+requires that filehandle be connected to a terminal (instead of the
+currently selected). The usual suspect here is '*STDERR':
if ( is_interactive(*STDERR) ) {
carp $warning;
@@ -59,34 +59,34 @@
* 'interactive()'
- This subroutine returns '*STDOUT' if 'is_interactive' is true. If
- 'is_interactive()' is false, 'interactive' returns a filehandle that does
- not print.
+This subroutine returns '*STDOUT' if 'is_interactive' is true. If
+'is_interactive()' is false, 'interactive' returns a filehandle that does
+not print.
- This makes it easy to create applications that print out only when the
- application is interactive:
+This makes it easy to create applications that print out only when the
+application is interactive:
print {interactive} "Please enter a value: ";
my $value = <>;
- You can also pass 'interactive' a writable filehandle, in which case it
- writes to that filehandle if it is connected to a terminal (instead of
- writinbg to '*STDOUT'). Once again, the usual suspect is '*STDERR':
+You can also pass 'interactive' a writable filehandle, in which case it
+writes to that filehandle if it is connected to a terminal (instead of
+writing to '*STDOUT'). Once again, the usual suspect is '*STDERR':
print {interactive(*STDERR)} $warning;
* 'busy {...}'
- This subroutine takes a block as its single argument and executes that
- block. Whilst the block is executed, '*ARGV' is temporarily replaced by a
- closed filehandle. That is, no input from '*ARGV' is possible in a 'busy'
- block. Furthermore, any attempts to send input into the 'busy' block
- through '*ARGV' is intercepted and a warning message is printed to
- '*STDERR'. The 'busy' call returns a filehandle that contains the
- intercepted input.
+This subroutine takes a block as its single argument and executes that
+block. Whilst the block is executed, '*ARGV' is temporarily replaced by a
+closed filehandle. That is, no input from '*ARGV' is possible in a 'busy'
+block. Furthermore, any attempts to send input into the 'busy' block
+through '*ARGV' is intercepted and a warning message is printed to
+'*STDERR'. The 'busy' call returns a filehandle that contains the
+intercepted input.
- A 'busy' block is therefore useful to prevent attempts at input when the
- program is busy at some non-interactive task.
+A 'busy' block is therefore useful to prevent attempts at input when the
+program is busy at some non-interactive task.
%prep
%setup -q -n %{cpan_name}-%{version}
@@ -103,11 +103,8 @@
%perl_process_packlist
%perl_gen_filelist
-%clean
-%{__rm} -rf %{buildroot}
-
%files -f %{name}.files
-%defattr(644,root,root,755)
-%doc Changes examples README
+%defattr(-,root,root,755)
+%doc Changes examples LICENSE
%changelog
++++++ IO-Interactive-0.0.6.tar.gz -> IO-Interactive-1.021.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/Changes
new/IO-Interactive-1.021/Changes
--- old/IO-Interactive-0.0.6/Changes 2009-11-13 06:12:58.000000000 +0100
+++ new/IO-Interactive-1.021/Changes 2016-01-27 21:30:37.000000000 +0100
@@ -1,36 +1,51 @@
-Revision history for IO-Interactive
+Revision history for Perl module IO::Interactive
-0.05 - Wed Jan 14 22:54:13 2009
- * Happy 2009! There aren't any code changes, but I needed to
+1.021 2016-01-27T20:29:17Z
+ * Freshen the distro a bit
+ * Somehow CPAN still has 0.0.6, so no one has David Muey's enhancements
+
+1.01 - 2011-11-18
+ * Decrease memory use a bit ***:
+ 1. lazy load Carp.pm only if we're about to croak()
+ 2. Remove use of version.pm since a decimal will do (made it 1.01 per
discussion) - moots rt 50120
+ 3. Remove the need for Scalar::Util
+
+ === Baseline RSS 1204,
+ Orig RSS 2464 (+1260),
+ New RSS 2244 (+1040)
+
+ Technically -220 not a *huge* gain, but the ::Tiny version I'd
worked up before this patch had an RSS of 1332 (+128).
+ I need to look into that and see if anything else could be done
here.
+
+0.0.6 - 2009-01-14
+
+0.0.5 - 2009-01-14
+ * Happy 2009! There aren't any code changes, but I needed to
make the version in the Pod match the code version.
-0.04 - Sun Aug 31 13:54:27 2008
+0.0.4 - 2008-08-31
* Fixes include:
* #24823: is_interactive() and command line arguments
* #38660: "null" filehandle is a memory leak
* #20689: IO::Interactive leaks temp files
-0.03_01 - Sun Aug 24 21:53:11 2008
+0.03_01 - 2008-08-24
* Cleaning up old tickets:
- + #20689 Now that we don't use a scalar filehandle,
+ * #20689 Now that we don't use a scalar filehandle,
no extra temp files under 5.6.2
- + #24823 Applied Schwern's patch to ignore command
+ * #24823 Applied Schwern's patch to ignore command
line arguments
- + #38660 Fix memory link (same fix for #20689, not
+ * #38660 Fix memory link (same fix for #20689, not
printing to a scalar
* Maintainer is now brian d foy <[email protected]>
-0.0.1 Thu Mar 17 04:56:55 2005
- Initial release.
-
-
-
-0.0.2 Sun May 22 05:41:14 2005
-
- - added dependency on version.pm
+0.0.3 - 2006-02-17
+ * Fixed is_interactive to default to currently selected filehandle,
+ rather than to *STDOUT.
+0.0.2 - 2005-05-22
+ * added dependency on version.pm
-0.0.3 Fri Feb 17 15:57:54 2006
+0.0.1 - 2005-03-17
+ * Initial release.
- - Fixed is_interactive to default to currently selected filehandle,
- rather than to *STDOUT.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/INSTALL.SKIP
new/IO-Interactive-1.021/INSTALL.SKIP
--- old/IO-Interactive-0.0.6/INSTALL.SKIP 1970-01-01 01:00:00.000000000
+0100
+++ new/IO-Interactive-1.021/INSTALL.SKIP 2016-01-27 21:30:37.000000000
+0100
@@ -0,0 +1,6 @@
+README\.pod
+README.*
+
+# things that might be in local directories after fooling
+# around with them
+\.DS_Store
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/LICENSE
new/IO-Interactive-1.021/LICENSE
--- old/IO-Interactive-0.0.6/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/IO-Interactive-1.021/LICENSE 2016-01-27 21:30:37.000000000 +0100
@@ -0,0 +1,177 @@
+The IO::Interactive module is licensed under the same terms as perl
+itself, under the Artistic License 2.0.
+
+
+Artistic License 2.0
+Copyright (c) 2000-2006, The Perl Foundation.
+http://www.perlfoundation.org/artistic_license_2_0
+
+Preamble
+
+This license establishes the terms under which a given free software
+Package may be copied, modified, distributed, and/or redistributed.
+The intent is that the Copyright Holder maintains some artistic
+control over the development of that Package while still keeping the
+Package available as open source and free software.
+
+You are always permitted to make arrangements wholly outside of this
+license directly with the Copyright Holder of a given Package. If the
+terms of this license do not permit the full use that you propose to
+make of the Package, you should contact the Copyright Holder and seek
+a different licensing arrangement.
+
+Definitions
+
+"Copyright Holder" means the individual(s) or organization(s) named in
+the copyright notice for the entire Package.
+
+"Contributor" means any party that has contributed code or other
+material to the Package, in accordance with the Copyright Holder's
+procedures.
+
+"You" and "your" means any person who would like to copy, distribute,
+or modify the Package.
+
+"Package" means the collection of files distributed by the Copyright
+Holder, and derivatives of that collection and/or of those files. A
+given Package may consist of either the Standard Version, or a
+Modified Version.
+
+"Distribute" means providing a copy of the Package or making it
+accessible to anyone else, or in the case of a company or
+organization, to others outside of your company or organization.
+
+"Distributor Fee" means any fee that you charge for Distributing this
+Package or providing support for this Package to another party. It
+does not mean licensing fees.
+
+"Standard Version" refers to the Package if it has not been modified,
+or has been modified only in ways explicitly requested by the
+Copyright Holder.
+
+"Modified Version" means the Package, if it has been changed, and such
+changes were not explicitly requested by the Copyright Holder.
+
+"Original License" means this Artistic License as Distributed with the
+Standard Version of the Package, in its current version or as it may
+be modified by The Perl Foundation in the future.
+
+"Source" form means the source code, documentation source, and
+configuration files for the Package.
+
+"Compiled" form means the compiled bytecode, object code, binary, or
+any other form resulting from mechanical transformation or translation
+of the Source form.
+
+Permission for Use and Modification Without Distribution
+
+(1) You are permitted to use the Standard Version and create and use
+Modified Versions for any purpose without restriction, provided that
+you do not Distribute the Modified Version.
+
+Permissions for Redistribution of the Standard Version
+
+(2) You may Distribute verbatim copies of the Source form of the
+Standard Version of this Package in any medium without restriction,
+either gratis or for a Distributor Fee, provided that you duplicate
+all of the original copyright notices and associated disclaimers. At
+your discretion, such verbatim copies may or may not include a
+Compiled form of the Package.
+
+(3) You may apply any bug fixes, portability changes, and other
+modifications made available from the Copyright Holder. The resulting
+Package will still be considered the Standard Version, and as such
+will be subject to the Original License.
+
+Distribution of Modified Versions of the Package as Source
+
+(4) You may Distribute your Modified Version as Source (either gratis
+or for a Distributor Fee, and with or without a Compiled form of the
+Modified Version) provided that you clearly document how it differs
+from the Standard Version, including, but not limited to, documenting
+any non-standard features, executables, or modules, and provided that
+you do at least ONE of the following:
+
+ (a) make the Modified Version available to the Copyright Holder of the
+ Standard Version, under the Original License, so that the Copyright
+ Holder may include your modifications in the Standard Version.
+
+ (b) ensure that installation of your Modified Version does not prevent
+ the user installing or running the Standard Version. In addition, the
+ Modified Version must bear a name that is different from the name of
+ the Standard Version.
+
+ (c) allow anyone who receives a copy of the Modified Version to make
+ the Source form of the Modified Version available to others under
+
+ (i) the Original License or
+
+ (ii) a license that permits the licensee to freely copy, modify
and
+ redistribute the Modified Version using the same licensing
terms that
+ apply to the copy that the licensee received, and requires that
the
+ Source form of the Modified Version, and of any works derived
from it,
+ be made freely available in that license fees are prohibited but
+ Distributor Fees are allowed.
+
+Distribution of Compiled Forms of the Standard Version or Modified
+Versions without the Source
+
+(5) You may Distribute Compiled forms of the Standard Version without
+the Source, provided that you include complete instructions on how to
+get the Source of the Standard Version. Such instructions must be
+valid at the time of your distribution. If these instructions, at any
+time while you are carrying out such distribution, become invalid, you
+must provide new instructions on demand or cease further distribution.
+If you provide valid instructions or cease distribution within thirty
+days after you become aware that the instructions are invalid, then
+you do not forfeit any of your rights under this license.
+
+(6) You may Distribute a Modified Version in Compiled form without the
+Source, provided that you comply with Section 4 with respect to the
+Source of the Modified Version.
+
+Aggregating or Linking the Package
+
+(7) You may aggregate the Package (either the Standard Version or
+Modified Version) with other packages and Distribute the resulting
+aggregation provided that you do not charge a licensing fee for the
+Package. Distributor Fees are permitted, and licensing fees for other
+components in the aggregation are permitted. The terms of this license
+apply to the use and Distribution of the Standard or Modified Versions
+as included in the aggregation.
+
+(8) You are permitted to link Modified and Standard Versions with
+other works, to embed the Package in a larger work of your own, or to
+build stand-alone binary or bytecode versions of applications that
+include the Package, and Distribute the result without restriction,
+provided the result does not expose a direct interface to the Package.
+
+Items That are Not Considered Part of a Modified Version
+
+(9) Works (including, but not limited to, modules and scripts) that
+merely extend or make use of the Package, do not, by themselves, cause
+the Package to be a Modified Version. In addition, such works are not
+considered parts of the Package itself, and are not subject to the
+terms of this license.
+
+General Provisions
+
+(10) Any use, modification, and distribution of the Standard or
+Modified Versions is governed by this Artistic License. By using,
+modifying or distributing the Package, you accept this license. Do not
+use, modify, or distribute the Package, if you do not accept this
+license.
+
+(11) If your Modified Version has been derived from a Modified Version
+made by someone other than you, you are nevertheless required to
+ensure that your Modified Version complies with the requirements of
+this license.
+
+(12) This license does not grant you the right to use any trademark,
+service mark, tradename, or logo of the Copyright Holder.
+
+(13) This license includes the non-exclusive, worldwide,
+free-of-charge patent license to make, have made, use, offer to sell,
+sell, import and otherwise transfer the Package with respect to any
+patent claims licensable by the Copyright Holder that are necessarily
+infringed by the Package. If you institute patent litigation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/MANIFEST
new/IO-Interactive-1.021/MANIFEST
--- old/IO-Interactive-0.0.6/MANIFEST 2009-11-13 06:12:58.000000000 +0100
+++ new/IO-Interactive-1.021/MANIFEST 2016-01-27 21:30:42.000000000 +0100
@@ -1,15 +1,19 @@
Changes
examples/interactive.pl
examples/memory_test.pl
+INSTALL.SKIP
lib/IO/Interactive.pm
+LICENSE
Makefile.PL
MANIFEST
MANIFEST.SKIP
-README
+META.yml
+README.pod
t/00.load.t
t/busy.t
t/interactive.t
t/is_interactive.t
t/pod-coverage.t
t/pod.t
-META.yml
+xt/changes.t
+META.json Module JSON meta-data (added by
MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/MANIFEST.SKIP
new/IO-Interactive-1.021/MANIFEST.SKIP
--- old/IO-Interactive-0.0.6/MANIFEST.SKIP 2009-11-13 06:12:58.000000000
+0100
+++ new/IO-Interactive-1.021/MANIFEST.SKIP 2016-01-27 21:30:37.000000000
+0100
@@ -1,16 +1,62 @@
-\.git
-_build
-blib
-pm_to_blib
+#!start included /usr/local/perls/perl-5.20.0/lib/5.20.0/ExtUtils/MANIFEST.SKIP
+# Avoid version control files.
+\bRCS\b
+\bCVS\b
+\bSCCS\b
+,v$
+\B\.svn\b
+\B\.git\b
+\B\.gitignore\b
+\b_darcs\b
+\B\.cvsignore$
+
+# Avoid VMS specific MakeMaker generated files
+\bDescrip.MMS$
+\bDESCRIP.MMS$
+\bdescrip.mms$
+
+# Avoid Makemaker generated and utility files.
+\bMANIFEST\.bak
+\bMakefile$
+\bblib/
+\bMakeMaker-\d
+\bpm_to_blib\.ts$
+\bpm_to_blib$
+\bblibdirs\.ts$ # 6.18 through 6.25 generated this
+
+# Avoid Module::Build generated and utility files.
+\bBuild$
+\b_build/
+\bBuild.bat$
+\bBuild.COM$
+\bBUILD.COM$
+\bbuild.com$
+
+# Avoid temp and backup files.
+~$
+\.old$
+\#$
+\b\.#
\.bak$
-Build
-\.DS_Store
-\.orig$
+\.tmp$
+\.#
\.rej$
-\.new$
-Makefile$
-Makefile.old
-\.gz$
-META.yml
-.releaserc
+
+# Avoid OS-specific files/dirs
+# Mac OSX metadata
+\B\.DS_Store
+# Mac OSX SMB mount metadata files
+\B\._
+
+# Avoid Devel::Cover and Devel::CoverX::Covered files.
+\bcover_db\b
+\bcovered\b
+
+# Avoid MYMETA files
+^MYMETA\.
+#!end included /usr/local/perls/perl-5.20.0/lib/5.20.0/ExtUtils/MANIFEST.SKIP
+
+
+\.releaserc
^IO-
+\.travis\.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/META.json
new/IO-Interactive-1.021/META.json
--- old/IO-Interactive-0.0.6/META.json 1970-01-01 01:00:00.000000000 +0100
+++ new/IO-Interactive-1.021/META.json 2016-01-27 21:30:42.000000000 +0100
@@ -0,0 +1,57 @@
+{
+ "abstract" : "Utilities for interactive I/O",
+ "author" : [
+ "Damian Conway <[email protected]>"
+ ],
+ "dynamic_config" : 1,
+ "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter
version 2.140640",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "IO-Interactive",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {}
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.64",
+ "File::Spec::Functions" : "0"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "perl" : "5.008",
+ "version" : "0.78"
+ }
+ },
+ "test" : {
+ "requires" : {
+ "Test::More" : "0.94"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "https://github.com/briandfoy/io-interactive/issues"
+ },
+ "homepage" : "https://github.com/briandfoy/io-interactive",
+ "repository" : {
+ "type" : "git",
+ "url" : "https://github.com/briandfoy/io-interactive.git",
+ "web" : "https://github.com/briandfoy/io-interactive"
+ }
+ },
+ "version" : "1.021"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/META.yml
new/IO-Interactive-1.021/META.yml
--- old/IO-Interactive-0.0.6/META.yml 2009-11-13 06:12:58.000000000 +0100
+++ new/IO-Interactive-1.021/META.yml 2016-01-27 21:30:41.000000000 +0100
@@ -1,20 +1,28 @@
---
-name: IO-Interactive
-version: 0.0.6
+abstract: 'Utilities for interactive I/O'
author:
- 'Damian Conway <[email protected]>'
-abstract: Utilities for interactive I/O
+build_requires:
+ Test::More: '0.94'
+configure_requires:
+ ExtUtils::MakeMaker: '6.64'
+ File::Spec::Functions: '0'
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version
2.140640'
license: perl
-resources:
- license: http://dev.perl.org/licenses/
-requires:
- Test::More: 0
- version: 0
-provides:
- IO::Interactive:
- file: lib/IO/Interactive.pm
- version: 0.0.6
-generated_by: Module::Build version 0.33
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
+name: IO-Interactive
+no_index:
+ directory:
+ - t
+ - inc
+requires:
+ perl: '5.008'
+ version: '0.78'
+resources:
+ bugtracker: https://github.com/briandfoy/io-interactive/issues
+ homepage: https://github.com/briandfoy/io-interactive
+ repository: https://github.com/briandfoy/io-interactive.git
+version: '1.021'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/Makefile.PL
new/IO-Interactive-1.021/Makefile.PL
--- old/IO-Interactive-0.0.6/Makefile.PL 2009-11-13 06:12:58.000000000
+0100
+++ new/IO-Interactive-1.021/Makefile.PL 2016-01-27 21:30:37.000000000
+0100
@@ -1,17 +1,112 @@
+package IO::Interactive;
use strict;
use warnings;
-use ExtUtils::MakeMaker;
-WriteMakefile(
- NAME => 'IO::Interactive',
- AUTHOR => 'Damian Conway <[email protected]>',
- VERSION_FROM => 'lib/IO/Interactive.pm',
- ABSTRACT_FROM => 'lib/IO/Interactive.pm',
- LICENSE => 'perl',
- PREREQ_PM => {
- 'Test::More' => '0',
- 'version' => '0',
- },
- dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
- clean => { FILES => 'IO-Interactive-* _build Build' },
-);
+=encoding utf8
+
+=head1 The build file for IO::Interactive
+
+This build file is a modulino; it works as both a build script and
+a module.
+
+To build the distribution, run this file normally:
+
+ % perl Makefile.PL
+
+But, it's more interesting than that. You can load it with C<require>
+and call C<arguments> to get the data structure it passes to
+C<WriteMakefile>:
+
+ my $package = require '/path/to/Makefile.PL';
+ my $arguments = $package->arguments;
+
+Note that C<require>-ing a file makes an entry in C<%INC> for exactly
+that name. If you try to C<require> another file with the same name,
+even from a different path, C<require> thinks it has already loaded
+the file. As such, I recommend you always require the full path to the
+file.
+
+The return value of the C<require> is a package name (in this case,
+the name of the main module. Use that to call the C<arguments> method.
+
+Even if this distribution needs a higher version of Perl, this bit
+only needs v5.8. You can play with the data structure with a primitive
+Perl.
+
+=cut
+
+use File::Spec::Functions qw(catfile);
+
+my $module = __PACKAGE__;
+( my $dist = $module ) =~ s/::/-/g;
+
+my $github = 'https://github.com/briandfoy/io-interactive';
+my $main_file = catfile( 'lib', split /::/, "$module.pm" );
+
+my %WriteMakefile = (
+ 'MIN_PERL_VERSION' => '5.008',
+
+ 'NAME' => $module,
+ 'AUTHOR' => 'Damian Conway <[email protected]>',
+ 'VERSION_FROM' => $main_file,
+ 'ABSTRACT_FROM' => $main_file,
+ 'LICENSE' => 'perl',
+
+ 'CONFIGURE_REQUIRES' => {
+ 'ExtUtils::MakeMaker' => '6.64',
+ 'File::Spec::Functions' => '0',
+ },
+
+ 'BUILD_REQUIRES' => {
+ },
+
+ 'TEST_REQUIRES' => {
+ 'Test::More' => '0.94',
+ },
+
+ 'PREREQ_PM' => {
+ 'version' => '0.78',
+ },
+
+ 'META_MERGE' => {
+ 'meta-spec' => { version => 2 },
+ resources => {
+ repository => {
+ type => 'git',
+ url => "$github.git",
+ web => $github,
+ },
+ bugtracker => {
+ web => "$github/issues",
+ },
+ homepage => $github,
+ },
+ },
+
+ clean => { FILES => "$dist-*" },
+ );
+
+sub arguments { \%WriteMakefile }
+
+do_it() unless caller;
+sub do_it {
+ require File::Spec;
+ my $MM ='ExtUtils::MakeMaker';
+ my $MM_version =
+ eval{ "$MM " .
$WriteMakefile{'CONFIGURE_REQUIRES'}{'ExtUtils::MakeMaker'} }
+ ||
+ "$MM 6.64";
+ eval "use $MM_version; 1" or die "Could not load $MM_version: $@";
+ eval "use Test::Manifest 1.21"
+ if -e File::Spec->catfile( qw(t test_manifest) );
+
+ my $arguments = arguments();
+ my $minimum_perl = $arguments->{MIN_PERL_VERSION} || '5.008';
+ eval "require $minimum_perl;" or die $@;
+
+ WriteMakefile( %$arguments );
+ }
+
+
+no warnings;
+__PACKAGE__;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/README
new/IO-Interactive-1.021/README
--- old/IO-Interactive-0.0.6/README 2009-11-13 06:12:58.000000000 +0100
+++ new/IO-Interactive-1.021/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,40 +0,0 @@
-IO::Interactive version 0.0.3
-
-This module provides three utility subroutines that make it easier to
-develop interactive applications:
-
- is_interactive() - tests if the process is interactive
- interactive() - returns a filehandle that prints only if interactive
- busy() - intercepts interactions whilst executing a block
-
-
-INSTALLATION
-
-To install this module, run the following commands:
-
- perl Makefile.PL
- make
- make test
- make install
-
-
-Alternatively, to install with Module::Build, you can use the following
commands:
-
- perl Build.PL
- ./Build
- ./Build test
- ./Build install
-
-
-
-DEPENDENCIES
-
-None.
-
-
-COPYRIGHT AND LICENCE
-
-Copyright (C) 2005, Damian Conway
-
-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/IO-Interactive-0.0.6/README.pod
new/IO-Interactive-1.021/README.pod
--- old/IO-Interactive-0.0.6/README.pod 1970-01-01 01:00:00.000000000 +0100
+++ new/IO-Interactive-1.021/README.pod 2016-01-27 21:30:37.000000000 +0100
@@ -0,0 +1,114 @@
+=pod
+
+=encoding utf8
+
+=head1 The IO::Interactive module
+
+This is the I<README> for the L<IO::Interactive> Perl module. You're probably
+looking at this because you don't know where else to find what you're
+looking for. Read this once and you might never have to read one again
+for any Perl module.
+
+=head2 Documentation
+
+To read about L<IO::Interactive>, look at the embedded documentation
+in the module itself. Inside the distribution, you can format it
+with L<perldoc|http://perldoc.perl.org/perldoc.html>:
+
+ % perldoc lib/IO/Interactive.pm
+
+If you have already installed the module, you can specify the module
+name instead of the file location:
+
+ % perldoc IO::Interactive
+
+You can read the documentation and inspect the meta data on one of the
+CPAN web interfaces, such as L<CPAN
Search|http://search.cpan.org/dist/IO-Interactive> or
+L<MetaCPAN|http://www.metacpan.org/module/IO::Interactive>:
+
+=over 4
+
+=item * L<http://search.cpan.org/dist/IO-Interactive>
+
+=item * L<http://www.metacpan.org/module/IO::Interactive>
+
+=back
+
+The standard module documentation has example uses in the SYNOPSIS
+section, but you can also look in the I<examples/> directory (if it's
+there), or look at the test files in I<t/>.
+
+=head2 Installation
+
+You can install this module with a CPAN client, which will resolve
+and install the dependencies:
+
+ % cpan IO::Interactive
+ % cpanm IO::Interactive
+
+You can also install directly from the distribution directory, which
+will also install the dependencies:
+
+ % cpan .
+ % cpanm .
+
+You could install just this module manually:
+
+ % perl Makefile.PL
+ % make
+ % make test
+ % make install
+
+You probably don't want to do that unless you're fiddling with the
+module and only want to run the tests without installing anything.
+
+=head2 Source location
+
+The meta data, such as the source repository and bug tracker, is in
+I<Makefile.PL> or the I<META.*> files it creates. You can find that on
+those CPAN web interfaces, but you can also look at files directly in
+the source repository:
+
+=over 4
+
+=item * L<https://github.com/briandfoy/io-interactive>
+
+=back
+
+If you find a problem, file a ticket in the L<issue
+tracker|https://github.com/briandfoy/io-interactive/issues>:
+
+=over 4
+
+=item * L<https://github.com/briandfoy/io-interactive/issues>
+
+=back
+
+=head2 Getting help
+
+Although I'm happy to hear from module users in private email,
+that's the best way for me to forget to do something.
+
+Besides the issue trackers, you can find help at
+L<Perlmonks|http://www.perlmonks.org> or
+L<Stackoverflow|http://www.stackoverflow.com>, both of which have many
+competent Perlers who can answer your question, almost in real time.
+They might not know the particulars of this module, but they can help
+you diagnose your problem.
+
+You might like to read L<brian's Guide to Solving Any Perl
+Problem|http://archive.oreilly.com/pub/a/perl/excerpts/9780596527242/brians-guide.html>.
+
+=head2 Copyright and License
+
+You should have received a I<LICENSE> file, but the license is also noted
+in the module files. About the only thing you can't do is pretend that
+you wrote code that you didn't.
+
+=head2 Good luck!
+
+Enjoy,
+
+brian d foy, [email protected]
+
+=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/lib/IO/Interactive.pm
new/IO-Interactive-1.021/lib/IO/Interactive.pm
--- old/IO-Interactive-0.0.6/lib/IO/Interactive.pm 2009-11-13
06:12:58.000000000 +0100
+++ new/IO-Interactive-1.021/lib/IO/Interactive.pm 2016-01-27
21:30:37.000000000 +0100
@@ -1,11 +1,9 @@
package IO::Interactive;
-use version; $VERSION = qv('0.0.6');
-
-use warnings;
use strict;
-use Carp;
-use Scalar::Util qw( openhandle );
+use warnings;
+
+$IO::Interactive::VERSION = '1.021';
sub is_interactive {
my ($out_handle) = (@_, select); # Default to default output handle
@@ -14,18 +12,19 @@
return 0 if not -t $out_handle;
# If *ARGV is opened, we're interactive if...
- if (openhandle *ARGV) {
+ if ( tied(*ARGV) or defined(fileno(ARGV)) ) { # this is what
'Scalar::Util::openhandle *ARGV' boils down to
+
# ...it's currently opened to the magic '-' file
return -t *STDIN if defined $ARGV && $ARGV eq '-';
# ...it's at end-of-file and the next file is the magic '-' file
return @ARGV>0 && $ARGV[0] eq '-' && -t *STDIN if eof *ARGV;
- # ...it's directly attached to the terminal
+ # ...it's directly attached to the terminal
return -t *ARGV;
}
- # If *ARGV isn't opened, it will be interactive if *STDIN is attached
+ # If *ARGV isn't opened, it will be interactive if *STDIN is attached
# to a terminal.
else {
return -t *STDIN;
@@ -61,7 +60,7 @@
# Non-interactive busy-ness is easy...just do it
if (!is_interactive()) {
$block_ref->();
- open my $fh, '<', \"";
+ open my $fh, '<', \ "";
return $fh;
}
@@ -99,7 +98,7 @@
# Temporarily close the input...
local *ARGV;
- open *ARGV, '<', \"";
+ open *ARGV, '<', \ "";
# Do the job...
$block_ref->();
@@ -112,8 +111,6 @@
return $read;
}
-use Carp;
-
sub import {
my ($package) = shift;
my $caller = caller;
@@ -122,24 +119,25 @@
for my $request ( @_ ) {
no strict 'refs';
my $impl = *{$package.'::'.$request}{CODE};
- croak "Unknown subroutine ($request()) requested"
+ require Carp;
+ Carp::croak "Unknown subroutine ($request()) requested"
if !$impl || $request =~ m/\A _/xms;
*{$caller.'::'.$request} = $impl;
}
}
-
1; # Magic true value required at end of module
__END__
+=encoding utf8
+
=head1 NAME
IO::Interactive - Utilities for interactive I/O
=head1 VERSION
-This document describes IO::Interactive version 0.0.6
-
+This document describes IO::Interactive version 1.02
=head1 SYNOPSIS
@@ -169,7 +167,7 @@
=item C<is_interactive()>
This subroutine returns true if C<*ARGV> and the currently selected
-filehandle (usually C<*STDOUT>) are connected to the terminal. The
+filehandle (usually C<*STDOUT>) are connected to the terminal. The
test is considerably more sophisticated than:
-t *ARGV && -t *STDOUT
@@ -198,12 +196,11 @@
my $value = <>;
You can also pass C<interactive> a writable filehandle, in which case it
-writes to that filehandle if it is connected to a terminal (instead of
-writinbg to C<*STDOUT>). Once again, the usual suspect is C<*STDERR>:
+writes to that filehandle if it is connected to a terminal (instead of
+writing to C<*STDOUT>). Once again, the usual suspect is C<*STDERR>:
print {interactive(*STDERR)} $warning;
-
=item C<busy {...}>
This subroutine takes a block as its single argument and executes that block.
@@ -233,7 +230,6 @@
IO::Interactive requires no configuration files or environment variables.
-
=head1 DEPENDENCIES
This module requires the C<openhandle()> subroutine from the
@@ -252,6 +248,11 @@
C<[email protected]>, or through the web interface at
L<http://rt.cpan.org>.
+=head1 SOURCE AVAILABILITY
+
+This code is in GitHub:
+
+ https://github.com/briandfoy/io-interactive
=head1 AUTHOR
@@ -259,6 +260,8 @@
Currently maintained by brian d foy C<< <[email protected]> >>
+1.01 patch DMUEY C<< [email protected] >>
+
=head1 LICENCE AND COPYRIGHT
Copyright (c) 2005, Damian Conway C<< <[email protected]> >>. All rights
reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/IO-Interactive-0.0.6/xt/changes.t
new/IO-Interactive-1.021/xt/changes.t
--- old/IO-Interactive-0.0.6/xt/changes.t 1970-01-01 01:00:00.000000000
+0100
+++ new/IO-Interactive-1.021/xt/changes.t 2016-01-27 21:30:37.000000000
+0100
@@ -0,0 +1,4 @@
+use Test::More;
+eval 'use Test::CPAN::Changes';
+plan skip_all => 'Test::CPAN::Changes required for this test' if $@;
+changes_ok();
++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#description: |-
# override description from CPAN
#summary: override summary from CPAN
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_build: |-
# rm unused.files
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module