USE flags

+Información: https://wiki.gentoo.org/wiki/Handbook:X86/Working/USE/es

Trabajar con Portage »

USE FLAGS

¿Qué son los indicadores USE?
Las ideas detrás de los indicadores USE
Definición de un indicador USE
¿Qué banderas USE existen?
Utilizar indicadores USE
Declaración de banderas USE permanentes
Declaración de indicadores USE para paquetes individuales
Declaración de banderas USE temporales
Precedencia
Adaptación de todo el sistema a nuevos indicadores USE
Indicadores USE específicos del paquete
Visualización de banderas USE disponibles

¿Qué son los indicadores USE?
Las ideas detrás de los indicadores USE
Cuando está instalando Calculate (o cualquier otra distribución para ese asunto), puede tomar decisiones dependiendo del entorno con el que esté trabajando. Una configuración para un servidor difiere de una configuración para una estación de trabajo. Una estación de trabajo de juego difiere de una estación de trabajo 3D.
Esto no sólo es cierto para elegir qué paquetes desea instalar, sino también qué características debe soportar un determinado paquete. Si no necesita OpenGL, ¿por qué se molestaría en instalar OpenGL y crear soporte OpenGL en la mayoría de sus paquetes? Si no desea usar KDE, ¿por qué se molestaría en compilar paquetes con soporte de KDE si esos paquetes funcionan sin problemas?
Los indicadores USE son una manera fácil de especificar el entorno del usuario, ayudando a los usuarios a decidir qué instalar/activar y qué no. Esto obliga al usuario a decidir qué es lo que realmente quiere y facilita el proceso para el sistema de administración de paquetes, Portage.

Definición de un indicador USE

Introduzca los indicadores USE. El indicador USE es una palabra clave que incorpora soporte y dependencia-información para un concepto determinado. Si define un determinado indicador USE, Portage sabrá que desea soporte para la palabra clave elegida. Por supuesto, esto también altera la información de dependencia de un paquete.
Echemos un vistazo a un ejemplo específico: la palabra clave kde. Si no tiene esta palabra clave en su variable USE, todos los paquetes que tengan soporte opcional de KDE se compilarán sin soporte de KDE. Todos los paquetes que tengan una dependencia opcional de KDE se instalarán sin necesidad de instalar las bibliotecas de KDE (como dependencia). Si ha definido la palabra clave kde, dichos paquetes se compilarán con soporte de KDE y las bibliotecas de KDE se instalarán como dependencia.
Al definir correctamente las palabras clave, recibirá un sistema adaptado específicamente a sus necesidades.

¿Qué banderas USE existen?

Hay dos tipos de indicadores USE: banderas USE globales y locales.
Un indicador USE global es utilizado por varios paquetes, en todo el sistema. Esto es lo que la mayoría de la gente ve como USE banderas.
Un indicador de USE local es utilizado por un único paquete para tomar decisiones específicas del paquete.
La lista de banderas globales disponibles de USE se puede encontrar aquí o localmente en /usr/portage/profiles/use.desc.
La lista de indicadores USE locales se almacena en su sistema en /usr/portage/profiles/use.local.desc.

Utilizar indicadores USE

Declaración de banderas USE permanentes.
Como se mencionó anteriormente, todos los indicadores USE se declaran dentro de la variable USE. Cada distro de Calculate Linux tiene su colección de banderas USE que han sido optimizadas para tareas particulares.
El perfil que su sistema escucha es señalado por el enlace simbólico (symlink) /etc/make.profile. Cada perfil funciona encima de otro perfil, el resultado final es, por lo tanto, la suma de todos los perfiles. El perfil superior es el perfil base (/usr/portage/profiles/base).
Echemos un vistazo a la configuración predeterminada USE flags para el perfil de Calculate Directory Server:

USE=“acl amd64 bash-completion berkdb bittorrent bzip2 cli cracklib crypt cups cxx dri exif foomaticdb fortran ftp gdbm gif gpm iconv imap ipv6 jpeg jpeg2k ldap logrotate maildir mmx modules mudflap multilib ncurses nfs nls nptl nptlonly openmp pam pcre perl png pppd python radius readline samba session sse sse2 ssl sysfs tcpd tiff truetype unicode userlocales xorg zlib” …
Como puede ver, esta variable ya contiene bastantes palabras clave.
Para cambiar esta configuración predeterminada, debe agregar o quitar palabras clave en la variable USE. Esto se realiza globalmente definiendo la variable USE en
/etc/make.conf. En esta variable, agregue los indicadores adicionales de USE que necesita o elimine los indicadores USE que no desea. Esto último se hace prefijando la palabra clave con el signo menos («-»).
Por ejemplo, para quitar soporte para KDE y QT pero agregar soporte para ldap, la siguiente variable USE se puede definir en /etc/make.conf:
USE="-kde -qt ldap"
Las distribuciones Calculate Linux utilizan un perfil binario de forma predeterminada, que ignora cualquier modificación que realice en los indicadores USE. Para que estas modificaciones surtan efecto, utilice el argumento -N (o --newuse) al emitir o actualizar paquetes. Aquí hay un ejemplo:
emerge -uN world

Declaración de indicadores USE para paquetes individuales
A veces se desea declarar un determinado indicador de USE para una o varias aplicaciones, pero no para todo el sistema. Para lograr esto, necesitará crear un archivo en el directorio /etc/portage/package.use/ y editarlo. Puedes elegir cualquier nombre que quiera para este archivo.
Por ejemplo, si no desea que el soporte de berkdb sea global, pero lo desea para mysql. Esto es lo que el archivo /etc/portage/package.use/mysql se vería así:
dev-db/mysql berkdb
Por supuesto, también puede deshabilitar explícitamente los indicadores USE para una aplicación determinada. Por ejemplo, si no desea la compatibilidad con java en PHP, su archivo /etc/portage/package.use/nojava se verá así:
dev-php/php -java

Declaración de banderas USE temporales
Algunas veces desea establecer una configuración USE determinada sólo una vez. En lugar de editar /etc/make.conf dos veces (para hacer y deshacer los cambios de USE) sólo puede declarar la variable USE como variable de entorno. Recuerde que al volver a emitir o actualizar esta aplicación (ya sea explícitamente o como parte de una actualización del sistema), sus cambios se perderán.
Como ejemplo, eliminaremos temporalmente java de la configuración USE durante la instalación de firefox:
USE="-java" emerge firefox

Precedencia
Por supuesto, existe cierta prioridad sobre qué configuración tiene prioridad sobre la configuración USE. No querría declarar USE="-java" solo para ver que java todavía se utiliza debido a una configuración que tiene una prioridad más alta. La prioridad para la configuración de USE es, ordenada por prioridad (primero tiene la prioridad más baja):
configuración USE predeterminada declarada en la parte make.defaults de su perfil
configuración USE definida por el usuario en /etc/make.conf
configuración USE definida por el usuario en /etc/portage/package.use
configuración USE definida por el usuario como variable de entorno

Para ver la configuración final de USE como se ve por Portage, ejecute emerge --info. Esto mostrará todas las variables relevantes (incluyendo la variable USE) con el contenido utilizado por Portage.
emerge --info

Adaptación de todo el sistema a nuevos indicadores USE
Si ha alterado los indicadores USE y desea actualizar todo el sistema para utilizar los nuevos indicadores USE, utilice la opción --newuse de emerge (emerge’s --newuse).
Para actualizar todo el sistema con los nuevos indicadores de USE, ingrese:
emerge -uDN world
A continuación, ejecute emerge --depclean para eliminar las dependencias condicionales que surgieron en su sistema “antiguo” pero que han quedado obsoletas por los nuevos indicadores USE.
¡¡¡Advertencia!!!: Ejecutar emerge -c (o emerge --depclean) es una operación peligrosa y debe manejarse con cuidado. Compruebe la lista de paquetes “obsoletos” para asegurarse de que no quita los paquetes que necesita. En el ejemplo siguiente, agregamos el -a para que depclean solicite aprobación antes de eliminar los paquetes.
Eliminación de paquetes obsoletos:
emerge -ac

Cuando depclean haya terminado, ejecute revdep-rebuild para reconstruir las aplicaciones que están vinculadas dinámicamente a bibliotecas proporcionadas por los paquetes posiblemente eliminados:
revdep-rebuild
Cuando todo esto se logra, todo el sistema utilizará los nuevos parámetros de USE.

Indicadores USE específicos del paquete
Visualización de banderas USE disponibles
Tomemos el ejemplo de firefox: ¿qué USE banderas escucha? Para averiguarlo, usamos emerge con las opciones -p (o --pretend) y -v (o --verbose):
# emerge -pv firefox
These are the packages that would be merged, in order:

Calculating dependencies… done!
[ebuild N ] www-client/firefox-3.6.13 USE=“alsa bindist custom-optimization dbus ipc libnotify -gnome -java -startup-notification -system-sqlite -wifi” LINGUAS=“bg de en es fr it pl pt_BR ru uk -af -ar -as -be -bn -bn_BD -bn_IN -ca -cs -cy -da -el -en_GB -en_US -eo -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fy -fy_NL -ga -ga_IE -gl -gu -gu_IN -he -hi -hi_IN -hr -hu -id -is -ja -ka -kk -kn -ko -ku -lt -lv -mk -ml -mr -nb -nb_NO -nl -nn -nn_NO -oc -or -pa -pa_IN -pt -pt_PT -rm -ro -si -sk -sl -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -vi -zh_CN -zh_TW” 0 kB

Emerge no es la única herramienta para este trabajo. Hay una herramienta dedicada a la información del paquete llamada equery. Ahora ejecute equery con el argumento uses para ver los indicadores USE de un determinado paquete. Que sea el paquete gnumeric:
# equery uses app-office/gnumeric-1.10.13 -a
[ Searching for packages matching app-office/gnumeric-1.10.13… ]
[ Colour Code : set unset ]
[ Legend : Left column (U) - USE flags from make.conf ]
[ : Right column (I) - USE flags packages was installed with ]
[ Found these USE variables for app-office/gnumeric-1.10.13 ]
U I

    • gnome : Adds GNOME support
    • perl : Adds support/bindings for the Perl language
    • python : Adds support/bindings for the Python language