Skip to content

/etc/profile.d/debuginfod.sh causes spurious output on interactive login for non-bash shells

Description:

When /etc/profile.d/debuginfod.sh is sourced in a non-bash shell (e.g. zsh) the shell glob causes the following output to be produced on every login, when no certpath file exists at the requested path (which is the default):

/etc/profile.d/debuginfod.sh:14: no matches found: /etc/debuginfod/*.certpath

Contents of /etc/profile.d/debuginfod.sh at v0.192-1:

# $HOME/.profile* or similar files may first set $DEBUGINFOD_URLS.
# If $DEBUGINFOD_URLS is not set there, we set it from system *.url files.
# $HOME/.*rc or similar files may then amend $DEBUGINFOD_URLS.
# See also [man debuginfod-client-config] for other environment variables
# such as $DEBUGINFOD_MAXSIZE, $DEBUGINFOD_MAXTIME, $DEBUGINFOD_PROGRESS.

prefix="/usr"
if [ -z "$DEBUGINFOD_URLS" ]; then
    DEBUGINFOD_URLS=$(cat /dev/null "/etc/debuginfod"/*.urls 2>/dev/null | tr '\n' ' ' || :)
    [ -n "$DEBUGINFOD_URLS" ] && export DEBUGINFOD_URLS || unset DEBUGINFOD_URLS
fi

if [ -z "$DEBUGINFOD_IMA_CERT_PATH" ]; then
    DEBUGINFOD_IMA_CERT_PATH=$(cat /dev/null "/etc/debuginfod"/*.certpath 2>/dev/null | tr '\n' ':' || :)
    [ -n "$DEBUGINFOD_IMA_CERT_PATH" ] && export DEBUGINFOD_IMA_CERT_PATH || unset DEBUGINFOD_IMA_CERT_PATH
fi
unset prefix

Additional info:

  • package version(s): 0.192-1

Steps to reproduce:

  1. Source /etc/profile in zsh shell
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information