port 'forkpty' to all Unix platforms

2010-03-21 Thread Bruno Haible
Here, finally, comes the port of forkpty() to all Unix platforms. Again, it was easy to adapt the glibc source code. 2010-03-21 Bruno Haible forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris. * lib/forkpty.c (forkpty): New replacement function, from glibc with

new module 'login_tty'

2010-03-21 Thread Bruno Haible
Here I'm adding a replacement for login_tty. Tested on Solaris. 2010-03-21 Bruno Haible New module 'login_tty'. * lib/login_tty.c: New file. * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro. * modules/login_tty: New file. * doc/glibc-functions/login_tty.texi:

Re: Gnulib setenv on Mac OS X bug?

2010-03-21 Thread Bruno Haible
Richard W.M. Jones wrote: > Part of the reason why setenv.o isn't being built is that setenv.c > doesn't exist. It isn't copied into the local directory by > gnulib-tool. > > That led me to realize that the setenv module wasn't being mentioned > directly in my invocation of gnulib-tool. It seems

more consistent macro naming

2010-03-21 Thread Bruno Haible
Here's a proposed patch to use a name gl_FUNC_XYZ for macros that deal with the replacement of a single function. Objections? 2010-03-21 Bruno Haible * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN. * modules/getlogin (configure.ac): Update. * m4/getlog

Re: [PATCHv2 2/3] forkpty, openpty: split functions into new modules

2010-03-21 Thread Bruno Haible
As an addendum to this patch, let's make the naming of macros more consistent: 2010-03-21 Bruno Haible pty: Consistent macro naming. * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY. * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update. * modules/pty (configure.ac): Updat

prepare for 'login_tty' module

2010-03-21 Thread Bruno Haible
This adds documentation about the login_tty() function. 2010-03-21 Bruno Haible login_tty: Documentation. * doc/glibc-functions/login_tty.texi: New file. * doc/gnulib.texi (Glibc ): Include it. = doc/glibc-functions/login_tty.texi =

Re: port 'openpty' to all Unix platforms

2010-03-21 Thread Bruno Haible
And here's an update of the tests. 2010-03-21 Bruno Haible Tests for openpty: Make stricter. * tests/test-openpty.c (main): Add test of canonical processing and erase. * modules/openpty-tests (test_openpty_LDADD): Verify that PTY_LIB is defined. *** te

Re: Gnulib setenv on Mac OS X bug?

2010-03-21 Thread Richard W.M. Jones
On Mon, Mar 22, 2010 at 12:04:58AM +0100, Bruno Haible wrote: > This is all as expected. Now you have to turn to your Makefile, and see > whether these gl_LIBOBJS are correctly reflected in that Makefile, and > why the setenv.o is not being built. Part of the reason why setenv.o isn't being built

port 'openpty' to all Unix platforms

2010-03-21 Thread Bruno Haible
Hi, Here's an attempted implementation of openpty for all Unix platforms. It's tested to work fine on Solaris 10 and Solaris 8. The logic should also be in place for AIX, HP-UX, IRIX, but I can't test that. If it does not work on these platforms - there is a unit test -, please report it. 2010-0

Re: Gnulib setenv on Mac OS X bug?

2010-03-21 Thread Bruno Haible
Richard W.M. Jones wrote: > If you do > > $ grep LIBOBJ config.status > > you should see something like this: > > S["gl_LTLIBOBJS"]=" setenv.lo" > > S["gl_LIBOBJS"]=" setenv.o" > > $ grep LIBOBJ config.status | grep -i setenv > s,@gltests_LIBOBJS@,|#_!!_#| getugroups.o imaxtostr.o mgetgroup

Re: Gnulib setenv on Mac OS X bug?

2010-03-21 Thread Richard W.M. Jones
On Sun, Mar 21, 2010 at 11:24:38PM +0100, Bruno Haible wrote: > Richard W.M. Jones wrote: > > (The test program it is running is: > > > > | int > > | main () > > | { > > | > > |if (setenv ("", "", 0) != -1) return 1; > > |if (errno != EINVAL) return 2; > > |if (setenv ("a"

Re: Gnulib setenv on Mac OS X bug?

2010-03-21 Thread Bruno Haible
Richard W.M. Jones wrote: > (The test program it is running is: > > | int > | main () > | { > | > |if (setenv ("", "", 0) != -1) return 1; > |if (errno != EINVAL) return 2; > |if (setenv ("a", "=", 1) != 0) return 3; > |if (strcmp (getenv ("a"), "=") != 0) return 4

Re: Gnulib setenv on Mac OS X bug?

2010-03-21 Thread Richard W.M. Jones
On Sun, Mar 21, 2010 at 11:18:16PM +0100, Bruno Haible wrote: > If you do > $ grep LIBOBJ config.status > you should see something like this: > S["gl_LTLIBOBJS"]=" setenv.lo" > S["gl_LIBOBJS"]=" setenv.o" $ grep LIBOBJ config.status | grep -i setenv s,@gltests_LIBOBJS@,|#_!!_#| getugroups.o

Re: Gnulib setenv on Mac OS X bug?

2010-03-21 Thread Bruno Haible
Hi, Richard W.M. Jones wrote: > There seems to be a bug in Gnulib's setenv module on Mac OS X. At > configure time it says: > > checking whether setenv validates arguments ... no > > (The test program it is running is: > > | int > | main () > | { > | > |if (setenv ("", "", 0) != -1) r

Gnulib setenv on Mac OS X bug?

2010-03-21 Thread Richard W.M. Jones
There seems to be a bug in Gnulib's setenv module on Mac OS X. At configure time it says: checking whether setenv validates arguments ... no (The test program it is running is: | int | main () | { | |if (setenv ("", "", 0) != -1) return 1; |if (errno != EINVAL) return 2; |

new module 'unlockpt'

2010-03-21 Thread Bruno Haible
The next piece of openpty is the unlockpt() function. This one is easier, because on many systems, it does not need to do anything. 2010-03-21 Bruno Haible New module 'unlockpt'. * lib/unlockpt.c: New file, from glibc with modifications. * m4/unlockpt.m4: New file.

Re: [PATCH] build: avoid link failure on systems using gnulib's fcntl but not open

2010-03-21 Thread Bruno Haible
Jim Meyering wrote: > in that situation it would be nice to have a way > to ensure that the primary module list is a superset of > those used for the tests. In general, you don't want this. Let's take this precise example: Your program needs 'dup2'. We decided to make a test for dup2 which happens

Re: [PATCH] gethostname: fix build on mingw

2010-03-21 Thread Matthias Bolte
2010/3/20 Eric Blake : > Since commit 4e86671a, gethostname failed to compile on mingw. > Gnulib's sys/socket.h includes winsock2.h, which then includes > unistd.h prior to declaring gethostname.  Therefore, unistd.h > cannot replace gethostname until winsock2.h is complete, also > fixing things if

Re: [PATCH] build: avoid link failure on systems using gnulib's fcntl but not open

2010-03-21 Thread Jim Meyering
Bruno Haible wrote: > Jim Meyering wrote: >> I noticed this build failure for grep: >> >> http://hydra.nixos.org/build/329919 >> >> CCLD grep >> Undefined symbols: >> "_rpl_open", referenced from: >> _grepfile in grep.o >> ld: symbol(s) not found >> collect2:

new module 'grantpt'

2010-03-21 Thread Bruno Haible
The next brick for building a portable openpty and forkpty is 'grantpt'. I'm adding a port of the glibc implementation (based on the pt_chown program). 2010-03-21 Bruno Haible New module 'grantpt'. * lib/grantpt.c: New file, from glibc with modifications. * m4/grantpt.

Re: [PATCH] build: avoid link failure on systems using gnulib's fcntl but not open

2010-03-21 Thread Bruno Haible
Jim Meyering wrote: > I noticed this build failure for grep: > > http://hydra.nixos.org/build/329919 > > CCLD grep > Undefined symbols: > "_rpl_open", referenced from: > _grepfile in grep.o > ld: symbol(s) not found > collect2: ld returned 1 exit status >

[PATCH] build: avoid link failure on systems using gnulib's fcntl but not open

2010-03-21 Thread Jim Meyering
I noticed this build failure for grep: http://hydra.nixos.org/build/329919 CCLD grep Undefined symbols: "_rpl_open", referenced from: _grepfile in grep.o ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [grep] Error 1 I fixed it

new module 'pt_chown'

2010-03-21 Thread Bruno Haible
The next piece of pseudo-terminal support is the ability to chown the slave side of a pseudo-terminal. The way it's done in 'xterm' or 'openssh' requires making the main executable setuid root. I much prefer the approach in glibc, where only a tiny executable with no dependencies needs to be setuid

Re: avoiding leftover built sources

2010-03-21 Thread Jim Meyering
Bruno Haible wrote: > Jim Meyering wrote: >> It's the one in ../lib/fcntl.h that is the culprit. >> And *it* was not removed via "make distclean" >> since grep proper does not use the fcntl module. >> There was also a lib/fcntl.in.h symlink. >> ... >> The solution was simply to remove the vestigial

new module 'ptsname'

2010-03-21 Thread Bruno Haible
The next pty related function that gnulib can provide is 'ptsname'. It's only lacking on MacOS X 10.3 and OpenBSD. The glibc has an implementation for this situation. 2010-03-21 Bruno Haible New module 'ptsname'. * lib/ptsname.c: New file, from glibc with modifications.

Re: avoiding leftover built sources

2010-03-21 Thread Bruno Haible
Jim Meyering wrote: > It's the one in ../lib/fcntl.h that is the culprit. > And *it* was not removed via "make distclean" > since grep proper does not use the fcntl module. > There was also a lib/fcntl.in.h symlink. > ... > The solution was simply to remove the vestigial lib/fcntl.{,in.}h It looks

[PATCH] maint.mk: prohibit inclusion of "intprops.h" without_use

2010-03-21 Thread Jim Meyering
Another "prohibit header inclusion without use": >From 8b775146634a9e5614abd5f44bdf9c2225e405ba Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 21 Mar 2010 14:53:34 +0100 Subject: [PATCH] maint.mk: prohibit inclusion of "intprops.h" without_use * top/maint.mk (sc_prohibit_intprops_without

Re: test-fcntl-h-c++.cc:32: error: 'open' is not a member of 'gnulib'

2010-03-21 Thread Jim Meyering
Bruno Haible wrote: > Jim Meyering wrote: >> I produced the preprocessed output using this trick: >> >> make -C gnulib-tests AM_CXXFLAGS='-dD -E' test-fcntl-h-c++.o > > You teach me about the -dD option. Nice! > >> #define _GL_FCNTL_H >> # 59 "../lib/fcntl.h" 3 >> #define GL_LINK_WARNING(messag

Re: [PATCH] gethostname: fix build on mingw

2010-03-21 Thread Matthias Bolte
2010/3/20 Eric Blake : > Since commit 4e86671a, gethostname failed to compile on mingw. > Gnulib's sys/socket.h includes winsock2.h, which then includes > unistd.h prior to declaring gethostname.  Therefore, unistd.h > cannot replace gethostname until winsock2.h is complete, also > fixing things if

Re: [PATCH] gethostname: fix build on mingw

2010-03-21 Thread Matthias Bolte
2010/3/20 Eric Blake : > On 03/19/2010 05:35 PM, Matthias Bolte wrote: >>> I believe this will solve the issue, but would appreciate some testing >>> by Matthias.  I also think that this is the same issue as: >>> http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00183.html >>> >> >> I tested

(no subject)

2010-03-21 Thread Aleksey Avdeev
>From 8741ad8a412b2aa9f7a4e3fc69902c12a6ed9d69 Mon Sep 17 00:00:00 2001 From: Aleksey Avdeev Date: Fri, 19 Mar 2010 18:52:39 +0300 Subject: [PATCH] bootstrap: a new option --no-git, prohibiting the use git in the bootstrap process. Signed-off-by: Aleksey Avdeev --- Hello. Ability to explici

new module 'ttyname_r'

2010-03-21 Thread Bruno Haible
openpty and forkpty don't exist on Solaris and other OSes. The first, simplest function gnulib can provide in this area is 'ttyname_r'. I'm adding it: 2010-03-21 Bruno Haible New module 'ttyname_r'. * lib/ttyname_r.c: New file. * m4/ttyname_r.m4: New file. * m

Re: lib-ignore: link error with Sun C++ compiler

2010-03-21 Thread Bruno Haible
Ralf Wildenhues wrote: > another > complication: when libtool is used to create a shared library, ... > This only concerns library creation, not program creation. I think this limitation can be accepted. 'lib-ignore' is made for cases where a package has dozens of programs, and the maintainers don