One source, multiple packages?
Casey Dahlin
cdahlin at redhat.com
Sat Feb 14 03:02:06 UTC 2009
Tom Lane wrote:
> "Richard W.M. Jones" <rjones at redhat.com> writes:
>
>> On Fri, Feb 13, 2009 at 04:06:41PM -0600, King InuYasha wrote:
>>
>>> Why can't RPM packages have a Requires saying "mysql OR postgresql" or
>>> something like that?
>>>
>
>
>> Debian has a mechanism exactly like this.
>>
>
>
>> However it is my understanding (possibly incorrect) that the right way
>> to deal with this with RPM is using virtual provides, ie each database
>> would have this:
>>
>
>
>> Provides: database
>>
>
>
>> Which allows any package that needs "a database" to require that.
>>
>
>
>> I'm not exactly sure how requiring mysql or postgresql would work out
>> in reality, since they have quite different capabilities and SQL
>> syntax.
>>
>
> Yeah, the SQL standard is lax enough in itself and then everybody has
> their own little improvements :-(. Sad to say, there is no chance worth
> mentioning that a package that just "requires a database" will work with
> all the flavors out there. It generally takes nontrivial development
> work to make it work with any given DB. So the first form of this ---
> eg, "this package can work with mysql, postgres, or sqlite" --- is the
> only thing that would have a chance of succeeding. Things might be a
> shade better for other types of alternatives but I wouldn't bet on it.
>
> regards, tom lane
>
>
Very few things should require a database to begin with. Who's to say
that I want to run the database on the same computer as the client app?
When you consider the exceptions to that rule, things are far less
ambiguous. Mostly its tools, which are bound to one app anyway, or
things that need a small local store for atypical things like RPM. Those
people are usually bound to sqlite or db2.
--CJD
More information about the devel
mailing list