[Bug 267416] Mk/bsd.port.mk: install-missing-packages fails in automated runs without TTY

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 29 Oct 2022 12:08:36 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267416

            Bug ID: 267416
           Summary: Mk/bsd.port.mk: install-missing-packages fails in
                    automated runs without TTY
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: pat@patmaddox.com

I am trying to run `make install-missing-packages` on Cirrus CI. When I do, it
fails with:

    xargs: can't open /dev/tty: Device not configured

The `install-missing-packages` target includes a line with `${XARGS} -o` where
`-o` means `Reopen stdin as /dev/tty in the child process` (see xargs(1)).

I'm not sure why `-o` is in there, what else might be expecting it... but when
I removed it, it worked fine:

    sed -i '' -e 's:${XARGS} -o:${XARGS}:' /usr/ports/Mk/bsd.port.mk

or this patch:

    --- bsd.port.mk     2022-10-29 04:59:04.058879000 -0700
    +++ bsd.port.mk-fixed       2022-10-29 04:59:58.919773000 -0700
    @@ -4323,7 +4323,7 @@
     install-missing-packages:
        @_dirs=$$(${MISSING-DEPENDS-LIST}); \
        ${ECHO_CMD} "$${_dirs}" | ${SED} "s%${PORTSDIR}/%%g" | \
    -           ${SU_CMD} "${XARGS} -o ${PKG_BIN} install -A"
    +           ${SU_CMD} "${XARGS} ${PKG_BIN} install -A"

     ################################################################
     # Everything after here are internal targets and really

-- 
You are receiving this mail because:
You are the assignee for the bug.