이전 FreeBSD 버전에서 새 포트를 어떻게 사용합니까?

이전 FreeBSD 버전에서 새 포트를 어떻게 사용합니까?

그래서 우리 회사는 여전히 오래된 FreeBSD 버전(6.4, 8.4)을 실행하고 있으며 Python 2.7, Midnight Commander, Tmux, Vim 등과 같은 여러 도구를 설치하고 업데이트하고 싶습니다. 아무튼 (pkgng)를 사용할 기회는 없는 것 같습니다 pkg. 이 질문의 범위에서는 FreeBSD 6.4만 고려합니다.

이제 최신 포트를 쉽게 얻을 수 있습니다.http://ftp.freebsd.org/pub/FreeBSD/ports/ports/로컬 포트 ​​폴더를 그것으로 바꾸세요. 하지만 그건 고통스러울 뿐입니다.

분명히 pmake오래된 것이므로 먼저 "어떻게든" 업데이트해야 합니다. 내가 방금 시도했을 때어느 make/usr/ports원본을 교체한 후 /usr/ports다음과 같은 오류가 발생합니다.

[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=...그에 따라 실패하십시오.

이 문제를 어떻게 복구하고 최신 포트 설치를 시작할 수 있습니까? pmake먼저 최신 정보를 얻고 거기에서 찾아야 한다고 가정하는 것이 맞습니까?http://distcache.freebsd.org/ports-distfiles/, 빌드하고 설치하시겠습니까?

답변1

FreeBSD 8.4의 경우 포럼 게시물에 설명된 대로 최종 패치 레벨로 업그레이드할 수 있습니다.pkg 명령 문제:

먼저 최신 패치 레벨 8.4(8.4-RELEASE-p9)로 업그레이드하여 문제가 해결되는지 확인하세요. 커밋 메시지에 따르면 8.4의 make(1)은 :tu 및 :tl 수정자를 지원해야 합니다. 그렇지 않은 경우 이는 portmgr@ 팀의 실수이므로 보고해야 합니다. 8.4 2015년 6월 30일까지 지원 약속.

나는 내 컴퓨터 중 하나에 대해 이 작업을 수행했습니다. 특히 인프라 측면에서 호환성이 뛰어납니다.

이 스레드의 댓글 중 하나가 해결 방법을 제안했습니다(참조:댓글 #13) 릴리스 tarball에서 make 프로그램을 복사합니다.

그러나 이것은 FreeBSD 6.3만큼 오래된 버전에서는 작동하지 않을 수 있습니다.

아니면 당신할 수 있다권장 사항에 따라 포트 트리를 다시 구축하십시오.FreeBSD의 모든 포트를 다운그레이드하는 방법(좋은 해결책도 아닙니다).

관련 정보