| 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: Fedora Project |
| Version: 1.31 | Vendor: Fedora Project |
| Release: 1.fc45 | Build date: Mon May 25 14:24:43 2026 |
| Group: Unspecified | Build host: buildvm-ppc64le-19.rdu3.fedoraproject.org |
| Size: 138572 | Source RPM: perl-IO-Tty-1.31-1.fc45.src.rpm |
| Packager: Fedora Project | |
| Url: https://metacpan.org/release/IO-Tty | |
| Summary: Perl interface to pseudo tty's | |
IO::Tty and IO::Pty provide an interface to pseudo tty's.
(GPL-1.0-or-later OR Artistic-1.0-Perl) AND BSD-2-Clause
* Mon May 25 2026 Paul Howarth <paul@city-fan.org> - 1.31-1
- Update to 1.31 (rhbz#2481113)
Bug Fixes:
- 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) (GH#91, GH#94)
- _open_tty() now takes an optional noctty flag (default 1 for backward
compatibility)
- make_slave_controlling_terminal() passes 0
- 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 (GH#92, GH#93)
Maintenance:
- 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 (GH#90)
- 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
- Package CONTRIBUTING.md, LICENSE and SECURITY.md
* Thu Apr 23 2026 Paul Howarth <paul@city-fan.org> - 1.29-1
- Update to 1.29 (rhbz#2461125)
Bug Fixes:
- 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 (GH#69)
- 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 (GH#74)
- 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 (GH#76) and ckWARN(WARN_IO) in Tty.xs (GH#79)
- 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()
(GH#77)
- 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 (GH#78)
- 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() (GH#80)
- 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 (GH#81)
- 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 (GH#84)
- Fix configure-time function detection probes being broken by compiler
optimization:
- The probes stored function pointers in local variables that -O2/-Os
(added to probe flags in GH#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
that the optimizer cannot eliminate (GH#87, GH#88)
Improvements:
- 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
(GH#86)
Maintenance:
- 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 (GH#70)
- 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 (GH#73)
- 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 (GH#75)
- 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 (GH#85)
- 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 (GH#89)
* Sat Apr 04 2026 Paul Howarth <paul@city-fan.org> - 1.27-1
- Update to 1.27 (rhbz#2454942)
Bug Fixes:
- Fix build on OpenBSD by including termios.h to detect openpty reliably and
setting _BSD_SOURCE to find strlcpy in includes (GH#68)
* Thu Apr 02 2026 Paul Howarth <paul@city-fan.org> - 1.26-1
- Update to 1.26 (rhbz#2454517)
Bug Fixes:
- 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 (GH#67)
Maintenance:
- Add 5-minute timeout to all CI test steps to prevent hung tests from
consuming CI resources indefinitely (GH#66)
* Thu Apr 02 2026 Paul Howarth <paul@city-fan.org> - 1.25-1
- Update to 1.25 (rhbz#2454158)
Bug Fixes:
- 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 (GH#62, GH#64)
Maintenance:
- 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
(GH#61)
* Fri Mar 27 2026 Paul Howarth <paul@city-fan.org> - 1.24-1
- Update to 1.24 (rhbz#2452300)
Bug Fixes:
- 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#54, GH#55)
- 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#56, GH#58)
- 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
(GH#57, GH#59)
Maintenance:
- 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 (GH#60)
* Wed Mar 25 2026 Paul Howarth <paul@city-fan.org> - 1.23-1
- Update to 1.23 (rhbz#2450189)
Bug Fixes:
- Fix function detection on Solaris by adding __EXTENSIONS__ to expose BSD
extensions (like strlcpy) that are hidden when _XOPEN_SOURCE is defined
(GH#47, GH#48)
- 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 (GH#49)
- 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 (GH#52)
Improvements:
- 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) (GH#50)
- 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 (GH#51)
- 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 (GH#53)
Maintenance:
- 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 (GH#44)
- Remove dead Perl 5.003 compatibility code, modernize XS (Nullch to NULL,
perl_get_sv to get_sv, sprintf to snprintf) (GH#45)
- Modernize CI with dynamic perl version discovery via
perl-actions/perl-versions and add a disttest job (GH#46)
- Regenerate README from POD to fix stale version (GH#52)
- Modernize 'use vars' to 'our' declarations in Tty.pm and Pty.pm; add
missing 'use warnings' to Pty.pm (GH#53)
- Add AI_POLICY.md for transparency on AI-assisted contributions
- Convert README to Markdown and update MANIFEST
* Mon Mar 23 2026 Paul Howarth <paul@city-fan.org> - 1.21-1
- Update to 1.21 (rhbz#2450189)
Bug Fixes:
- 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#14, GH#39)
- 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#12, GH#40)
- 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 (GH#38, GH#41)
Improvements:
- Add BSD CI testing for FreeBSD, OpenBSD, and NetBSD via
cross-platform-actions; also bumps actions/checkout from v2 to v4 (GH#42)
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.20-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.20-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jul 07 2025 Jitka Plesnikova <jplesnik@redhat.com> - 1.20-7
- Perl 5.42 rebuild
* Sat Jan 18 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.20-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.20-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jun 10 2024 Jitka Plesnikova <jplesnik@redhat.com> - 1.20-4
- Perl 5.40 rebuild
/usr/lib/.build-id /usr/lib/.build-id/88 /usr/lib/.build-id/88/b9866dd450704968071f7bde9e3e4bacf60987 /usr/lib64/perl5/vendor_perl/IO /usr/lib64/perl5/vendor_perl/IO/Pty.pm /usr/lib64/perl5/vendor_perl/IO/Tty /usr/lib64/perl5/vendor_perl/IO/Tty.pm /usr/lib64/perl5/vendor_perl/IO/Tty/Constant.pm /usr/lib64/perl5/vendor_perl/auto/IO /usr/lib64/perl5/vendor_perl/auto/IO/Tty /usr/lib64/perl5/vendor_perl/auto/IO/Tty/Tty.so /usr/share/doc/perl-IO-Tty /usr/share/doc/perl-IO-Tty/AI_POLICY.md /usr/share/doc/perl-IO-Tty/CONTRIBUTING.md /usr/share/doc/perl-IO-Tty/ChangeLog /usr/share/doc/perl-IO-Tty/README.md /usr/share/doc/perl-IO-Tty/SECURITY.md /usr/share/doc/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, Sat May 30 00:33:44 2026