>>>>> On Mon, 30 Mar 2009, Petteri Räty wrote: > For most features the block is the need for Portage to implement the > feature. If I read the thread correctly, Portage already implements > what is wanted here so it's just a matter of agreeing on the > specification.
Not completely. Portage preserves modification times already when merging, but if we make updating of old timestamps mandatory (as Ciaran has suggested), then this part is still missing in Portage. But as far as I can see, something along the lines of the following two commands [1] should be all that is needed: find "${D}" -type f \( -newermt "@${stamp1}" -o -print0 \) \ | ${XARGS} -0 touch -c -d "@${stamp1}" find "${D}" -type f -newermt "@${stamp2}" -print0 \ | ${XARGS} -0 touch -c -d "@${stamp2}" Variables stamp1 and stamp2 would be assigned from $(date -u +"%s") before pkg_setup and after src_install, respectively. The second find command is sort of redundant, since it shouldn't happen that ${D} contains files with timestamps from the future. Maybe it's better to emit a warning in this case. Ulrich [1] For "find -newermt" we will need >=findutils-4.3.3 which shouldn't be a problem because 4.3.4 went stable in May 2007.