Hoofdstuk 3. Mogelijkheden van het script

Overzicht van de mogelijkheden

kdesrc-build heeft de volgende mogelijkheden:

  • U kunt net doen als of u de operaties uitvoert. Als u --pretend of -p op de commandoregel meegeeft, dan zal het script een uitvoerige omschrijving van de commando's geven die het gaat uitvoeren, zonder ze daadwerkelijk uit te voeren. Maar als u nog nooit kdesrc-build heeft uitgevoerd, dan wilt u waarschijnlijk eerst het commando kdesrc-build --metadata-only uitvoeren voordat u --pretend uitvoert.

    Tip

    Als u een nog uitvoeriger omschrijving wilt hebben van wat kdesrc-build aan het doen is, dan kunt u het gebruik van de optie --debug uitproberen.

  • kdesrc-build biedt u snel een checkout van modulen te doen. Als de module die u wilt uitchecken al eerder is uitgecheckt, dan zal kdesrc-build alleen wat is toegevoegd en nog niet op uw computer is downloaden.

    Tip

    In het algemeen zijn er geen speciale voorbereidingen nodig om de eerste checkout van een Git module uit te kunnen voeren, omdat de hele Git repository toch moet worden gedownload, het is dus voor de server makkelijk vast te stellen wat het moet versturen.

    Dit is voor u sneller, en helpt om de belasting van de kde.org anonymous Git servers te verminderen.

  • Een andere manier van sneller werken krijgt u door het bouwproces van een module onmiddellijk te starten nadat de broncode van die module is gedownload. (beschikbaar vanaf versie 1.6)

  • Uitgebreide ondersteuning voor het bouwen van de Qt™ library (in het geval dat de KDE software die u probeert te bouwen, afhankelijk is van een recente Qt™ die beschikbaar is bij uw distributie).

  • kdesrc-build vereist niet dat een GUI aanwezig is om te kunnen werken. Daardoor kunt u KDE software bouwen zonder dat u een alternatieve grafische omgeving nodig heeft.

  • Ondersteunt het instellen van standaard opties voor alle modules (zoals de compilatie-instellingen of de configuratie-instellingen). Dergelijke opties kunt u normaal gesproken ook voor specifieke modules instellen.

    Daarnaast zal kdesrc-build indien van toepassing standaard flags toevoegen om het u makkelijker te maken en mogelijke typefouten te voorkomen als u ze zelf invoert. Opmerking: dit is niet van toepassing wanneer een (aangepaste) toolchain is geconfigureerd via bijv.: cmake-toolchain

  • kdesrc-build kan een specifieke branch of tag van een module uitchecken. U kunt daarmee ervoor zorgen dat een specifieke revisie van een module is uitgecheckt.

  • kdesrc-build kan automatisch van broncoderepository omschakelen om van een andere repository, branch, of tag uit te checken. Dit gebeurt automatisch als u een optie wijzigt die invloed heeft op wat de repository URL zou moeten zijn, maar u moet de optie --src-only gebruiken op het kdesrc-build te laten weten dat het acceptabel is om de switch uit te voeren.

  • kdesrc-build kan alleen gedeeltes van een module uitchecken, in die situaties dat u alleen een programma uit een grote module nodig heeft.

  • Voor ontwikkelaars: kdesrc-build zal u er aan herinneren als u git+ssh:// gebruikt terwijl ssh-agent niet is opgestart, omdat dit er toe zal leiden tot herhaaldelijke verzoeken om het wachtwoord van SSH.

  • Kan de build-map verwijderen van een module na een installatie om ruimte te besparen, ten koste van toekomstige compilatie tijd.

  • De locaties van door kdesrc-build gebruikte mappen zijn instelbaar (zelfs per module).

  • Kan Sudo gebruiken, of een andere user-specified commando voor het installeren van modules zo dat kdesrc-build niet als de super user hoeft te worden opgestart.

  • kdesrc-build start standaard met lagere prioriteit zodat u uw computer nog steeds kan gebruiken terwijl kdesrc-build aan het werk is.

  • Kan gebruik maken van KDE's tags en branches.

  • Het is mogelijk om een bouw te vervolgen van een bepaalde module. U kunt zelfs tijdelijk enkele modules negeren voor een bepaalde bouw.

  • kdesrc-build zal de voortgang van uw bouwprocestonen als het CMake gebruikt, en zal altijd de tijd opnemen van het bouwproces zodat u later weet hoelang het heeft geduurd.

  • Komt met een handige set van standaardinstellingen geschikt om een basis KDE installatie voor een enkele gebruiker te bouwen vanuit anonieme broncoderepositories.

  • Tilde-expansie voor uw configuratie-opties. U kunt bijvoorbeeld opgegeven:

    install-dir ~/kde/usr

  • Stelt automatisch een bouwstrategie op, waarbij de broncode-map niet dezelfde is als de bouw-map, om de broncode-map maagdelijk te houden.

  • U kunt globale opties opgeven die geldig is voor elke module die u uitcheckt, maar u kunt ook opties opgeven die voor individuele modules gelden.

  • Forceer volledige rebuilds, als u kdesrc-build opstart met de optie --refresh-build.

  • U kunt verschillende omgevingsvariabelen voor de bouw opgeven, waaronder DO_NOT_COMPILE en CXXFLAGS.

  • Commando logging. Logs zijn gedateerd en genummerd zodat u altijd een log heeft van een script run. Daarnaast is er een speciale symlink genaamd latest die altijd naar de meest recente log entry in de log-map wijst.