Como usar novas portas em versões antigas do FreeBSD?

0

Então eu tenho algumas das versões mais antigas do FreeBSD (6.4, 8.4) ainda em execução na empresa e gostaria de instalar e atualizar um monte de ferramentas, como Python 2.7, Midnight Commander, Tmux, Vim e assim por diante. . De qualquer forma, parece que não tenho o luxo de usar pkg (pkgng). Para o escopo desta questão, vamos considerar apenas o FreeBSD 6.4.

Agora é fácil buscar as últimas portas do link e substituir a pasta de portas locais por essa , mas isso só começa a dor.

Evidentemente, pmake está desatualizado e deve ser atualizado "de alguma forma" primeiro. Quando eu tento qualquer make dentro de /usr/ports depois de substituir o original /usr/ports , acabo com erros como estes:

[root@fbsd6_32 /usr/ports/editors/vim-lite]# make
"/usr/ports/Mk/bsd.options.mk", line 287: Need an operator
Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.sites.mk", line 1049: Malformed conditional (!empty(_PERL_CPAN_ID) && ${_PERL_CPAN_FLAG:tl} == "cpan")
Unknown modifier 't'

Unknown modifier 't'

Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 2955: warning: Missing closing parenthesis for defined()
Unknown modifier 't'

"/usr/ports/Mk/bsd.port.mk", line 2955: Malformed conditional (((!defined(OPTIONS_DEFINE) && !defined(OPTIONS_SINGLE) && !defined(OPTIONS_MULTI))  && !defined(OPTIONS_GROUP) && !defined(OPTIONS_RADIO)  || defined(CONFIG_DONE_${PKGBASE:tu}) ||  defined(PACKAGE_BUILDING) || defined(BATCH)))
Unknown modifier 't'
# [...] many many more lines
7 open conditionals:
        at line 5797 (evaluated to true)
       at line 5797 (evaluated to true)
      at line 5797 (evaluated to true)
     at line 5797 (evaluated to true)
    at line 5797 (evaluated to true)
   at line 4910 (evaluated to true)
  at line 4910 (evaluated to true)
make: fatal errors encountered -- cannot continue

make search name=... falha em conformidade.

Como posso recuperar isso e começar a instalar algumas das portas mais recentes? Seria correto supor que preciso primeiro atualizar o pmake e encontrá-lo no link , construir e instalar isso?

    
por 0xC0000022L 12.11.2015 / 01:05

1 resposta

2

Para o FreeBSD 8.4, você pode ser capaz de atualizar para o nível de patch final, conforme observado em um tópico do fórum Problemas com comandos do pkg :

Upgrade first to the latest patch level of 8.4 that is 8.4-RELEASE-p9 at the moment and see if that fixes the issue. According to the commit message the make(1) in 8.4 should support the :tu and :tl modifiers. If it doesn't then this is an oversight from the portmgr@ team and should be reported. 8.4 is promised to be supported until June 30, 2015.

Eu fiz isso para uma das minhas máquinas. A compatibilidade é boa, principalmente na infraestrutura.

Um dos comentários nesse tópico sugere uma solução alternativa (consulte comment # 13 ) copiando o make-program do tarball de lançamento.

Mas isso provavelmente não funcionará para algo tão antigo quanto o FreeBSD 6.3

Alternativamente, você poderia reconstruir sua árvore de ports conforme sugerido em Como fazer o downgrade de todas as portas FreeBSD (não é uma boa solução também).

    
por 12.11.2015 / 02:02