This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: setup and 'provides:'
- From: Ken Brown <kbrown at cornell dot edu>
- To: "cygwin-apps at cygwin dot com" <cygwin-apps at cygwin dot com>
- Date: Mon, 8 Oct 2018 21:31:51 +0000
- Subject: Re: setup and 'provides:'
- References: <35078a6c-ee46-792c-60fc-486b9bc12ebc@cornell.edu> <87woqsnr1q.fsf@Rainer.invalid>
On 10/8/2018 4:04 PM, Achim Gratz wrote:
> Ken Brown writes:
>> I created a test repo with packages A, B, and C. I made A require foo (not a
>> package), and I made B and C provide foo. The attached script does all this
>> [**]. I then ran setup and selected A for installation.
>
> That really only makes sense if several packages provide the same
> feature(s).
Right. I gave a potential example elsewhere in this thread, in which the
feature emacs-bin is provided by the packages emacs, emacs-X11, emacs-lucid, and
emacs-w32. Fedora does something like this, except that it calls the feature
emacs(bin).
>> So we'd need to bolt on a feature space in setup as well.
I'm not sure what you mean by this. setup doesn't need to know whether a
requirement is a feature or a package. It simply passes the dependencies (and
the provides) to libsolv, which handles them just fine.
The only thing that I thought wasn't working right is libsolv's behavior when
more than one package provides a certain feature and libsolv has to choose one
for installation. But I realize now that libsolv just doesn't do what I
expected, and some non-trivial work on setup would be required in order to get
the behavior I was expecting. See my other messages in this thread.
Ken