summaryrefslogtreecommitdiff
path: root/src/chroot-tools/libremakepkg
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2018-08-15 18:23:13 -0400
committerLuke Shumaker <lukeshu@lukeshu.com>2018-08-15 18:23:13 -0400
commitc078c5ee26a7d2ce730bd8f7560a5e5e33ddeaad (patch)
tree5b216011575e4027da54c06bc73eb3689758fa21 /src/chroot-tools/libremakepkg
parent462a40c24fdc49f454419d438088a6bc2ba0fdd1 (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-xsrc/chroot-tools/libremakepkg2
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 #############################################################