Preskočiť na obsah

Vývoj softvéru KDE

Existujú tri možnosti, v závislosti od toho, ako je softvér distribuovaný v KDE Linux:

Zostavenie softvéru KDE, ktorý je distribuovaný v základnom obraze

Tento pracovný postup sa používa na vývoj softvéru KDE, ktorý je distribuovaný v základnom systéme, alebo dokonca Qt. Zoznam takéhoto softvéru nájdete tu (uvedomte si, že "workspace" zahŕňa Plasma, KWin a aplikácie zladené s Plasma, ako sú Nastavenia systému a Discover).

Najlepší spôsob, ako to urobiť, je použiť systemd-sysext, ktorý umožňuje prekrývať obsah zostavený zo zdrojového kódu nad /usr/ bez vplyvu na základný systém.

Nastavenie

Spustite inštalačný skript:

set-up-system-development

Použitie

V skratke, skompilujete a nainštalujete softvér pomocou kde-builder, potom obnovíte rozšírenie systemd a nakoniec reštartujete všetky služby, ktoré ste zmenili (napr. Plasma), alebo celý systém.

Napríklad pre kompiláciu a testovanie zmeny v plasma-pa urobte nasledovné:

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

Ak nahradíte základný systémový komponent a zistíte, že po aplikovaní obnovenia všetko padá, skúste reštartovať systém, aby ste úplne znovu načítali novú závislosť vo všetkom bežiacom softvéri.

Keď skončíte s vývojom alebo testovaním zmeny, vypnite ("un-merge") rozšírenie systému:

sudo systemd-sysext unmerge

Keď ste hotoví so svojím softvérom zostaveným zo zdrojového kódu (napr. preto, že bol prijatý ako záplata a začlenený), odstráňte nainštalované súbory:

rm -r ~/kde/usr/*
# Keď budete vyzvaný odstrániť súbor extension-release.kde určený len na čítanie, odpovedzte 'n'

Zostavenie KDE aplikácie s manifestom Flatpak

Pre vývoj alebo testovanie zmien v samotnom kóde aplikácie zostavte aplikáciu pomocou flatpak-builder, aby bol výsledok funkčne identický s nočnou Flatpak zostavou aplikácie.

Pre vývoj alebo testovanie zmien v KDE Framework alebo inej knižnici používanej viacerými aplikáciami je momentálne jediným relatívne bezbolestným prístupom použiť kde-builder na zostavenie všetkých. Pozrite si Vývoj softvéru KDE, ktorý je distribuovaný v základnom obraze.

Nastavenie

flatpak-builder bude inštalovať flatpak balíky zo vzdialeného úložiska flathub-apps-built-locally. Toto vzdialené úložisko je oficiálny Flathub obchod.

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

Robiť zmeny iba v aplikácii

Najprv si stiahnite zdrojový kód KDE aplikácie, ktorú chcete zostaviť. Napríklad tu s Filelight:

# Vytvoriť priečinok pre zdrojový kód KDE. Preskočiteľné, ak už existuje
mkdir -p ~/kde/src/

# Prejsť do tohto priečinka
cd ~/kde/src/

# Stiahnuť zdrojový kód pre Filelight
git clone git@invent.kde.org:utilities/filelight.git

# Prejsť do priečinka so zdrojovým kódom Filelight
cd ~/kde/src/filelight

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

flatpak-builder vytvorí flatpak úložisko a vzdialené úložisko s názvom filelight-origin a exportuje čerstvo zostavený Filelight flatpak do tohto flatpak úložiska.

Teraz ho spustite:

org.kde.filelight

Pre ďalšie informácie si pozrite:

Zostavenie akéhokoľvek softvéru KDE pomocou KDE Builder v Distrobox

Ak potrebujete pracovať na nejakom softvéri KDE, ktorý nie je predinštalovaný v základnom systéme (takže ani závislosti nie sú predinštalované), ktorý sa zároveň nedá zostaviť ako Flatpak, môžete ho zostaviť pomocou kde-builder v Distrobox:

# Podľa 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

# Nainštalujte kde-builder ako zvyčajne. https://develop.kde.org/docs/getting-started/building/kde-builder-setup

Článok napísal pod licenciou CC-BY-4.0.