On 2015-03-24, Constantine A. Murenin <muren...@gmail.com> wrote:
> On 23 March 2015 at 15:59, Stuart Henderson <st...@openbsd.org> wrote:
>> On 2015/03/23 10:14, Constantine A. Murenin wrote:
>>> May I also ask why is it necessary to remove the timestamp information
>>> from the tar archives themselves?
>>
>> To improve rsyncability.
>
> Could you elaborate?
>
> 0. Doesn't rsync ignore timestamps by default anyways?
>
> 1. Doesn't src/usr.sbin/pkg_add/OpenBSD/ArcCheck.pm#rev1.29 wipe out
> the timestamps only directly from the tar archives, still leaving them
> intact otherwise?

You're thinking of timestamps of the tgz here. This is about something
else: file *contents*.

Packages these days do some smart ordering of files (so that the
transfer can be stopped before downloading everything, in the case of
an update where binaries change but docs/data files stay the same), to
reduce pkg_add time. They also restart the compression stream at various
points (i.e new dictionary) to improve the chance of rsync finding
common parts between package files. Avoiding timestamps in the tar
removes one thing that might change between one build and the next. The
packing list (+CONTENTS file) which has the real timestamps (and the
signature etc) is in a different compression stream than the main files
in the package.
the main files.

Reply via email to