Hi Frank, On Sun, Oct 03, 2021 at 05:33:33PM -0400, Frank Ch. Eigler via Elfutils-devel wrote: > commit 0c634f243d266ce8841fd311433d5d79555fabf9 > Author: Frank Ch. Eigler <f...@redhat.com> > Date: Sun Oct 3 17:04:24 2021 -0400 > > PR27783: switch default debuginfod-urls to drop-in style files > > Rewrote and commented the /etc/profile.d csh and sh script fragments > to take the default $DEBUGINFOD_URLS from the union of drop-in files: > /etc/debuginfod/*.urls. Hand-tested with csh and bash, with > conditions including no prior $DEBUGINFOD_URLS, nonexistent .urls > files, multiple entries in .urls files. [...] > diff --git a/config/profile.csh.in b/config/profile.csh.in > index 0a2d6d162019..29e59a709450 100644 > --- a/config/profile.csh.in > +++ b/config/profile.csh.in > @@ -1,11 +1,16 @@ > -if ("@DEBUGINFOD_URLS@" != "") then > - if ($?DEBUGINFOD_URLS) then > - if ($%DEBUGINFOD_URLS) then > - setenv DEBUGINFOD_URLS "$DEBUGINFOD_URLS > @DEBUGINFOD_URLS@" > - else > - setenv DEBUGINFOD_URLS "@DEBUGINFOD_URLS@" > - endif > - else > - setenv DEBUGINFOD_URLS "@DEBUGINFOD_URLS@" > - endif > + > +# $HOME/.login* 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. > + > +if (! $?DEBUGINFOD_URLS) then > + set prefix="@prefix@" > + set debuginfod_urls=`find "@sysconfdir@/debuginfod/" -name '*.urls' | > xargs cat | tr '\n' ' '` > + if ( "$debuginfod_urls" != "" ) then > + setenv DEBUGINFOD_URLS "$debuginfod_urls" > + endif > + unset debuginfod_urls > + unset prefix > endif > diff --git a/config/profile.sh.in b/config/profile.sh.in > index aa228a0dcd16..94b2983b9f90 100644 > --- a/config/profile.sh.in > +++ b/config/profile.sh.in > @@ -1,4 +1,17 @@ > -if [ -n "@DEBUGINFOD_URLS@" ]; then > - DEBUGINFOD_URLS="${DEBUGINFOD_URLS-}${DEBUGINFOD_URLS:+ > }@DEBUGINFOD_URLS@" > - export DEBUGINFOD_URLS > + > +# $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. > + > +if [ -z "$DEBUGINFOD_URLS" ]; then > + prefix="@prefix@" > + debuginfod_urls=`find "@sysconfdir@/debuginfod/" -name '*.urls' | xargs > cat | tr '\n' ' '` > + if [ -n "$debuginfod_urls" ]; then > + DEBUGINFOD_URLS="$debuginfod_urls" > + export DEBUGINFOD_URLS > + fi > + unset debuginfod_urls > + unset prefix > fi
Is there any particular reason to assign (and unset) prefix? -- ldv