Log van het bouwproces van kdesrc-build

Overzicht logging

Logging is een functionaliteit van kdesrc-build waarbij de uitvoer van elke commando die kdesrc-build uitvoert wordt opgeslagen voor later onderzoek, indien noodzakelijk. Dit is gedaan omdat vaak nodig is om de uitvoer van deze programma's te hebben als het bouwen is mislukt, op de eerste plaats omdat er zo veel verschillende redenen kunnen zijn waarom een bouwproces kan mislukken.

Indeling logging-map

De logs worden altijd opgeslagen in de log-map. De locatie van de log-map stelt u in met de optie log-dir, die standaard wijst naar ${source-dir}/log (waar ${source-dir} de waarde is van de optie source-dir. Hierna in deze sectie, wordt naar deze waarde gerefereerd als ${log-dir}).

In ${log-dir}, is een set van mappen, een voor elke keer dat kdesrc-build is opgestart. Elke map heeft als naam de datum, en een startnummer. Als voorbeeld, de tweede keer dat kdesrc-build is opgestart op 26 mei, 2004, creëert het een map genaamd 2004-05-26-02, waar de 2004-05-26 voor de datum staat, en de -02 is het startnummer.

Om het u gemakkelijk te maken, zal kdesrc-build ook een link naar de logs van uw laatste run creëren, genaamd latest. Zodat de logs van de meest recente kdesrc-build run altijd te vinden zijn onder ${log-dir}/latest.

Nu zal elke map voor een uitvoering van kdesrc-build zelf een set mappen bevatten, een voor elk KDE module die kdesrc-build probeert te bouwen. Ook zal een bestand genaamd build-status in die map zitten, die u het bepalen biedt welke modulen zijn gebouwd en welke zijn mislukt.

Opmerking

Als een module zelf weer een submodule (zoals extragear/multimedia, playground/utils, of KDE/kdelibs) heeft, dan zal er een vergelijkbare layout in de log map aanwezig zijn. Bijvoorbeeld, de logs voor KDE/kdelibs zullen na de laatstekdesrc-build run te vinden zijn in ${log-dir}/latest/KDE/kdelibs, en niet in ${log-dir}/latest/kdelibs.

In elke module log-map ,vindt u een set bestanden voor elke operatie die kdesrc-build uitvoert. Als kdesrc-build een module update, dan zult u bestanden zien zoals git-checkout-update.log (voor een module checkout of bij het updaten van een module dat al uitgecheckt is). Als het commando configure is opgeroepen, dan kunt u een configure.log in die map verwachten.

Als er een fout is opgetreden, dan zou u in een van de bestanden moeten kunnen zien waardoor de fout is opgetreden. Om u te helpen bij het bepalen in welk bestand de foutmelding is te vinden, zal kdesrc-build een link creëren naar het bestand met de foutmelding (zoals build-1.log genaamd error.log).

Het uiteindelijke doel van dit alles is om te zien waarom een module na uw laatste kdesrc-build heeft gefaald om te bouwen, het bestand waar u als eerste naar moet kijken is ${log-dir}/latest/module-name/error.log.

Tip

Als het bestand error.log leeg is (met name na een installatie), dan was er misschien geen fout. Sommige van de hulpprogramma's die het KDE bouwsysteem gebruikt, kan soms bij vergissing een fout rapporteren terwijl er geen een was.

Het kan ook gebeuren dat sommige commando's de kdesrc-build's uitvoer redirection ontwijken en het logbestand in bepaalde omstandigheden bypassen (meestal bij het uitvoeren van de eerste Git checkout), en is in dat geval de foutmelding niet in het logbestand maar in plaats daarvan in de Konsole of de terminal waarin u kdesrc-build opstartte.