Hello,
I maintain several packages on Debian and I want to get started with RPM packaging. I. e. I am not a total newbie :-)
I am now trying to package Wt ( http://webtoolkit.eu ) for Fedora. I already maintain this package in Debian ( http://packages.debian.org/libwt ).
On Debian, package names are soversioned, so that it is possible to coinstall several versions of the runtime libraries. For instance, Wt 2.2.4 contained libwt.so.12 (which would had been[*] in package libwt12) and Wt 3.1.2 contains libwt.so.21 (which is in package libwt21).
This is useful in case you have a library libX and have an application app1 which depends on Wt 2.2.4 (i. e. libwt.so.12) and another application, app2, which depends on Wt 3.1.2 (i. e. libwt.so.21). On Debian, this would be solved by installing packages libx5 and libx6. Keep in mind porting from Wt 2.2.4 to Wt 3.1.2 requires rewriting code, therefore unless the Wt packages are versioned on Fedora, it would be impossible to coinstall app1 and app2 on Fedora (on Debian it would be as simple as coinstalling libwt12 and libwt21).
I wonder how Fedora deals with this issue.
I have seen nothing in the packaging guidelines ( http://fedoraproject.org/wiki/Packaging/Guidelines ) or the RPM guide ( http://docs.fedoraproject.org/drafts/rpm-guide-en/ ), and I cannot find a specific guide for library packaging (something like http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html for Debian)
[*] When I first packaged Wt for Debian, I did the horrible mistake of not versioning package names. This required transitional packages, which I will have to maintain until 2015 (!!!) because the old Wt 2.2.4 is what Canonical is shipping with Ubuntu Lucid. I'd rather not make the same mistake again :-)
Thank you.
On 03/30/2010 02:15 PM, Pau Garcia i Quiles wrote:
On Debian, package names are soversioned, so that it is possible to coinstall several versions of the runtime libraries. For instance, Wt 2.2.4 contained libwt.so.12 (which would had been[*] in package libwt12) and Wt 3.1.2 contains libwt.so.21 (which is in package libwt21).
We strongly discourage this practice, instead preferring to only have the latest available version of a library in a release.
It has been our experience that when "compatiblity" packages containing older libraries are present, there is little motivation for some upstreams to properly adjust to use the newer upstream libraries.
However, if there is a real need for multiple versions of the same library, you should follow this naming guideline:
https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Multiple_packages_...
hth,
~spot
On Tue, Mar 30, 2010 at 02:59:17PM -0400, Tom spot Callaway wrote:
On 03/30/2010 02:15 PM, Pau Garcia i Quiles wrote:
On Debian, package names are soversioned, so that it is possible to coinstall several versions of the runtime libraries. For instance, Wt 2.2.4 contained libwt.so.12 (which would had been[*] in package libwt12) and Wt 3.1.2 contains libwt.so.21 (which is in package libwt21).
We strongly discourage this practice, instead preferring to only have the latest available version of a library in a release.
It has been our experience that when "compatiblity" packages containing older libraries are present, there is little motivation for some upstreams to properly adjust to use the newer upstream libraries.
However, if there is a real need for multiple versions of the same library, you should follow this naming guideline:
https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Multiple_packages_...
To answer the other, unspoken half of your question, in Fedora we prefer to port software that depends on the old versions forward to the new versions of the library and contribute those patches to upstream. Only when we don't have time or expertise to do this and the library upstream continues to maintain the old library versions we sometimes make these compatibility packages with the older API version of the library.
-Toshio
On Tue, Mar 30, 2010 at 8:15 PM, Pau Garcia i Quiles pgquiles@elpauer.org wrote:
Hello,
I maintain several packages on Debian and I want to get started with RPM packaging. I. e. I am not a total newbie :-)
I am now trying to package Wt ( http://webtoolkit.eu ) for Fedora. I already maintain this package in Debian ( http://packages.debian.org/libwt ).
FTR, the package almost passed review here:
https://bugzilla.redhat.com/show_bug.cgi?id=470909
so you may want to have a look at that one
Hello,
Thank you, I will take a look. Thanks to Tom and Toshio, too, for the advice on library packaging.
On Fri, Apr 2, 2010 at 1:42 AM, Gianluca Sforna giallu@gmail.com wrote:
On Tue, Mar 30, 2010 at 8:15 PM, Pau Garcia i Quiles pgquiles@elpauer.org wrote:
Hello,
I maintain several packages on Debian and I want to get started with RPM packaging. I. e. I am not a total newbie :-)
I am now trying to package Wt ( http://webtoolkit.eu ) for Fedora. I already maintain this package in Debian ( http://packages.debian.org/libwt ).
FTR, the package almost passed review here:
https://bugzilla.redhat.com/show_bug.cgi?id=470909
so you may want to have a look at that one
-- Gianluca Sforna
http://morefedora.blogspot.com http://www.linkedin.com/in/gianlucasforna -- packaging mailing list packaging@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/packaging
packaging@lists.fedoraproject.org