2015-06-01 19:42:27 -04:00
|
|
|
// +build !windows
|
|
|
|
|
2018-02-05 16:05:59 -05:00
|
|
|
package chrootarchive // import "github.com/docker/docker/pkg/chrootarchive"
|
2014-10-29 15:06:51 -04:00
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
2014-12-08 18:04:34 -05:00
|
|
|
"io"
|
|
|
|
"io/ioutil"
|
2014-10-29 15:06:51 -04:00
|
|
|
"os"
|
|
|
|
|
|
|
|
"github.com/docker/docker/pkg/reexec"
|
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
reexec.Register("docker-applyLayer", applyLayer)
|
2015-06-01 19:42:27 -04:00
|
|
|
reexec.Register("docker-untar", untar)
|
2019-05-30 17:55:52 -04:00
|
|
|
reexec.Register("docker-tar", tar)
|
2014-10-29 15:06:51 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
func fatal(err error) {
|
|
|
|
fmt.Fprint(os.Stderr, err)
|
|
|
|
os.Exit(1)
|
|
|
|
}
|
2014-12-08 18:04:34 -05:00
|
|
|
|
|
|
|
// flush consumes all the bytes from the reader discarding
|
|
|
|
// any errors
|
2016-03-14 16:22:05 -04:00
|
|
|
func flush(r io.Reader) (bytes int64, err error) {
|
|
|
|
return io.Copy(ioutil.Discard, r)
|
2014-12-08 18:04:34 -05:00
|
|
|
}
|