Re: [Bug-wget] Download files and preserve their data and time

2011-08-20 Thread Giuseppe Scrivano
David H. Lipman dlip...@verizon.net writes:

 I don't know when it happened, probably when I upgraded WGET, but when I 
 download files 
 thedy inherit the date and time of the file of when they were downloaded.

 It used to be that when the file was downloaded, it retained the date and 
 time of the file 
 it had on the server.  Not when it was downloaded.

 How can I force WGET to return to that condition ?

it has to work in the same way as it used to do.  It seems to work well
here, using the last revision from the source repository:

$ LANG=C ./wget -q -d http://www.gnu.org/graphics/gnu-head-mini.png 21 | grep 
^Last-Modified
Last-Modified: Sun, 05 Dec 2010 20:58:51 GMT

$ LANG=C stat gnu-head-mini.png  | grep ^Modify
Modify: 2010-12-05 21:58:51.0 +0100

Can you please provide more information?  What version of wget (wget
--version)?  What operating system?  Do you get a different output using
that two commands?

This is also useful for debugging, do you see something different?

$ LANG=C strace -e utimensat ./wget -q 
http://www.gnu.org/graphics/gnu-head-mini.png
utimensat(4, NULL, {{1313833704, 0}, {1291582731, 0}}, 0) = 0

Thanks,
Giuseppe



Re: [Bug-wget] Download files and preserve their data and time

2011-08-20 Thread David H. Lipman
From: Giuseppe Scrivano gscriv...@gnu.org

 David H. Lipman dlip...@verizon.net writes:

 I don't know when it happened, probably when I upgraded WGET, but when I 
 download files
 thedy inherit the date and time of the file of when they were downloaded.

 It used to be that when the file was downloaded, it retained the date and 
 time of the
 file it had on the server.  Not when it was downloaded.

 How can I force WGET to return to that condition ?

 it has to work in the same way as it used to do.  It seems to work well
 here, using the last revision from the source repository:

 $ LANG=C ./wget -q -d http://www.gnu.org/graphics/gnu-head-mini.png 21 | 
 grep 
 ^Last-Modified
 Last-Modified: Sun, 05 Dec 2010 20:58:51 GMT

 $ LANG=C stat gnu-head-mini.png  | grep ^Modify
 Modify: 2010-12-05 21:58:51.0 +0100

 Can you please provide more information?  What version of wget (wget
 --version)?  What operating system?  Do you get a different output using
 that two commands?

 This is also useful for debugging, do you see something different?

 $ LANG=C strace -e utimensat ./wget -q 
 http://www.gnu.org/graphics/gnu-head-mini.png
 utimensat(4, NULL, {{1313833704, 0}, {1291582731, 0}}, 0) = 0

 Thanks,
 Giuseppe


WinXP/Vista -- Win32

Y:\wget --version
GNU Wget 1.12-2504 built on mingw32.

+digest +https +ipv6 +iri -large-file +nls -ntlm +opie +ssl/openssl

Wgetrc:
C:\wgetrc.txt  (env)
c:/wget/root/etc/wgetrc (system)
Locale: c:/wget/root/share/locale
Compile: gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=/c/wget/root/etc/wgetrc
-DLOCALEDIR=/c/wget/root/share/locale -I. -I../lib -I../lib
-I/c/wget/root/include -I/c/wget/root/include -O2 -Wall
Link: gcc -O2 -Wall -L/c/wget/root/lib /c/wget/root/lib/libiconv.dll.a
/c/wget/root/lib/libintl.dll.a -L/mingw/lib
/c/wget/root/lib/libiconv.dll.a -lssl32 -leay32 -lz -lws2_32 -lidn
ftp-opie.o mswindows.o openssl.o ../lib/libgnu.a

Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
http://www.gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Originally written by Hrvoje Niksic hnik...@xemacs.org.
Please send bug reports and questions to bug-wget@gnu.org.


-- 
Dave
Multi-AV Scanning Tool - http://multi-av.thespykiller.co.uk
http://www.pctipp.ch/downloads/dl/35905.asp 






Re: [Bug-wget] Download files and preserve their data and time

2011-08-20 Thread Giuseppe Scrivano
David H. Lipman dlip...@verizon.net writes:

 WinXP/Vista -- Win32

 Y:\wget --version
 GNU Wget 1.12-2504 built on mingw32.

the change introduced by the revision
gscriv...@gnu.org-20110419103346-cctazi0zxt2770wt could be the reason of
the problem you have reported.

If it is possible for you to compile wget, could you try to revert this
patch?  Does it solve the problem for you?
If you have problems to re-build wget then I'll try to setup the
environment here.

Thanks,
Giuseppe



=== modified file 'bootstrap.conf'
--- bootstrap.conf  2011-04-19 09:31:25 +
+++ bootstrap.conf  2011-04-19 10:33:46 +
@@ -30,9 +30,11 @@
 announce-gen
 bind
 c-ctype
+clock-time
 close
 connect
 fcntl
+futimens
 getaddrinfo
 getopt-gnu
 getpass-gnu

=== modified file 'src/Makefile.am'
--- src/Makefile.am 2011-04-03 22:13:53 +
+++ src/Makefile.am 2011-04-19 10:33:46 +
@@ -37,7 +37,7 @@
 
 # The following line is losing on some versions of make!
 DEFS = @DEFS@ -DSYSTEM_WGETRC=\$(sysconfdir)/wgetrc\ 
-DLOCALEDIR=\$(localedir)\
-LIBS = @LIBICONV@ @LIBINTL@ @LIBS@
+LIBS = @LIBICONV@ @LIBINTL@ @LIBS@ $(LIB_CLOCK_GETTIME)
 
 bin_PROGRAMS = wget
 wget_SOURCES = cmpt.c connect.c convert.c cookies.c ftp.c\

=== modified file 'src/utils.c'
--- src/utils.c 2011-04-18 12:37:42 +
+++ src/utils.c 2011-04-19 10:33:46 +
@@ -51,8 +51,7 @@
 #include stdarg.h
 #include locale.h
 
-#include sys/time.h
-
+#include sys/stat.h
 
 /* For TIOCGWINSZ and friends: */
 #ifdef HAVE_SYS_IOCTL_H
@@ -488,15 +487,25 @@
 void
 touch (const char *file, time_t tm)
 {
-  struct timeval timevals[2];
-
-  timevals[0].tv_sec = time (NULL);
-  timevals[0].tv_usec = 0L;
-  timevals[1].tv_sec = tm;
-  timevals[1].tv_usec = 0L;
-
-  if (utimes (file, timevals) == -1)
-logprintf (LOG_NOTQUIET, utimes(%s): %s\n, file, strerror (errno));
+  struct timespec timespecs[2];
+  int fd;
+
+  fd = open (file, O_WRONLY);
+  if (fd  0)
+{
+  logprintf (LOG_NOTQUIET, open(%s): %s\n, file, strerror (errno));
+  return;
+}
+
+  timespecs[0].tv_sec = time (NULL);
+  timespecs[0].tv_nsec = 0L;
+  timespecs[1].tv_sec = tm;
+  timespecs[1].tv_nsec = 0L;
+
+  if (futimens (fd, timespecs) == -1)
+logprintf (LOG_NOTQUIET, futimens(%s): %s\n, file, strerror (errno));
+
+  close (fd);
 }
 
 /* Checks if FILE is a symbolic link, and removes it if it is.  Does

=== modified file 'tests/Makefile.am'
--- tests/Makefile.am   2011-04-03 22:13:53 +
+++ tests/Makefile.am   2011-04-19 10:33:46 +
@@ -34,7 +34,7 @@
 PERL = perl
 PERLRUN = $(PERL) -I$(srcdir)
 
-LIBS = @LIBICONV@ @LIBINTL@ @LIBS@
+LIBS = @LIBICONV@ @LIBINTL@ @LIBS@ $(LIB_CLOCK_GETTIME)
 
 .PHONY: test run-unit-tests run-px-tests
 




Re: [Bug-wget] Download files and preserve their data and time

2011-08-20 Thread David H. Lipman
From: Giuseppe Scrivano gscriv...@gnu.org

 David H. Lipman dlip...@verizon.net writes:

 WinXP/Vista -- Win32

 Y:\wget --version
 GNU Wget 1.12-2504 built on mingw32.

 the change introduced by the revision
 gscriv...@gnu.org-20110419103346-cctazi0zxt2770wt could be the reason of
 the problem you have reported.

 If it is possible for you to compile wget, could you try to revert this
 patch?  Does it solve the problem for you?
 If you have problems to re-build wget then I'll try to setup the
 environment here.


Thank you but, not possible.

I hung my hat on MASM and compiling loong ago.



-- 
Dave
Multi-AV Scanning Tool - http://multi-av.thespykiller.co.uk
http://www.pctipp.ch/downloads/dl/35905.asp