Como posso definir versões padrão do MySQL, Postgres, Apache, etc. antes de instalar qualquer coisa das portas no FreeBSD?

2

Quando eu instalo software de portas em um sistema FreeBSD, algumas vezes versões desatualizadas do Apache / MySQL / Perl / etc são instaladas como dependências. Existe alguma maneira de definir as versões dessas portas de antemão, de modo que, se elas forem necessárias, o sistema de portas escolheria uma versão apropriada?

    
por Eugene Yarmash 01.04.2011 / 16:43

3 respostas

3

Você pode procurar em /usr/ports/Mk/bsd.*.mk as variáveis correspondentes e defini-las em /etc/make.conf . Mas é mais seguro instalar as versões necessárias desse software e continuar com tudo o mais.

    
por 04.04.2011 / 17:41
3

Defina por exemplo:

DEFAULT_VERSIONS=   perl5=5.18 ruby=2.0

no seu /etc/make.conf

Esta informação é retirada de /usr/ports/Mk/bsd.default-versions.mk

# $FreeBSD: head/Mk/bsd.default-versions.mk 345909 2014-02-25 00:32:09Z gerald $
#
# MAINTAINER:   [email protected]
#
# Provide default versions for ports with multiple versions selectable
# by the user.
#
# Users who want to override these defaults can easily do so by defining
# DEFAULT_VERSIONS in their make.conf as follows:
#
#   DEFAULT_VERSIONS=   perl5=5.18 ruby=2.0

.if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK)
_INCLUDE_BSD_DEFAULT_VERSIONS_MK=       yes

.for lang in ${DEFAULT_VERSIONS}
_l=             ${lang:C/=.*//g}
${_l:U}_DEFAULT=        ${lang:C/.*=//g}
.endfor

APACHE_DEFAULT?=        2.2
FPC_DEFAULT?=           2.6.2
GCC_DEFAULT?=           4.6
LUA_DEFAULT?=           5.2
MYSQL_DEFAULT?=         5.5
PERL5_DEFAULT?=         5.16
PGSQL_DEFAULT?=         9.0
PHP_DEFAULT?=           5.4
PYTHON_DEFAULT?=        2.7
PYTHON2_DEFAULT?=       2.7
PYTHON3_DEFAULT?=       3.3
RUBY_DEFAULT?=          1.9
TCLTK_DEFAULT?=         8.6

.endif
    
por 10.03.2014 / 05:46
0

A versão da porta é a versão que o mantenedor da porta construiu e testou (e que é rotineiramente testada quanto à construção pelo tinderbox de portas) - não sei de nenhuma porta que tenha um botão de versão, embora você pode encontrar várias versões de algumas portas na árvore (por exemplo, o PostgreSQL tem versões de 7.3 a 9.0). Você pode instalar as versões mais novas dessas portas manualmente e (se elas forem adequadas) elas serão encontradas como dependências e usadas por outras portas.

A resposta geral para upgrades de porta é que, se você quer uma versão mais nova de uma porta, o que está na árvore, você pode criar e envie um patch que atualize a porta (Uma leitura superficial através de O FreeBSD Porter's Handbook pode ser uma boa idéia para se familiarizar com a forma como as coisas funcionam na árvore de ports).
Se a sua versão mais nova apresentar alterações incompatíveis, você provavelmente deverá criar uma nova porta para ela (você pode usar a versão mais antiga como um esqueleto).

    
por 01.04.2011 / 16:58