Mailinglist Archive: opensuse-commit (705 mails)

< Previous Next >
commit perl-IO-Tty
  • From: root@xxxxxxx (h_root)
  • Date: Fri, 14 Jul 2006 13:31:10 +0200 (CEST)
  • Message-id: <20060714113110.54D2A94DC4@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package perl-IO-Tty
checked in at Fri Jul 14 13:31:10 CEST 2006.

--------
--- perl-IO-Tty/perl-IO-Tty.changes 2006-01-25 21:39:46.000000000 +0100
+++ perl-IO-Tty/perl-IO-Tty.changes 2006-07-14 12:25:28.000000000 +0200
@@ -1,0 +2,9 @@
+Fri Jul 14 12:11:19 CEST 2006 - mc@xxxxxxx
+
+- Version 1.05
+ - changed newCONSTSUB to use newSV(0) instead of PL_sv_undef,
+ now undef'd constants work
+ - added handling for z/OS (uses /dev/ptyp0000)
+ - some bugfixes
+
+-------------------------------------------------------------------

Old:
----
IO-Tty-1.02.tar.gz

New:
----
IO-Tty-1.05.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-IO-Tty.spec ++++++
--- /var/tmp/diff_new_pack.hw0FH6/_old 2006-07-14 13:29:28.000000000 +0200
+++ /var/tmp/diff_new_pack.hw0FH6/_new 2006-07-14 13:29:28.000000000 +0200
@@ -1,25 +1,24 @@
#
-# spec file for package perl-IO-Tty (Version 1.02)
+# spec file for package perl-IO-Tty (Version 1.05)
#
-# Copyright (c) 2004 SuSE Linux AG, Nuernberg, Germany.
+# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# Please submit bugfixes or comments via http://www.suse.de/feedback/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild
-# usedforbuild aaa_base acl attr bash bind-utils bison bzip2 coreutils cpio cpp cvs cyrus-sasl db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv kbd less libacl libattr libgcc libstdc++ libxcrypt m4 make man mktemp modutils ncurses ncurses-devel net-tools netcfg openldap2-client openssl pam pam-devel pam-modules patch permissions popt ps rcs readline sed sendmail shadow strace syslogd sysvinit tar texinfo timezone unzip util-linux vim zlib zlib-devel autoconf automake binutils cracklib gcc gdbm gettext libtool perl rpm

Name: perl-IO-Tty
-URL: http://cpan.org/modules/by-module/IO/
+URL: http://search.cpan.org/search?module=IO::Tty
License: GPL
Group: Development/Libraries/Perl
Requires: perl = %{perl_version}
Autoreqprov: on
Summary: Provides an Interface to Pseudo Tty's
-Version: 1.02
-Release: 231
+Version: 1.05
+Release: 1
Source: IO-Tty-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build

@@ -63,6 +62,12 @@
/var/adm/perl-modules/perl-IO-Tty

%changelog -n perl-IO-Tty
+* Fri Jul 14 2006 - mc@xxxxxxx
+- Version 1.05
+- changed newCONSTSUB to use newSV(0) instead of PL_sv_undef,
+ now undef'd constants work
+- added handling for z/OS (uses /dev/ptyp0000)
+- some bugfixes
* Wed Jan 25 2006 - mls@xxxxxxx
- converted neededforbuild to BuildRequires
* Sat Jan 10 2004 - adrian@xxxxxxx

++++++ IO-Tty-1.02.tar.gz -> IO-Tty-1.05.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Tty-1.02/ChangeLog new/IO-Tty-1.05/ChangeLog
--- old/IO-Tty-1.02/ChangeLog 2002-04-02 14:29:35.000000000 +0200
+++ new/IO-Tty-1.05/ChangeLog 2006-06-06 13:41:42.000000000 +0200
@@ -1,3 +1,27 @@
+2006-06-06 Roland Giersig <rgiersig@xxxxxxxx>
+
+ * v1.05
+
+ * Tty.xs: added includes <sys/pty.h> and <sys/ptyio.h>
+
+2006-05-28 Roland Giersig <rgiersig@xxxxxxxx>
+
+ * v1.04
+
+ * Tty.xs: added handling for z/OS (uses /dev/ptyp0000)
+
+ * Makefile.PL: added <sys/pty.h> (for HPUX)
+
+2006-04-25 Roland Giersig <rgiersig@xxxxxxxx>
+
+ * v1.03
+
+ * Tty.c: changed newCONSTSUB to use newSV(0) instead of PL_sv_undef, now undef'd constants work
+
+ * Makefile.PL: made ccflags handling meta-char safe, added ldflags; enhanced error msg
+
+ * Makefile.PL: added <sys/ptyio.h>
+
2002-04-02 Roland Giersig <rgiersig@xxxxxxxx>

* Tty.pm, Pty.pm: v1.02; disable warning for non-existant die handler
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Tty-1.02/MANIFEST new/IO-Tty-1.05/MANIFEST
--- old/IO-Tty-1.02/MANIFEST 2001-11-19 17:09:57.000000000 +0100
+++ new/IO-Tty-1.05/MANIFEST 2006-04-25 16:16:02.000000000 +0200
@@ -7,3 +7,4 @@
Tty.xs
try
test.pl
+META.yml Module meta-data (added by MakeMaker)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Tty-1.02/META.yml new/IO-Tty-1.05/META.yml
--- old/IO-Tty-1.02/META.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/IO-Tty-1.05/META.yml 2006-06-06 14:54:22.000000000 +0200
@@ -0,0 +1,10 @@
+# http://module-build.sourceforge.net/META-spec.html
+#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
+name: IO-Tty
+version: 1.05
+version_from:
+installdirs: site
+requires:
+
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.17
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Tty-1.02/Makefile.PL new/IO-Tty-1.05/Makefile.PL
--- old/IO-Tty-1.02/Makefile.PL 2002-04-02 14:29:35.000000000 +0200
+++ new/IO-Tty-1.05/Makefile.PL 2006-06-06 13:39:20.000000000 +0200
@@ -1,20 +1,24 @@
use ExtUtils::MakeMaker;

use strict;
-use Config qw(%Config);
use IO::File;
+use Config qw(%Config);
+
+my $flags = "$Config{ccflags} $Config{ldflags}";
+$flags =~ s/([^A-Za-z0-9 -])/\\$1/g; # escape shell-metachars
+
$|=1; # to see output immediately
$^W=1;

my %define;
my @libs;
-my $Package_Version = '1.02'; # keep this consistent with Tty.pm
+my $Package_Version = '1.05'; # keep this consistent with Tty.pm
my $Is_Beta = ($Package_Version =~ m/_/);

open(SUB, ">xssubs.c") or die "open: $!";

-warn "WARNING: perl versions prior to 5.00503 may have problems.\n"
- if $] < 5.00503;
+warn "WARNING: perl versions prior to 5.8 are untested and may have problems.\n"
+ if $] < 5.008;

# improve backward-compatibility
@define{qw(-DPL_sv_undef=sv_undef -DPL_dowarn=dowarn)} = (undef, undef)
@@ -64,14 +68,21 @@
ESQ
close(TST);

-if (system("$Config{'cc'} $Config{'ccflags'} compilerok.c > compilerok.log 2>&1")) {
+if (system("$Config{'cc'} $flags compilerok.c > compilerok.log 2>&1")) {
die <<"__EOT__";

ERROR: cannot run the configured compiler '$Config{'cc'}'
-(see conf/compilerok.log). Please fix this by adjusting
-perls Config.pm, creating a symlink to the right location
-or maybe by just adding it to your PATH. You could also build
-perl yourself.
+(see conf/compilerok.log). Suggestions:
+1) The complier '$Config{'cc'}' is not in your PATH. Add it
+ to the PATH and try again. OR
+2) The compiler isn't installed on your system. Install it. OR
+3) You only have a different compiler installed (e.g. 'gcc').
+ Either fix the compiler config in the perl Config.pm
+ or install a perl that was built with the right compiler
+ (you could build perl yourself with the available compiler).
+
+Note: this is a system-administration issue, please ask your local
+admin for help. Thank you.

__EOT__
}
@@ -132,7 +143,7 @@

close(TST);
print "Looking for $f()" . "." x (13-length($f)) . " ";
- if (system("$Config{'cc'} $Config{'ccflags'} $funcs{$f} functest_$f.c > functest_$f.log 2>&1")) {
+ if (system("$Config{'cc'} $flags $funcs{$f} functest_$f.c > functest_$f.log 2>&1")) {
print "not found.\n";
} else {
$define{"-DHAVE_\U$f"} = undef;
@@ -144,7 +155,8 @@

# find various headerfiles

-my @headers = qw(termios.h termio.h libutil.h util.h pty.h sys/stropts.h);
+my @headers = qw(termios.h termio.h libutil.h util.h pty.h
+ sys/stropts.h sys/ptyio.h sys/pty.h);
my %headers;

foreach my $h (sort @headers) {
@@ -158,7 +170,7 @@
ESQ
close(TST);
print "Looking for $h" . "." x (15-length($h)) . " ";
- if(system("$Config{'cc'} $Config{'ccflags'} headtest_$def.c > headtest_$def.log 2>&1")) {
+ if(system("$Config{'cc'} $flags headtest_$def.c > headtest_$def.log 2>&1")) {
print "not found.\n"
}
else {
@@ -236,8 +248,8 @@
__EOT__
close(TST);

- if (system("$Config{'cc'} $Config{'ccflags'} @{[keys %define]} ttsymtest_$s.c >ttsymtest_$s.log 2>&1")) {
- print SUB qq{newCONSTSUB(stash, "$s", &PL_sv_undef);\n};
+ if (system("$Config{'cc'} $flags @{[keys %define]} ttsymtest_$s.c >ttsymtest_$s.log 2>&1")) {
+ print SUB qq{newCONSTSUB(stash, "$s", newSV(0));\n};
# now check if the symbol is defined (should have an error message
# for line 29999 in the logfile)
open(CCOUT, "ttsymtest_$s.log") or die "open ttsymtest_$s.log: $!";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Tty-1.02/Pty.pm new/IO-Tty-1.05/Pty.pm
--- old/IO-Tty-1.02/Pty.pm 2002-04-02 14:29:35.000000000 +0200
+++ new/IO-Tty-1.05/Pty.pm 2006-06-06 13:40:02.000000000 +0200
@@ -10,7 +10,7 @@

use vars qw(@ISA $VERSION);

-$VERSION = 1.02; # keep same as in Tty.pm
+$VERSION = 1.05; # keep same as in Tty.pm

@ISA = qw(IO::Handle);
eval { local $^W = 0; undef local $SIG{__DIE__}; require IO::Stty };
@@ -68,7 +68,7 @@
return ${*$master}{'io_pty_slave'};
}

- my $tty = $master->ttyname();
+ my $tty = ${*$master}{'io_pty_ttyname'};

my $slave = new IO::Tty;

@@ -148,7 +148,7 @@

=head1 VERSION

-1.02
+1.05

=head1 SYNOPSIS

diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Tty-1.02/README new/IO-Tty-1.05/README
--- old/IO-Tty-1.02/README 2002-03-13 13:40:44.000000000 +0100
+++ new/IO-Tty-1.05/README 2006-06-06 13:50:57.000000000 +0200
@@ -7,40 +7,29 @@
make test
make install

-ALL BRAND NEW!!
+This (v1.05) is a small bugfix-release. Fixed include files so Tty.xs
+should now build on HPUX.

-I finally took the time to give the pty-allocation part a complete
-overhaul. Thanks to openssh and Xemacs teams for providing me with a
-lot of inspiration through their own pty-allocation codes.
-
-I also removed the spawn code, as this doesn't fit thematically in
-here. Look into 'try' or 'test.pl' to see how it is done by hand.
-Problems with ackquiring a controlling terminal should also be fixed
-and propagating terminal size changes is now supported. Please read
-the manpages, there is a lot of new stuff (e.g. IO::Tty::Constant).
-
-Please note that pty creation is very system-dependend. I am
-beginning to get an overview, but there are a *lot* of different
-systems out there. If you have problems on your system, please send
-me (<RGiersig@xxxxxxxx>) the output of a manual installation ('perl
-Makefile.PL; make; make test;') and I'll see what I can deduce from
-it.
+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 (<RGiersig@xxxxxxxx>) 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 finally Windows (under the Cygwin environment, see
-http://sources.redhat.com/cygwin/). See the IO::Tty manpage for a
-detailed list. I also compiled an overview table, find it in the
-project pages document manager at SourceForge
-(http://sourceforge.net/projects/expectperl/).
-
-Sorry, ActiveState Perl is not supported, basically because there are
-no pseudo-terminals under Windows. If somebody from ActiveState reads
-this and wants to work on it, please contact me, maybe we could use
-the equivalent of pipes to emulate the behaviour.
+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' is a good
-start) so I can get an overview. Thanks!
+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.

@@ -49,8 +38,9 @@
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 for their compile farm!
+think about lending them a machine with a commercial OS license for
+their compile farm!


Roland <RGiersig@xxxxxxxx>
-2002-03-12
+2006-06-06
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Tty-1.02/Tty.pm new/IO-Tty-1.05/Tty.pm
--- old/IO-Tty-1.02/Tty.pm 2002-04-02 14:29:35.000000000 +0200
+++ new/IO-Tty-1.05/Tty.pm 2006-06-06 13:53:18.000000000 +0200
@@ -12,8 +12,8 @@

use vars qw(@ISA $VERSION $XS_VERSION $CONFIG $DEBUG);

-$VERSION = 1.02;
-$XS_VERSION = "1.02";
+$VERSION = 1.05;
+$XS_VERSION = "1.05";
@ISA = qw(IO::Handle);

eval { local $^W = 0; undef local $SIG{__DIE__}; require IO::Stty };
@@ -98,7 +98,7 @@

=head1 VERSION

-1.02
+1.05

=head1 SYNOPSIS

@@ -113,13 +113,14 @@
C<IO::Pty>. For a list of importable constants, see
L<IO::Tty::Constant>.

-Windows is now supported, not natively but under the Cygwin
+Windows is now supported, but ONLY under the Cygwin
environment, see L<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 C<IO::Tty> should work on. A more detailed table is
-available from the project pages document manager at SourceForge
+of systems that C<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
L<http://sourceforge.net/projects/expectperl/>.

If you have problems on your system and your system is listed in the
@@ -133,8 +134,10 @@
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. C<'uname -a'> is a good
-start) so I can get an overview. Thanks!
+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!


=head1 VERIFIED SYSTEMS, KNOWN ISSUES
@@ -148,6 +151,8 @@

Returns EIO instead of EOF when the slave is closed. Benign.

+=item * AIX 5.x
+
=item * FreeBSD 4.4

EOF on the slave tty is not reported back to the master.
@@ -159,6 +164,8 @@

EOF on the slave tty is not reported back to the master.

+=item * Darwin 7.9.0
+
=item * HPUX 10.20 & 11.00

EOF on the slave tty is not reported back to the master.
@@ -179,7 +186,7 @@

EOF on the slave tty is not reported back to the master.

-=item * Windows NT/2k (under Cygwin)
+=item * 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.
@@ -187,6 +194,8 @@

EOF on the slave tty is not reported back to the master.

+=item * z/OS
+
=back

The following systems have not been verified yet for this version, but
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Tty-1.02/Tty.xs new/IO-Tty-1.05/Tty.xs
--- old/IO-Tty-1.02/Tty.xs 2002-03-06 14:47:32.000000000 +0100
+++ new/IO-Tty-1.05/Tty.xs 2006-06-06 13:35:42.000000000 +0200
@@ -18,18 +18,6 @@
typedef FILE * InOutStream;
#endif

-/*
- * Define an XSUB that returns a constant scalar. The resulting structure is
- * identical to that created by the parser when it parses code like :
- *
- * sub xyz () { 123 }
- *
- * This allows the constants from the XSUB to be inlined.
- *
- * !!! THIS SHOULD BE ADDED INTO THE CORE CODE !!!!
- *
- */
-
#include "patchlevel.h"

#if (PATCHLEVEL < 3) || ((PATCHLEVEL == 3) && (SUBVERSION < 22))
@@ -45,40 +33,6 @@
# endif
#endif

-#ifndef newCONSTSUB
-static void
-newCONSTSUB(stash,name,sv)
- HV *stash;
- char *name;
- SV *sv;
-{
-#ifdef dTHR
- dTHR;
-#endif
- U32 oldhints = hints;
- HV *old_cop_stash = curcop->cop_stash;
- HV *old_curstash = curstash;
- line_t oldline = curcop->cop_line;
- curcop->cop_line = copline;
-
- hints &= ~HINT_BLOCK_SCOPE;
- if(stash)
- curstash = curcop->cop_stash = stash;
-
- newSUB(
- MY_start_subparse(FALSE, 0),
- newSVOP(OP_CONST, 0, newSVpv(name,0)),
- newSVOP(OP_CONST, 0, &sv_no), /* SvPV(&sv_no) == "" -- GMB */
- newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv))
- );
-
- hints = oldhints;
- curcop->cop_stash = old_cop_stash;
- curstash = old_curstash;
- curcop->cop_line = oldline;
-}
-#endif
-
/*
* The following pty-allocation code was heavily inspired by its
* counterparts in openssh 3.0p1 and Xemacs 21.4.5 but is a complete
@@ -111,6 +65,14 @@
# include <pty.h>
#endif

+#ifdef HAVE_SYS_PTY_H
+# include <sys/pty.h>
+#endif
+
+#ifdef HAVE_SYS_PTYIO_H
+# include <sys/ptyio.h>
+#endif
+
#if defined(HAVE_DEV_PTMX) && defined(HAVE_SYS_STROPTS_H)
# include <sys/stropts.h>
#endif
@@ -724,6 +686,7 @@
*ptyfd = open(buf, O_RDWR | O_NOCTTY);
if (*ptyfd >= 0 && open_slave(ptyfd, ttyfd, namebuf, namebuflen))
break;
+
/* Try SCO style naming */
sprintf(buf, "/dev/ptyp%d", i);
sprintf(tbuf, "/dev/ttyp%d", i);
@@ -734,6 +697,18 @@
*ptyfd = open(buf, O_RDWR | O_NOCTTY);
if (*ptyfd >= 0 && open_slave(ptyfd, ttyfd, namebuf, namebuflen))
break;
+
+ /* Try z/OS style naming */
+ sprintf(buf, "/dev/ptyp%04d", i);
+ sprintf(tbuf, "/dev/ttyp%04d", i);
+ if (strlcpy(namebuf, tbuf, namebuflen) >= namebuflen) {
+ warn("ERROR: pty_allocate: ttyname truncated");
+ return 0;
+ }
+ *ptyfd = open(buf, O_RDWR | O_NOCTTY);
+ if (*ptyfd >= 0 && open_slave(ptyfd, ttyfd, namebuf, namebuflen))
+ break;
+
namebuf[0] = 0;
}
if (*ptyfd >= 0)


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...


---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit-unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit-help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages