Hi Fedora people!,
I have been reading http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires.
It says that we should avoid explicit requires...
I want to make sure that I understood it. Is an "explicit requires" is both:
1) A full package: eg: mysql-libs 2) A versioned library file:libmysqlclient.so.16.0.0
So, the right way should be:
Requires: libmysqlclient.so
Please fix me if I misunderstood that.
thanks in advance!
On Mon, Sep 13, 2010 at 09:10:31PM -0300, Sergio Belkin wrote:
Hi Fedora people!,
I have been reading http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires.
It says that we should avoid explicit requires...
I want to make sure that I understood it. Is an "explicit requires" is both:
- A full package: eg: mysql-libs
- A versioned library file:libmysqlclient.so.16.0.0
So, the right way should be:
Requires: libmysqlclient.so
Please fix me if I misunderstood that.
No. Listing a library in a Requires: tag at all is an explicit requires. ie: Requires: libmysqlclient.so
is also not allowed.
RPM is generally good about discovering what libraries a program needs to run. So it will find that your program needs libmysqlclient.so.16 and create a Requires on it automatically. You do not need to list it in your package if this is the case.
-Toshio
2010/9/14 Toshio Kuratomi a.badger@gmail.com:
On Mon, Sep 13, 2010 at 09:10:31PM -0300, Sergio Belkin wrote:
Hi Fedora people!,
I have been reading http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires.
It says that we should avoid explicit requires...
I want to make sure that I understood it. Is an "explicit requires" is both:
- A full package: eg: mysql-libs
- A versioned library file:libmysqlclient.so.16.0.0
So, the right way should be:
Requires: libmysqlclient.so
Please fix me if I misunderstood that.
No. Listing a library in a Requires: tag at all is an explicit requires. ie: Requires: libmysqlclient.so
is also not allowed.
RPM is generally good about discovering what libraries a program needs to run. So it will find that your program needs libmysqlclient.so.16 and create a Requires on it automatically. You do not need to list it in your package if this is the case.
-Toshio
Thanks Toshio, can we say that explicit == added by hand == non-automagical ;-) ?
Greetings
On Tue, Sep 14, 2010 at 04:02:33PM -0300, Sergio Belkin wrote:
2010/9/14 Toshio Kuratomi a.badger@gmail.com:
On Mon, Sep 13, 2010 at 09:10:31PM -0300, Sergio Belkin wrote:
Hi Fedora people!,
I have been reading http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires.
It says that we should avoid explicit requires...
I want to make sure that I understood it. Is an "explicit requires" is both:
- A full package: eg: mysql-libs
- A versioned library file:libmysqlclient.so.16.0.0
So, the right way should be:
Requires: libmysqlclient.so
Please fix me if I misunderstood that.
No. Listing a library in a Requires: tag at all is an explicit requires. ie: Requires: libmysqlclient.so
is also not allowed.
RPM is generally good about discovering what libraries a program needs to run. So it will find that your program needs libmysqlclient.so.16 and create a Requires on it automatically. You do not need to list it in your package if this is the case.
-Toshio
Thanks Toshio, can we say that explicit == added by hand == non-automagical ;-) ?
That would be accurate. I've added a sentence to the Guideline:
""" Explicit Requires are Requires added manually by the packager in the spec file. """
Hope that helps, Toshio
2010/9/14 Toshio Kuratomi a.badger@gmail.com:
On Tue, Sep 14, 2010 at 04:02:33PM -0300, Sergio Belkin wrote:
2010/9/14 Toshio Kuratomi a.badger@gmail.com:
On Mon, Sep 13, 2010 at 09:10:31PM -0300, Sergio Belkin wrote:
Hi Fedora people!,
I have been reading http://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires.
It says that we should avoid explicit requires...
I want to make sure that I understood it. Is an "explicit requires" is both:
- A full package: eg: mysql-libs
- A versioned library file:libmysqlclient.so.16.0.0
So, the right way should be:
Requires: libmysqlclient.so
Please fix me if I misunderstood that.
No. Listing a library in a Requires: tag at all is an explicit requires. ie: Requires: libmysqlclient.so
is also not allowed.
RPM is generally good about discovering what libraries a program needs to run. So it will find that your program needs libmysqlclient.so.16 and create a Requires on it automatically. You do not need to list it in your package if this is the case.
-Toshio
Thanks Toshio, can we say that explicit == added by hand == non-automagical ;-) ?
That would be accurate. I've added a sentence to the Guideline:
""" Explicit Requires are Requires added manually by the packager in the spec file. """
Hope that helps, Toshio
--
Great! Thanks Toshio.
packaging@lists.fedoraproject.org