FreeBSD 핸드북 : 어플리케이션 설치하기: 포트 콜렉션 : 직접 포트 만들기 : 패키지 이름
Previous: Makefile 예제
Next: 카테고리

4.7.10. 패키지 이름

다음은 패키지 이름을 짓는데 있어서 따라야 할 원칙입니다. 사용자들이 눈이 아파서 보지 않을 만큼 많고 많은 패키지들이 이미 있기때문에 패키지 디렉토리를 찾기 쉽게 하기 위해서입니다!

패키지 이름은 다음과 같아야 합니다

[<언어>-]<이름>[[-]<컴파일시.특징>]-<버전.문자열.번호>;

${DISTNAME}이 그렇게 보이지 않는다면, ${PKGNAME}을 형식에 맞게 하세요.

  1. FreeBSD는 자국 언어 사용자들을 지원하려고 애쓰고 있습니다. `<언어>'는 포트가 특정 언어를 위한 것이라면 ISO-639에서 정의된 자연어의 약자인 두 글자가 되어야 합니다. 그런 예로는 일본어를 나타내는 `ja', 러시아어를 나타내는 `ru', 베트남어를 나타내는 `vi', 중국어를 나타내는 `zh', 한국어를 나타내는 `ko'와 독일어를 나타내는 `de'가 있습니다.
  2. `<이름>'부는 정말 거대한 패키지를 제외하고는(그 안에 수많은 프로그램이 있는) 모두 소문자이어야 합니다. XFree86(실제로 이것의 포트가 있습니다. 찾아 보세요)이나 ImageMagick과 같은 것이 이런 경우에 속합니다. 그렇지 않으면, 이름을(적어도 첫 글자라도) 소문자로 바꾸세요. 대소문자 구분이 이름에 중요하다면(예를 들면 R이나 V같은 한글자로 된 이름) 여러분의 재량에 따라 대문자를 사용할 수 있습니다. Perl 5 모듈 이름을 짓는데 있어서는 앞에 `p5-'를 두고 콜론 두개의 분리자를 하이픈으로 바꾸는 전통이 있습니다. 예를 들면, `Data::Dumper' 모듈은 `p5-Data-Dumper'가 됩니다. 소프트웨어 이름에 숫자, 하이픈, 밑줄이 들어간다면, 포함해도 좋습니다(`kinput2'와 같이).
  3. 포트가 여러가지 다른 하드코딩된 기본값으로 만들어질 수 있다면(보통 환경 변수나 make 명령행에 의해 지정되는) `<컴파일시.특징>' 부는 컴파일된 기본값을 나타내어야 합니다(하이픈은 옵션입니다). 그런 예로 종이 크기가 글꼴 유니트를 들 수 있습니다.
  4. 버전 문자열은 숫자와 한 글자의 알파벳 소문자로 구성된 마침표로 구분된 리스트이어야 합니다. 단 하나의 예외는 문자열 `pl'(`패치레벨'을 뜻하는)인데, 이는 소프트웨어에 주 버전과 부 버전 번호가 없을 때에만 사용할 수 있습니다.

${DISTNAME}을 어떻게 알맞은 ${PKGNAME}으로 바꾸는지에 대한 몇가지 (진짜) 예제가 있습니다:

DISTNAME	PKGNAME			이유
mule-2.2.2	mule-2.2.2		전혀 문제 없음
XFree86-3.1.2	XFree86-3.1.2		마찬가지
EmiClock-1.0.2	emiclock-1.0.2		단일 프로그램에는 대문자 이름 없음
gmod1.4		gmod-1.4		`<이름>'다음에 하이픈(-) 필요
xmris.4.02	xmris-4.02		마찬가지
rdist-1.3alpha	rdist-1.3a		`alpha'같은 문자열은 안됨
es-0.9-beta1	es-0.9b1		마찬가지
v3.3beta021.src	tiff-3.3		그래서 어쨌다는 거죠? ;)
tvtwm		tvtwm-pl11		버전 문자열은 반드시 있어야 함
piewm		piewm-1.0		마찬가지
xvgr-2.10pl1	xvgr-2.10.1		`pl'은 주/부 번호가 없을때만 됨
gawk-2.15.6	ja-gawk-2.15.6		일본어 버전
psutils-1.13	psutils-letter-1.13	종이 크기는 패키지 생성시 하드코딩됨
pkfonts		pkfonts300-1.0		300dpi 글꼴의 패키지

원본 소스에서 버전 정보를 전혀 알아낼 수 없고 원본 저자가 다른 버전을 만든 것 같지도 않다면, 버전 문자열을 `1.0'(위에서의 piewm 예제처럼)으로 지정하세요. 그렇지 않으면, 원본 저자에게 물어보거나 버전으로 날짜 문자열 (`yy.mm.dd')를 사용하세요.


FreeBSD 핸드북 : 어플리케이션 설치하기: 포트 콜렉션 : 직접 포트 만들기 : 패키지 이름
Previous: Makefile 예제
Next: 카테고리