all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Marius Bakke <mbakke@fastmail.com>
To: Mark Wielaard <mark@klomp.org>
Cc: Brett Gilio <brettg@gnu.org>, 38803@debbugs.gnu.org
Subject: [bug#38803] [PATCH] gnu: elfutils: Update to 0.178
Date: Fri, 31 Jan 2020 16:49:44 +0100	[thread overview]
Message-ID: <87v9ormxrb.fsf@devup.no> (raw)
In-Reply-To: <20200131124321.GM3319@wildebeest.org>

[-- Attachment #1: Type: text/plain, Size: 3644 bytes --]

Hello!

Mark Wielaard <mark@klomp.org> writes:

>> Also, for the description, please use full sentences.  I.e. keep the
>> 'This package provides a collection ...' and 'This includes ...' instead
>> of 'A collection ...' and 'Includes ...'.
>
> OK. Done. See attached patch.

Sorry for the nit-picks, but the description still starts
'mid-sentence', i.e. "A collection ..." instead of "elfutils is a
collection ...".

If you think it's better this way I'm fine with that, it's just that
elfutils will "stand out" compared to its neighbours at
e.g. <https://guix.gnu.org/packages/E/page/3/>.  :-)

> Yes. There is are a new network client and server integrated with
> elfutils in 0.178. A new client library debuginfod-client.so which
> depends on libcurl, which pulls in most of the other stuff. elfutils
> libdw.so has a dependency on this, but it is dlopened when
> available. So it isn't a hard dependency. In other distros
> debuginfod-client is its own elfutils subpackage which is recommended,
> but not required. It allows libdw.so to pull in separate debuginfo
> files from the network when not locally installed (and an server URL
> is configured). Then there is also a little server based on
> libmicrohttpd and sqlite which is responsible for the other part of
> the new inputs. Other distros put this also in a separate elfutils
> subpackage.

Thanks for the detailed clarification.  Re: dlopen, we typically patch
in the absolute file names to avoid surprises on foreign distributions
(and getting deterministic results in general), so we should probably do
it here too.

>> Previously 'mesa' was using our other 'libelf' package, but I switched
>> it to elfutils in commit 9b3b4c05a06bb8ef22350706b66043b5e93d8d66
>> because that's what "everyone else" do.  Perhaps we should go back to
>> that, thoughts?  Then we don't have to worry as much about the size of
>> elfutils.
>
> I would get rid of the other libelf. It has been dead upstream for
> years. And last year the home page and upstream completely
> disappeared. Replacing libelf with elfutils-libelf for guix globally
> would make a lot of sense to me. I believe that is what most distros
> do these days.

Sounds good.  Can you submit a patch that replaces libelf with elfutils
for all packages except GCC?

> I can do that. But it wouldn't change the inputs. The runtime
> dependencies of libelf on its own would be reduced to just zlib and
> gcclibs. The other libraries (without debuginfod-client) would just
> add a couple more compression libraries as runtime dependencies
> (although you realy want debuginfod-client also around so that it can
> be dlopened). Same for the binaries minus debuginfod-find and
> debuginfod. The debuginfod subpackage would be the only thing with
> runtime dependencies on everything (including libmicrohttpd and
> sqlite).

I think a single :bin output with all the executables is fine.

Regarding separate :libelf output, I suppose just copying libelf.so*
should do the trick.  Maybe we need to adjust some pkg-config files too?
I can look into this if you like.

> I'll go ask around here how to create a minimal package to see if that
> helps. Although it feels a bit odd. Upstream doesn't really support
> building just a subset of the package (there are some dependencies
> between the libraries and binaries which require things to be build
> together).

If we are to use this libelf for 'gcc', we'll need to find a way to
avoid the extraneous inputs to avoid complicating the bootstrap graph
too much.  We can always ignore the build system altogether and roll
our own command line for the GCC variant though.

Thanks,
Marius

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

  reply	other threads:[~2020-01-31 15:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-30  1:41 [bug#38803] [PATCH] gnu: elfutils: Update to 0.178 Mark Wielaard
2019-12-30  1:44 ` Brett Gilio
2019-12-30  2:04   ` Mark Wielaard
2020-01-12 20:39 ` Mark Wielaard
2020-01-12 20:54   ` Marius Bakke
2020-01-13  0:03     ` Mark Wielaard
2020-01-13 22:26       ` Marius Bakke
2020-01-31 12:43         ` Mark Wielaard
2020-01-31 15:49           ` Marius Bakke [this message]
2020-01-31 16:55             ` Mark Wielaard
2020-02-05 20:41               ` Marius Bakke
2020-02-06 11:04                 ` Mark Wielaard
2020-02-06 11:36                   ` Marius Bakke
2020-02-06 13:23                   ` Mark Wielaard
2020-02-06 14:31                     ` Marius Bakke
2023-09-02 18:39 ` Vagrant Cascadian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v9ormxrb.fsf@devup.no \
    --to=mbakke@fastmail.com \
    --cc=38803@debbugs.gnu.org \
    --cc=brettg@gnu.org \
    --cc=mark@klomp.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.