Re: [Bug-wget] alpha release (1.13.4.56-620c)

2012-05-30 Thread Steven M. Schweda
>It's not really your fault, but the GNU regex code (lib/regcomp.c)
> has an annoying portability problem, [...]

   The gnulib folks have fixed this regcomp.c problem.  I don't much
like the solution they adopted, but it does get past more compilers than
the old code.

  http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00276.html



   Steven M. Schweda   sms@antinode-info
   382 South Warwick Street(+1) 651-699-9818
   Saint Paul  MN  55105-2547



Re: [Bug-wget] alpha release (1.13.4.56-620c)

2012-05-26 Thread Steven M. Schweda
From: Giuseppe Scrivano 

> >   http://lists.gnu.org/archive/html/bug-wget/2012-05/msg00086.html
> >
> > Or is something else needed?
> 
> is that enough to solve the problem?

   It's enough to solve _that_ problem.

> I am going to include this patch and then prepare a new alpha release.
> There are no blocking issues and I would like to get a new release as
> soon as possible.

   I gather that the unsigned-size_t problem in "src/warc.c" has been
solved, but, so far as I know, the other problems mentioned there may
remain (_SOCKADDR_LEN on Tru64, "%ld" for an off_t in "src/warc.c").


> [...] I did see some "xxx_T_SUFFIX" macros, but not one for this case.

   Of course, as I noticed after I wrote that, the "xxx_T_SUFFIX" macros
are "UL"-like things, used for forming constants, not "%ld"-like things,
for use in format strings.

   And, as always, thanks for the help.



   Steven M. Schweda   sms@antinode-info
   382 South Warwick Street(+1) 651-699-9818
   Saint Paul  MN  55105-2547



Re: [Bug-wget] alpha release (1.13.4.56-620c)

2012-05-26 Thread Giuseppe Scrivano
"Steven M. Schweda"  writes:

>Do you mean like this?:
>
> [...]
> ALP $ gdiff -du src/connect.c_orig src/connect.c
> [...]
>
>   http://lists.gnu.org/archive/html/bug-wget/2012-05/msg00086.html
>
> Or is something else needed?

is that enough to solve the problem?

I am going to include this patch and then prepare a new alpha release.
There are no blocking issues and I would like to get a new release as
soon as possible.

Cheers,
Giuseppe



Re: [Bug-wget] alpha release (1.13.4.56-620c)

2012-05-26 Thread Steven M. Schweda
From: Giuseppe Scrivano 

> By using gnulib we can assume these headers _always_ exist.  In case the
> system doesn't provide them, then gnulib will offer a replacement.
> 
> The problem here is that you can't use "configure", right?

   Yes.  In general: no shell, no compatible utilities, ..., no hope.

> if that is the problem, you can submit a patch which re-introduces these
> macros.  It might not be elegant, but if it solves this problem then
> there are no problems to leave them there, for systems using "configure"
> they are just a no-op.

   Do you mean like this?:

[...]
ALP $ gdiff -du src/connect.c_orig src/connect.c
[...]

  http://lists.gnu.org/archive/html/bug-wget/2012-05/msg00086.html

Or is something else needed?

> Providing such a patch helps more than complaining about portability of
> GNU programs, I think.

   Complaining is very enjoyable, though.  Of course, it's more
enjoyable when it's effective (as it generally is here).  Apparently,
complaining about the fundamental GNU regex problem gets one advice like
"get the compiler fixed":

  http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html



   Steven M. Schweda   sms@antinode-info
   382 South Warwick Street(+1) 651-699-9818
   Saint Paul  MN  55105-2547



Re: [Bug-wget] alpha release (1.13.4.56-620c)

2012-05-25 Thread Giuseppe Scrivano
Ángel González  writes:

> On 22/05/12 22:49, Steven M. Schweda wrote:
>>There's a new problem on systems (like VMS) where size_t is unsigned:
> getline() returns a ssize_t, there's a bug in defining line_length as size_t
>
> Giuseppe, can you add the missing 's'? (src/warc.c line 933)

Done and pushed the patch!

Giuseppe



Re: [Bug-wget] alpha release (1.13.4.56-620c)

2012-05-25 Thread Giuseppe Scrivano
"Steven M. Schweda"  writes:

>Obviously not, or we wouldn't be having this discussion.  For Wget
> 1.13.4 on VMS, I added these modifications to src/connect.c, because, as
> I recall, the argument that HAVE_SYS_SOCKET existed for some reason was
> unsuccessful.  I never understood why, so I thought that I'd take
> another run at it this time.  Perhaps my mind is simply too weak for
> this stuff, but I can't help thinking that if the #define directives for
> HAVE_SYS_SELECT_H and HAVE_SYS_SOCKET_H in the generated src/config.h
> are correct, then actually using these macros to guard the relevant
> #include directives should be harmless, at worst.  But what do I know?

if that is the problem, you can submit a patch which re-introduces these
macros.  It might not be elegant, but if it solves this problem then
there are no problems to leave them there, for systems using "configure"
they are just a no-op.

Providing such a patch helps more than complaining about portability of
GNU programs, I think.

Giuseppe



Re: [Bug-wget] alpha release (1.13.4.56-620c)

2012-05-25 Thread Giuseppe Scrivano
Ray Satiro  writes:

> Do you have in your wget gnulib dir lib\sys\ those includes? I was under the 
> impression those were used.
> This goes back to 
> http://lists.gnu.org/archive/html/bug-wget/2012-03/msg00082.html
>
> If you're going to use those then AC_CHECK_HEADERS or something needs to 
> check for the gnulib includes. I think there was some problem with that. I 
> can't find it in the thread but if I remember right rather than add to the 
> check Giuseppe removed the HAVEs because they are always required.. aren't 
> they?

By using gnulib we can assume these headers _always_ exist.  In case the
system doesn't provide them, then gnulib will offer a replacement.

The problem here is that you can't use "configure", right?

Giuseppe



Re: [Bug-wget] alpha release (1.13.4.56-620c) (was: [PATCH] gnutls.c: fix infinite read timeout)

2012-05-23 Thread Steven M. Schweda
>It's not really your fault, but the GNU regex code (lib/regcomp.c)
> has an annoying portability problem, because what could easily have been
> a compile-time decision was postponed until run-time.  A good compiler
> complains about loss of significant bits when BITSET_WORD_BITS < 64:
> 
>   if (BITSET_WORD_BITS == 64)
> {
>   dfa->word_char[0] = UINT64_C (0x03ff);
>   dfa->word_char[1] = UINT64_C (0x07fe87fe);
> 
> Not fatal, however, only annoying.  (And, I claim, stupid.  And
> relatively easy to fix, unless you _really_ like it the way it is, which
> seems to be the case for the GNU regex maintainer.)

   Actually, on VAX (where a 64-bit integer type in unavailable), it's
fatal:

CC /decc  /include =  ([], [.VAX], [-.SRC.VAX], [-.VMS])   /prefix_library_entri
es =  (all_entries, except = (getopt, optarg, opterr, optind, optopt))/objec
t = [.VAX]REGEX.OBJ /define = (VMS, _POSIX_EXIT, OS_TYPE="""VMS VAX V7.3"""  , -
"ENABLE_DEBUG"  , "HAVE_LIBSSL", "ENABLE_NTLM"  ) [-.LIB]REGEX.C
  dfa->word_char[0] = UINT64_C (0x03ff);
..^
%CC-E-INTCONST, Ill-formed integer constant.
At line number 963 in SYS$SYSDEVICE:[UTILITY.SOURCE.WGET.WGET-1_
13_4_56-620C.LIB]REGCOMP.C;1.

  dfa->word_char[1] = UINT64_C (0x07fe87fe);
..^
%CC-E-INTCONST, Ill-formed integer constant.
At line number 964 in SYS$SYSDEVICE:[UTILITY.SOURCE.WGET.WGET-1_
13_4_56-620C.LIB]REGCOMP.C;1.


>I assume that I'll find more problems as I try to get the new code
> into the VMS builders, but those are the ones which popped up first.

   I'm such a pessimist.  Actually, with a little adjustment to the
VMS-specific files, building on Alpha (and, I assume, on IA64 -- What
could go wrong?) seems to be ok.  Even more amazingly, I seem to have
found a truly stupid-looking work-around for that
should-have-been-compile-time conditionality problem in the GNU regex
code on VAX:

# ifdef __VAX
#  define UINT64_C(c) 0

Apparently, at least in some cases, one piece of truly stupid code can
cancel out another.

   HAVE_FSEEKO and HAVE_FTELLO (also unavailable on VAX) seem to get
about as much respect as HAVE_SYS_SELECT_H and HAVE_SYS_SOCKET_H, but I
should be able to deal with that, too.

   I haven't done any serious testing (just fetched a Web page on
Alpha), but, except for the problems previously reported, builds on VMS
should be possible.



   Steven M. Schweda   sms@antinode-info
   382 South Warwick Street(+1) 651-699-9818
   Saint Paul  MN  55105-2547



Re: [Bug-wget] alpha release (1.13.4.56-620c) (was: [PATCH] gnutls.c: fix infinite read timeout)

2012-05-23 Thread Ángel González
On 22/05/12 22:49, Steven M. Schweda wrote:
>There's a new problem on systems (like VMS) where size_t is unsigned:
getline() returns a ssize_t, there's a bug in defining line_length as size_t

Giuseppe, can you add the missing 's'? (src/warc.c line 933)




Re: [Bug-wget] alpha release (1.13.4.56-620c) (was: [PATCH] gnutls.c: fix infinite read timeout)

2012-05-22 Thread Steven M. Schweda
From: Ray Satiro 

> [...] your wget gnulib dir [...]

   You may be confusing "GNU" with "portable".  They're not even
similar.  All the GNU-autojunk in the world does me approximately no
good at all.  sys_select.in.h, sys_socket.in.h, and the like, are useful
only if someone can turn them into actual header files, and on VMS, I,
not some GNU-autojunk, am the one who would need to do it.  And, as I
said, I don't even have a convenient way to use a "sys" directory
(without wrecking access to existing  stuff).

> [...] they are always required.. aren't they?

   Obviously not, or we wouldn't be having this discussion.  For Wget
1.13.4 on VMS, I added these modifications to src/connect.c, because, as
I recall, the argument that HAVE_SYS_SOCKET existed for some reason was
unsuccessful.  I never understood why, so I thought that I'd take
another run at it this time.  Perhaps my mind is simply too weak for
this stuff, but I can't help thinking that if the #define directives for
HAVE_SYS_SELECT_H and HAVE_SYS_SOCKET_H in the generated src/config.h
are correct, then actually using these macros to guard the relevant
#include directives should be harmless, at worst.  But what do I know?



   Steven M. Schweda   sms@antinode-info
   382 South Warwick Street(+1) 651-699-9818
   Saint Paul  MN  55105-2547



Re: [Bug-wget] alpha release (1.13.4.56-620c) (was: [PATCH] gnutls.c: fix infinite read timeout)

2012-05-22 Thread Ray Satiro
> From: Steven M. Schweda 

>    This problem on VMS is still unsolved:
> 
> ALP $ gdiff -du src/connect.c_orig src/connect.c
> --- src/connect.c_orig  2012-05-12 10:18:27 -0500
> +++ src/connect.c       2012-05-22 07:59:19 -0500
> @@ -36,8 +36,13 @@
> #include 
> #include 
> 
> -#include 
> -#include 
> +#ifdef HAVE_SYS_SOCKET_H
> +# include 
> +#endif /* def HAVE_SYS_SOCKET_H */
> +
> +#ifdef HAVE_SYS_SELECT_H
> +# include 
> +#endif /* def HAVE_SYS_SELECT_H */
> 
> #ifndef WINDOWS
> # ifdef __VMS
> 
>    I don't have anything like , and adding a dummy
> replacement would be annoying, because I also don't have a "sys"
> directory.  What's the point of defining the macros HAVE_SYS_SELECT_H
> and HAVE_SYS_SOCKET_H in src/config.h, and then not using them where
> appropriate?  (When asked for , the DEC/Compaq/HP compiler
> will look for  in its usual places, so "#include 
> "
> actually works (using ), but this will fail if I create a new
> "sys" directory for .  There may be some complex 
> and ugly
> work-around for this, bit it's simpler and cleaner to use the existing
> macros.  Which is why they exist, isn't it?)
> 
>

Do you have in your wget gnulib dir lib\sys\ those includes? I was under the 
impression those were used.
This goes back to 
http://lists.gnu.org/archive/html/bug-wget/2012-03/msg00082.html

If you're going to use those then AC_CHECK_HEADERS or something needs to check 
for the gnulib includes. I think there was some problem with that. I can't find 
it in the thread but if I remember right rather than add to the check Giuseppe 
removed the HAVEs because they are always required.. aren't they?



Re: [Bug-wget] alpha release (1.13.4.56-620c) (was: [PATCH] gnutls.c: fix infinite read timeout)

2012-05-21 Thread Dagobert Michelsen
Hi Guiseppe,

Am 21.05.2012 um 23:23 schrieb Giuseppe Scrivano:
> Giuseppe Scrivano  writes:
> 
>> thanks again for your contribution!  The patch seems ok to me.  Could
>> you please also provide a complete entry for the ChangeLog file?
> 
> I have amended the ChangeLog entry in your patch and pushed it.  I think
> this is the last big change before the new release.
> 
> I have prepared an alpha release here:
> 
> ftp://alpha.gnu.org/gnu/wget/wget-1.13.4.56-620c.tar.bz2
> ftp://alpha.gnu.org/gnu/wget/wget-1.13.4.56-620c.tar.bz2.sig
> 
> Please test it and let me know of any problem.

Testsuite passes fully on Solaris 9 Sparc with Sun Studio 12.

BTW, it would be nice if the CA path in src/gnutls.c would be configurable,
but this just as a side note :-)


Best regards

  -- Dago

-- 
"You don't become great by trying to be great, you become great by wanting to 
do something,
and then doing it so hard that you become great in the process." - xkcd #896