Características básicas de Kdesvn-build

soporte para qt-copy

Kdesvn-build se esfuerza por mantener un excelente soporte para el módulo qt-copy incluido en el repositorio Subversion de KDE.

Nota

qt-copy es una copia del código fuente para la última versión de las herramientas Qt™ utilizadas por KDE. También contiene un conjunto de parches de optimización y eliminación de errores que se pueden aplicar opcionalmente. Estos parches son compatibles con las bibliotecas Qt™, por tanto, el código producido utilizando qt-copy funcionará con las Qt™ normales.

La mayoría de las diferencias requeridas por qt-copy son manejadas automáticamente por Kdesvn-build. Sin embargo, hay unas pocas diferencias que puede necesitar conocer.

  • Normalmente el valor de configure-flags para un módulo se añadirá a las preferencias globales para configure-flags. Sin embargo, las preferencias de configure-flags para qt-copy reemplazará las preferencias globales porque no tienen equivalencia en la línea de órdenes.

  • Kdesvn-build definirá automáticamente algunas variables de entorno adicionales para compilar qt-copy que no son necesarias habitualmente para el resto de KDE.

  • qt-copy también tiene soporte para un parche opcional que contiene alguna eliminación de fallos y optimizaciones que no están incluídos en el Qt™ oficial. Para activarlos, asigne el valor true a apply-qt-patches. Después de realizar este cambio debe ejecutar kdesvn-build --refresh-build qt-copy.

Indicadores estándares añadidos por Kdesvn-build

Para ahorrarle tiempo, Kdesvn-build añade algunas rutas estándares a su entorno para usted:

  • La ruta a las bibliotecas de KDE y Qt™ se añade automáticamente a la variable LD_LIBRARY_PATH. Ésto significa que no necesita editar libpath para incluirlas.

  • La ruta a las programas de ayuda al desarrollo de KDE y Qt™ se añade automáticamente a la variable PATH. Ésto significa que no necesita editar binpath para incluirlas.

  • La ruta a la aplicación pkg-config provista por KDE se añade automáticamente a la variablela variable LD_LIBRARY_PATH. Ésto significa que no necesita usar set-env para añadirla.

  • La opción para kdedir se propaga automáticamente a la variable de entorno KDEDIR durante la compilación. (KDEDIRS no se ve afectada).

  • La opción para qtdir se propaga automáticamente a la variable de entorno QTDIR durante la compilación.

Cambiando la prioridad de compilación de Kdesvn-build.

Los programas pueden ejecutarse con distintos niveles de prioridad en los sistemas operativos actuales, incluyendo Linux® y BSD. Ésto le permite al sistema otorgar tiempo de CPUa los programas en función de su importancia.

Kdesvn-build se asignará normalmente una baja prioridad con el fin de que otros programas de su sistema no se vean afectados por él y puedan ejecutarse normalmente. Usando esta técnica, Kdesvn-build utilizará el tiempo de CPU extra que haya disponible.

Kdesvn-build mantendrá un nivel de prioridad suficiente para poder ejecutarse antes de las rutinas de procesos por lotes y de programas de donación de CPU tales como Seti@Home.

Para conseguir que Kdesvn-build use un nivel de prioridad más o menos bajo de forma permanente, necesita establecer el valor de la opción niceness en el archivo de configuración. La opción niceness controla cómo de «amable» (nice en inglés) es Kdesvn-build con el resto de programas. En otras palabras, un valor mayor de niceness da a Kdesvn-build una menor prioridad. De esta manera, para dar una prioridad alta a Kdesvn-build reduzca el valor de niceness (y viceversa). El valor de niceness puede ir desde 0 (la más alta prioridad) hasta 20 (la más baja prioridad).

También dispone de la posibilidad de cambiar la prioridad de Kdesvn-build usando la opción de la línea de órdenes --nice. El valor de la opción es exactamente el mismo que para niceness.

Nota

Es posible que algunos programas ejecutados por el superusuario tengan un valor de nice negativo, con el correspondiente aumento de prioridad para tales programas. Darle a Kdesvn-build un valor de niceness negativo (o incluso 0) no es una buena idea, ya que no repercutirá significativamente en el tiempo de ejecución, pero sí hará que su máquina parezca muy lenta si aún necesita hacer uso de ella.

Para ejecutar Kdesvn-build con un valor nice de 15 (una prioridad más baja de lo normal):

% kdesvn-build --nice=15

O puede editar el archivo de configuración para hacer permanente el cambio:

niceness 15

Instalación como superusuario

Puede que desee que Kdesvn-build lleve a cabo la instalación con privilegios de superusuario, por ejemplo, si escoge la opción no recomendada de instalarlo en el sistema. También puede ser útil cuando va a compilar KDE para un sólo usuario, no obstante. Ésto es así debido a que algunos módulos (especialmente kdebase) instalan programas que necesitan brevemente permisos elevados cuando se ejecutan. Dichos programas no son capaces de alcanzar esos privilegios elevados a menos que sean instalados con tales privilegios.

Usted podría simplemente ejecutar Kdesvn-build directamente como superusuario, pero no se recomienda, puesto que el programa no ha sido revisado para ese tipo de uso. Aunque sería seguro ejecutar el programa de esta manera, es mejor evitar la ejecución como superusuario siempre que sea posible.

Con este fin, Kdesvn-build proporciona la opción make-install-prefix. Puede utilizar esta opción para especificar una orden con la que realizar la instalación como otro usuario. Se recomienda usar esta opción junto con la aplicación Sudo, el cual ejecutará la orden de instalación como superusuario.

Por ejemplo, para instalar todos los módulos usando Sudo, podría hacer lo siguiente:

global
  make-install-prefix sudo
  # Otras opciones
end global

Para utilizar make-install-prefix para un único módulo, esto podría funcionar:

module kdemultimedia
  make-install-prefix sudo
end module

Mostrando el progreso de compilación de un módulo.

Esta característica siempre está disponible y se activará automáticamente cuando sea posible. Lo que hace es mostrar una indicación estimada del progreso de la compilación de un módulo. De esa manera, puede conocer cuánto tiempo llevará compilar un módulo.