Fixes build errors like these when building for arm64:
rkt/pkg/sys/sys_linux.go: undefined: SYS_SYNCFS
Signed-off-by: Geoff Levand <geoff@infradead.org>
this introduces tar extraction inside a chroot. This is done spawning a
new process. Instead of creating a new executable (difficult to find,
package etc...) it adds the concept of a multicall process (like busybox).
Now a new multicall command "extracttar" is added.
tar.ExtractTar executes this new command passing a pipe to send the
filesMap and the tar contents to stdin.
The incomplete "insecure link" checks are removed from the the tar
functions. Additionally these functions are now not exported and the
extraction directory is always the root directory.
As syncfs is neither provided by golang syscall package nor by
golang.org/x/sys/unix adds a local syncfs syscall implementation. By now the
syscall numbers for linux amd64, 386 and arm architectures are provided.