add some extra logic to prevent moving files around when this is possible.
Specifically, we created pkg.XXXX temp files for updates to work.
When I added tied files, I generalized this to installs as well, because
it was becoming too complex.
Forward a few years:
- we have tags and define-tag, so we can deem a lot of UpdateSets "safe"
(because they don't run command during the deletion/installation, but at
the end, so they won't see unwanted files)
- the tied logic is well-proven
With this diff:
- installs will again extract files directly in-place, so that install
is (mostly) chown + utimes.
- updates will extract files with new names directly in-place
- tied files that didn't change names will have zero churn (instead
of link to pkg.XXXX, rm orig file, mv pkg.XXXX back to orig file)
After lots of tests involving somewhat broken things.
Okay sthen@
(if it breaks it's easy to revert, but the speed-up for stuff like
texlive minor updates is significant)