Thiago Macieira schreef op vr 21-09-2012 om 16:47 [+0200]: > Include the major version number (5) in all library base names
Hi, As the person who filed the mentioned QT-BUG in the first place I would like to let you know that I'm +1 to the proposal from Thiago. For the people who don't know me yet: I'm a member of the Fedora MinGW group and we provide cross-compiled binaries of Qt for the win32 and win64 targets so users can easily cross-compile their software on a Linux host and run them on Windows (or Wine). On IRC I've been discussing this subject with Kevin Kofler (Fedora KDE group) and he also +1's the proposal from Thiago Some days ago I started on packaging the entire Qt5 stack and stumbled across the fact that by default Qt4 and Qt5 can't be installed in the same prefix as there are various file name conflicts. Therefore I had to do some additional patching (like https://codereview.qt-project.org/34981 ) and manual renames to make it possible to co-install Qt4 and Qt5. The resulting packages can be found at https://bugzilla.redhat.com/showdependencytree.cgi?id=3D858058 The reason why we want to be able to co-install Qt4 and Qt5 is because all packages in Fedora are expected to follow the FHS as close as possible and the packaging rules state that no packages are allowed to conflict with each other. A suggestion was made in this thread that distro's should use separate prefixes to install Qt4 and Qt5. This will be a no-go as in that situation you will force all users of Qt4 or Qt5 to apply distribution-specific hacks to get their Qt-using application built. Examples of these hacks are: For qmake: - Users having to manually call $some_random_prefix/bin/qmake to select either Qt4 or Qt5 instead of having the qmake binary available in their default path For pkg-config: - Manually setting PKG_CONFIG_PATH to point to the pkg-config folder where either the Qt4 or Qt5 pkg-config files are stored As mentioned earlier in this thread the gtk folks have been using versioned library names for a very long time already and due to this the introduction of gtk3 itself was quite painless (just speaking about gtk3 here, not gnome3). All gtk-using packages are supposed to use pkg-config to detect the compiler flags for gtk. The gtk2 library has been providing a pkg-config file named 'gtk+-2.0.pc' and the gtk3 library is providing a pkg-config file named' gtk+-3.0.pc'. As these names don't conflict all gtk2-using packages rebuilt fine even when gtk3 is installed. Packages which want to use gtk3 can indicate so by using pkg-config to check for 'gtk+-3.0'. In my opinion the Qt project should make it possible to co-install Qt4 and Qt5 in the same prefix. If the Qt project refuses to do so then this will result in distributions applying random patches to get Qt5 working correctly on their distribution. This will lead to more distribution-specific hacks and will make it more hard for you guys to diagnose and resolve bugs (as you're not aware of distribution-specific patches). Now various distributions could start a collaboration to come to uniform packaging guidelines for the Qt package (naming of qmake, installation location, etc..) but why not solve the problem at the level where it's supposed to be fixed, upstream? I don't think it's fair to move the problem to the distributions. If the library name stays as is you're forcing a lot of additional work on us package maintainers while it can be resolved quite easily and now is the perfect time to do so (right before the release of a major new version of Qt) Kind regards, Erik van Pienbroek Fedora MinGW SIG _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
