Move KMoreTools from KNewStuff to separate lib
Open, NormalPublic

Description

This way we can clean up the dependencies, like KIO or KService.

Also it does not make semantically sense in KNewStuff, because it does not install any tools though KNewStuff.

Consumers should be able to just change the linking from KF5::NewStuff to KF5::MoreTools when we make it a separate lib.

alex created this task.Dec 28 2021, 10:01 AM
alex triaged this task as Normal priority.
alex moved this task from Backlog to Waiting on KF6 Branching on the KF6 board.

How do we proceed here?

Do we make it a separate lib in the knewstuff framework? Or a separate framework?

Right, so this is kind of hiding a further big one - we essentially want to split KNewStuff into four: KNewStuffCore, KNewStuffWidgets (which is what's currently called KNewStuff3), KNewStuffQuick (the Qt Quick components), and KMoreTools.

Optimally these want to be four separate frameworks (or, i guess, potentially three, if having widgets and quick in the same repo makes things simpler, though it doesn't seem like it really would). The reason there is that i have, for a fairly long while now, wanted to be able to call KNewStuff a Tier 2 framework, but with the other bits in there, especially widgets, that isn't possible. We already have things which only use KNewStuffCore, and just on a messaging level, it'd be nice to be able to point people at KNewStuffCore without having to also import the rest of the world.

The disentangling work is certainly a thing, however the individual targets already exist (that's not true for KMoreTools, but that's so separated out in the code already that it shouldn't be too huge of a thing to do).

Bit of a tangent run there, but if not now etc.

alex added a comment.Jan 27 2023, 5:05 PM

Right, so this is kind of hiding a further big one - we essentially want to split KNewStuff into four: KNewStuffCore, KNewStuffWidgets (which is what's currently called KNewStuff3), KNewStuffQuick (the Qt Quick components), and KMoreTools.

I think on the repository-level we only want two: KNewStuff und KMoreTools. The different KnewStuff parts can be in different modules.
IMHO having KMoreTools as a Framework is overkill. A library part of KDE Gear should be fine.

Unless anyone is super eager to do this, I would like to work on it in ~1,5 weeky when my Bachelor Thesis is done

As long as we can still "market" KNewStuffCore as a tier 2 framework, having the three of them in the same repository is fine by me, really :) And thanks for volunteering for that one! :D

alex added a comment.Feb 5 2023, 5:32 PM

Considering that KMoreTools and KNS have only the idea in common that you get additional software, I think having separate repositories makes the most sense.

If you are okay with it, I will create a sysadmin task and do the move once we got a repo for it.

apol added a subscriber: apol.Feb 7 2023, 2:29 PM

Separate repositories make sense, yes. I don't really see how it fits in KNewStuff. From a feature offering perspective, it seems to me it's a bit weird how it kind of overlaps with Purpose but not entirely. I don't know what to make of it though.

Yeah, whatever else we do with KNS, KMoreTools wants its own home. The reason it lives there is just that it wasn't caught during the de-monolithifying work, and then we were kind of stuck with, so... yup :)

alex moved this task from In Progress to Done on the KF6 board.Apr 9 2023, 6:00 PM