¿Cómo puedo evitar los avisos al instalar un puerto FreeBSD?

26

Cuando instalo un puerto, a menudo se me presenta una pantalla de menú para seleccionar las opciones de configuración. Si voy a instalar un paquete realmente grande con muchas dependencias, será extremadamente inconveniente. ¿Hay una marca de confirmación para aceptar las respuestas predeterminadas para todas esas preguntas?

JCCyC
fuente

Respuestas:

20

Probablemente BATCH, descrito en los puertos (7) , es lo que está buscando:

# cd /usr/ports/sysutils/screen
# export BATCH=yes
# make rmconfig
# make install clean
(no configuration menu is displayed)

make rmconfigelimina la OPTIONSconfiguración para este puerto, y puede usarla para eliminar las OPTIONSque se guardaron previamente cuando configuró e instaló screen(1)la primera vez. OPTIONSse almacenan en el directorio que se especifica a través de PORT_DB_DIR(por defecto /var/db/ports).

Si usa bash, BATCHse puede configurar automáticamente cada vez que inicie sesión:

# echo 'export BATCH=yes' >> ~/.bash_profile
Yasir Arsanukaev
fuente
12
Prefiero make config-recursive && make install clean, ya que le proporciona todos los diálogos de configuración por adelantado, mientras que la instalación real probablemente funcionará desatendida.
user569825
Además, para acortar la carga de trabajo requerida para la configuración, a menudo es una idea razonable mirar exclusivamente las opciones que están activas por defecto y solo considerar desactivar cualquiera de ellas.
user569825
77
Además, ejecute make config-recursivevarias veces hasta que deje de obtener nuevas opciones (es decir, al menos dos veces). Cada vez que cambie una opción, puede generar otra dependencia que tenga aún más opciones.
Alex Hirzel
exportsolo funcionará en el shque no sea el shell predeterminado de FreeBSD
ajeh
21

Creo que vale la pena mencionar que es posible que no siempre quieras hacer esto. Parece recordar, por ejemplo, la necesidad de configurar emacs para agregar soporte xft. Si desea omitir las indicaciones para una sola compilación,

make install clean BATCH=yes

funcionará tan bien

hydo
fuente
de alguna manera funciona mejor que poner "BATCH = yes" al frente de make. Gracias.
hari
Vale la pena señalar que make install clean BATCH=tiene el mismo efecto, ya que de acuerdo con el manual ports(7), solo debe definirse. Se puede configurar para cualquier cosa o nada
Harold Fischer
15

Esto no acepta automáticamente los valores predeterminados como lo está preguntando, pero me gusta el método "make config-recursive" que lo ejecuta a través de las opciones para el puerto que desea, así como las opciones para todas las dependencias. No tiene que cambiar nada si no lo desea, pero pasa por todas las pantallas de selección a la vez, en lugar de hacerlo cada vez que llega el proceso de construcción.

Una vez hecho esto, su "make install clean" debería quedar prácticamente desatendido.

Administrador de FreeeBSD
fuente
3
Como dije en la publicación de @ Yasir, asegúrese de ejecutar esto varias veces. Si cambia una opción que trae otra dependencia, si esa dependencia tiene opciones para configurar, no la tocará hasta la próxima ejecución de make config-recursive.
Alex Hirzel
Personalmente, creo que esta debería ser la respuesta aceptada.
revprez