HomeFreeBSD

MFC r363064,363067,363081,363136: optimize install(1) a bit.

Description

MFC r363064,363067,363081,363136: optimize install(1) a bit.

Currently, "install -s -S" behaviour is inefficient for upgrade.
First it finds that destination file already exists and copies
source file to temporary file. Then it calls strip(1)
with name of temporary file as single agrument and our strip(1) creates
another temporary file in the /tmp (or TMPDIR) making another copy
that is finally copied to DESTDIR third time.

Meantime, strip(1) has an option "-o dst" to specify destination
so install(1) is allowed to skip initial copying from obj to DESTDIR.
This change makes it do so.

This optimization descreases total amount of data sent to
both of /tmp and DESTDIR during "make installworld" by 32% or so.
See the differential for details.

Differential Revision: https://reviews.freebsd.org/D25551

Details

Provenance
eugenAuthored on
Differential Revision
D25551: Optimize "install -s" and installworld
Parents
rS364107: MFC r363064,363067,363081,363136: optimize install(1) a bit.
Branches
Unknown
Tags
Unknown