Re: gnulib tests fail because test-canonicalize.sh is not executable

2007-07-30 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

According to James Youngman on 7/29/2007 2:22 PM:
> /bin/sh: line 8: ../../polzer/tests/test-canonicalize.sh: Permission denied
> 
> I've noticed this happening for a couple of weeks now, and could
> believe that this has always been the case for this file, as it was
> only added to CVS on 2007-07-06.   I guess the fix is to chmod the RCS
> file in the CVS repository (all the other .sh files in that directory
> are executable).   Are you able to chmod the file, Jim?

Bah, my fault again.  I'll be glad when we make the switch to git, since
then anyone can fix these types of problems.  Thanks, Jim, for fixing it.

Hmm, it does raise a question, though - it looks like the current git
mirror did not pick up on that change; is that a bug in git-cvsimport?
(There are other changes not being picked up from the CVS gnulib master,
such as the rename of popcount->count-one-bytes - the git copy never
removed the popcount files).  I also wonder if in the reverse direction,
if a change in file permissions in git will be properly reflected via the
git cvsserver?

- --
Don't work too hard, make some time for fun as well!

Eric Blake [EMAIL PROTECTED]
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGreEx84KuGfSFAYARAtKDAKClVKLzC3McHBug4URg7uov35SUpQCfZt2F
/i/kS9ln2qFRx+kDja/lbNQ=
=jSmS
-END PGP SIGNATURE-




Re: gnulib tests fail because test-canonicalize.sh is not executable

2007-07-30 Thread Jim Meyering
Eric Blake <[EMAIL PROTECTED]> wrote:
> According to James Youngman on 7/29/2007 2:22 PM:
>> /bin/sh: line 8: ../../polzer/tests/test-canonicalize.sh: Permission denied
>>
>> I've noticed this happening for a couple of weeks now, and could
>> believe that this has always been the case for this file, as it was
>> only added to CVS on 2007-07-06.   I guess the fix is to chmod the RCS
>> file in the CVS repository (all the other .sh files in that directory
>> are executable).   Are you able to chmod the file, Jim?
>
> Bah, my fault again.  I'll be glad when we make the switch to git, since
> then anyone can fix these types of problems.  Thanks, Jim, for fixing it.
>
> Hmm, it does raise a question, though - it looks like the current git
> mirror did not pick up on that change; is that a bug in git-cvsimport?
> (There are other changes not being picked up from the CVS gnulib master,
> such as the rename of popcount->count-one-bytes - the git copy never
> removed the popcount files).  I also wonder if in the reverse direction,
> if a change in file permissions in git will be properly reflected via the
> git cvsserver?

It just so happens that I regenerated the whole gnulib.git repository
from cvs and pushed the result a few minutes ago.  Normally, I let an
incremental process do the job automatically, but somehow there came
to be a branch, and hence lots of ugly merge deltas.  Now they're gone.

That also removed the popcount files.

Of course, just after pushing, I noticed that there is now too much
hierarchy in the git tree: a "clone" gives you a top-level gnulib
directory, with everything we're used to under that.  It'll take a
couple hours to regenerate it properly.




Re: [EMAIL PROTECTED]: Re: CVS commit: pkgsrc/devel/m4]

2007-07-30 Thread Bruno Haible
Joerg Sonnenberger wrote:
> Well, the test fails because WCHAR_MIN and WCHAR_MAX are unknown.

Can you please show the config.log, the generated stdint.h, and grep for
WCHAR_MIN and WCHAR_MAX under /usr/include? gnulib's stdint.h replacement
is meant to define WCHAR_MIN and WCHAR_MAX; I don't immediately see what
goes wrong.

Bruno





Re: [EMAIL PROTECTED]: Re: CVS commit: pkgsrc/devel/m4]

2007-07-30 Thread Bruno Haible
Eric Blake wrote:
> what is incorrect is that gnulib's
> replacement stdint.h needs to also be pulling in wchar.h on platforms,
> such as DragonFly, where stdint.h is not self-sufficient.

What about lib/stdint_.h line 89 ?

Bruno





Re: [EMAIL PROTECTED]: Re: CVS commit: pkgsrc/devel/m4]

2007-07-30 Thread Bruno Haible
Joerg Sonnenberger wrote:
> > Indeed, with the proposed patch and the system's fseek/fseeko, I get a
> > test failure on MacOS X:
> >   File offset is wrong after fseek: 17.
> >   FAIL: test-fflush
> 
> But it works with the more agressive approach?

Yes, with the proposed patch and the overridden fseek/fseeko, it works.

> I would strongly suggest to actually
> encapsulate fflush(fp) + fseeko(fp, 0, SEEK_CUR) in a new function and
> use that.

Indeed, in gnulib, when simply overriding the POSIX functions doesn't help,
we create our own special-purpose functions or macros. But we try hard to
let the programmers write programs according to POSIX.

In this case, we succeeded in overriding fflush and fseek/fseeko - albeit
with major hacks. If the number of hacks in this area keeps growing, we
may want to follow your suggestion.

> The current gnulib implementation provides that with a lot of messing in
> the internals of stdio and by overridding two entry points (fflush and
> fseeko). It works by forcing a non-trivial number of invariants between
> the two replacement functions and the behaviour of stdio in general.

Yes, it is weird code.

> The alternative fflush
> function above is far less intrusive, but degrades the performance of
> fseek/fseeko. I don't think there is any application that really hits
> this case as the example of Eric seems to be the first good example why
> it is needed, otherwise it wouldn't have been in the standards for 15
> years.

Eric's example is not a frequent use case, admitted. But fseek is frequent,
and users of gnulib should be able to take both the fflush and the fseeko
replacements without much thinking and without getting a performance
degradation.

Bruno





Re: second call: please nail down the license terms of some more modules

2007-07-30 Thread Bruno Haible
Simon Josefsson wrote two weeks ago:
> I need the following modules to be usable in a LGPLv2 project:
> 
> Libidn: gettext-h stdint striconv strverscmp
> Gsasl: base64 crypto/gc crypto/gc-hmac-md5 crypto/gc-hmac-md5-tests
>  crypto/gc-md5 crypto/gc-md5-tests crypto/gc-random crypto/gc-tests
>  getline gettext maintainer-makefile strdup strverscmp vasprintf
> GnuTLS: crypto/gc crypto/gc-arcfour crypto/gc-arctwo crypto/gc-des
>  crypto/gc-hmac-md5 crypto/gc-md2 crypto/gc-md4 crypto/gc-md5
>  crypto/gc-pbkdf2-sha1 crypto/gc-random crypto/gc-rijndael crypto/gc-sha1
>  getpass gettext memmem memmove minmax read-file snprintf socklen stdint
>  strverscmp sys_socket sys_stat time_r unistd vasprintf
> Libntlm: check-version des des-tests maintainer-makefile md4 md4-tests
>  strdup strverscmp unistd
> ...
> I moving today, so I don't have time to go through them and check who is
> the owner etc.  I'll see if I find time later this week.  Unless someone
> else beats me to it...

The week is over. I'm marking the modules that you specified as LGPLv2+.
Except the tests, because they can be under GPL without problems, since they
are not installed into libraries.

Note that the following modules are not yet marked as LGPLv2+. I don't know
if you intended it like this.
  crypto/arcfour:LGPL
  crypto/arctwo:LGPL
  crypto/hmac-md5:LGPL
  crypto/hmac-sha1:LGPL
  crypto/md5:LGPL
  crypto/rijndael:LGPL
  crypto/sha1:LGPL

2007-07-30  Bruno Haible  <[EMAIL PROTECTED]>

* modules/base64 (License): Use the synonymous term "LGPLv2+".
* modules/c-ctype (License): Likewise.
* modules/c-strcase (License): Likewise.
* modules/check-version (License): Likewise.
* modules/iconv (License): Likewise.
* modules/iconv_open (License): Likewise.
* modules/read-file (License): Likewise.
* modules/striconv (License): Likewise.
* modules/strverscmp (License): Likewise.
* modules/vasprintf (License): Likewise.
* modules/crypto/des (License): Likewise.
* modules/crypto/gc (License): Likewise.
* modules/crypto/gc-arcfour (License): Likewise.
* modules/crypto/gc-arctwo (License): Likewise.
* modules/crypto/gc-des (License): Likewise.
* modules/crypto/gc-hmac-md5 (License): Likewise.
* modules/crypto/gc-hmac-sha1 (License): Likewise.
* modules/crypto/gc-md2 (License): Likewise.
* modules/crypto/gc-md4 (License): Likewise.
* modules/crypto/gc-md5 (License): Likewise.
* modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
* modules/crypto/gc-random (License): Likewise.
* modules/crypto/gc-rijndael (License): Likewise.
* modules/crypto/gc-sha1 (License): Likewise.
* modules/crypto/md2 (License): Likewise.
* modules/crypto/md4 (License): Likewise.

--- modules/base64  9 Aug 2006 22:52:40 -   1.2
+++ modules/base64  30 Jul 2007 21:26:07 -
@@ -19,7 +19,7 @@
 "base64.h"
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Simon Josefsson
--- modules/c-ctype 14 Nov 2006 11:07:51 -  1.3
+++ modules/c-ctype 30 Jul 2007 21:26:07 -
@@ -17,7 +17,7 @@
 "c-ctype.h"
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
--- modules/c-strcase   11 Oct 2005 18:48:53 -  1.1
+++ modules/c-strcase   30 Jul 2007 21:26:07 -
@@ -18,7 +18,7 @@
 "c-strcase.h"
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
--- modules/check-version   13 Oct 2006 12:40:23 -  1.5
+++ modules/check-version   30 Jul 2007 21:26:07 -
@@ -18,7 +18,7 @@
 "check-version.h"
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Simon Josefsson
--- modules/iconv   1 Feb 2007 01:52:34 -   1.10
+++ modules/iconv   30 Jul 2007 21:26:07 -
@@ -21,7 +21,7 @@
 $(LTLIBICONV) when linking with libtool, $(LIBICONV) otherwise
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
--- modules/iconv_open  21 Jun 2007 17:08:45 -  1.4
+++ modules/iconv_open  30 Jul 2007 21:26:07 -
@@ -58,7 +58,7 @@
 
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
--- modules/read-file   13 Oct 2006 12:40:23 -  1.4
+++ modules/read-file   30 Jul 2007 21:26:07 -
@@ -17,7 +17,7 @@
 "read-file.h"
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Simon Josefsson
--- modules/striconv31 Mar 2007 21:00:51 -  1.3
+++ modules/striconv30 Jul 2007 21:26:07 -
@@ -27,7 +27,7 @@
 "striconv.h"
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible, Simon Josefsson
--- modules/strverscmp  13 Oct 2006 12:40:23 -  1.8
+++ modules/strverscmp  30 Jul 2007 21:26:07 -
@@ -17,7 +17,7 @@
 "strverscmp.h"
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Jim Meyering, glibc
--- modules/vasprintf   27 Mar 2007 20:18:17 -  1.5
+++ modules/vasprintf   30 Jul 2007 21:26:07 -
@@ -20,7 +20,7 @@
 
 
 License:
-LGPL
+LGPLv2+
 
 Maintainer:
 Bruno Haible
--- modules/crypto/des  1 Apr 2007 08:38:41 -   1.1
+++ modules/