[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