NetBSD pkgsrc 개발자 정보

개요

패키지의 추가와 갱신

pkgsrc 벌크 빌드

주간 pkgsrc 점검

기타


개요

소개 (맨 위)

이 페이지에는 다양한 pkgsrc 관련 내용을 모아 놓았습니다. 여기 있는 정보는 pkgsrc 개발자들에게 특히 유용하리라 생각됩니다.

상태 (맨 위)

NetBSD 패키지 컬렉션은 현재 열려있습니다.


패키지의 추가와 갱신

새 패키지 추가 방법 (맨 위)

추가하려는 패키지가 제대로 작성되었는지 (pkglint, 직접 시험 등으로) 확인했다면 다음의 절차를 따릅니다. (절대로 “cvs add” 명령을 사용해서는 안됩니다.)

  1. 패키지를 추가하기 전에 “pkglint”로 검사합니다. 치명적인 에러는 절대로 없어야 하며, 경고도 가급적 없어야 합니다. 결과 메시지에 불만이 있다면 pkgsrc 개발자들과 상의하시기 바랍니다.
  2. pkgsrc 문서 10장에서 디버깅 기법들을 설명하고 있습니다. 특히 패키지 리스트가 완벽한지 검증하기 위해 “make print-PLIST”를 사용하는 것이 중요합니다.
  3. 패키지를 추가하려면 다음 명령을 사용하십시오.
        cvs import pkgsrc/분류/패키지 TNF pkgsrc-base
    (여기서 분류와 패키지 이름은 추가하려는 패키지에 해당하는 것입니다).
  4. 커밋 메시지에는 패키지의 이름, 버전 숫자, 그리고 Makefile의 COMMENT가 들어가야 합니다.
  5. 새 패키지가 기존 패키지와 충돌하지 않는다면 새 패키지가 SUBDIR에 추가되도록 pkgsrc/분류/Makefile을 고칩니다. 그렇지 않으면 주석 처리된 항목을 추가하고, 같은 줄에 주석 처리한 이유를 주석으로 추가해 주십시오.
  6. pkgsrc/doc/CHANGES를 갱신합니다 — 이 파일은 스크립트로 자동 처리되므로 기존 형식에서 어긋나지 않도록 주의해 주십시오. 시간과 날짜는 UTC입니다.

경고

pkgsrc/분류/패키지 경로는 cvsroot에 대한 상대 경로이고, 새로 추가하려는 파일의 경로가 아닙니다. 추가하려는 패키지의 최상위 디렉터리가 현재 디렉터리여야만 합니다!

중요

cvs add”보다는 “cvs import”가 모든 작업을 한 명령으로 처리하고 일관성있는 태그를 제공하기 때문에 이를 사용할 것을 권합니다.

패키지 갱신하기 (맨 위)

  1. pkglint로 검사하고, PLIST가 올바른지 확인합니다.
  2. 갱신하고자 하는 패키지에 의존하는 패키지가 있다면 해당 패키지의 DEPENDS가 제대로 되어 있는지 확인하는 것이 중요합니다. 그렇지 않으면 그 패키지들이 제대로 빌드되지 않을 수 있습니다. 확실치 않으면 “lintpkgsrc -d”(pkglint에 포함되어 있음)를 실행하십시오.
  3. pkgsrc/doc/CHANGES를 갱신합니다 — 이 파일은 스크립트로 자동 처리되므로 기존 형식에서 어긋나지 않도록 주의해 주십시오. 시간과 날짜는 UTC입니다.

갱신 내용을 브랜치에 반영하기 (맨 위)

중요한 버그 수정, 보안 관련 갱신 사항, 빌드 수정 등은 최근의 안정 브랜치에 반영될 수 있습니다. pkgsrc-changes 메일링 리스트의 “cvs commit” 메일을 풀업 주소로 보내주십시오.

req/index-pkgsrc.html”을 http://releng.NetBSD.org/에 덧붙인 URL을 방문하면 pkgsrc 풀업 티겟의 상태를 확인할 수 있습니다. (이메일 자동 수집을 막기 위해 직접 링크하지 않았습니다.)


pkgsrc 벌크 빌드

pkgsrc 벌크 빌드 설정하기 (맨 위)

pkgsrc 벌크 빌드를 설정하는 방법은 pkgsrc 문서 4.3절에 나와 있습니다.

현재 확인 가능한 벌크 빌드 결과 (맨 위)

여러 벌크 빌드 결과를 온라인에서 확인할 수 있습니다.

ftp.NetBSD.org에 바이너리 패키지 올리기 (벌크패키지) (맨 위)

가능한 많은 아키텍쳐/운영 체제용 바이너리 패키지를 제공하기 위한 조율이 필요합니다.

설치시 충돌을 피하기 위해, 바이너리 패키지들이 같은 의존성을 갖고 빌드되도록 하는 것이 중요합니다. 이렇게 하기 위한 가장 손쉬운 방법은 벌크 빌드 시스템을 이용하고 매번 빌드가 끝날 때마다 패키지 전체를 업로드하는 것입니다.

참여하고자 하는 개발자는(누구든 환영입니다) pkgsrc-bulk@NetBSD.org 리스트를 구독하고, 가능한 아키텍쳐/운영 체제 조합을 localsrc/admin/bulk-packages에서 확인하기 바랍니다.

벌크패키지 관례
  • 한 아키텍쳐/운영 체제 조합을 떠맡을 때에는 벌크 빌드를 처음부터 새로 시작하거나, 현재 바이너리 패키지를 ftp.NetBSD.org에서 다운로드해서 빌드시에 사용합니다(느린 아키텍쳐의 경우 유용합니다).
  • 벌크 빌드 패키지 전체를 업로드 혹은 rsync할 때에는 해당 아키텍쳐/운영 체제용의 다른 패키지는 ftp.NetBSD.org에서 지워 주십시오.
  • 더 이상 빌드를 담당할 수 없을 때에는 해당 항목을 localsrc/admin/bulk-packages에서 삭제하고 pkgsrc-bulk에 통보합니다.
  • 개발자라면 누구나 갱신되거나 새로운 패키지, 보안 문제를 수정한 패키지를 ftp.NetBSD.org에 올릴 수 있습니다만, 해당 패키지는 반드시 기존의 해당 아키텍쳐/운영 체제용 바이너리 패키지를 써서 빌드된 것이어야만 합니다.
  • 기계는 최신의 마이너 릴리스를 쓰거나 릴리스 브랜치를 따라가고 있어야 합니다(추천).

참고

여기에서는 새 버전의 바이너리 패키지가 사용자의 기존 바이너리 패키지와 함께 설치되지 않거나, 갱신된 패키지가 기존에 설치된 여러 패키지의 갱신을 요하거나 하는 경우는 고려하지 않습니다.

그러한 경우에 대한 가능한 해결책은 바이너리 패키지를 특정 태그에 국한하거나, 한 아키텍쳐/운영 체제 조합에 대해 여러 바이너리 패키지 트리를 만드는 것입니다. 전자로는 바이너리 패키지의 유용성이 떨어지고, 후자는 아키텍쳐/운영 체제 당 하나의 일관된 트리가 확보된 후에야 고려 가능합니다.


주간 pkgsrc 점검

주간 pkgsrc 스크립트 (맨 위)

Dan McMahill씨는 일주일에 한 번씩 여러 pkgsrc 일관성 점검을 수행하는 스크립트를 관리하고 있습니다. 현재의 점검 내용은 다음과 같습니다.

이 점검 결과는 NetBSD pkgsrc 개발자들에게 이메일로 발송됩니다.


기타

TODO 목록 다루기 (맨 위)

pkgsrc의 doc 디렉터리에는 TODO 목록이 포함되어 있습니다. 자유롭게 항목을 추가하고, 특히 제거(물론 문제를 해결한 후에)할 수 있습니다.

pkg-bug-handler 그룹 (맨 위)

매일같이 보고되는 많은 패키지 관련 문제점들을 다루기 위해 “pkg-bug-handler” 그룹이 탄생했습니다. 자세한 내용은 이 페이지를 참조하십시오.

(연락하는 방법)   Generated from %NetBSD: index.xml,v 1.4 2005/07/16 17:14:10 heinz Exp %
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.
NetBSD® is a registered trademark of The NetBSD Foundation, Inc.