Bygge KDE Rammeverk 5 (KF5)

KDE Rammeverk 5 er en samling av biblioteker basert på toppen av Qt5 og QML avledet fra de monolittiske KDE 4 bibliotekene. De kan brukes uavhengig av KDE skjermmiljøet (Plasma 5).

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.1 plattform.

Instruksjonene nedenfor bygger alle KDE Rammeverk pakkene i et trinn ved å bruke et bashskript.

Pakkeinformasjon

KF5 Avhengigheter

Påkrevd

Boost-1.84.0, extra-cmake-modules-5.115.0, docbook-xml-4.5, docbook-xsl-nons-1.79.2, giflib-5.2.1, libepoxy-1.5.10, libgcrypt-1.10.3, libical-3.0.17, libjpeg-turbo-3.0.1, libpng-1.6.42, libxslt-1.1.39, lmdb-0.9.31, qca-2.3.8, qrencode-4.1.1, phonon-4.12.0, plasma-wayland-protocols-1.12.0, shared-mime-info-2.4, URI-5.27, og Wget-1.21.4 (kreves for å laste ned pakkene)

Anbefalt

Valgfri

BlueZ-5.72 (nødvendig for å bygge Bluez-Qt), Datamatrix (ansett anbefalt for Prison av oppstrøms)

Kjøretids Avhengigheter for FrameworkIntegration

Noto fonts

Ytterligere anbefalte avhengigheter for kapidox

Ytterligere bildeformat støtte i KImageFormats

JasPer-4.2.0, libavif-1.0.4, libraw-0.21.2, libheif, libjxl, og OpenEXR

Valgfrie avhengigheter for KIO

MIT Kerberos V5-1.21.2

Valgfrie avhengigheter for Solid

UDisks-2.10.1, UPower-1.90.2 og media-player-info (kjøretid)

Valgfrie avhengigheter for KWallet

GPGME-1.23.2, bygget med C++ bindinger (som er standard).

Valgfrie avhengigheter for kdewebkit

QtWebkit

Valgfrie ordbok bakstykker for Sonnet

Hspell og Hunspell

Laste ned KDE Rammeverk

Den enkleste måten å få KDE Rammeverk pakkene på er å bruke en enkelt wget for å hente dem alle på en gang:

url=https://download.kde.org/stable/frameworks/5.115/
wget -r -nH -nd -A '*.xz' -np $url

The options used here are:
  -r            gjentakelse gjennom undermapper
  -nH           deaktiver generering av vertsprefikserte mapper
  -nd           ikke lag et hierarki av mapper
  -A '*.xz'     bare hent *.xz filer
  -np           ikke hent overordnede mapper

Angi Pakkerekkefølge

Rekkefølgen på bygging av filer er viktig på grunn av interne avhengigheter. Lag listen over filer i riktig rekkefølge som følger:

cat > frameworks-5.115.0.md5 << "EOF"
28643b6e6d1883390ba8cc138f98e4e0  attica-5.115.0.tar.xz
#125bbaa9cd2853caf029b67b48a3b3d9  extra-cmake-modules-5.115.0.tar.xz
6db6b6fef4a89e40a97cfaf121b7bb39  kapidox-5.115.0.tar.xz
0c22e60234f50e95d76a45d6a8135bba  karchive-5.115.0.tar.xz
c87402505994a05fbf4c368a22016ef5  kcodecs-5.115.0.tar.xz
fcb77cb2d9349b33e9e085ca4d2ebe7f  kconfig-5.115.0.tar.xz
159559a9fcc0812b4145acdd073a73d7  kcoreaddons-5.115.0.tar.xz
8c5b4a9555618c620a2e94a5d45798df  kdbusaddons-5.115.0.tar.xz
2327fbcd8dea339ca3ef24b889a71e63  kdnssd-5.115.0.tar.xz
c89c04e2ec19cab40c023f70e58dc941  kguiaddons-5.115.0.tar.xz
50ba903da49c6b9acf8d2e3881164787  ki18n-5.115.1.tar.xz
#abe7fcdfce4a066fdef6236ab15d11b2  ki18n-5.115.0.tar.xz
1bf59dbd22248f150f3b9c977af8b51f  kidletime-5.115.0.tar.xz
63e0fd1101429ab4dd94130074e732bb  kimageformats-5.115.0.tar.xz
49a623828ead35d4fa2d3255bbdca470  kitemmodels-5.115.0.tar.xz
c134615e17dd472b93230f6712f9f01b  kitemviews-5.115.0.tar.xz
a4ff537eb676fc53db9b3b7b8ecdc2ac  kplotting-5.115.0.tar.xz
148cb8009939e1ae53928d0d75111efb  kwidgetsaddons-5.115.0.tar.xz
7ff6c4358016468807c4d8c9ab9e0f5e  kwindowsystem-5.115.0.tar.xz
ec9afc8825fe4ffed7fdc69954682bd3  networkmanager-qt-5.115.0.tar.xz
4bc3f8554b526f0e39d8c2a6f228a988  solid-5.115.0.tar.xz
fe0e704f92fd43e6748ace4146616ef3  sonnet-5.115.0.tar.xz
4115012f00ffed36c9939f23cfb677ea  threadweaver-5.115.0.tar.xz
637f364c6e5ce6fbbca7a14e56f04c64  kauth-5.115.0.tar.xz
f0c3fc3ad2f0ad70c612d672d0ecb980  kcompletion-5.115.0.tar.xz
e4d7458f0df9c5adbe4e01dc2c917839  kcrash-5.115.0.tar.xz
bb297f2112003546b94c89c705578316  kdoctools-5.115.0.tar.xz
4efa94dabf55b53594a44efce08af107  kpty-5.115.0.tar.xz
c01766f3867f156ae2869031be469a5f  kunitconversion-5.115.0.tar.xz
22f355d87607bc76b9257724048ca73e  kconfigwidgets-5.115.0.tar.xz
1fc0908df48b8041271b88350b1f59f0  kservice-5.115.0.tar.xz
97f8e0b90a7c2ae352a9c6b3442e1a1f  kglobalaccel-5.115.0.tar.xz
e4bbae93076e4cc5f1f05c555d982837  kpackage-5.115.0.tar.xz
871278a972963eb6242688de2c3abc2e  kdesu-5.115.0.tar.xz
2c2978ff806b9a4a3e7eed141e7fae06  kemoticons-5.115.0.tar.xz
818c95b686e9257db6b4cdf007e2c49b  kiconthemes-5.115.0.tar.xz
e7bcd0c302c603e51ec20f9777ba1c0b  kjobwidgets-5.115.0.tar.xz
e3951d19de26c6b83e0fd2dc46b9ed55  knotifications-5.115.0.tar.xz
94a3182125744d25654f2c507dea6614  ktextwidgets-5.115.0.tar.xz
30270996c70d97fbda952aa2f822339f  kxmlgui-5.115.0.tar.xz
ae18d83dae4dd64ab4a728d26a6d79de  kbookmarks-5.115.0.tar.xz
1101eaf6d63a1c873cf21ee091821592  kwallet-5.115.0.tar.xz
4bc257fbce10119918d48593b203cf2e  kded-5.115.0.tar.xz
502f27350ad2538c843c6bdf4031ef8a  kio-5.115.0.tar.xz
934c4f217a34a44a82704be7f47a6ef6  kdeclarative-5.115.0.tar.xz
011fc001cffe0fd611ea516ced255578  kcmutils-5.115.0.tar.xz
a6b54d0321cecb9b9ce4fe8bdc2bdf75  kirigami2-5.115.0.tar.xz
0b47f08e5502871d9d7a483b75bb6ac4  syndication-5.115.0.tar.xz
32e234371b5454850f17441d15b5748e  knewstuff-5.115.0.tar.xz
c1cc6f7cb0b35ec6e1ef691ec4b1943b  frameworkintegration-5.115.0.tar.xz
7ae60737e857a72bf8af9859a65886f0  kinit-5.115.0.tar.xz
a1593f1c8024c1287b44e0035d00f2c6  kparts-5.115.0.tar.xz
b7b6252b2414fb108617f8cf73f0a810  kactivities-5.115.0.tar.xz
#dd11151488180073a39557afa9a1907e  kdewebkit-5.115.0.tar.xz
813461682389193e4fd0e589ffad866b  syntax-highlighting-5.115.0.tar.xz
e30c868032b7d722b75695b8f1eae46b  ktexteditor-5.115.0.tar.xz
474caf85f2b192e7f2bb68cce60aa273  kdesignerplugin-5.115.0.tar.xz
5031ae48f5214293ca8484e719a78895  kwayland-5.115.0.tar.xz
553e0499f311ad2cf96177e3e76abf64  plasma-framework-5.115.0.tar.xz
45d49e1ef3d42dc35fe07c36a45c612e  modemmanager-qt-5.115.0.tar.xz
a21b59445d190328cad46c6e8d5e48b0  kpeople-5.115.0.tar.xz
76e6ec2b6740ec77ff958fbe86d40932  kxmlrpcclient-5.115.0.tar.xz
872b72db316483eb4fcfb013de091403  bluez-qt-5.115.0.tar.xz
27eee2497d1e878693cd4cbeaf571379  kfilemetadata-5.115.0.tar.xz
d145b146adf0ae1d3c104d17a79e156a  baloo-5.115.0.tar.xz
#8a90f95057b7ab8ab03f3e4140b7adff  breeze-icons-5.115.0.tar.xz
#98931250d009db3750132d74447a030a  oxygen-icons-5.115.0.tar.xz
7f2a7726a6bba2f0a9c0474175fc69f6  kactivities-stats-5.115.0.tar.xz
021a50470de1860b96bc5edb8f3ef11c  krunner-5.115.0.tar.xz
abf08dfa6dd1d274e7834964e5cd23c5  prison-5.115.0.tar.xz
476bf46c139885de38b717e229f9a39d  qqc2-desktop-style-5.115.0.tar.xz
7af70230b69f0de4bb76c585b2af5733  kjs-5.115.0.tar.xz
51d2788c1bff19b532d4208dd5e778a2  kdelibs4support-5.115.0.tar.xz
d11bceb4cb9104d900a90708d6197bed  khtml-5.115.0.tar.xz
97bdb8d6a40d3dd499e1fb1297656f97  kjsembed-5.115.0.tar.xz
795fcee43ff4be908389f60942e8cba3  kmediaplayer-5.115.0.tar.xz
95fef271cb5197f9a0f009e41e2072c9  kross-5.115.0.tar.xz
06ab59b2662a0ddb5b77b0cc43173b7d  kholidays-5.115.0.tar.xz
27623b7ac58f7ed7d0a42208dc18aad2  purpose-5.115.0.tar.xz
ffacabefa59d96ac6d2fef1f9d33176f  kcalendarcore-5.115.0.tar.xz
ea0c60ec29421be2c26be53b0f6d135e  kcontacts-5.115.0.tar.xz
6ae56540d6d56086701a5dc130917e32  kquickcharts-5.115.0.tar.xz
0fdec6499fe1bfdf5ba509d0d9874f0a  knotifyconfig-5.115.0.tar.xz
7ec159103a24ed3d72b4680de952db20  kdav-5.115.0.tar.xz
EOF

Legg merke til at noen filer har blitt kommentert ut i listen ovenfor med et hash (#) tegn. Extra-cmake-modules oppføringen har blitt kommentert ut fordi det ble bygget tidligere i Introduksjon til KDE. ki18n-5.115.0 pakken er erstattet av ki18n-5.115.1. Ikonpakkene dekkes separat på breeze-icons-5.115.0 og oxygen-icons-5.115.0. kdewebkit pakken kan bygges hvis den eksterne pakken QtWebkit har blitt bygget.

Installasjon av KDE Rammeverk

[Note]

Note

Når du installerer flere pakker i et skript, installasjonen må gjøres som root bruker. Det er tre generelle alternativer som kan brukes til å gjøre dette:

  1. Kjør hele skriptet som root bruker (ikke anbefalt).

  2. Bruk sudo kommandoen fra Sudo-1.9.15p5 pakken.

  3. Bruk su -c "command arguments" (anførselstegn kreves) som vil be om root passordet for hver iterasjon av løkken.

En måte å håndtere denne situasjonen på er å lage en kort bash funksjon som automatisk velger riktig metode. Når kommandoen er satt i miljøet, trenger den ikke å bli satt på nytt.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root
[Caution]

Caution

Hvis du installerer i /opt og det er en eksisterende /opt/kf5 enten som en vanlig mappe eller en symbolsk lenke, bør den initialiseres på nytt (som bruker):

mv -v /opt/kf5 /opt/kf5.old                         &&
install -v -dm755           $KF5_PREFIX/{etc,share} &&
ln -sfv /etc/dbus-1         $KF5_PREFIX/etc         &&
ln -sfv /usr/share/dbus-1   $KF5_PREFIX/share       &&
ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share

Start først et underskall som avsluttes ved feil:

bash -e

Installer alle pakkene ved å kjøre følgende kommandoer:

while read -r line; do

    # Get the file name, ignoring comments and blank lines
    if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi
    file=$(echo $line | cut -d" " -f2)

    pkg=$(echo $file|sed 's|^.*/||')          # Remove directory
    packagedir=$(echo $pkg|sed 's|\.tar.*||') # Package directory

    name=$(echo $pkg|sed 's|-5.*$||') # Isolate package name

    tar -xf $file
    pushd $packagedir

      # kapidox is a python module
      case $name in
        kapidox)
          pip3 wheel -w dist --no-build-isolation --no-deps --no-cache-dir $PWD
          as_root pip3 install --no-index --find-links=dist --no-cache-dir --no-user kapidox
          popd
          rm -rf $packagedir
          continue
          ;;
      esac

      mkdir build
      cd    build

      cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
            -DCMAKE_PREFIX_PATH=$QT5DIR        \
            -DCMAKE_BUILD_TYPE=Release         \
            -DBUILD_TESTING=OFF                \
            -Wno-dev ..
      make
      as_root make install
    popd

  as_root rm -rf $packagedir
  as_root /sbin/ldconfig

done < frameworks-5.115.0.md5

exit
[Note]

Note

Eventuelle moduler som er utelatt kan installeres senere ved å bruke de samme mkdir build; cd build; cmake; make; make install prosedyrene som ovenfor.

Ubrukelige systemd enheter er installert i $KF5_PREFIX/lib. Fjern dem nå (som root):

rm -rf $KF5_PREFIX/lib/systemd

Noen ganger er installasjonsbanene hardkodet i installerte filer. Hvis den installerte mappen ikke er /usr, gi nytt navn til mappen og opprett en symbolkobling:

mv -v /opt/kf5 /opt/kf5-5.115.0
ln -sfvn kf5-5.115.0 /opt/kf5

Parameterforklaringer

-DCMAKE_PREFIX_PATH=$QT5DIR: Denne bryteren brukes for å la cmake finne de riktige Qt bibliotekene.

-DCMAKE_BUILD_TYPE=Release: Denne bryteren brukes for å bruke høyere nivå av kompilatoroptimaliseringer.

-DBUILD_TESTING=OFF: Denne bryteren brukes til å forhindre bygging av testprogrammer og biblioteker som ikke er til nytte for en sluttbruker.

Innhold

Installerte Programmer: balooctl, baloo_file, baloo_file_extractor, baloosearch, balooshow, checkXML5, depdiagram-generate, depdiagram-generate-all, depdiagram-prepare, desktoptojson, gentrigrams, kactivities-cli, kapidox_generate, kate-syntax-highlighter, kbuildsycoca5, kcookiejar5, kdebugdialog5, kded5, kdeinit5, kdeinit5_shutdown, kdeinit5_wrapper, kf5-config, kf5kross, kgendesignerplugin, kglobalaccel5, kiconfinder5, kjs5, kjscmd5, kjsconsole, knewstuff-dialog, kpackagelauncherqml, kpackagetool5, kquitapp5, kreadconfig5, kshell5, ktelnetservice5, ktrash5, kwalletd5, kwallet-query, kwrapper5, kwriteconfig5, meinproc5, parsetrigrams, plasmapkg2, preparetips5, protocoltojson, and solid-hardware5
Installerte Biblioteker: libkdeinit5_klauncher.so, libKF5Activities.so, libKF5ActivitiesStats.so, libKF5Archive.so, libKF5Attica.so, libKF5AuthCore.so, libKF5Auth.so, libKF5Baloo.so, libKF5BluezQt.so, libKF5Bookmarks.so, libKF5CalendarCore.so, libKF5CalendarEvents.so, libKF5Codecs.so, libKF5Completion.so, libKF5ConfigCore.so, libKF5ConfigGui.so, libKF5ConfigWidgets.so, libKF5Contacts.so, libKF5CoreAddons.so, libKF5Crash.so, libKF5DAV.so, libKF5DBusAddons.so, libKF5Declarative.so, libKF5DNSSD.so, libKF5DocTools.so, libKF5Emoticons.so, libKF5FileMetaData.so, libKF5GlobalAccel.so, libKF5GuiAddons.so, libKF5Holidays.so, libKF5I18n.so, libKF5IconThemes.so, libKF5IdleTime.so, libKF5ItemModels.so, libKF5ItemViews.so, libKF5JobWidgets.so, libKF5JSApi.so, libKF5JsEmbed.so, libKF5JS.so, libKF5KCMUtils.so, libKF5KDELibs4Support.so, libKF5KHtml.so, libKF5KIOCore.so, libKF5KIOFileWidgets.so, libKF5KIOGui.so, libKF5KIONTLM.so, libKF5KIOWidgets.so, libKF5Kirigami2.so, libKF5KrossCore.so, libKF5KrossUi.so, libKF5MediaPlayer.so, libKF5NetworkManagerQt.so, libKF5NewStuffCore.so, libKF5NewStuff.so, libKF5Notifications.so, libKF5NotifyConfig.so, libKF5Package.so, libKF5Parts.so, libKF5PeopleBackend.so, libKF5People.so, libKF5PeopleWidgets.so, libKF5PlasmaQuick.so, libKF5Plasma.so, libKF5Plotting.so, libKF5Prison.so, libKF5Pty.so, libKF5Purpose.so, libKF5PurposeWidgets.so, libKF5QuickAddons.so, libKF5Runner.so, libKF5Service.so, libKF5Solid.so, libKF5SonnetCore.so, libKF5SonnetUi.so, libKF5Style.so, libKF5Su.so, libKF5SyntaxHighlighting.so, libKF5TextEditor.so, libKF5TextWidgets.so, libKF5ThreadWeaver.so, libKF5UnitConversion.so, libKF5Wallet.so, libKF5WaylandClient.so, libKF5WaylandServer.so, libKF5WidgetsAddons.so, libKF5WindowSystem.so, libKF5XmlGui.so, libKF5XmlRpcClient.so, and libkwalletbackend5.so
Installerte Mapper: /opt/kf5 (symbolkobling til /opt/kf5-5.115.0) hvis du installerer i /opt

Korte Beskrivelser

checkXML5

er et verktøy for å se etter syntaksfeil i KDE DocBook XML filer

depdiagram-generate

er et verktøy for å generere et avhengighetsdiagram

depdiagram-generate-all

er et verktøy for å generere et avhengighetsdiagram for alle rammeverk samtidig

depdiagram-prepare

er et verktøy for å klargjøre punktfiler

desktoptojson

er et verktøy for å konvertere en .desktop fil til en .json fil

kbuildsycoca5

gjenoppbygger KService skrivebordsfilsystemkonfigurasjonen hurtiglageret

kcookiejar5

er et kommandolinjegrensesnitt til HTTP lageret for informasjonskapsler som brukes av KDE, en D-BUS tjeneste for å lagre/hente/rense informasjonskapsler

kded5

konsoliderer flere små tjenester i en prosess

kdeinit5

er en prosessstarter som ligner litt på den berømte init som brukes for oppstart av UNIX

kf5-config

er et kommandolinjeprogram som brukes til å hente informasjon om KDE installasjon eller brukerstier

kf5kross

kjører kross-skript skrevet i KDE Javascript, Python, Ruby, Java og Falcon

kgendesignerplugin

genererer skjermelement programtillegg for Qt(TM) Designer

kglobalaccel5

er en nisse som brukes til å registrere nøkkelbindingene og for å få varslet når handlingen utløses

kjs5

er KDE ECMAScript/JavaScript motor

kjscmd5

er et verktøy for å starte KJSEmbed skript fra kommandolinjen

kjsconsole

er en konsoll for kjs5

kpackagelauncherqml

er et kommandolinjeverktøy for å starte kpackage QML applikasjonen

kpackagetool5

er et kommandolinjeverktøy for kpackage

kreadconfig5

er et kommandolinjeverktøy for å hente verdier fra KDE konfigurasjonsfiler

kshell5

start applikasjoner via kdeinit

ktelnetservice5

er en telnet tjeneste

ktrash5

er et hjelpeprogram for å håndtere KDE papirkurven

kwalletd5

er lommebokbehandler nissen

kwriteconfig5

er et kommandolinjeverktøy for å skrive verdier i KDE konfigurasjonsfiler

meinproc5

konverterer DocBook filer til HTML

plasmapkg2

er et verktøy for å installere, liste, fjerne Plasma pakker

preparetips5

er et skript for å trekke ut teksten fra en tips fil

solid-hardware5

er et kommandolinjeverktøy for å undersøke tilgjengelige enheter