PR25461: add /etc/profile.d files for default $DEBUGINFOD_URLS

To give distros a simple knob to let their userbase enjoy debuginfod
services, we add a --enable-debuginfod-urls[=URLS] to the configury.
This propagates to $DEBUGINFOD_URLS environment variable settings
in /etc/profile.d/debuginfod.{sh,csh} files.

The default is nothing.  If simply enabled, the current prototype
public server is used.  If enabled with parameters, the builder/distro
can specify a default URL search path of their own.

Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
This commit is contained in:
Frank Ch. Eigler
2020-10-01 16:56:49 -04:00
parent 759ee34bd2
commit 94708e9646
7 changed files with 39 additions and 3 deletions
+5
View File
@@ -1,3 +1,8 @@
2020-10-01 Frank Ch. Eigler <fche@redhat.com>
PR25461
* configure.ac: Add --enable-debuginfod-urls[=URLS] option.
2020-09-18 Mark Wielaard <mark@klomp.org>
* configure.ac: Check availability of libzstd and zstd.
+8
View File
@@ -1,3 +1,11 @@
2020-10-01 Frank Ch. Eigler <fche@redhat.com>
PR25461
* profile.sh.in, profile.csh.in: New files for /etc/profiles.d
to define $DEBUGINFOD_URLS.
* elfutils.spec.in: Configure with --enable-debuginfod-urls.
* Makefile.am: Install them.
2020-09-18 Mark Wielaard <mark@klomp.org>
* elfutils.spec.in: Add BuildRequires for libzstd-devel and zstd.
+5 -1
View File
@@ -30,7 +30,7 @@
##
EXTRA_DIST = elfutils.spec.in known-dwarf.awk 10-default-yama-scope.conf \
libelf.pc.in libdw.pc.in libdebuginfod.pc.in \
debuginfod.service debuginfod.sysconfig
debuginfod.service debuginfod.sysconfig profile.sh.in profile.csh.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libelf.pc libdw.pc
@@ -38,6 +38,10 @@ if DEBUGINFOD
pkgconfig_DATA += libdebuginfod.pc
endif
install-data-local:
$(INSTALL_DATA) profile.sh -D $(DESTDIR)$(sysconfdir)/profile.d/debuginfod.sh
$(INSTALL_DATA) profile.csh -D $(DESTDIR)$(sysconfdir)/profile.d/debuginfod.csh
if MAINTAINER_MODE
$(srcdir)/elfutils.spec.in: $(top_srcdir)/NEWS
@tmpname=$$(mktemp $${TMPDIR:-/tmp}/elfutils.XXXXXX); \
+3 -2
View File
@@ -181,7 +181,7 @@ such servers to download those files on demand.
%setup -q
%build
%configure --program-prefix=%{_programprefix} --enable-debuginfod
%configure --program-prefix=%{_programprefix} --enable-debuginfod --enable-debuginfod-urls
make -s %{?_smp_mflags}
%install
@@ -296,7 +296,8 @@ fi
%{_libdir}/libdebuginfod.so.*
%{_bindir}/debuginfod-find
%{_mandir}/man1/debuginfod-find.1*
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/profile.d/*
%files debuginfod-client-devel
%defattr(-,root,root)
%{_libdir}/pkgconfig/libdebuginfod.pc
+2
View File
@@ -0,0 +1,2 @@
setenv DEBUGINFOD_URLS "$DEBUGINFOD_URLS @DEBUGINFOD_URLS@"
+3
View File
@@ -0,0 +1,3 @@
DEBUGINFOD_URLS="$DEBUGINFOD_URLS @DEBUGINFOD_URLS@"
export DEBUGINFOD_URLS
+13
View File
@@ -731,6 +731,18 @@ AS_IF([test "x$enable_debuginfod" != "xno"], [
AS_IF([test "x$enable_debuginfod" != "xno"],AC_DEFINE([ENABLE_DEBUGINFOD],[1],[Build debuginfod]))
AM_CONDITIONAL([DEBUGINFOD],[test "x$enable_debuginfod" = "xyes"])
dnl for /etc/profile.d/elfutils.{csh,sh}
default_debuginfod_urls=""
AC_ARG_ENABLE(debuginfod-urls,
[AS_HELP_STRING([--enable-debuginfod-urls@<:@=URLS@:>@],[add URLS to profile.d DEBUGINFOD_URLS])],
[if test "x${enableval}" = "xyes";
then default_debuginfod_urls="https://debuginfod.elfutils.org/";
elif test "x${enableval}" != "xno"; then
default_debuginfod_urls="${enableval}";
fi],
[default_debuginfod_urls=""])
AC_SUBST(DEBUGINFOD_URLS, $default_debuginfod_urls)
AC_CONFIG_FILES([config/profile.sh config/profile.csh])
AC_OUTPUT
@@ -764,6 +776,7 @@ AC_MSG_NOTICE([
Extra Valgrind annotations : ${use_vg_annotations}
libdebuginfod client support : ${enable_libdebuginfod}
Debuginfod server support : ${enable_debuginfod}
Default DEBUGINFOD_URLS : ${default_debuginfod_urls}
EXTRA TEST FEATURES (used with make check)
have bunzip2 installed (required) : ${HAVE_BUNZIP2}