Neverendingo (Talk | contribs) m (Text replace - "<code bash>" to "<syntaxhighlight lang="bash">") |
|||
| (2 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| − | + | ||
{{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.}} | {{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.}} | ||
| 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: | ||
| − | < | + | <syntaxhighlight lang="text">perl -v</syntaxhighlight> |
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. | ||
| Line 60: | Line 60: | ||
tar xjvf ~/path/to/kdesrc-build-1.12.tar.bz2 | tar xjvf ~/path/to/kdesrc-build-1.12.tar.bz2 | ||
cp kdesrc-build-1.12/kdesrc-build . | cp kdesrc-build-1.12/kdesrc-build . | ||
| − | </ | + | </syntaxhighlight> |
Se o prefire, pode obter a última versión (e ficheiro de configuración) directamente do SVN: | Se o prefire, pode obter a última versión (e ficheiro de configuración) directamente do SVN: | ||
| Line 70: | Line 70: | ||
svn cat $SVN_ROOT/trunk/KDE/kdesdk/scripts/kdesrc-buildrc-sample > ~/.kdesrc-buildrc | svn cat $SVN_ROOT/trunk/KDE/kdesdk/scripts/kdesrc-buildrc-sample > ~/.kdesrc-buildrc | ||
chmod +x kdesrc-build | chmod +x kdesrc-build | ||
| − | </ | + | </syntaxhighlight> |
====Configuración==== | ====Configuración==== | ||
| Line 78: | Line 78: | ||
cp ~/kdesrc/kdesrc-build-1.12/kdesrc-buildrc-sample ~/.kdesrc-buildrc | cp ~/kdesrc/kdesrc-build-1.12/kdesrc-buildrc-sample ~/.kdesrc-buildrc | ||
# Now edit the ~/.kdesrc-buildrc | # Now edit the ~/.kdesrc-buildrc | ||
| − | </ | + | </syntaxhighlight> |
{{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».}} | {{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».}} | ||
| Line 150: | Line 150: | ||
cd ~/kdesrc | cd ~/kdesrc | ||
./kdesrc-build | ./kdesrc-build | ||
| − | </ | + | </syntaxhighlight> |
Pero pode que queira probalo antes compilando qt-copy. | Pero pode que queira probalo antes compilando qt-copy. | ||
| Line 157: | Line 157: | ||
cd ~/kdesrc | cd ~/kdesrc | ||
./kdesrc-build qt-copy | ./kdesrc-build qt-copy | ||
| − | </ | + | </syntaxhighlight> |
{{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.}} | {{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.}} | ||
| Line 178: | Line 178: | ||
cd ~/kderc | cd ~/kderc | ||
kwrite log/latest/qt-copy/error.log | kwrite log/latest/qt-copy/error.log | ||
| − | </ | + | </syntaxhighlight> |
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). | 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). | ||
| 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. |
Contents |
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:
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.
Pregúntase cales son as vantaxes de empregar esta ferramenta? Pois velaquí van algunhas:
Se emprega kdesrc-build, pode que lle interese poder buscar nos repositorios do código fonte para saber que módulos buscar.
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.
| 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. |
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
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
| 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:
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).
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).
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 [1]. 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://anongit.kde.org/konversation
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.
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.
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
| Tip |
|---|
| Se ten o aplicativo 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:
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.
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 a instalación de KDE ao día é tan doado como volver executar kdesrc-build. Todo kdesrc-build pasa polas seguintes fases:
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.