[Development] Co-installation & library naming rules
Ziller Eike
Eike.Ziller at digia.com
Mon Sep 24 10:52:42 CEST 2012
On 23 Sep 2012, at 20:30, Erik van Pienbroek <erik at vanpienbroek.nl> wrote:
> 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.
"- unversioned applications, like assistant, linguist, qdbus,
qdbusviewer"
Wouldn't that also conflict this rule? Or are these expected to be in its own package separate from the "versioned" parts of Qt?
> 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
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
--
Eike Ziller
Senior Software Engineer
Digia Germany GmbH
Rudower Chaussee 13, 12489 D-Berlin
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B,
Geschäftsführer: Mika Pälsi, Juha Varelius, Anja Wasenius
Tel: +49 30 63 92 32 55
Digia Germany is a group company of Digia Plc,
Valimotie 21, FI-00380 Helsinki Finland
Visit us at: www.digia.com
------------------------------------------------------------------
PRIVACY AND CONFIDENTIALITY NOTICE
This message and any attachments are intended only for use by the named addressee and may contain privileged and/or confidential information. If you are not the named addressee you should not disseminate, copy or take any action in reliance on it. If you have received this message in error, please contact the sender immediately and delete the message and any attachments accompanying it. Digia Germany GmbH and Digia Plc do not accept liability for any corruption, interception, amendment, tampering or viruses occurring to this message.
More information about the Development
mailing list