Hoofdstuk 2. Grondbeginselen

In dit hoofdstuk beschrijven we hoe u kdesrc-build kan gebruiken om modules uit de repositories van KDE uitgecheckt kunnen worden en ze te bouwen. Ook bieden we een basis uitleg van de structuur van de broncode van KDE en de stappen die u moet nemen voordat u het script gebruikt.

Alle in dit hoofdstuk gepresenteerde onderwerpen worden nog meer in detail behandeld in het artikel Bouwen vanuit de broncode op de wiki van de KDE gemeenschap. Als u KDE voor de eerste keer compileert, is het een goed idee om het te lezen of het te raadplegen als bron voor referenties. U zult er gedetailleerde informatie vinden over hulpmiddelen voor het maken van pakketten en de vereisten, veel voorkomende valkuilen bij compilatie en strategieën en informatie over het gebruik van uw nieuwe KDE installatie vinden.

Het systeem voorbereiden voor het bouwen van KDE

Een nieuw gebruikersaccount instellen

Het is aanbevolen dat u een aparte gebruikersaccount gebruikt om uw KDE software in te bouwen, te installeren en uit te voeren, omdat er minder toegangsrechten zijn vereist en om conflicten met de pakketten in uw distributie te vermijden. Als u al KDE-pakketten heeft geïnstalleerd, dan is de beste keuze om een aparte (alleen voor dat doel) gebruiker aan te maken om de nieuwe KDE te bouwen en te gebruiken.

Tip

Door de KDE van het systeem onaangeraakt laten, heeft u de mogelijkheid om in nood op terug te vallen in het geval een gecompileerd KDE onbruikbaar is.

Maar als u het wenst dan kunt u ook het zo instellen dat u in een systeembrede map installeert (bijv. /usr/src/local). Dit document beschrijft dit type installatie niet, omdat we aannemen dat u in dat geval weet wat u doet.

Ga na of uw systeem klaar is om vanuit de KDE software te bouwen

Alvorens het script kdesrc-build gebruikt kan worden (of elke andere bouwstrategie) is het nodig dat u de ontwikkelomgeving en de bibliotheken nodig voor KDE installeert. De bijna complete lijst met vereiste hulpmiddelen is te vinden op de pagina KDE wiki van de gemeenschap Vereisten voor bouwen.

Hier volgt een lijst met enkele dingen die u nodig hebt:

  • U heeft CMake nodig, deze software is wat KDE gebruikt voor de bouwconfiguratie van de broncode en de generatie van specifieke bouwcommando's voor uw systeem. De vereiste versie is afhankelijk van welke versies van KDE software u wilt bouwen (zie TechBase voor de specificaties), maar de met moderne distributies meegeleverde CMake zal goed genoeg zijn.

  • U moet ook de client-software installeren die nodig is om de KDE broncode uit te checken. Dit betekent dat u minstens het volgende nodig hebt:

    • De Git source control manager die nodig is voor alle broncode van KDE.

    • Hoewel het niet is vereist, wordt de beheerder van broncode Bazaar gebruikt voor een enkele module (libdbusmenu-qt) die nodig is voor de KDE bibliotheken. de meeste gebruikers kunnen deze bibliotheek installeren via hun pakketten uit de distributie maar kdesrc-build ondersteunt ook het bouwen als u dat wilt. Maar om libdbusmenu-qt te kunnen bouwen moet Bazaar zijn geïnstalleerd.

  • De Perl script-taal is vereist voor kdesrc-build, sommige KDE repositories, en Qt™ (als u dat vanuit broncode wilt bouwen).

    De Perl die met uw distributie meekomt zou geschikt moeten zijn (het moet tenminste Perl 5.14 moeten zijn), maar u heeft ook enkele extra modules nodig(kdesrc-build geeft een waarschuwing als ze er niet zijn):

    • IO::Socket::SSL

    • JSON::PP of JSON::XS

    • YAML::PP, YAML::XS, of YAML::Syck

  • U heeft een volledige C++ ontwikkelomgeving (compiler, standaard library, runtime, en de nodige ontwikkelpakketten). De vereiste minimum versies variëren en hangen af van de KDE module: de KDE Frameworks 5 collectie ondersteunt de oudste compilers, terwijl KDE Plasma 5 en KDE-programma's waarschijnlijk meer recente compilers nodig hebben.

    We bevelen tenminste de compilers GCC 4.8 of Clang 4 aan. Bij veel distributies kunt u deze hulpmiddelen makkelijk installeren via een build-essentials pakket, een hulpprogramma om "build dependencies" voor Qt™ te installeren, of vergelijkbare hulpprogramma's. De KDE Community Wiki heeft een pagina met daarop voor de grote distributies de aanbevolen pakketten.

  • U heeft een bouwprogramma nodig dat daadwerkelijk de compilatie-stappen uitvoert (gegenereerd door CMake). Wij bevelen GNU Make aan dat via uw pakketbeheerder beschikbaar zou moeten zijn. CMake ondersteunt andere mogelijkheden, zoals het bouwprogramma Ninja, wat u door kdesrc-build kan laten gebruiken via het de optie custom-build-command in het configuratiebestand.

  • Tenslotte heeft u de juiste Qt™ libraries (inclusief de development pakketten) voor de versie van de KDE software nodig die u gaat bouwen. kdesrc-build ondersteunt niet officieel het bouwen met Qt™ 5 (de huidige major versie), het wordt daarom aangeraden om de development pakketten van uw distributie te gebruiken of om de KDE Community wiki page over self-building Qt 5 te bestuderen.

Opmerking

De meeste distributies van besturingssystemen hebben een methode om makkelijk de vereiste ontwikkel-programma's te installeren. Lees de Community Wiki pagina Required devel packages om uit te vinden of deze instructies al beschikbaar zijn.

Belangrijk

Sommige van deze pakketten zijn verdeelt in libraries (of programma's of hulpprogramma's), en ontwikkeling-pakketten U heeft in ieder geval het programma of library en het ontwikkeling-pakket daarvan nodig.

kdesrc-build instellen

kdesrc-build installeren

De KDE-ontwikkelaars wijzigingen regelmatig kdesrc-build om het in de pas te laten lopen met de vorderingen van de ontwikkelingen in KDE, voegen verbeteringen toe aan de aanbevolen kdesrc-build-configuratie, voegen modules toe, verbeteren CMake flags, etc.

Daarom bevelen we aan om de kdesrc-build direct op te halen uit zijn broncoderepository en het daarna regelmatig bij te werken.

U kunt kdesrc-build ophalen uit zijn broncoderepository, door de volgende commando's uit te voeren:

$ git clone https://invent.kde.org/sdk/kdesrc-build.git ~/kdesrc-build

Vervang ~/kdesrc-build door de map waarin u het wilt installeren.

U kunt later kdesrc-build bijwerken door uit te voeren:

$ cd ~/kdesrc-build
$ git pull

Tip

Wij raden aan om de kdesrc-build installatie-map aan uw PATH omgevingsvariabele toe te voegen, zodat u kdesrc-build kunt opstarten zonder dat u iedere keer het volledige pad daarvan hoeft op te geven.

Het configuratiebestand voorbereiden

kdesrc-build gebruikt een configuratiebestand (genaamd ~/.kdesrc-buildrc) voor het bepalen welke modules worden gebouwd, waar ze worden geïnstalleerd, enz.

U kunt een met kdesrc-build meegeleverd programma gebruiken, genaamd kdesrc-build-setup om een eenvoudige configuratie voor kdesrc-build te maken. U kunt dan vervolgens het ~/.kdesrc-buildrc bewerken om de gewenste wijzigingen aan te brengen.

U start kdesrc-build-setup zelf op van uit een terminal (in plaats van een grafische interface gebruik te maken ), net zoals kdesrc-build, zodat u het zelfs kunt gebruiken als u nog geen grafische interface heeft.

Handmatig instellen van het configuratiebestand

U kunt ook uw configuratiebestand handmatig instellen, door het meegeleverde voorbeeld configuratiebestand kdesrc-buildrc-kf5-sample naar ~/.kdesrc-buildrc te kopiëren en vervolgens dat bestand te bewerken. Hoofdstuk 4, De kdesrc-build configureren heeft een handige uitleg hierover, met name de tabel met configuratieopties.

kdesrc-build heeft vele voorbeeld configuratiebestanden voor KDE Frameworks 5, Plasma™ 5, en andere KDE-programma's. De kdesrc-build-setup maakt referenties naar deze bestanden in het configuratiebestand dat het genereert, maar u kunt ze ook zelf gebruiken. lees de paragraaf met de naam “Naar andere configuratiebestanden verwijzen” voor informatie over hoe u andere configuratiebestanden van u eigen ~/.kdesrc-buildrc kunt gebruiken.

U kunt meer informatie over de syntaxis van het configuratiebestand vinden in de paragraaf met de naam “Instellen van de configuratiegegevens” en in Hoofdstuk 4, De kdesrc-build configureren.