Questions on KDE Development Using Distrobox

Hey, for anyone that uses Distrobox, is there a container available for KDE Neon Developer Edition? I’m thinking about moving my KDE contributions environment to inside of a container instead on my local machine. I keep trying to create an image from invent-registry.kde.org/neon/docker-images/plasma:developer but I get a manifest unknown error.

Also, how do I install local (as in from source) software in kdesrc-build in the container, but not on my local machine? I’m new to Docker.

I can confirm, I experienced this issue a month ago.

Unlike raw Docker/Podman where the rootspace (/ and such) and userspace (/home/youruser) are both inside the container and you have to use volume mounts to access your host machine, distrobox has access to your whole userspace.

So to have things only on the container, you can just install the app to root from inside the container. For example, if you compile with CMake:

cmake -B build/ -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build/
sudo cmake --install build/

This will install the app in your container root.

I’ve never tried it, but in theory you could achieve this directly with kdesrc-build by changing your ~/.config/kdesrc-buildrc from kdedir ~/kde/usr to kdedir /usr.

But that both misses the point of using distrobox and kdesrc-build, though. Why do you want to install it to the container instead of your host? Everything can be done (and is more safely supported and done) if you keep things in your userspace.

1 Like

Yeah, I’ve been told from the Matrix server that the image hasn’t been built as of recently because of something called kdesdk-devenv-dependencies being not updated.

As for the whole Docker thing, I just wanted to see if I could just keep my system free of having a bunch dependencies, but really, it’s not a big deal. Though, there were apps I wanted to build, Francis (version mismatch) and KTextEditor (attempts to install files at /usr/), but I don’t think Distrobox would solve the building issues I have after all.

For non-KDE dependencies, it already is. Anything built from kdesrc-build within a distrobox container will use dependencies installed in the container, not the host. If you’re talking about KDE dependencies, say, Francis depending on Kirigami, that problem is solved by kdesrc-build itself and the deps are installed in ~/kde/usr anyway, not the host rootspace, so your system doesn’t get dirty. :slight_smile:

Yeah, not when I tried to compile KTextEditor. In fact, it still doesn’t work. :slightly_frowning_face:

CMake Error at src/cmake_install.cmake:146 (file):
  file INSTALL cannot copy file
  "/home/[REDACTED]/kde/build/ktexteditor/src/org.kde.ktexteditor.katetextbuffer.policy"
  to "/usr/share/polkit-1/actions/org.kde.ktexteditor.katetextbuffer.policy":
  Permission denied.
Call Stack (most recent call first):
  cmake_install.cmake:51 (include)