Hi. I would like to contribute to KDE. I am hoping to gain familiarity with the KDE software development process by starting solving easy bugs/junior jobs. I am considering in tackling this one:
I know it will take me a while since I’m not familiar with Qt, so, maybe it’s too early but I was wondering what the process of getting a bug solved is.
I read the this page and it explains many things but I still have some questions. For instance:
I see in bugzilla that some bugs have the status “ASSIGNED”, but does anyone assign the bugs to a person? do you do it yourself? is it only for KDE developers?
The aforementioned page explains that you should fork a project and then commit your changes there. I was wondering how kde-builder/kdesrc-build help in the development process.
Are there unit tests or integration tests that should be written and checked before committing a change?
Are there other resources where someone explains their development workflow?
I see in bugzilla that some bugs have the status “ASSIGNED”, but does anyone assign the bugs to a person? do you do it yourself? is it only for KDE developers?
I think in normally it means someone already made a merge request (MR) to fix that bug (and the MR description contains “BUG: bug-id”), and it’s waiting for review.
The aforementioned page explains that you should fork a project and then commit your changes there. I was wondering how kde-builder/kdesrc-build help in the development process.
kde-builder helps you checkout and build a project and its dependencies. You do the fork on https://invent.kde.org/, and commit with git.
Are there unit tests or integration tests that should be written and checked before committing a change?
Depends on the project. But surely is nice to have.
Thanks for answering. I still struggle to grasp some parts of the development workflow.
Let’s say you want to fix a bug. The way I imagine it so far is as follows:
Get source code and dependencies using kde-builder.
Fork the same project and clone it to your machine in a directory other than ~/kde/src/<proj> (assuming that’s the place where kde-builder downloads the source code).
Configure your IDE/environment so the local fork source code gets any dependencies from ~/kde/src/<proj> and do all the work in the local fork
Push the changes from the local fork to your repository, then do a merge request.
With the steps above you’ll have the same source code twice. Can you work directly in the source code downloaded by kde-builder? How do you usually work?