| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: perl-IO-Tty | Distribution: openSUSE Tumbleweed |
| Version: 1.310.0 | Vendor: openSUSE |
| Release: 1.2 | Build date: Mon May 25 11:07:32 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 100855 | Source RPM: perl-IO-Tty-1.310.0-1.2.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://metacpan.org/release/IO-Tty | |
| Summary: Pseudo ttys and constants | |
'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. Windows is now supported under the Cygwin environment, see http://cygwin.com/. Please note that pty creation is very system-dependent. Any modern POSIX system should be fine. The test suite is run via GitHub Actions CI on Linux, macOS, FreeBSD, OpenBSD, and NetBSD. If you have problems on your system and it is listed below, you probably have a 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 report issues at https://github.com/cpan-authors/IO-Tty/issues.
Artistic-1.0 OR GPL-1.0-or-later
* Mon May 25 2026 Tina Müller <timueller+perl@suse.de>
- updated to 1.310.0 (1.31)
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
1.31 2026-05-24 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* GH #91, PR #94 - Fix v1.27 regression where _open_tty() always passed
O_NOCTTY, preventing make_slave_controlling_terminal() from acquiring
a controlling terminal via the POSIX-standard open-without-O_NOCTTY
mechanism (it was forced to fall through to an explicit TIOCSCTTY
ioctl). _open_tty() now takes an optional noctty flag (default 1 for
backward compatibility); make_slave_controlling_terminal() passes 0.
* GH #92, PR #93 - Fix openpty() detection on Fedora 33-34 / glibc
2.32-2.33 where LTO flags (-flto=auto) caused the libc-only compile
probe to falsely succeed, producing "undefined symbol: openpty" at
runtime. Try -lutil before libc; harmless on systems where openpty
lives in libc (glibc 2.34+, musl) and necessary where it doesn't.
Maintenance:
* PR #90 - Address CPANTS kwalitee issues: add LICENSE, SECURITY.md,
and CONTRIBUTING.md; add META `provides` for IO::Tty, IO::Pty, and
IO::Tty::Constant; use --format=ustar in TARFLAGS to prevent
PaxHeader entries in distribution tarballs.
* Clean up MANIFEST.SKIP: add #!include_default so ExtUtils::Manifest's
built-in skip list is in effect, drop five entries that duplicate
those defaults, and add a ^\.claude/ rule.
* Fri Apr 24 2026 Tina Müller <timueller+perl@suse.de>
- updated to 1.290.0 (1.29)
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
1.29 2026-04-23 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* GH #87, PR #88 - Fix configure-time function detection probes being
broken by compiler optimization. The probes stored function pointers
in local variables which -O2/-Os (added to probe flags in PR #81)
eliminated as dead stores, so the linker never saw the function
reference. On systems where openpty() lives in -lutil (older glibc,
BSDs), the probe falsely succeeded without -lutil, producing
"undefined symbol: openpty" at runtime. Fixed by storing the
function pointer in a file-scope global variable which the optimizer
cannot eliminate.
Maintenance:
* PR #89 - Add Ubuntu LTS version matrix (20.04, 22.04, 24.04) to the
GitHub Actions test suite. Exercises the system perl on each current
Ubuntu LTS release via Docker containers, running after the main
ubuntu job.
1.28 2026-04-23 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* PR #69 - Fix make_slave_controlling_terminal() on Solaris/HP-UX to use
_open_tty() instead of IO::Tty->open(), ensuring STREAMS modules (ptem,
ldterm, ttcompat) are pushed via I_PUSH when the slave is opened for
controlling terminal setup. Parallel fix to the slave() method fix in
1.24.
* PR #74 - Fix Perl 5.40+ "Possible memory corruption: ioctl overflowed
3rd argument" warning in clone_winsize_from() and get_winsize(). Use
pack_winsize(0,0,0,0) to pre-allocate the ioctl buffer with SvCUR
matching sizeof(struct winsize) instead of an empty string.
* PR #76, PR #79 - Fix diagnostic warnings being silently suppressed when
callers use lexical "use warnings" (the modern standard since Perl 5.6).
$^W and PL_dowarn only fire under perl -w; replaced with
warnings::enabled() in IO::Tty and IO::Pty (PR #76) and ckWARN(WARN_IO)
in Tty.xs (PR #79).
* PR #77 - Fix file descriptor leak in IO::Pty when new_from_fd() fails
after pty_allocate() or _open_tty() returns raw C-level fds. Added
POSIX::close() calls on the raw fds before croaking at three sites in
new() and slave().
* PR #78 - Fix openpty() detection on Alpine Linux and other musl-based
systems where openpty() has moved from libutil into libc (glibc 2.34+).
Probe libc first before falling back to -lutil.
* PR #80 - Fix -Wsign-compare compiler warnings: change namebuflen
parameter type from int to size_t in open_slave() and allocate_pty()
to match the return type of strlcpy() and the size argument of snprintf().
* PR #81 - Fix spurious "_FORTIFY_SOURCE requires compiling with
optimization" warnings during configure probes when $Config{optimize}
(e.g. -Os) is separate from $Config{ccflags}. Include optimize flags in
all configure probe compilations.
* PR #84 - Fix header probes in Makefile.PL missing platform extension
defines (_GNU_SOURCE, _BSD_VISIBLE, etc.) that function probes already
included. Bare #includes could cause HAVE_PTY_H and similar to be unset
on strict POSIX systems even when the header exists.
Improvements:
* PR #86 - Use L<> instead of C<> for cross-module POD references in
Tty.pm and Pty.pm so MetaCPAN renders IO::Pty, IO::Handle, and IO::Stty
as clickable links.
Maintenance:
* PR #70 - Modernize POD in Tty.pm and Pty.pm: remove stale platform
version references (FreeBSD 4.4, OpenBSD 2.8, HPUX 10.20, Solaris 2.6),
replace defunct SourceForge/mailing list URLs with GitHub issue tracker.
* PR #73 - Modernize the try example script: add strict/warnings, my
declarations, 3-arg open, and lexical filehandles. The script is shipped
to CPAN and referenced in POD as the canonical usage example.
* PR #75 - Strengthen test coverage for set_raw() and winsize: verify all
termios flags set by cfmakeraw (iflag, oflag, PARENB, CSIZE, CS8, VMIN,
VTIME) and add a test for the unpack_winsize() length-validation croak.
* PR #85 - Update GitHub Actions to Node.js 24 versions: actions/checkout
v6, cross-platform-actions/action v1, perl-actions/install-with-cpm v2.
Required before GitHub forces Node.js 24 in June 2026.
* Thu Apr 09 2026 Tina Müller <timueller+perl@suse.de>
- updated to 1.270.0 (1.27)
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
1.27 2026-04-03 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* GH #68, PR #68 - Fix build on OpenBSD by including termios.h to
detect openpty reliably and setting _BSD_SOURCE to find strlcpy
in includes. (Alexander Bluhm)
1.26 2026-04-02 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* PR #67 - Fix strlcpy detection on DragonFly BSD to avoid
static/non-static declaration conflict. Added __DragonFly__ guard
to the function test (paralleling __FreeBSD__) and added a
belt-and-suspenders check for perl's own HAS_STRLCPY in Tty.xs.
Maintenance:
* PR #66 - Add 5-minute timeout to all CI test steps to prevent
hung tests from consuming CI resources indefinitely.
1.25 2026-04-01 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* GH #62, PR #64 - Fix IO::Pty DESTROY force-closing the slave pty.
The DESTROY method (added in 1.21) explicitly closed the cached
slave handle, breaking consumers like IPC::Run that hold a
reference to the slave via $pty->slave() and expect it to survive
master destruction. Now just deletes the internal reference and
lets Perl's refcounting handle fd closure correctly.
Maintenance:
* PR #61 - Simplify version variables to a single source of truth.
Extract version from Tty.pm in Makefile.PL using
MM->parse_version() instead of hardcoding it, use VERSION_FROM in
WriteMakefile, and remove $XS_VERSION from Tty.pm.
1.24 2026-03-27 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* GH #54, PR #55 - Fix slave pty reopening on Solaris/illumos. After
close_slave(), reopening with plain Perl open() skipped pushing
STREAMS modules (ptem, ldterm, ttcompat), causing isatty() to
return false. Added _open_tty() XS function that opens the device
and pushes STREAMS modules on platforms that support I_PUSH.
* GH #56, PR #58 - Fix undef warnings on Perl 5.8.8 by removing the
undef operator on localized $SIG{__DIE__}, and fix XS ttyname() on
older Perls by avoiding the InOutStream typemap which can return
NULL for filehandles created via new_from_fd.
* GH #57, PR #59 - Add __BSD_VISIBLE for FreeBSD in function probes.
The _XOPEN_SOURCE definition hid BSD extensions like strlcpy,
causing probe failures and subsequent compile errors from
conflicting static/non-static declarations.
Maintenance:
* PR #60 - Modernize Makefile.PL: replace BUILD_REQUIRES with
TEST_REQUIRES (EUMM 6.64+), add CONFIGURE_REQUIRES, upgrade
META_MERGE to meta-spec v2, modernize generated Constant.pm to
use 'our' instead of 'use vars', and remove dead PPD postamble.
1.23 2026-03-24 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* PR #52 - Replace deprecated indirect object syntax (e.g. `new IO::Pty`)
with direct method calls (`IO::Pty->new`). Perl 5.36+ disables indirect
object calls, so this fixes forward compatibility.
Improvements:
* PR #53 - Add clone_winsize_from() test coverage (7 new tests) covering
basic clone between slave ttys, non-tty master fast path, croak on
non-tty source, and pixel dimension preservation.
Maintenance:
* PR #52 - Regenerate README from POD to fix stale version.
* PR #53 - Modernize `use vars` to `our` declarations in Tty.pm and
Pty.pm. Add missing `use warnings` to Pty.pm.
* Add AI_POLICY.md for transparency on AI-assisted contributions.
* Convert README to Markdown and update MANIFEST.
1.22 2026-03-24 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* GH #47, PR #48 - Fix function detection on Solaris by adding
__EXTENSIONS__ to expose BSD extensions (like strlcpy) that are
hidden when _XOPEN_SOURCE is defined.
* PR #49 - Fix file descriptor leaks in open_slave() error paths.
The master pty fd was not closed on several early-return error
paths, causing fd leaks when falling through multiple pty
allocation methods.
Improvements:
* PR #50 - Add unit tests for ttyname(), slave()/close_slave()
lifecycle, set_winsize()/get_winsize() round-trips,
pack_winsize/unpack_winsize, and constant importing (28 new tests).
* PR #51 - Replace DynaLoader with XSLoader and bump minimum perl
version to 5.8.8. XSLoader is simpler and has been in core since
perl 5.6.
Maintenance:
* PR #44 - Fix stale POD versions, add Perl 5.38/5.40 to CI, and
update repository URLs from toddr/IO-Tty to cpan-authors/IO-Tty.
* PR #45 - Remove dead Perl 5.003 compatibility code, modernize XS
(Nullch to NULL, perl_get_sv to get_sv, sprintf to snprintf).
* PR #46 - Modernize CI with dynamic perl version discovery via
perl-actions/perl-versions and add a disttest job.
1.21 2026-03-22 Todd Rinaldo <toddr@cpan.org>
Bug Fixes:
* GH #14, PR #39 - Fix slave fd leak on IO::Pty destruction. The slave
pty file descriptor was not closed when the IO::Pty object was
destroyed, leaking file descriptors until process exit.
* GH #12, PR #40 - Fix set_raw() to modify cflag for proper raw mode
on BSD/macOS. set_raw() was not clearing CSIZE|PARENB or setting CS8
in cflag, causing incomplete raw mode on macOS, OpenBSD, and NetBSD.
* GH #38, PR #41 - Modernize function detection to use proper system
headers instead of fragile K&R-style forward declarations. The old
approach conflicted with real prototypes on modern compilers
(especially FreeBSD/Clang), causing all function checks to fail.
Improvements:
* PR #42 - Add BSD CI testing for FreeBSD, OpenBSD, and NetBSD via
cross-platform-actions. Also bumps actions/checkout from v2 to v4.
* Fri Mar 08 2024 Tina Müller <tina.mueller@suse.com>
- Fix disabling of __perllib_provides
* Fri Dec 29 2023 Tina Müller <timueller+perl@suse.de>
- updated to 1.20
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
1.20 2023-12-28 Todd Rinaldo <toddr@cpan.org>
* #32 - Skip t/pty_get_winsize.t tests on AIX
* #27 - Fix patchlevel check for util.h
1.19 2023-12-28 Todd Rinaldo <toddr@cpan.org>
* #37 - Remove --no-undefined from compiler test which is not compatible with all platforms.
* Tue Nov 28 2023 Tina Müller <timueller+perl@suse.de>
- updated to 1.18
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
1.18 2023-11-27 Todd Rinaldo <toddr@cpan.org>
* #35 - Address Freebsd build issue: Make function checks more robust within shared lib
* Sat Nov 12 2022 Tina Müller <timueller+perl@suse.de>
- updated to 1.17
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
1.17 2022-11-11 Todd Rinaldo <toddr@cpan.org>
* Switch changelog entries to metacpan friendly format
* #29 - Fix printf format conversion specifiers in croak to support size_t on all platforms
* #11,#30 - Tty.pm: pre-allocate buffer for ioctl but leave it length 0
* #28 - Use $arg to match @ARGV in Makefile.PL
* Sat Jan 23 2021 Tina Müller <timueller+perl@suse.de>
- updated to 1.16
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
1.16 2021-01-2 Todd Rinaldo <toddr@cpan.org>
* Switch to github for issue tracker.
* Switch to testsuite CI workflow.
* Tidy
* Wed Nov 04 2020 Tina Müller <timueller+perl@suse.de>
- updated to 1.15
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
2020-10-03 Todd Rinaldo <toddr@cpan.org> 1.15
* Skip winsize test on Solaris and QNX NTO
* Make function tests more robust
* Work around a header name collission on util.h. This is breaking on recent OSX
* Mon Jan 20 2020 <timueller+perl@suse.de>
- updated to 1.14
see /usr/share/doc/packages/perl-IO-Tty/ChangeLog
2020-01-18 Todd Rinaldo <toddr@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 <toddr@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
/usr/lib/perl5/vendor_perl/5.44.0/riscv64-linux-thread-multi/IO /usr/lib/perl5/vendor_perl/5.44.0/riscv64-linux-thread-multi/IO/Pty.pm /usr/lib/perl5/vendor_perl/5.44.0/riscv64-linux-thread-multi/IO/Tty /usr/lib/perl5/vendor_perl/5.44.0/riscv64-linux-thread-multi/IO/Tty.pm /usr/lib/perl5/vendor_perl/5.44.0/riscv64-linux-thread-multi/IO/Tty/Constant.pm /usr/lib/perl5/vendor_perl/5.44.0/riscv64-linux-thread-multi/auto/IO /usr/lib/perl5/vendor_perl/5.44.0/riscv64-linux-thread-multi/auto/IO/Tty /usr/lib/perl5/vendor_perl/5.44.0/riscv64-linux-thread-multi/auto/IO/Tty/Tty.so /usr/share/doc/packages/perl-IO-Tty /usr/share/doc/packages/perl-IO-Tty/AI_POLICY.md /usr/share/doc/packages/perl-IO-Tty/CONTRIBUTING.md /usr/share/doc/packages/perl-IO-Tty/ChangeLog /usr/share/doc/packages/perl-IO-Tty/README.md /usr/share/doc/packages/perl-IO-Tty/SECURITY.md /usr/share/doc/packages/perl-IO-Tty/try /usr/share/licenses/perl-IO-Tty /usr/share/licenses/perl-IO-Tty/LICENSE /usr/share/man/man3/IO::Pty.3pm.gz /usr/share/man/man3/IO::Tty.3pm.gz /usr/share/man/man3/IO::Tty::Constant.3pm.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Sun Aug 2 03:56:04 2026