Um resumo para usar a coleção de ports no FreeBSD:
Encontrar porta
As portas são organizadas por categoria, por isso, se você não sabe em que categoria está a porta, precisa encontrá-la primeiro:
cd /usr/ports
make search name=myport
Às vezes, há muitas entradas dessa maneira. Eu pessoalmente prefiro:
find /usr/ports -name myport* -print -depth 2
Use o *
ao pesquisar, pois geralmente há várias versões de uma porta disponíveis. O argumento de profundidade garante que seus resultados de retorno não sejam desnecessariamente cheios de correspondências que você não deseja.
Configuração
Muitas vezes, você vai querer fazer alguma configuração; softwares como Apache e Postgres praticamente exigem isso. Existem três opções principais: linha de comando, ambiente e arquivos de configuração. Para começar com a linha de comando:
make showconfig
isto listará as opções de configuração padrão. Se você gosta dos padrões, você está pronto para compilar e instalar. Se não,
make config
abrirá uma caixa de diálogo onde você pode selecionar as opções desejadas. (Não fique confuso com isso e make configure
que configura sua porta com as opções escolhidas!) Isso é suficiente, mas para alguns softwares, como o Apache, geralmente há uma configuração complexa que é um simples diálogo não vai aguentar. Para isso, você também deve olhar para o (s) Makefile (s) que, às vezes, lhe fornecerão alguns alvos adicionais para o make, que lhe darão mais informações. Para continuar o exemplo do Apache
make show-modules
make show-options
make show-categories
lhe dará informações sobre como configurar os módulos escolhidos, opções de thread e afins. Se os padrões de sua porta são muito bons e você só quer mudar algumas coisas, você também pode simplesmente passar pares key = value como variáveis de ambiente:
make MYVBL1=MYVAL1 ... install clean
Além disso, você pode definir opções de troca por meio da opção -D
:
make -D MYVAR -D MYOTHERVAR ... install clean
Para configuração complexa, entretanto, a linha de comando não funciona bem e você é melhor que nenhum dos dois primeiros métodos será efetivo. Nesse caso, você pode criar um arquivo de configuração e passá-lo para make
com a variável __MAKE_CONF. O FreeBSD tem um arquivo de configuração padrão: /etc/make.conf
, que geralmente contém informações sobre portas instaladas anteriormente e outras configurações do sistema. Para começar, crie um arquivo com suas opções de portas, chame-o de ~/myport.mk
e combine esse arquivo com /etc/make.conf:
cat /etc/make.conf ~/myport.mk >> ~/make.myport.conf
você pode verificar sua configuração:
make showconfig __MAKE_CONF=~/make.port.conf
e se tudo parece bom:
make install clean __MAKE_CONF=~/make.myport.conf
CUIDADO! Se você precisar ajustar suas configurações após make configure
ou uma instalação no todo ou em parte, você deve limpar sua configuração primeiro :
make rmconfig
Não fazer isso resultará em interações inesperadas entre o subsistema de portas, os padrões make
da sua porta e sua configuração desejada.
Isso é muito para um resumo, mas a complexidade da configuração é principalmente sobre o aplicativo, não a porta. Bash, por exemplo, não tem realmente nenhuma opção.
Instalação
Esta é a parte fácil:
make install clean
ou você pode
make build
make install
make clean
que é apenas mais digitação.
Isso é muito bonito. Obviamente, há mais coisas que você pode fazer, como listar recursivamente dependências e opções de configuração, atualizar com patches e assim por diante. Aqui, vou encaminhá-lo para a seção Ports do Manual de usuário , a página do manual do subsistema de porta (boas informações sobre destinos de criação adicionais) e a página make
man.