mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-22 18:41:37 +00:00
Update linuxkit vendor
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
parent
6187570b7a
commit
fbdd5047dd
@ -4,7 +4,7 @@ github.com/docker/docker 420b67f892d5424be59a788a51e2c4e64bb9cd66
|
||||
github.com/docker/go-connections e15c02316c12de00874640cd76311849de2aeed5
|
||||
github.com/docker/go-units 651fc226e7441360384da338d0fd37f2440ffbe3
|
||||
github.com/docker/libtrust 9cbd2a1374f46905c68a4eb3694a130610adc62a
|
||||
github.com/linuxkit/linuxkit 17dd50cec61de35c48b786998a154678dc46ff6a
|
||||
github.com/linuxkit/linuxkit ad8a4cad1f45a08f7dbc0ab02f28be31f767f1fd
|
||||
github.com/opencontainers/go-digest a6d0ee40d4207ea02364bd3b9e8e77b9159ba1eb
|
||||
github.com/opencontainers/runtime-spec d094a5c9c1997ab086197b57e9378fabed394d92
|
||||
github.com/pkg/errors ff09b135c25aae272398c51a07235b90a75aa4f0
|
||||
|
100
vendor/github.com/linuxkit/linuxkit/src/initrd/initrd.go
generated
vendored
100
vendor/github.com/linuxkit/linuxkit/src/initrd/initrd.go
generated
vendored
@ -45,6 +45,43 @@ func typeconv(thdr *tar.Header) int64 {
|
||||
}
|
||||
}
|
||||
|
||||
func copyTarEntry(w *Writer, thdr *tar.Header, r *tar.Reader) (written int64, err error) {
|
||||
tp := typeconv(thdr)
|
||||
if tp == -1 {
|
||||
return written, errors.New("cannot convert tar file")
|
||||
}
|
||||
size := thdr.Size
|
||||
if tp == cpio.TYPE_SYMLINK {
|
||||
size = int64(len(thdr.Linkname))
|
||||
}
|
||||
chdr := cpio.Header{
|
||||
Mode: thdr.Mode,
|
||||
Uid: thdr.Uid,
|
||||
Gid: thdr.Gid,
|
||||
Mtime: thdr.ModTime.Unix(),
|
||||
Size: size,
|
||||
Devmajor: thdr.Devmajor,
|
||||
Devminor: thdr.Devminor,
|
||||
Type: tp,
|
||||
Name: thdr.Name,
|
||||
}
|
||||
err = w.WriteHeader(&chdr)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
var n int64
|
||||
switch tp {
|
||||
case cpio.TYPE_SYMLINK:
|
||||
buffer := bytes.NewBufferString(thdr.Linkname)
|
||||
n, err = io.Copy(w, buffer)
|
||||
case cpio.TYPE_REG:
|
||||
n, err = io.Copy(w, r)
|
||||
}
|
||||
written += n
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// CopyTar copies a tar stream into an initrd
|
||||
func CopyTar(w *Writer, r *tar.Reader) (written int64, err error) {
|
||||
for {
|
||||
@ -56,37 +93,7 @@ func CopyTar(w *Writer, r *tar.Reader) (written int64, err error) {
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
tp := typeconv(thdr)
|
||||
if tp == -1 {
|
||||
return written, errors.New("cannot convert tar file")
|
||||
}
|
||||
size := thdr.Size
|
||||
if tp == cpio.TYPE_SYMLINK {
|
||||
size = int64(len(thdr.Linkname))
|
||||
}
|
||||
chdr := cpio.Header{
|
||||
Mode: thdr.Mode,
|
||||
Uid: thdr.Uid,
|
||||
Gid: thdr.Gid,
|
||||
Mtime: thdr.ModTime.Unix(),
|
||||
Size: size,
|
||||
Devmajor: thdr.Devmajor,
|
||||
Devminor: thdr.Devminor,
|
||||
Type: tp,
|
||||
Name: thdr.Name,
|
||||
}
|
||||
err = w.WriteHeader(&chdr)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
var n int64
|
||||
if tp == cpio.TYPE_SYMLINK {
|
||||
buffer := bytes.NewBufferString(thdr.Linkname)
|
||||
n, err = io.Copy(w, buffer)
|
||||
} else {
|
||||
n, err = io.Copy(w, r)
|
||||
}
|
||||
written += n
|
||||
written, err = copyTarEntry(w, thdr, r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@ -104,10 +111,6 @@ func CopySplitTar(w *Writer, r *tar.Reader) (kernel []byte, cmdline string, err
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
tp := typeconv(thdr)
|
||||
if tp == -1 {
|
||||
return kernel, cmdline, errors.New("cannot convert tar file")
|
||||
}
|
||||
switch thdr.Name {
|
||||
case "boot/kernel":
|
||||
kernel, err = ioutil.ReadAll(r)
|
||||
@ -122,32 +125,9 @@ func CopySplitTar(w *Writer, r *tar.Reader) (kernel []byte, cmdline string, err
|
||||
}
|
||||
cmdline = string(buf)
|
||||
case "boot":
|
||||
// skip this entry
|
||||
default:
|
||||
size := thdr.Size
|
||||
if tp == cpio.TYPE_SYMLINK {
|
||||
size = int64(len(thdr.Linkname))
|
||||
}
|
||||
chdr := cpio.Header{
|
||||
Mode: thdr.Mode,
|
||||
Uid: thdr.Uid,
|
||||
Gid: thdr.Gid,
|
||||
Mtime: thdr.ModTime.Unix(),
|
||||
Size: size,
|
||||
Devmajor: thdr.Devmajor,
|
||||
Devminor: thdr.Devminor,
|
||||
Type: tp,
|
||||
Name: thdr.Name,
|
||||
}
|
||||
err = w.WriteHeader(&chdr)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if tp == cpio.TYPE_SYMLINK {
|
||||
buffer := bytes.NewBufferString(thdr.Linkname)
|
||||
_, err = io.Copy(w, buffer)
|
||||
} else {
|
||||
_, err = io.Copy(w, r)
|
||||
}
|
||||
_, err = copyTarEntry(w, thdr, r)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user