Bug 1324593 - Separate bash-completion-devel subpackage
Summary: Separate bash-completion-devel subpackage
Keywords:
Status: CLOSED DUPLICATE of bug 1457164
Alias: None
Product: Fedora
Classification: Fedora
Component: bash-completion
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ville Skyttä
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: base-minimization
TreeView+ depends on / blocked
 
Reported: 2016-04-06 17:52 UTC by Yaakov Selkowitz
Modified: 2018-05-21 07:33 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2016-05-25 18:00:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Yaakov Selkowitz 2016-04-06 17:52:15 UTC
Recent versions of bash-completion ship a pkgconfig file so that other packages installing their own completions can know where to install them; this is not needed for simply *using* bash-completion.  According to the packaging guidelines, pkgconfig files should go into a separate -devel package, and such packages should BuildRequires: pkgconfig(bash-completion).

Therefore, please create a %package devel for this which Requires: %{name} = %{version}%{release}.

Comment 1 Ville Skyttä 2016-04-07 04:54:51 UTC
It's not that clear cut, for example the yum-utils completions use pkg-config at "runtime" to pull in the required yum completion functions if they're not available yet.

There probably is a prettier way for yum-utils to accomplish the same without needing pkg-config (for example using bash-completion's _xfunc()), and yum and yum-utils are being phased out, but simply going ahead with would cause breakage, so at the moment it's a no go alone.

I'm also questioning the necessity to some extent; as far as I can tell, the only dependency in the tree that the *.pc in the main package causes is pkgconfig, and that's roughly a ~120kB package. If the goal is to have a really minimized setup, I wonder why would bash-completion itself be something to include there in such setups (it's ~900kB installed).

Leaving open but not sure if anything will happen to this soon.

Comment 2 Yaakov Selkowitz 2016-04-07 05:05:12 UTC
Note that the yum-utils completions are not shipped with bash-completion but with yum-utils itself, nor (as you noted) is yum-utils part of a base install.

Comment 3 Ville Skyttä 2016-04-07 08:13:10 UTC
Sure, that was the thing I was addressing by saying "it's a no go alone" (meaning doing it in bash-completion only without touching other packages that would be affected/broken by the change).

What does a "base install" mean, and is bash-completion included in it? It is included in the standard and desktop comps groups.

Comment 4 Yaakov Selkowitz 2016-05-25 17:40:52 UTC
(In reply to Ville Skyttä from comment #1)
> I'm also questioning the necessity to some extent; as far as I can tell, the
> only dependency in the tree that the *.pc in the main package causes is
> pkgconfig, and that's roughly a ~120kB package. If the goal is to have a
> really minimized setup, I wonder why would bash-completion itself be
> something to include there in such setups (it's ~900kB installed).

Fair enough, and I finally managed to track this down; dnf Recommends: bash-completion.  Now that we have an option to exclude weak deps in kickstarts (bug 1133110), bash-completion no longer appears in the base image.

That being said, bash-completion.pc technically still belongs in a separate -devel package, per the Packaging Guidelines.  If a particular third-party completion uses pkg-config (e.g. gstreamer1 or yum-utils), then it should add a weak dep thereon.

Comment 5 Ville Skyttä 2016-05-25 18:00:15 UTC
(In reply to Yaakov Selkowitz from comment #4)
> That being said, bash-completion.pc technically still belongs in a separate
> -devel package, per the Packaging Guidelines.

The packaging guidelines actually acknowledge that it depends on the use case, and in my opinion this is a valid one for having it in the main package. Closing as WONTFIX based on that.

https://fedoraproject.org/wiki/Packaging:Guidelines#Pkgconfig_Files_.28foo.pc.29

Comment 6 Kamil Dudka 2018-05-21 07:31:51 UTC
(In reply to Ville Skyttä from comment #1)
> It's not that clear cut, for example the yum-utils completions use
> pkg-config at "runtime" to pull in the required yum completion functions if
> they're not available yet.

That is a reason for yum-utils to depend on pkg-config, not for bash-completion.  See the summary of this bug.  *.pc files should go to a sub-package that is not installed by default.

Comment 7 Kamil Dudka 2018-05-21 07:33:37 UTC

*** This bug has been marked as a duplicate of bug 1457164 ***


Note You need to log in before you can comment on or make changes to this bug.