Getting Started/Build/kdesrc-build (gl)
Getting_Started/Build/kdesrc-build
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
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 quendarán algúns. 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:
- 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.
- 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:
- 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.
- 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─.
- 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).
- É 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.
- Para buscar no repositorio Subversion de KDE, empregue WebSVN.
- Para buscar nos repositorios dos proxectos de KDE que empreguen Git, pode ir a Gitorious.
- Pode navegar polas bibliotecas de Qt empregadas por KDE no sitio web de kde-qt en Gitorious.
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
Necesitará ademáis libwww, unha colección de módulos de Perl relacionados coa Internet.
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 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».
mkdir -p ~/kdesrc
cd ~/kdesrc
tar xjvf ~/path/to/kdesrc-build-1.12.tar.bz2
cp kdesrc-build-1.12/kdesrc-build .
Se o prefire, pode obter a última versión (e ficheiro de configuración) directamente do SVN:
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
Configuración
Agora configúreo. Os valores predeterminados do ficheiro de exemplo deberían valer na meirande parte dos casos.
cp ~/kdesrc/kdesrc-build-1.12/kdesrc-buildrc-sample ~/.kdesrc-buildrc
- Now edit the ~/.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.
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).
module kdelibs make-install-prefix sudo -S # sudo sen stdin end module module kdebase make-install-prefix sudo -S end module
Se quere compilar un módulo que non está presente, engada o seguinte:
module <nome-do-módulo> end module
ao final do ficheiro de configuración. <nome-do-módulo> 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 empregar 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 no repositorio git://gitorious.org/konversation/konversation.git de Gitorious. Para engadilo como módulo empregaríase algo como o seguinte (podendo o nome ser calquera, sempre que non se empregase previamente):
module konversation repository git://gitorious.org/konversation/konversation.git branch master end module
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:
Opción | Efecto |
---|---|
--pretend (Forma acurtada: -p) | 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. |
--no-svn (Forma alternativa: --no-src) | 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. |
--refresh-build | 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. |
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. ;)
cd ~/kdesrc
./kdesrc-build
Pero pode que queira probalo antes compilando qt-copy.
cd ~/kdesrc
./kdesrc-build qt-copy
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 log dentro do directorio do código fonte. O directorio estrutúrase así: 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:
log/latest ten as saídas da última vez que se executou kdesrc-build sen a opción --pretend. log/latest/<módulo>/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:
cd ~/kderc
kwrite log/latest/qt-copy/error.log
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 á 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 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 á 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.