On Tue, Jun 9, 2015, at 08:02 AM, Vít Ondruch wrote:
Unfortunately, this is wrong assumption. It comes quite natural that
if
I want to use git command, I can do "dnf install /usr/bin/git" and I
don't care which package ships this command. And this scenario is broken
now, since this will not install "full" git I expect.
Yeah, I use file provides a lot too.
And as it turns out, it breaks also Ruby build [1], since it uses
"BuildRequires: %{_bindir}/git", but the test suite later call "git
submodule" command, which is not available anymore due to this split.
BuildRequires: %{libexecdir}/git-core/git-submodule
is probably too gross =)
I am wondering if there is some way out, for example git packages
could
have virtual provides such as git(add), git(submodule), git(rm),
git(commit) and my package could then depend on the specific virtual
provides, but I am not sure it is worth of the effort.
My initial take here is that the simplest solution is updating
the dependent packages in F23, i.e.:
diff --git a/ruby.spec b/ruby.spec
index ffca221..d15292d 100644
--- a/ruby.spec
+++ b/ruby.spec
@@ -133,7 +133,7 @@ BuildRequires: tk-devel
BuildRequires: procps
BuildRequires: %{_bindir}/dtrace
# RubyGems test suite optional dependencies.
-BuildRequires: %{_bindir}/git
+BuildRequires: git
BuildRequires: %{_bindir}/cmake
# This package provides %%{_bindir}/ruby-mri therefore it is marked by this