Quando instalo uma porta, geralmente recebo uma tela de menu para selecionar opções de configuração. Se eu vou instalar um pacote muito grande com muitas dependências, isso será extremamente inconveniente. Existe um sinalizador make para aceitar as respostas padrão para todos esses prompts?
Provavelmente BATCH
, descrito em ports (7) , é o que você está procurando:
# cd /usr/ports/sysutils/screen
# export BATCH=yes
# make rmconfig
# make install clean
(no configuration menu is displayed)
make rmconfig
Remove OPTIONS
config para esta porta e você pode usá-lo para remover OPTIONS
que foram salvos anteriormente quando você configurou e instalou screen(1)
pela primeira vez . OPTIONS
são armazenados no diretório especificado através de PORT_DB_DIR
(o padrão é /var/db/ports
).
Se você usar o bash, BATCH
poderá ser definido automaticamente sempre que você fizer login:
# echo 'export BATCH=yes' >> ~/.bash_profile
Eu acho que vale a pena mencionar que você nem sempre pode fazer isso. Parece que me lembro, por exemplo, da necessidade de configurar o emacs para adicionar suporte ao xft. Se você deseja ignorar as solicitações de uma única compilação,
make install clean BATCH=yes
irá funcionar também.
Isso não aceita os padrões automaticamente, como você está perguntando, mas eu gosto do método "make config-recursive", que percorre todas as opções para a porta desejada e opções para todas as dependências. Você não precisa alterar nada, se não quiser, mas percorre todas as telas de seleção de uma só vez, e não sempre que o processo de construção chega a elas.
Feito isso, seu "make install clean" deve ficar praticamente sem supervisão.