[horde] Time stamps in Horde Patches

Otto Stolz Otto.Stolz at uni-konstanz.de
Fri Apr 28 03:29:52 PDT 2006


Hello,

for the first time, I am trying to apply patches to a horde installation;
this installation runs under Solaris (SunOS 5.9).

I could not find any description of the patching procedures, neither in
<http://wiki.horde.org/HowTo>, nor in <ftp://ftp.horde.org/pub/horde/patches/>,
nor in <http://ftp.horde.org/pub/horde/patches/>. So I had to figure out by
trial and error (several hours) that I would need the Unix gpatch command.

But now I have a problem setting the correct file modification times.

Quote from patch-horde-3.0.9-3.1:
> diff -uNr horde-3.0.9/admin/setup/index.php horde-3.1/admin/setup/index.php
> --- horde-3.0.9/admin/setup/index.php     2005-08-24 15:42:19.000000000 +0200
> +++ horde-3.1/admin/setup/index.php       2006-01-19 19:04:00.000000000 +0100

These are fully specified time stamps, including time zones.

Quote from patch-horde-3.1-3.1.1:
> diff -uNr horde-3.1/admin/setup/index.php horde-3.1.1/admin/setup/index.php
> --- horde-3.1/admin/setup/index.php       Thu Jan 19 10:04:00 2006
> +++ horde-3.1.1/admin/setup/index.php     Tue Mar 28 04:31:08 2006

These timestamps apparently are in local time of zone -0800.


Why are the time stamps in different formats?
What option should I specify with the gpatch command, in each case?
Is there a possibility to apply both patches in one run (so I will
not loose the original backup files), and still get the file modi-
fication times correctly set?


Quote from the help file?
>      -T  or  --set-time
>         Set the modification and access times  of  patched  files
>         from  time stamps given in context diff headers, assuming
>         that the context  diff  headers  use  local  time.   This
>         option  is  not  recommended, because patches using local
>         time cannot easily be used by people in other time zones,
>         and  because  local  time stamps are ambiguous when local
>         clocks move backwards during daylight-saving time adjust-
>         ments.   Instead  of  using this option, generate patches
>         with UTC and use the -Z or --set-utc option instead.
...
>      -Z  or  --set-utc
>         Set the modification and access times  of  patched  files
>         from  time stamps given in context diff headers, assuming
>         that the context diff headers use  Coordinated  Universal
>         Time  (UTC,  often  known  as  GMT).   Also see the -T or
>         --set-time option.
> 
>         The -Z or --set-utc and -T or --set-time options normally
>         refrain from setting a file's time if the file's original
>         time does not match the time given in the  patch  header,
>         or  if its contents do not match the patch exactly.  How-
>         ever, if the -f or --force option is given, the file time
>         is set regardless.

The -T option partially works, where the modification times happen
to be in my own timezone (-0200), as in the 1st example, above;
but I get awful lots of "time mismatch" errors. I have not tried
the -Z option, as none of the patch files seem to use UTC, in
their timestamps.

So, what is the way to go? Can I solve the problem locally,
or should the Horde team produce patches with time stamps
in UTC?

Best wishes,
   Otto Stolz


More information about the horde mailing list