[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#37732: mps-youtube propagates util-linux
From: |
Marius Bakke |
Subject: |
bug#37732: mps-youtube propagates util-linux |
Date: |
Sun, 03 Nov 2019 17:47:34 +0100 |
User-agent: |
Notmuch/0.29.1 (https://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) |
Ludovic Courtès <address@hidden> writes:
> Hi!
>
> Marius Bakke <address@hidden> skribis:
>
>> Diego Nicola Barbato <address@hidden> writes:
>>
>>> Hi Guix,
>>>
>>> An unfortunate chain of propagated-inputs causes 'util-linux' (mount,
>>> umount, etc.) to be installed alongside 'mps-youtube': 'mps-youtube'
>>> propagates 'python-pygobject', which propagates 'glib', which propagates
>>> 'util-linux'. It seems to have been introduced with commit 6c237a2,
>>> when 'util-linux' was moved to the propagated-inputs of 'glib'.
>
> Do we know why this commit moved ‘util-linux’ to propagated-inputs?
> Presumably because of this line in ‘gio-2.0.pc’, right?
>
> Requires.private: gmodule-no-export-2.0, zlib, mount >= 2.23, libselinux
I assume so.
> If it’s “just” because of this, I’d say we don’t need to propagate
> ‘util-linux’: we only build shared libraries for GLib anyway, so none of
> our packages actually use ‘Requires.private’. If we were to add
> packages requiring it, it’s fine to just add ‘mount’ as an explicit
> inputs of these packages IMO.
>
> We could follow the same reasoning for the other things that are
> propagated due to their being listed in ‘Requires.private’.
>
> Thoughts?
Right. You know, I had forgotten that Requires.private were for static
libraries. Thanks for pointing that out. I think quite a few packages
propagate Requires.private dependencies without using static libraries.
Something to watch out for in the ongoing quest to purge static
libraries from Guix.
> Moving ‘util-linux’ back to ‘inputs’ could perhaps be done on the next
> ‘staging’ or on ‘core-updates’.
util-linux now has 7880 dependent packages, as 'fontconfig' recently
started depending on it. So it must go through 'core-updates'. Luckily
that branch is slated to start by the end of this month, so the waiting
time should not be too long.
>> I have attached a WIP patch that fixes this "long term", by moving the
>> util-linux libraries to a separate output. It rebuilds 7753 packages
>> and is intended for the 'core-updates' branch.
>>
>> From b9cbe08694ddd8248ac32ce60d5fc40d5c619a54 Mon Sep 17 00:00:00 2001
>> From: Marius Bakke <address@hidden>
>> Date: Sun, 13 Oct 2019 16:07:44 +0200
>> Subject: [PATCH] gnu: util-linux: Move libraries to separate output.
>>
>> Fixes <https://bugs.gnu.org/37732>.
>> Reported by Diego Nicola Barbato <address@hidden>.
>>
>> * gnu/packages/linux.scm (util-linux)[outputs]: Add "dev".
>> [arguments]: Update #:configure-flags accordingly. Add phase
>> "adjust-bindirs", and rename "move-static-libraries" to "move-libraries",
>> while adding a substitution for the .pc files.
>> * gnu/packages/fontutils.scm (fontconfig)[propagated-inputs]: Use the "dev"
>> output of UTIL-LINUX.
>> * gnu/packages/glib.scm (glib)[propagated-inputs]: Likewise.
>
> [...]
>
>> --- a/gnu/packages/linux.scm
>> +++ b/gnu/packages/linux.scm
>> @@ -1089,19 +1089,40 @@ providing the system administrator with some help in
>> common tasks.")
>> (("build_kill=yes") "build_kill=no"))
>> #t))))
>> (build-system gnu-build-system)
>> - (outputs '("out"
>> - "static")) ; >2 MiB of static .a libraries
>> + (outputs '("out" ;6.4 MiB executables and
>> documentation
>> + "dev" ;8.8 MiB shared libraries, headers
>> and locales
>> + "static")) ;2.9 MiB static .a libraries
>
> Shared libraries are not just for development, so I’d say it should be
> “lib” instead, no?
Agreed. Will adjust this patch accordingly once I get around to start
working on 'core-updates'. :-)
signature.asc
Description: PGP signature