Ontwikkel KDE software
KDE Linux is een uitstekend ontwikkelingsplatform voor KDE software. Er zijn drie primaire paden, afhankelijk van hoe de KDE software die u wilt ontwikkelen verzonden wordt op KDE Linux:
- Ontwikkelen van KDE-software die wordt meegeleverd met de basisimage
- KDE-software ontwikkelen die gebouwd kan worden met Flatpak
- KDE-software ontwikkelen met Distrobox
Compileer de KDE-software die standaard in de basisimage is opgenomen
Deze werkmethode wordt gebruikt voor het ontwikkelen van KDE-software die standaard op het systeem wordt meegeleverd, of zelfs Qt. Een lijst met dergelijke software is hier te vinden (merk op dat "werkruimte" Plasma, KWin en Plasma-compatibele toepassingen zoals Systeeminstellingen en Ontdekken omvat).
De beste manier om dit te doen is door gebruik te maken van systemd-sysext, waarmee gecompileerde content over /usr/ heen geplaatst kan worden zonder het basissysteem te beïnvloeden.
Opzet
Voer het installatiescript uit:
set-up-system-development
Gebruiken
Kort gezegd compileer en installeer uw software met kde-builder, vernieuw vervolgens de systemd-extensie en herstart ten slotte alle services die u hebt gewijzigd (bijv. Plasma) of het hele systeem.
Om bijvoorbeeld een wijziging in plasma-pa te compileren en te testen, kunt u het volgende doen:
kde-builder plasma-pa sudo systemd-sysext refresh --always-refresh=yes systemctl restart --user plasma-plasmashell.service
Als u een essentieel systeemonderdeel vervangt en merkt dat alles vastloopt nadat de vernieuwing is toegepast, probeer dan de computer opnieuw op te starten om de nieuwe afhankelijkheid volledig opnieuw te laden in alle actieve software.
Wanneer u klaar bent met het ontwikkelen of testen van de wijziging, schakelt u de systeemextensie uit ("de-merge").
sudo systemd-sysext unmerge
Wanneer u klaar bent met uw zelfgebouwde software (bijvoorbeeld omdat deze als patch is geaccepteerd en samengevoegd), verwijder dan de geïnstalleerde bestanden:
rm -r ~/kde/usr/* # Wanneer u wordt gevraagd het alleen-lezen bestand extension-release.kde te verwijderen, antwoord dan met 'n'
Bouw een KDE-toepassing met een Flatpak-manifest.
Om wijzigingen in de toepassingscode zelf te ontwikkelen of te testen, bouwt u de toepassing met behulp van flatpak-builder, zodat het resultaat functioneel identiek is aan de dagelijkse Flatpak-build van de toepassing.
Om wijzigingen in een KDE Framework of andere bibliotheek die door meerdere toepassingen wordt gebruikt te ontwikkelen of te testen, is de enige relatief eenvoudige aanpak op dit moment het gebruik van kde-builder om ze allemaal te compileren. Zie KDE-software ontwikkelen die op de basisimage wordt meegeleverd.
Opzet
flatpak-builder installeert flatpak-pakketten van de externe flathub-apps-built-locally. Deze externe bron is de officiële Flathub-store.
flatpak remote-add --user --if-not-exists flathub-apps-built-locally https://flathub.org/repo/flathub.flatpakrepo
Breng alleen wijzigingen aan in de toepassing.
Bekijk eerst de broncode van de KDE-app die u wilt bouwen. Bijvoorbeeld, hier met Filelight:
# Maak een map aan voor de KDE-broncode. Deze stap kan worden overgeslagen als de map al bestaat. mkdir -p ~/kde/src/ # Ga naar die map. cd ~/kde/src/ # Download de broncode voor Filelight. git clone git@invent.kde.org:utilities/filelight.git # Ga naar de map met de broncode van Filelight. cd ~/kde/src/filelight # Bouw Filelight als een flatpak. flatpak-builder build --user --install-deps-from=flathub-apps-built-locally --force-clean --ccache --install .flatpak-manifest.json
flatpak-builder maakt een flatpak-opslagruimte en een remote met de naam filelight-origin aan en exporteert de zojuist gebouwde Filelight flatpak naar deze flatpak-opslagruimte.
Voer het nu uit:
org.kde.filelight
Voor meer informatie, zie:
- https://docs.flatpak.org/en/latest/getting-started.html
- https://develop.kde.org/docs/packaging/flatpak/packaging/
Compileer elke gewenste KDE-software met KDE Builder in Distrobox
Als u moet werken aan KDE-software die niet standaard op het basissysteem is geïnstalleerd (waardoor ook de afhankelijkheden niet standaard zijn geïnstalleerd) en die ook niet als Flatpak kan of mag worden gebouwd, kunt u deze bouwen met kde-builder in een Distrobox:
# Volgens https://develop.kde.org/docs/getting-started/building/containers-distrobox
distrobox create --image docker.io/archlinux --name kdebuildercontainer --home ~/kdebuildercontainer_home
distrobox enter kdebuildercontainer
sudo pacman -Syu
sudo pacman -S nano
echo 'export PATH="$HOME/.local/bin:$PATH"' | tee --append ~/.{bash,zsh}rc
exit
distrobox enter kdebuildercontainer
# Installeer kde-builder zoals gebruikelijk. https://develop.kde.org/docs/getting-started/building/kde-builder-setup
Artikel bijgedragen door Nate Graham onder de licentie CC-BY-4.0.