Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
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:
Doc Type: Bug Fix
Doc Text:
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.