[csw-maintainers] mgar merge: pcopy doesn't preserve files epoch; it should...

Dagobert Michelsen dam at opencsw.org
Tue Feb 12 14:57:13 CET 2013


Hi Peter,

Am 12.02.2013 um 14:24 schrieb pfelecan <pfelecan at opencsw.org>:
> Looking up the incriminated files epoch I can see:
> 
> cd ~/opencsw/guile/trunk/work/solaris10-sparc
> 
> gls -l --time-style=+%s
> pkgroot/opt/csw/share/guile/2.0/ice-9/eval.scm \
>  work/solaris10-sparc/pkgroot/opt/csw/lib/guile/2.0/ccache/ice-9/eval.go
> -rw-r--r-- 1 pfelecan csw 13506 1360592755 pkgroot/opt/csw/lib/guile/2.0/ccache/ice-9/eval.go
> -rw-r--r-- 1 pfelecan csw 20920 1360592757 pkgroot/opt/csw/share/guile/2.0/ice-9/eval.scm
> 
> and
> 
> gls -l --time-style=+%s install-isa-sparcv8plus/opt/csw/share/guile/2.0/ice-9/eval.scm work/solaris10-sparc/install-isa-sparcv8plus/opt/csw/lib/guile/2.0/ccache/ice-9/eval.go
> -rw-r--r-- 1 pfelecan csw 13506 1360592531 install-isa-sparcv8plus/opt/csw/lib/guile/2.0/ccache/ice-9/eval.go
> -rw-r--r-- 1 pfelecan csw 20920 1360592494 install-isa-sparcv8plus/opt/csw/share/guile/2.0/ice-9/eval.scm
> 
> This means that the epoch is changed when merging; i.e. when pcopy
> transfers the files from the installation directory to the packaging
> directory.
> 
> In my opinion, this is sub-optimal. Can we replace the pcopy with
> the good old GNU tar, which have all the required features to
> obtain the same effect or modify the copy routine (now provided by
> File::Copy module) to preserve all the inode's attributes?

Unfortunately not as pcopy does relocation on the fly much like pax,
but that has ugly bugs under certain conditions so I decided to rewrite it.

> I understand that I can supply a kludgy post-install script which
> either compiles the Scheme scripts or recursively touch the
> pre-compiled files on the target system to avoid the unwanted
> behavior of guile-config. However, this is not what I want /
> is required.


This is definitely not good. I changed pcopy to keep the mtime and atime:
  http://sourceforge.net/apps/trac/gar/changeset/20300


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



More information about the maintainers mailing list