Re: git perl-less build?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2015-06-09, Vít Ondruch <vondruch@xxxxxxxxxx> 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.
>
You cannot have both of them. Either the subcommand is optional and
then installing /usr/bin/git cannot do the magic for you, or the
subcommand is not optional and then you will always get the subcommand
including all its dependencies.

> 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.
>
It breaks anything what expects that the subcommand works if git package
was installed. This is the omnipresent doom of expressing an API by
a package name. Once an API moves, reverese dependcies will break. IMHO
there is no way how to ensure this will not happen. Only rebuilding
everything and comparing before and after results. That's the reason why
these changes happen only in unreleased Fedora.

> 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.
>
This is a solution. For example recent dnf does similar thing for DNF
plug-ins. However just introducing this schema doesn't fix anything. One
has to edit all other packages to use this new syntax. Otherwise it just
provides accaptable excuse for git maintaners about a new packaging
guideline that others do not conform to.

-- Petr

-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux