Hello community, here is the log from the commit of package perl-IO-Tty for openSUSE:Factory checked in at 2020-01-21 21:03:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-IO-Tty (Old) and /work/SRC/openSUSE:Factory/.perl-IO-Tty.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-IO-Tty" Tue Jan 21 21:03:09 2020 rev:23 rq:766095 version:1.14 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-IO-Tty/perl-IO-Tty.changes 2015-04-15 16:24:00.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-IO-Tty.new.26092/perl-IO-Tty.changes 2020-01-21 21:03:49.132945544 +0100 @@ -1,0 +2,19 @@ +Mon Jan 20 03:10:17 UTC 2020 - <timueller+p...@suse.de> + +- updated to 1.14 + see /usr/share/doc/packages/perl-IO-Tty/ChangeLog + + 2020-01-18 Todd Rinaldo <to...@cpan.org> 1.14 + * Add strict/warnings to Tty.pm + * Fix pod errors + * Typo: s/dependend/dependent/ + * Prevent spurious warning from get_winsize() + * Fix usage of setsid + * Github actions testing. Windows is off of course. + * Make README.md + + 2014-12-14 Todd Rinaldo <to...@cpan.org> 1.13_01 + * RT 91590 - Remove MAP_TARGET from Makefile.PL + * RT 88271 - Fix for Solaris setuid when root running as other user + +------------------------------------------------------------------- Old: ---- IO-Tty-1.12.tar.gz New: ---- IO-Tty-1.14.tar.gz cpanspec.yml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-IO-Tty.spec ++++++ --- /var/tmp/diff_new_pack.m4aoys/_old 2020-01-21 21:03:49.888945896 +0100 +++ /var/tmp/diff_new_pack.m4aoys/_new 2020-01-21 21:03:49.896945901 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-IO-Tty # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 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 @@ -12,19 +12,20 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-IO-Tty -Version: 1.12 +Version: 1.14 Release: 0 %define cpan_name IO-Tty -Summary: Low-level allocate a pseudo-Tty, import constants. -License: Artistic-1.0 or GPL-1.0+ +Summary: Low-level allocate a pseudo-Tty, import constants +License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -Url: http://search.cpan.org/dist/IO-Tty/ -Source: http://www.cpan.org/authors/id/T/TO/TODDR/%{cpan_name}-%{version}.tar.gz +Url: https://metacpan.org/release/%{cpan_name} +Source0: https://cpan.metacpan.org/authors/id/T/TO/TODDR/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros @@ -33,16 +34,16 @@ %description 'IO::Tty' is used internally by 'IO::Pty' to create a pseudo-tty. You wouldn't want to use it directly except to import constants, use 'IO::Pty'. -For a list of importable constants, see the IO::Tty::Constant manpage. +For a list of importable constants, see IO::Tty::Constant. -Windows is now supported, but ONLY under the Cygwin environment, see the -http://sources.redhat.com/cygwin/ manpage. +Windows is now supported, but ONLY under the Cygwin environment, see +http://sources.redhat.com/cygwin/. Please note that pty creation is very system-dependend. From my experience, any modern POSIX system should be fine. Find below a list of systems that 'IO::Tty' should work on. A more detailed table (which is slowly getting out-of-date) is available from the project pages document manager at -SourceForge the http://sourceforge.net/projects/expectperl/ manpage. +SourceForge http://sourceforge.net/projects/expectperl/. If you have problems on your system and your system is listed in the "verified" list, you probably have some non-standard setup, e.g. you @@ -62,13 +63,14 @@ %prep %setup -q -n %{cpan_name}-%{version} +find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build -%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" -%{__make} %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" +make %{?_smp_mflags} %check -%{__make} test +make test %install %perl_make_install @@ -77,6 +79,6 @@ %files -f %{name}.files %defattr(-,root,root,755) -%doc ChangeLog README try +%doc ChangeLog README.md try %changelog ++++++ IO-Tty-1.12.tar.gz -> IO-Tty-1.14.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/ChangeLog new/IO-Tty-1.14/ChangeLog --- old/IO-Tty-1.12/ChangeLog 2014-09-12 18:10:15.000000000 +0200 +++ new/IO-Tty-1.14/ChangeLog 2020-01-19 06:22:23.000000000 +0100 @@ -1,3 +1,16 @@ +2020-01-18 Todd Rinaldo <to...@cpan.org> 1.14 + * Add strict/warnings to Tty.pm + * Fix pod errors + * Typo: s/dependend/dependent/ + * Prevent spurious warning from get_winsize() + * Fix usage of setsid + * Github actions testing. Windows is off of course. + * Make README.md + +2014-12-14 Todd Rinaldo <to...@cpan.org> 1.13_01 + * RT 91590 - Remove MAP_TARGET from Makefile.PL + * RT 88271 - Fix for Solaris setuid when root running as other user + 2014-09-12 Todd Rinaldo <to...@cpan.org> 1.12 * Merge pull request from Chris Williams (bingos) to fix "redefinition of typedef" errors with v5.19.4 and above diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/MANIFEST new/IO-Tty-1.14/MANIFEST --- old/IO-Tty-1.12/MANIFEST 2014-09-12 18:14:41.000000000 +0200 +++ new/IO-Tty-1.14/MANIFEST 2020-01-19 06:26:16.000000000 +0100 @@ -1,11 +1,13 @@ ChangeLog -MANIFEST Makefile.PL +MANIFEST +MANIFEST.SKIP Pty.pm -README +README.md +t/pty_get_winsize.t +t/test.t +try Tty.pm Tty.xs -try -t/test.t -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/IO-Tty-1.12/MANIFEST.SKIP new/IO-Tty-1.14/MANIFEST.SKIP --- old/IO-Tty-1.12/MANIFEST.SKIP 1970-01-01 01:00:00.000000000 +0100 +++ new/IO-Tty-1.14/MANIFEST.SKIP 2020-01-19 06:02:41.000000000 +0100 @@ -0,0 +1,9 @@ +^.github/ +^.git/.* +^MYMETA.* +^MANIFEST.bak +^.gitignore +^conf/ +^xssubs.c +^Tty/Constant.pm +^Makefile$ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/META.json new/IO-Tty-1.14/META.json --- old/IO-Tty-1.12/META.json 2014-09-12 18:14:41.000000000 +0200 +++ new/IO-Tty-1.14/META.json 2020-01-19 06:26:16.000000000 +0100 @@ -4,13 +4,13 @@ "Roland Giersig <rgier...@cpan.org>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.120921", + "generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : "2" + "version" : 2 }, "name" : "IO-Tty", "no_index" : { @@ -29,9 +29,6 @@ "requires" : { "ExtUtils::MakeMaker" : "0" } - }, - "runtime" : { - "requires" : {} } }, "release_status" : "stable", @@ -40,5 +37,6 @@ "url" : "https://github.com/toddr/IO-Tty" } }, - "version" : "1.12" + "version" : "1.14", + "x_serialization_backend" : "JSON::PP version 4.02" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/META.yml new/IO-Tty-1.14/META.yml --- old/IO-Tty-1.12/META.yml 2014-09-12 18:14:41.000000000 +0200 +++ new/IO-Tty-1.14/META.yml 2020-01-19 06:26:16.000000000 +0100 @@ -7,7 +7,7 @@ configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.68, CPAN::Meta::Converter version 2.120921' +generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -17,7 +17,7 @@ directory: - t - inc -requires: {} resources: repository: https://github.com/toddr/IO-Tty -version: '1.12' +version: '1.14' +x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/Makefile.PL new/IO-Tty-1.14/Makefile.PL --- old/IO-Tty-1.12/Makefile.PL 2014-09-12 18:11:33.000000000 +0200 +++ new/IO-Tty-1.14/Makefile.PL 2020-01-19 06:25:11.000000000 +0100 @@ -34,7 +34,7 @@ my %define; my @libs; -my $Package_Version = '1.12'; # keep this consistent with Tty.pm +my $Package_Version = '1.14'; # keep this consistent with Tty.pm my $Is_Beta = ($Package_Version =~ m/_/); open(SUB, ">xssubs.c") or die "open: $!"; @@ -359,6 +359,8 @@ package IO::Tty::Constant; +our \$VERSION = '$Package_Version'; + use vars qw(\@ISA \@EXPORT_OK); require Exporter; @@ -386,6 +388,8 @@ =head1 DEFINED CONSTANTS +=over 4 + _EOT_ foreach my $s (@ttsyms) { @@ -401,6 +405,8 @@ print POD <<_EOT_; +=back + =head1 FOR MORE INFO SEE L<IO::Tty> @@ -428,7 +434,6 @@ 'LIBS' => join(" ", @libs), 'clean' => {'FILES' => 'xssubs.c conf Tty.exp_old log'}, 'realclean' => {'FILES' => 'Tty IO-Tty.ppd'}, - 'MAP_TARGET' => 'perltty', 'AUTHOR' => 'Roland Giersig <rgier...@cpan.org>', 'ABSTRACT' => 'Pseudo ttys and constants', 'LICENSE' => 'perl', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/Pty.pm new/IO-Tty-1.14/Pty.pm --- old/IO-Tty-1.12/Pty.pm 2014-09-12 18:10:53.000000000 +0200 +++ new/IO-Tty-1.14/Pty.pm 2020-01-19 06:25:11.000000000 +0100 @@ -10,7 +10,7 @@ use vars qw(@ISA $VERSION); -$VERSION = '1.12'; # keep same as in Tty.pm +$VERSION = '1.14'; # keep same as in Tty.pm @ISA = qw(IO::Handle); eval { local $^W = 0; undef local $SIG{__DIE__}; require IO::Stty }; @@ -93,7 +93,7 @@ } # Create a new 'session', lose controlling terminal. - if (not POSIX::setsid()) { + if (POSIX::setsid() == -1) { warn "setsid() failed, strange behavior may result: $!\r\n" if $^W; } @@ -155,7 +155,7 @@ =head1 VERSION -1.12 +1.14 =head1 SYNOPSIS @@ -181,7 +181,7 @@ C<IO::Pty> inherits from C<IO::Handle> and so provide all the methods defined by the C<IO::Handle> package. -Please note that pty creation is very system-dependend. If you have +Please note that pty creation is very system-dependent. If you have problems, see L<IO::Tty> for help. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/README new/IO-Tty-1.14/README --- old/IO-Tty-1.12/README 2014-05-05 16:45:55.000000000 +0200 +++ new/IO-Tty-1.14/README 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -IO::Tty and IO::Pty provide an interface to pseudo tty's - -To build this distribution, run - - perl Makefile.PL - make - make test - make install - -This version (v1.08) now adds posix_openpt() as a means of allocating -the pty, thanks goes to Ed Schouten who provided a patch. - -Please note that pty creation is very system-dependend, and there -are a *lot* of different systems out there. If you have problems -on your system, please send me (<rgier...@cpan.org>) the output -of a manual installation ('perl Makefile.PL; make; make test;') -and I'll see what I can deduce from it. - -Supported systems include Linux, Solaris, AIX, OSF, *BSD, IRIX, HP-UX -and Darwin. - -Windows is supported only under the Cygwin environment, see -http://www.cygwin.com/. - -Sorry, ActiveState Perl on Windows is NOT supported, basically -because there are no pseudo-terminals under Windows. - -If it's working on your system, please send me a short note with -details (version number, distribution, etc. 'uname -a' and 'perl -V' -is a good start; also, the output from "perl Makefile.PL" contains a -lot of interesting info, so please include that as well) so I can get -an overview. Thanks! - -See the ChangeLog and the docs for details. - -Oh, and many thanks to all testers, without their support this project -would still be limited to a few systems that I have access to. Thanks -also to SourceForge (http://sf.net) who is hosting this and many other -projects, their services have made development and support a real -pleasure. If you intend to donate something to the Open Source cause, -think about lending them a machine with a commercial OS license for -their compile farm! - - -Roland <rgier...@cpan.org> -2009-02-23 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/README.md new/IO-Tty-1.14/README.md --- old/IO-Tty-1.12/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/IO-Tty-1.14/README.md 2020-01-19 06:25:11.000000000 +0100 @@ -0,0 +1,172 @@ +[![](https://github.com/toddr/IO-Tty/workflows/linux/badge.svg)](https://github.com/toddr/IO-Tty/actions) [![](https://github.com/toddr/IO-Tty/workflows/macos/badge.svg)](https://github.com/toddr/IO-Tty/actions) + +# NAME + +IO::Tty - Low-level allocate a pseudo-Tty, import constants. + +# VERSION + +1.13\_01 + +# SYNOPSIS + + use IO::Tty qw(TIOCNOTTY); + ... + # use only to import constants, see IO::Pty to create ptys. + +# DESCRIPTION + +`IO::Tty` is used internally by `IO::Pty` to create a pseudo-tty. +You wouldn't want to use it directly except to import constants, use +`IO::Pty`. For a list of importable constants, see +[IO::Tty::Constant](https://metacpan.org/pod/IO::Tty::Constant). + +Windows is now supported, but ONLY under the Cygwin +environment, see [http://sources.redhat.com/cygwin/](http://sources.redhat.com/cygwin/). + +Please note that pty creation is very system-dependend. From my +experience, any modern POSIX system should be fine. Find below a list +of systems that `IO::Tty` should work on. A more detailed table +(which is slowly getting out-of-date) is available from the project +pages document manager at SourceForge +[http://sourceforge.net/projects/expectperl/](http://sourceforge.net/projects/expectperl/). + +If you have problems on your system and your system is listed in the +"verified" list, you probably have some non-standard setup, e.g. you +compiled your Linux-kernel yourself and disabled ptys (bummer!). +Please ask your friendly sysadmin for help. + +If your system is not listed, unpack the latest version of `IO::Tty`, +do a `'perl Makefile.PL; make; make test; uname -a'` and send me +(`rgier...@cpan.org`) the results and I'll see what I can deduce from +that. There are chances that it will work right out-of-the-box... + +If it's working on your system, please send me a short note with +details (version number, distribution, etc. 'uname -a' and 'perl -V' +is a good start; also, the output from "perl Makefile.PL" contains a +lot of interesting info, so please include that as well) so I can get +an overview. Thanks! + +# VERIFIED SYSTEMS, KNOWN ISSUES + +This is a list of systems that `IO::Tty` seems to work on ('make +test' passes) with comments about "features": + +- AIX 4.3 + + Returns EIO instead of EOF when the slave is closed. Benign. + +- AIX 5.x +- FreeBSD 4.4 + + EOF on the slave tty is not reported back to the master. + +- OpenBSD 2.8 + + The ioctl TIOCSCTTY sometimes fails. This is also known in + Tcl/Expect, see http://expect.nist.gov/FAQ.html + + EOF on the slave tty is not reported back to the master. + +- Darwin 7.9.0 +- HPUX 10.20 & 11.00 + + EOF on the slave tty is not reported back to the master. + +- IRIX 6.5 +- Linux 2.2.x & 2.4.x + + Returns EIO instead of EOF when the slave is closed. Benign. + +- OSF 4.0 + + EOF on the slave tty is not reported back to the master. + +- Solaris 8, 2.7, 2.6 + + Has the "feature" of returning EOF just once?! + + EOF on the slave tty is not reported back to the master. + +- Windows NT/2k/XP (under Cygwin) + + When you send (print) a too long line (>160 chars) to a non-raw pty, + the call just hangs forever and even alarm() cannot get you out. + Don't complain to me... + + EOF on the slave tty is not reported back to the master. + +- z/OS + +The following systems have not been verified yet for this version, but +a previous version worked on them: + +- SCO Unix +- NetBSD + + probably the same as the other \*BSDs... + +If you have additions to these lists, please mail them to +<`rgier...@cpan.org`>. + +# SEE ALSO + +[IO::Pty](https://metacpan.org/pod/IO::Pty), [IO::Tty::Constant](https://metacpan.org/pod/IO::Tty::Constant) + +# MAILING LISTS + +As this module is mainly used by Expect, support for it is available +via the two Expect mailing lists, expectperl-announce and +expectperl-discuss, at + + http://lists.sourceforge.net/lists/listinfo/expectperl-announce + +and + + http://lists.sourceforge.net/lists/listinfo/expectperl-discuss + +# AUTHORS + +Originally by Graham Barr <`gb...@pobox.com`>, based on the +Ptty module by Nick Ing-Simmons <`n...@tiuk.ti.com`>. + +Now maintained and heavily rewritten by Roland Giersig +<`rgier...@cpan.org`>. + +Contains copyrighted stuff from openssh v3.0p1, authored by Tatu +Ylonen <y...@cs.hut.fi>, Markus Friedl and Todd C. Miller +<todd.mil...@courtesan.com>. I also got a lot of inspiration from +the pty code in Xemacs. + +# COPYRIGHT + +Now all code is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. + +Nevertheless the above AUTHORS retain their copyrights to the various +parts and want to receive credit if their source code is used. +See the source for details. + +# DISCLAIMER + +THIS SOFTWARE IS PROVIDED \`\`AS IS'' AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +In other words: Use at your own risk. Provided as is. Your mileage +may vary. Read the source, Luke! + +And finally, just to be sure: + +Any Use of This Product, in Any Manner Whatsoever, Will Increase the +Amount of Disorder in the Universe. Although No Liability Is Implied +Herein, the Consumer Is Warned That This Process Will Ultimately Lead +to the Heat Death of the Universe. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/Tty.pm new/IO-Tty-1.14/Tty.pm --- old/IO-Tty-1.12/Tty.pm 2014-09-12 18:11:16.000000000 +0200 +++ new/IO-Tty-1.14/Tty.pm 2020-01-19 06:25:11.000000000 +0100 @@ -3,6 +3,7 @@ package IO::Tty; +use strict; use warnings; use IO::Handle; use IO::File; use IO::Tty::Constant; @@ -13,8 +14,8 @@ use vars qw(@ISA $VERSION $XS_VERSION $CONFIG $DEBUG); -$VERSION = '1.12'; -$XS_VERSION = "1.12"; +$VERSION = '1.14'; +$XS_VERSION = "1.14"; @ISA = qw(IO::Handle); eval { local $^W = 0; undef local $SIG{__DIE__}; require IO::Stty }; @@ -68,7 +69,7 @@ sub get_winsize { my $self = shift; - ioctl($self, IO::Tty::Constant::TIOCGWINSZ(), my $winsize) + ioctl($self, IO::Tty::Constant::TIOCGWINSZ(), my $winsize = q<>) or croak "Cannot TIOCGWINSZ - $!"; substr($winsize, $SIZEOF_WINSIZE) = ""; return IO::Tty::unpack_winsize($winsize); @@ -118,7 +119,7 @@ =head1 VERSION -1.12 +1.14 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/Tty.xs new/IO-Tty-1.14/Tty.xs --- old/IO-Tty-1.12/Tty.xs 2014-09-12 18:10:15.000000000 +0200 +++ new/IO-Tty-1.14/Tty.xs 2020-01-19 05:49:56.000000000 +0100 @@ -264,6 +264,7 @@ if (PL_dowarn) warn("IO::Tty::pty_allocate(nonfatal): grantpt(): %.100s", strerror(errno)); } + #endif /* HAVE_GRANTPT */ #if defined(HAVE_UNLOCKPT) #if PTY_DEBUG @@ -320,6 +321,38 @@ if (namebuf[0] == 0) return 0; /* we failed to get the slave name */ +#if defined (__SVR4) && defined (__sun) + #include <sys/types.h> + #include <unistd.h> + { + uid_t euid = geteuid(); + uid_t uid = getuid(); + + /* root running as another user + * grantpt() has done the wrong thing + */ + if (euid != uid && uid == 0) { +#if PTY_DEBUG + if (print_debug) + fprintf(stderr, "trying seteuid() from %d to %d...\n", + euid, uid); +#endif + if (setuid(uid)) { + warn("ERROR: IO::Tty::open_slave: couldn't seteuid to root: %d", errno); + return 0; + } + if (chown(namebuf, euid, -1)) { + warn("ERROR: IO::Tty::open_slave: couldn't fchown the pty: %d", errno); + return 0; + } + if (seteuid(euid)) { + warn("ERROR: IO::Tty::open_slave: couldn't seteuid back: %d", errno); + return 0; + } + } + } +#endif + if (*ttyfd >= 0) { make_safe_fd(ptyfd); make_safe_fd(ttyfd); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/t/pty_get_winsize.t new/IO-Tty-1.14/t/pty_get_winsize.t --- old/IO-Tty-1.12/t/pty_get_winsize.t 1970-01-01 01:00:00.000000000 +0100 +++ new/IO-Tty-1.14/t/pty_get_winsize.t 2020-01-19 06:13:06.000000000 +0100 @@ -0,0 +1,22 @@ +#!/usr/bin/env perl -w + +use strict; +use warnings; + +use Test::More; +plan tests => 1; + +use IO::Pty (); + +my @warnings; + +{ + local $^W = 1; + + local $SIG{'__WARN__'} = sub { push @warnings, @_ }; + + my $pty = IO::Pty->new(); + () = $pty->get_winsize(); +} + +is_deeply( \@warnings, [], 'get_winsize() doesn’t warn' ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Tty-1.12/t/test.t new/IO-Tty-1.14/t/test.t --- old/IO-Tty-1.12/t/test.t 2014-05-05 16:45:55.000000000 +0200 +++ new/IO-Tty-1.14/t/test.t 2020-01-19 05:49:56.000000000 +0100 @@ -174,7 +174,6 @@ # parent sends down some strings and expects to get them back inverted my $maxlen = 0; foreach my $len ( 1 .. length($randstring) ) { - print STDERR "$len\r"; my $s = substr( $randstring, 0, $len ); my $buf; my $ret = ""; ++++++ 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