Passa al contenuto

Sviluppare software KDE

KDE Linux è un'eccellente piattaforma di sviluppo per il software KDE. Tre sono le strade principali da seguire, in base a come il software KDE che vuoi sviluppare è distribuito in KDE Linux:

Generare software KDE distribuito con l'immagine di base

Questa procedura è utilizzata per sviluppare il software KDE che viene distribuito sul sistema di base o anche su Qt. Un elenco di tale software si trova qui (nota che lo “spazio di lavoro” include Plasma, KWin e le applicazioni allineate a Plasma, tipo Impostazioni di sistema e Discover).

Il miglior modo per farlo è utilizzare systemd-sysext, che permette la sovrapposizione del contenuto "built-from-source" sopra /usr/ senza effetti sul sistema di base.

Configurazione

Esegui lo script di configurazione:

set-up-system-development

Uso

In breve, compili e installi il software utilizzando kde-builder, quindi aggiorni l'estensione systemd, infine riavvi tutti i servizi che hai modificato (per es. Plasma) oppure l'intero sistema.

Per esempio, per compilare e testare una modifica a plasma-pa, esegui:

kde-builder plasma-pa
sudo systemd-sysext refresh --always-refresh=yes
systemctl restart --user plasma-plasmashell.service

Se sostituisci un componente principale del sistema e tutto va in crash dopo che hai applicato l'aggiornamento, prova a riavviare per ricaricare completamente la nuova dipendenza in tutto il software in esecuzione.

Quando hai terminato di sviluppare o testare la modifica, disabilita (“un-merge”) l'estensione di sistema:

sudo systemd-sysext unmerge

Quando hai terminato col tuo software "built-from-source" (per es. perché è stato accettato come patch ed eseguito il merge), elimina i file installati:

rm -r ~/kde/usr/*
# Quando ti viene chiesto di eliminare il file di sola lettura extension-release.kde, rispondi 'n'

Generare applicazioni KDE con un manifesto Flatpak

Per sviluppare o testare modifiche allo stesso codice dell'applicazione, genera l'applicazione con flatpak-builder, in modo che il risultato sia funzionalmente identico alla nightly build Flatpak dell'applicazione.

Per sviluppare o testare modifiche a un KDE Framework o ad altra libreria utilizzata da più applicazioni, l'unico metodo relativamente senza problemi al momento è usare kde-builder per generarle tutte. Vedi Sviluppare software KDE distribuito nell'immagine di base.

Configurazione

flatpak-builder installerà i pacchetti flatpak dal flathub-apps-built-locally remoto. Questo remoto è lo store ufficiale di Flathub.

flatpak remote-add --user --if-not-exists flathub-apps-built-locally https://flathub.org/repo/flathub.flatpakrepo

Eseguire modifiche solo all'applicazione

Prima esegui il checkout del codice sorgente per l'applicazione KDE che vuoi generare. Per esempio, qui con Filelight:

# Crea la cartella per contenere il codice sorgente di KDE. Si può saltare se esiste già
mkdir -p ~/kde/src/

# Vai in quella cartella
cd ~/kde/src/

# Scarica il codice sorgente di Filelight
git clone git@invent.kde.org:utilities/filelight.git

# Vai nella cartella del codice sorgente di Filelight
cd ~/kde/src/filelight

# Genera Filelight come flatpak
flatpak-builder build --user --install-deps-from=flathub-apps-built-locally --force-clean --ccache --install .flatpak-manifest.json

flatpak-builder creerà un repo flatpak e remoto chiamato filelight-origin ed esporterà il flatpak appena generato di Filelight in questo repo.

Ora eseguilo:

org.kde.filelight

Per ulteriori informazioni, vedi:

Generare qualsiasi software KDE utilizzando KDE Builder in Distrobox

Se hai bisogno di lavorare su del software KDE che non è preinstallato sul sistema di base (quindi anche le dipendenze non sono preinstallate) che non generano, o non possono generare, come un Flatpak, puoi generarlo con kde-builder in Distrobox:

# Come per 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

# Installa kde-builder come al solito. https://develop.kde.org/docs/getting-started/building/kde-builder-setup

Articolo scritto da sotto licenza CC-BY-4.0.