On Fri, Feb 21, 2025 at 12:53:13PM +0100, Michal Privoznik wrote: > When printing list of allowed syscalls the width of terminal is > obtained for nicer output (see commit below). The width is > obtained by running 'stty'. While this works when building from a > console, it doesn't work during rpmbuild/emerge/.. as stdout is > usually not a console but a logfile and stdin is usually > /dev/null or something. This results in stty reporting errors > like this: > > stty: 'standard input': Inappropriate ioctl for device > > Redirect stty's stderr to /dev/null to silence it. > > Fixes: 712ca3235329b049bf9a4e481ba38a4c64768e8b > Signed-off-by: Michal Privoznik Reviewed-by: David Gibson Although, I also wonder if we'd do just as well to use the shell provided $COLUMNS variable without poking at the terminal ourselves. > --- > > I've noticed the error when running emerge on my local system, but then > also found it on a recent koji build: > > https://kojipkgs.fedoraproject.org//packages/passt/0%5E20250217.ga1e48a0/2.fc41/data/logs/x86_64/build.log > > seccomp.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/seccomp.sh b/seccomp.sh > index 4c521ae..a7bc417 100755 > --- a/seccomp.sh > +++ b/seccomp.sh > @@ -255,7 +255,7 @@ for __p in ${__profiles}; do > __calls="${__calls} ${EXTRA_SYSCALLS:-}" > __calls="$(filter ${__calls})" > > - cols="$(stty -a | sed -n 's/.*columns \([0-9]*\).*/\1/p' || :)" 2>/dev/null > + cols="$(stty -a 2>/dev/null | sed -n 's/.*columns \([0-9]*\).*/\1/p' || :)" 2>/dev/null > case $cols in [0-9]*) col_args="-w ${cols}";; *) col_args="";; esac > echo "seccomp profile ${__p} allows: ${__calls}" | tr '\n' ' ' | fmt -t ${col_args} > -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson