Difference between revisions of "Getting Started/Build/kdesrc-build (gl)"

Jump to: navigation, search
m (Text replace - "<code bash>" to "<syntaxhighlight lang="bash">")
m (Text replace - "<code>" to "<syntaxhighlight lang="text">")
Line 46: Line 46:
  
 
Para o propio kdesrc-build fai falla a versión 5.8 ou posterior de Perl. A meirande parte das distribucións de GNU/Linux contan con ela, instalada de maneira predeterminada. Pode comprobar a versión de Perl que ten instalada coa seguinte orde:
 
Para o propio kdesrc-build fai falla a versión 5.8 ou posterior de Perl. A meirande parte das distribucións de GNU/Linux contan con ela, instalada de maneira predeterminada. Pode comprobar a versión de Perl que ten instalada coa seguinte orde:
<code>perl -v</code>
+
<syntaxhighlight lang="text">perl -v</code>
  
 
Necesitará ademáis [https://github.com/gisle/libwww-perl#readme libwww], unha colección de módulos de Perl relacionados coa Internet.
 
Necesitará ademáis [https://github.com/gisle/libwww-perl#readme libwww], unha colección de módulos de Perl relacionados coa Internet.

Revision as of 21:47, 29 June 2011


Contents

Getting_Started/Build/kdesrc-build


noframe
 
Note
A versión 3 da colección de software de KDE pode compilarse empregando versións anteriores de kdesrc-build, pero este artigo non trata ese tema.

Compilar a colección de software de KDE empregando a ferramenta kdesrc-build

Introdución

kdesrc-build (outrora chamado “kdesvn-build”) é unha ferramenta que lle permite aos usuarios e desenvolvedores descargar e compilar facilmente as últimas versións da colección de software de KDE, directamente descargada do repositorios do código fonte. Automatiza, entre outras, as seguintes tarefas:

  • Obter o último código fonte.
  • Xestionar as actualizacións dos módulos dos que xa se descargou o código fonte.
  • Preparar o sistema de compilación para o módulo.
  • Realizar os procesos de compilación e instalación.
  • Empregar opcións de CMake e variables de ambiente personalizadas (para non ter que estalas lembrando sempre).
  • Mantemento dun rexistro cos erros de compilación para podelos revisar máis comodamente e así solucionar con maior facilidade os posibles problemas.

Isto non acaba con todos os problemas de compilación da colección de software de KDE, aínda quedarán algúns por resolver. Moitos dos erros que se dan ao empregar outros métodos danse tamén ao empregar esta ferramenta, así que vai ter que ler os ficheiros de rexistro de erros.

Vantaxes

Pregúntase cales son as vantaxes de empregar esta ferramenta? Pois velaquí van algunhas:

  1. Reduce a cantidade de ordes que hai que executar manualmente. En vez de ter que engadir as opcións correctas das ordes «cmake» e «configure», pode configurar ditas opcións unha primeira vez e esquecerse delas, xa que kdesrc-build se encargará de empregalas sempre, evitando os problemas derivados de esquecer engadir ditas opcións.
  2. Rexistro das ordes para facilitar a solución de erros de compilación. A ferramenta rexistra o texto que producen todas as ordes nun ficheiro. Entre as vantaxes disto están:
    1. Ao fallar o proceso de compilación dun módulo, a descrición do erro queda gardada no disco, de xeito que se poida estudar e comparar con outras mensaxes de erro para atopar a solución.
    2. Menos mensaxes no terminal. Aínda empregando CMake, o texto que se xera ao compilar Qt ou un módulo da colección de software de KDE pode ser moi extensa. kdesrc-build oculta os detalles do proceso de compilación, e amosa no seu lugar un resumo ─coa porcentaxe completada─.
  3. Facilita moitísimo as cousas. En vez de ter que aprender a empregar Subversion e Git, así como a preparar un sistema de compilación para a colección de software de KDE, pode indicar os módulos que quere compilar, onde os quere instalar, e calquera outra opción que lle inteese e que kdesrc-build faga uso delas, permitíndolle a vostede estar a outras cousas (mesmo deixar o computador traballando).
  4. É compatible co proceso manual de compilación. kdesrc-build emprega unha árbore de directorios estándar para o código fonte e maila compilación, e emprega as mesmas ordes que empregaría vostede. Dese xeito poderá en calquera momento modificar e compilar o código pola súa conta se quere.

Preparación

Ligazóns de utilidade

Se emprega kdesrc-build, pode que lle interese poder buscar nos repositorios do código fonte para saber que módulos buscar.

Requisitos

kdesrc-build é bastante doado de instalar e configurar, pero deberá dispoñer do software axeitado para compilar a colección de software de KDE. A lista destes requisitos están dispoñible en:

Para o propio kdesrc-build fai falla a versión 5.8 ou posterior de Perl. A meirande parte das distribucións de GNU/Linux contan con ela, instalada de maneira predeterminada. Pode comprobar a versión de Perl que ten instalada coa seguinte orde:

perl -v</code>
 
Necesitará ademáis [https://github.com/gisle/libwww-perl#readme libwww], unha colección de módulos de Perl relacionados coa Internet.
 
{{note|kdesrc-build desenvólvese en sistemas GNU/Linux, pero tamén debería funcionar nas distribucións de BSD, se ben poden resultar necearias algunhas das ferramentas de GNU.}}
 
====Descarga e instalación====
Unha vez teña o sistema listo para compilar a colección de ''software'' de KDE, pode descargar kdesrc-build do seu [http://kdesrc-build.kde.org/ sitio ''web'' oficial]. O ficheiro conterá (polo menos) o guión kdesrc-build e un ficheiro de configuración de exemplo. A instalación é tan doada como gardar o ficheiro e darlle permisos de execución. Se quere pode poñelo nun directorio dos que conten a súa variable de ambiente PATH, pero para o exemplo seguinte porémolo no directorio «$HOME/kdesrc».
 
<syntaxhighlight lang="bash">
mkdir -p ~/kdesrc
cd ~/kdesrc
tar xjvf ~/path/to/kdesrc-build-1.12.tar.bz2
cp kdesrc-build-1.12/kdesrc-build .
</code>
 
Se o prefire, pode obter a última versión (e ficheiro de configuración) directamente do SVN:
<syntaxhighlight lang="bash">
mkdir -p ~/kdesrc
cd ~/kdesrc
export SVN_ROOT=svn://anonsvn.kde.org/home/kde
svn cat $SVN_ROOT/trunk/KDE/kdesdk/scripts/kdesrc-build > kdesrc-build
svn cat $SVN_ROOT/trunk/KDE/kdesdk/scripts/kdesrc-buildrc-sample > ~/.kdesrc-buildrc
chmod +x kdesrc-build
</code>
 
====Configuración====
Agora [[Getting Started/Build/kdesrc-buildrc_(gl)|configúreo]]. Os valores predeterminados do ficheiro de exemplo deberían valer na meirande parte dos casos.
 
<syntaxhighlight lang="bash">
cp ~/kdesrc/kdesrc-build-1.12/kdesrc-buildrc-sample ~/.kdesrc-buildrc
# Now edit the ~/.kdesrc-buildrc
</code>
 
{{tip|Teña en conta que o nome do ficheiro de configuración comeza cun punto, polo que será un ficheiro oculto. Pode que teña que configurar o xestor de ficheiros para amosar este tipo de ficheiros e así poder atopalo e editalo. Tamén pode editar o ficheiro antes de copialo a «$HOME/.kdesrc-buildrc».}}
 
Asegúrese de que os módulos que quere compilar van incluídos. Probablemente lle interese ter como mínimo os seguintes:
 
* qt-copy, kdesupport, kdelibs, kdepimlibs, kdebase
 
Os módulos compílanse na orde en que aparecen no ficheiro de configuración, así que o primeiro debería ser qt-copy, logo kdelibs, e logo os demais.
 
{{note|O ficheiro de configuración de exemplo xa ten estes módulos de maneira predeterminada, non terá que cambiar nada a non ser que queira engadir máis módulos ─quitándolles o «#» de diante─.}}
 
Pode que queira activar a opción make-install-prefix se vai instalar KDE ou Qt nun directorio alleo ao seu directorio persoal. Esta opción permítelle empregar su ou sudo durante o proceso make install para que poida instalar ficheiros como administrador (''root''), ou permitir que certos programas se executen con máis permisos (necesario para que algúns programas funcionen correctamente).
 
<pre>module kdelibs
  make-install-prefix sudo -S # sudo sen stdin
end module
 
module kdebase
  make-install-prefix sudo -S
end module</pre>
 
Se quere compilar un módulo que non está presente, engada o seguinte:
 
<pre>module &lt;nome-do-módulo&gt;
end module</pre>
 
ao final do ficheiro de configuración. &lt;nome-do-módulo&gt; será o nome do módulo tal e como aparece no ''repositorio'' de ''software'' (por exemplo, kdemultimedia).
 
=====Módulos baseados en Git=====
 
Algúns proxectos de KDE empregan o sistema de control de versións Git en vez de Subversion (estase realizando unha migración a gran escala). Amarok e Konversation xa realizaron o cambio.
 
Para compilar estes módulos con kdesrc-build só ten que engadir un par de liñas á configuración do módulo. Por exemplo, Konversation desenvólvese nun ''repositorio'' Git en [https://projects.kde.org/projects/extragear/network/konversation/repository]. Para engadilo como módulo empregaríase algo como o seguinte (podendo o nome ser calquera, sempre que non se empregase previamente):
 
<pre>module konversation
    repository git://anongit.kde.org/konversation
    branch master
end module</pre>
 
Neste caso escolleuse a póla «master» dado que é a póla predeterminada de Git.
 
Agora, cada vez que compile Konversation, kdesrc-build empregará Git en vez de Subversion.
 
====Ordes útiles de kdesrc-build====
kdesrc-build emprégase dende a liña de ordes. A continuación lístanse algunhas das súas opcións máis útiles:
 
<table cellpadding="2">
<tr>
<th>Opción</th><th>Efecto</th>
</tr>
<tr>
<td><tt><span style="white-space:nowrap;">[http://kdesrc-build.kde.org/documentation/cmdline.html#cmdline-pretend --pretend]</span></tt> (Forma acurtada: <tt><span style="white-space:nowrap;">-p</span></tt>)</td>
<td>kdesrc-build procesará as opcións e a súa configuración con normalidade, e realizará a compilación do mesmo xeito, pero en vez de descargar e compilar xerará a saída que xeraría en caso de facelo. Debería executar kdesrc-build sempre con esta opción antes de empregalo sen ela para asegurarse de que está a facer o que vostede quere que faga.</td>
</tr>
<tr>
<td><tt>[http://kdesrc-build.kde.org/documentation/cmdline.html#cmdline-no-svn --no-svn]</tt> (Forma alternativa: <tt>--no-src</tt>)</td><td>Esta opción sáltase o paso de actualización do código fonte, útil para cando estea a executar o guión pouco despois da última actualización e non quere descubrir que non houbo cambios.</td>
</tr>
<tr>
<td><tt>[http://kdesrc-build.kde.org/documentation/cmdline.html#cmdline-refresh-build --refresh-build]</tt></td><td>Esta opción fai que o kdesrc-build borre a información sobre a compilación actual dos módulos indicados e os compile de novo dende cero. A opción tarda moito pero asegúrase de que todo vaia como debe ser.</td>
</tr>
</table>
 
Calquera cousa que se indique na liña de ordes que non sexa unha opción interpretarase coma un nome de módulo a compilar, e compilaranse na orde indicada. Se non se indica módulo ningún, compilaranse todos os módulos do ficheiro de configuración na orde na que aparecen no mesmo.
 
==Compilación==
Xa case acabamos. Se rematou de personalizar o ficheiro de configuración, vai sendo hora de probar a ferramenta. En teoría é tan doado como executar kdesrc-build e volver máis tarde ;)
We're almost there.  If you're happy with your settings then it's time to test out kdesrc-build.  In theory things are as simple as running kdesrc-build and then coming back later. ;)
 
<syntaxhighlight lang="bash">
cd ~/kdesrc
./kdesrc-build
</code>
 
Pero pode que queira probalo antes compilando qt-copy.
 
<syntaxhighlight lang="bash">
cd ~/kdesrc
./kdesrc-build qt-copy
</code>
 
{{tip|Se ten o ''aplicativo'' [http://www.gnu.org/software/screen/ GNU screen] emprégueo para executar kdesrc-build, pois así poderá telo executándose nunha sesión aparte e pechar a súa sen que o kdesrc-build deixe de traballar.}}
 
Se a compilación falla (kdesrc-build amosará unha mensaxe de erro de cor vermella) son varias as posibilidades:
 
# Fáltalle unha das pezas claves do ''software'' necesario (como as bibliotecas de desenvolvemento).
# O código da compilación de ''software'' de KDE que está a compilar está “roto” ata o punto de non dar compilado. Isto adoita deberse a código acabado de enviar ao ''repositorio'' que funcionaba no computador do desenvolvedor, ou ás veces os luns (cando se permiten os cambios incompatibles en kdelibs).
# kdesrc-build non está correctamente configurado. Por exemplo, pode que estea intentando instalar nun directorio para o que non ten permisos de escritura, ou puido indicar un directorio de Qt que nin existe.
# O módulo podería depender dunha nova versión de qt-copy ou kdelibs (ou outro módulo). Se é o caso, terá que executar kdesrc-build para actualizar primeiro os módulos obsoletos.
 
Como descubrir cal dos casos foi? A saída da orde que fallou quedará almacenada no directorio de rexistro. O directorio de rexistro predeterminado é o directorio {{path|log}} dentro do directorio do código fonte. O directorio estrutúrase así: {{path|log/data-de-execución/módulo/output-file.log}}. Para atopar o ficheiro axeitado con maior facilidade, existen unha serie de ligazóns simbólicas:
 
{{path|log/latest}} ten as saídas da última vez que se executou kdesrc-build sen a opción --pretend.
{{path|log/latest/&lt;módulo&gt;/error.log}} ten a saída da orde que provocou que fallase o módulo.
 
Por exemplo, se qt-copy non deu compilado debería facer o seguinte para ler as mensaxes de saída:
 
<syntaxhighlight lang="bash">
cd ~/kderc
kwrite log/latest/qt-copy/error.log
</code>
 
Substitúa kwrite polo seu editor de texto preferido. Con sorte a saída serviralle de axuda para resolver o problema. Por exemplo, se o fallo consiste nunha saída de CMake que di algo de que falta unha biblioteca, instálea e vólvao intentar. Para os erros de ligazón pode probar a executar --refresh-build no módulo (ou as bibliotecas necesarias como qt-copy ou kdelibs se iso non funciona).
 
Se non dá coa solución, pode que queira agardar un día e probar a volver actualizalo, coa esperanza de que o erro se solucionase. Pode probar tamén a enviar un correo á [http://www.kde.org/mailinglists/ rolda de correo kde-devel] a ver se hai alguén que saiba a solución ou se hai outros co mesmo problema.
 
==Executar KDE==
 
Asumindo que instalou e compilou módulos abondo para unha instalación funcional da colección de ''software'' de KDE, aínda terá que preparar o seu ambiente correctamente para executala. kdesrc-build (aínda) non pode axudarlle aquí, polo que deberá seguir as instrucións fornecidas no [[../../Set_up_KDE_4_for_development_(gl)|artigo sobre como preparar a versión 4 da colección de ''software'' de KDE para o desenvolvemento]].
 
Asegúrese de empregar as mesmas rutas que as que definiu no ficheiro de configuración: para as variables KDEDIRS e KDEDIR empregue a configuración da opción "prefix" (na sección global). Para a variable QTDIR empregue a configuración da opción "qtdir".
 
==Manter ao día==
 
Manter a instalación de KDE ao día é tan doado como volver executar kdesrc-build. Todo kdesrc-build pasa polas seguintes fases:
 
# Actualizar o código fonte de todos os módulos a compilar.
# Compilar e instalar os módulos.
 
En principio non se borran os directorios de compilación antigos, así que a compilación que se faga tras unha pequena actualización levará xeralmente menos tempo que a compilación inicial do módulo. Isto é o que se denomina "make incremental". Porén pode que ás veces sexa necesario realizar unha compilación completamente de cero por mor de inconsistencias entre a configuración do directorio de compilación e os cambios no directorio do código fonte. Pode empregar a opción --refresh-build para forzar unha compilación dende cero.
 
Para máis información sobre como sacarlle o mellor partido a kdesrc-build, bótelle unha ollada á [http://kdesrc-build.kde.org/documentation documentación oficial], na que se describen as opcións de todos os módulos e as opcións da liña de ordes dispoñibles, así como trucos para realizar útiles varias tarefas.
 
Pode engadir as súas dúbidas á páxina de conversa deste artigo, preferiblemente na súa versión en inglés, e con sorte aparecerá alguén coa resposta que busca.
 
[[Category:Build_KDE]]
[[Category:Tutorial]]

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal