Installed commands and version suffixes
Volker Krause
vkrause at kde.org
Mon Jan 27 16:49:02 GMT 2025
This topic came up regularly during the KF6 port. IIRC the basic rule is that
things that can and should be co-installable should be versioned and things
that cannot or must not be co-installed are not. That however means this a not
always immediately obvious case-by-case decision.
Additionally, exceptions might exist where backward compatibility was
significantly affected (e.g. because important external things had certain
assumptions hardcoded). Deviations might of course also exist because things
were missed, especially when looking at modules that weren't in the main focus
during the KF6 transition.
Regards,
Volker
On Dienstag, 21. Januar 2025 22:51:09 Mitteleuropäische Normalzeit Jonathan
Marten wrote:
> I've been scripting a task that uses various command line binaries
> installed by either Frameworks, Plasma or Applications, and noticed that
> there doesn't seem to be consistency in their major version suffix.
> Some are installed only with a suffix "6", presumably to be able to be
> coinstalled with the corresponding KF5 binary, but those provided by
> kde-cli-tools are installed with a plain name plus a symlink with a "5"
> suffix - even in a KF6/Plasma6 installation:
>
> kwalletd6*
> solid-hardware6*
> kcmshell6*
> kpackagetool6*
> kded6*
> kiconfinder6*
> ktrash6*
> kquitapp6*
> kwriteconfig6*
> kreadconfig6*
> kbuildsycoca6*
> ksyntaxhighlighter6*
> kdecp*
> kdecp5 -> kdecp*
> kdemv*
> kdemv5 -> kdemv*
> kstart*
> kstart5 -> kstart*
> kde-open*
> kde-open5 -> kde-open*
> kioclient*
> kioclient5 -> kioclient*
> ksvgtopng*
> ksvgtopng5 -> ksvgtopng*
> keditfiletype*
> keditfiletype5 -> keditfiletype*
> kmimetypefinder*
> kmimetypefinder5 -> kmimetypefinder*
>
> Even more anomalously there is:
>
> kwalletmanager5*
>
> installed alone by utils/kwalletmanager even for a KF6 build.
>
> This is not just of academic interest, because any scripted use of a
> command needs to be individually checked whether to use "command",
> "command${KDE_SESSION_VERSION}" or even hardwired to "command5". There
> is no consistent way to name a command, especially if use within a
> legacy KF5 installation is also needed.
>
> Should the naming according to KF version be made consistent? Even
> though development on KF5 has mostly finished, if coinstallability and
> backwards compatibility is still needed then it should at least be
> possible to access any command using "command${KDE_SESSION_VERSION}", in
> other words having installed binaries and links:
>
> kioclient*
> kioclient5 -> kioclient*
> kioclient6 -> kioclient*
>
> or, if there is no need now for KF5 compatibility, just:
>
> kioclient*
> kioclient6 -> kioclient*
>
> I'd be happy to submit any MRs needed, but first just wanted to check
> that there are no hidden reasons why the installation is done this way.
>
> --
> Jonathan Marten http://www.keelhaul.me.uk
> Twickenham, UK jjm2 at keelhaul.me.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20250127/1e5fd207/attachment.sig>
More information about the Kde-frameworks-devel
mailing list