How to install library translations as libkfoo-<ABI-major>.mo instead of libkfoo.mo

Thiago Macieira thiago at kde.org
Thu Jun 14 16:32:17 BST 2007


Stephan Kulow said:
> Am Donnerstag 14 Juni 2007 schrieb Thiago Macieira:
>> I'm not talking about minor releases. I am talking about major releases:
>> KDE 3 and KDE 4.
>>
>> If you install a library from KDE 3 and the same library from KDE 4,
>> since
>> they have different sonames, they'll both install. However, they carry
>> non-versioned files, like the .mo translation catalogues. Those clash.
>>

> For KDE3 we have kde-i18n-<language> - and it clashes big times with
> tons of things in KDE4. And while it's technically possible to rename
> kdelibs.mo,kio.mo and the like to ...4.mo - they would still be in
> kde-i18n
> together with kwin.mo and you can't have two of them in the same prefix.

I'd say that is not our problem. My problem is clashing files for things
that are supposed to exist together and have the same "basename":
libraries. Programs that are supposed to exist together must have
different names.

Now, if I understand you correctly, the problem is that we'll release a
kde-l10n-<language>.tar.bz2 and that might install kwin.mo. Well, that's
not our problem if someone decides to install that and ends up overwriting
KDE3's kwin's translation. It's the same problem of building
kdebase-4.0.0.tar.bz2 and overwriting kwin itself: you have to figure out
a way to install only that which you want.

Distributions split packages and they can just have split translations as
well. If they decide not to, there's little we can do.

> And so the question to ask: what is the use case of having KDE3 libs and
> KDE4 libs side by side?

To run KDE 3 and KDE 4 applications at the same time. Actually, not even
that: to *have* KDE 3 and KDE 4 applications, period. We know KDE 4.0 will
not be as complete as 3.5.7. We know people will be using applications
from one inside the other. So it must be possible for those applications
to run.

One very simple solution is to have different prefixes. So I ask again:
are we going to *mandate* that?

> Is it to have KDE3 apps around that have no KDE4 .mo
> files? Then turning back the wheel of time and splitting out
> kdelibs-i18n-<language> for KDE3 could solve that.

I didn't understand that part.

> I don't think it's not possible to have KDE3 and KDE4 in the same prefix,
> but
> it seems impossible to hard to achieve to have them both translated out of
> the box.

Agreed.

> And to spell it out: you can use -DLOCALE_INSTALL_DIR to KDE4, so
> KDE4 will install its locale files somewhere else -
> e.g. /usr/share/kde4/locale. What I'm unsure about atm is where it looks
> first though, I have a bad feeling it might look at /usr/share/locale
> first.

What if we made that the default? That was part of my original proposal:
all files that clash must carry a version number somewhere, either in the
file name or in the path. By addign "kde4" to the path, you version the
files.

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358






More information about the kde-core-devel mailing list