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:
- Sviluppare software KDE distribuito nell'immagine di base
- Sviluppare software KDE generato tramite Flatpak
- Sviluppare software KDE utilizzando Distrobox
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:
- https://docs.flatpak.org/en/latest/getting-started.html
- https://develop.kde.org/docs/packaging/flatpak/packaging/
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 Nate Graham sotto licenza CC-BY-4.0.