diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2018-08-15 18:23:13 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2018-08-15 18:23:13 -0400 |
commit | c078c5ee26a7d2ce730bd8f7560a5e5e33ddeaad (patch) | |
tree | 5b216011575e4027da54c06bc73eb3689758fa21 /src/chroot-tools/libremakepkg | |
parent | 462a40c24fdc49f454419d438088a6bc2ba0fdd1 (diff) |
librechroot,libremakepkg: Don't have stdin of nspawn be a TTY if we don't expect input
If stdin is a TTY, systemd-nspawn will create a proxy PTY, and pump the
data from real stdin through the proxy PTY. Because the PTY acts as a
buffer, that means that it eats stdin, EVEN IF THE PROGRAM DOESN'T ACTUALLY
READ IT. This is surprising to the user.
We can't know if the command to `librechroot run` is going to read from
stdin, but for most uses of librechroot we do know. So, set stdin to
/dev/null for those cases.
Diffstat (limited to 'src/chroot-tools/libremakepkg')
-rwxr-xr-x | src/chroot-tools/libremakepkg | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/chroot-tools/libremakepkg b/src/chroot-tools/libremakepkg index 80a1733..5d1c6eb 100755 --- a/src/chroot-tools/libremakepkg +++ b/src/chroot-tools/libremakepkg @@ -136,7 +136,7 @@ build() ( prepare_chroot "$copydir" "$LIBREHOME" "$repack" false run_hook pre_build "$copydir" trap "run_hook post_build ${copydir@Q}; rm -rf -- ${startdir@Q}" EXIT - "${run_nnet[@]}" /chrootbuild "${makepkg_args[@]}" |& indent + "${run_nnet[@]}" /chrootbuild "${makepkg_args[@]}" </dev/null |& indent ) # The main program ############################################################# |