Preskoči na vsebino

Razvij programsko opremo KDE

Glede na to, kako je programska oprema dobavljena v KDE Linuxu, obstajajo tri možnosti:

Zgradite programsko opremo KDE, ki je dobavljena na osnovni sliki

Ta delovni tok se uporablja za razvoj programske opreme KDE, ki je dobavljena v osnovnem sistemu, ali celo Qt. Seznam takšne programske opreme najdete tukaj (upoštevajte, da »delovni prostor« vključuje Plasmo, KWin in aplikacije, usklajene s Plasmo, kot sta Sistemske nastavitve in Discover).

Najboljši način za to je uporaba ukaza systemd-sysext, ki omogoča prekrivanje vsebine, zgrajene iz izvorne kode, na /usr/, ne da bi to vplivalo na osnovni sistem.

Nastavitev

Zaženite namestitveni skript:

set-up-system-development

Uporaba

Na kratko, programsko opremo boste prevedli in namestili z uporabo kde-builder, nato osvežili razširitev systemd in na koncu znova zagnali vse storitve, ki ste jih spremenili (npr. Plasma) ali celotni sistem.

Na primer, če želite prevesti in preizkusiti spremembo v plasma-pa, naredite naslednje:

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

Če zamenjate osrednjo sistemsko komponento in ugotovite, da se po osvežitvi vse sesuje, poskusite znova zagnati sistem, da se nova odvisnost v celoti naloži v vso delujočo programsko opremo.

Ko končate z razvojem ali testiranjem spremembe, onemogočite (»razdružite«) sistemsko razširitev:

sudo systemd-sysext unmerge

Ko končate s programsko opremo, zgrajeno iz izvorne kode (npr. ker je bila sprejeta kot popravek in združena), izbrišite nameščene datoteke:

rm -r ~/kde/usr/*
# Ko boste pozvani, da izbrišete datoteko extension-release.kde, ki je samo za branje, odgovorite z 'n'

Zgradite aplikacijo KDE z manifestom Flatpak

Če želite razviti ali preizkusiti spremembe same kode aplikacije, jo zgradite z orodjem flatpak-builder, tako da bo rezultat funkcionalno enak nočni gradnji aplikacije s programom Flatpak.

Za razvoj ali testiranje sprememb ogrodja KDE ali druge knjižnice, ki jo uporablja več aplikacij, je trenutno edini relativno neboleč pristop uporaba orodja kde-builder za njihovo izgradnjo. Glejte Razvoj programske opreme KDE, ki je dobavljena na osnovni sliki.

Nastavitev

flatpak-builder bo namestil pakete flatpak iz oddaljene mape flathub-apps-built-locally. Ta oddaljena mapa je uradno skladišče Flathub.

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

Spremenite samo aplikacijo

Najprej preverite izvorno kodo aplikacije KDE, ki jo želite zgraditi. Na primer tukaj s Filelightom:

# Ustvarite mapo za shranjevanje izvorne kode KDE. Preskočite če že obstaja.
mkdir -p ~/kde/src/

# Pojdite v to mapo
cd ~/kde/src/

# Prenesite izvorno kodo za Filelight
git clone git@invent.kde.org:utilities/filelight.git

# Pojdite v mapo z izvorno kodo programa Filelight
cd ~/kde/src/filelight

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

flatpak-builder bo ustvaril repozitorij flatpak in oddaljeno datoteko z imenom filelight-origin ter izvozil sveže zgrajeni Filelight flatpak v ta repozitorij flatpak.

Zdaj ga zaženite:

org.kde.filelight

Za več informacij glejte:

Zgradite katero koli programsko opremo KDE z uporabo KDE Builderja v Distroboxu

Če morate delati na programski opremi KDE, ki ni prednameščena v osnovnem sistemu (torej tudi odvisnosti niso prednameščene) in se ne gradi ali ne more graditi kot Flatpak, jo lahko sestavite s programom kde-builder v Distroboxu:

# As 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

# Namestite kde-builder kot po navadi. https://develop.kde.org/docs/getting-started/building/kde-builder-setup

Članek je prispeval z dovoljenjem CC-BY-4.0.