[ 이전 ] [ 차례 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 다음 ]
프로그램의 주 디렉토리 아래에 `debian'이라는 새로운 서브 디렉토리가 만들어져 있다. 이 디렉토리 안에는 여러개의 파일들이 들어 있다. 이제 패키지를 제대로 조정하려면 차례로 이 파일들을 편집한다. 이 중에 가장 중요한 파일은 `control', `changelog', `copyright', 그리고 `rules'이다. 이 파일들은 모든 패키지에 필요하다.
이 파일 안에는 dpkg나 dselect에서 패키지를 관리할 때 필요한 여러가지 값들이 들어 있다.
다음은 dh_make가 자동으로 만들어 주는 control 파일이다:
1 Source: gentoo 2. Section: unknown 3 Priority: optional 4 Maintainer: Josip Rodin <joy-mg@debian.org> 5 Build-Depends: debhelper (>> 3.0.0) 6 Standards-Version: 3.5.2 7 8 Package: gentoo 9 Architecture: any 10 Depends: ${shlibs:Depends} 11 Description: <최대 60글자의 설명을 쓴다> 12 <긴 설명을 쓴다. 줄 앞에 공백으로 들여 쓴다>
(줄 번호를 앞에 붙였다.)
1-6줄은 소스 패키지를 위한 컨트롤 정보이다. 첫번째 줄은 소스 패키지의 이름이다.
첫번째 줄은 소스패키지 이름이다.
두번째 줄은 소스패키지가 들어갈 배포본 섹션을 뜻한다.
이미 알고 있을지도 모르지만, 데비안은 여러개의 섹션으로 나누어져 있다: main (자유 소프트웨어), non-free (자유 소프트웨어가 아닌 것들) 그리고 contrib (자유롭지 않은 소프트웨어에 의존하는 자유 소프트웨어). 이 아래에 이 패키지가 어떤 종류인가를 간단히 설명하는 서브섹션이 있다. 관리 전용 프로그램은 `admin', 기본적인 도구는 `base', 프로그래머의 도구는 `devel', 문서는 `doc', 라이브러리는 `libs', 이메일 읽기 프로그램 및 데몬은 `mail', 네트워크 프로그램과 데몬은 `net', X11에 관계된 프로그램은 `x11', 그 외에도 많이 있다.
그러면 unknown을 x11로 바꾸면 된다.("main/" 이란 부분은 생략할 수 있다.)
세번째 줄은 사용자가 이 패키지를 설치하는 일이 얼마나 중요한지를 나타낸다.
Section과 Priority는 패키지를 정렬하고, 기본 패키지를
선택하는 용도로 dselect
에서만 사용된다. 한번
패키지를 업로드하게 되면 아카이브 메인테이너가 이 두
부분을 덮어 쓰게 되고 이 사실은 이메일을 통해서
알려준다.
gentoo의 우선순위는 보통이므로, 그대로 "optional"로 남겨둔다.
네번째 줄은 관리자의 이름과 이메일 주소이다. 이 부분은 이메일에 필요한 "To: " 헤더를 포함하는 것을 뜻한다. 왜냐하면 패키지를 업로 드하면 버그 추적 시스템은 버그 이메일을 여러분에게 보낼 것이다. 쉼표와 &, 소괄호 사용을 하지마라.
다섯번째 줄은 패키지를 빌드할 때 필요한 목록을
보여준다. gcc와 make같은 패키지를 뜻하게 되고 자세한
내용은 build-essential
를 보면 된다. 몇몇 비표준
컴파일러나 도구가 패키지를 빌드하는데 필요하면 이를
`Build-Depends' 줄을 추가하고, 거기에 필요한 패키지를 쓴다.
다양한 내용을 쉼표로 구별하고 바이너리 호환에 대한
설명을 잘 읽고 이부분에 넣으면 된다.
이 부분에 Build-Depends-Indep, Build-Conflicts와 같은 것이 들어갈 수 있다. 다른 컴퓨터 플랫폼에서도 돌아가게 바이너리 패키지를 빌드하기 위해 소프트웨어를 자동으로 빌드하는데 이 부분을 쓸 수 있다. 빌드 의존에 대해서 자세한 내용을 알고 싶으면 정책 매뉴얼를 보고 다른 플랫폼과 포팅에 대해서는 데비안 개발 참고서를 보면된다.
여기에 여러분 패키지를 빌드할때 어떤 패키지가 필요한지 할려주는 코드가 있다:
strace -f -o /tmp/log ./configure # or make instead of ./configure, if the package doesn't use autoconf for x in `dpkg -S $(grep open /tmp/log|\ perl -pe 's!.* open\(\"([^\"]*).*!$1!' |\ grep "^/"| sort | uniq|\ grep -v "^\(/tmp\|/dev\|/proc\)" ) 2>/dev/null|\ cut -f1 -d":"| sort | uniq`; \ do \ echo -n "$x (>=" `dpkg -s $x|grep ^Version|cut -f2 -d":"` "), "; \ done
여섯번째 줄은 이 패키지가 따라야할 데비안 정책 표준이고 패키지를 만들기 전에 반드시 읽어보길 바란다.
여덟번째 줄은 바이너리 패키지 이름이고 이는 보통 소스 패키지와 같다. 아지만 꼭 그럴 이유는 없다.
아홉번째 줄은 이 이진 패키지가 컴파일될 수 있는 CPU
아키텍처를 쓴다. 우리는 이 필드를 any라고 남겨놓고
dpkg-gencontrol(1)
프로그램이 알아서 컴파일된
기계에 맞는 값을 집어 넣도록 한다(패키지 포팅에 대한
설명은 Developer's Reference 참고).
만약 여러분의 패키지가 아키텍처에 무관하다면 (예를 들어, 셸 스크립트나 펄 스크립트, 문서일 경우), 이 부분을 "all"로 바꾸고, 뒷 부분의 `rules' 파일, 4.4에서 "binary-arch" 대신에 "binary-indep" 룰을 이용하는 방법을 살펴본다.
열번째 줄은 데비안 패키징 시스템의 가장 강력한 기능들중 하나이다. 패키지는 여러가지 방법으로 또 다른 패키지들과 관계를 맺을 수 있다. Depends 말고, 패키지간의 관계를 나타내는 필드로는 Recommends:, Suggests:, Pre-Depends:, Conflicts:, Provides:, 그리고 Replaces:가 있다.
dpkg, dselect, APT(그리고 APT 프론트엔드)와 같은 패키지 관리
도구는 보통 이 패키지 관계에 따라 동일하게 동작한다.
그렇지 않은 경우가 있는데, 다음에 설명한다.
(dpkg(8)
, dselect(8)
, + apt(8)
,
aptitude(1)
)
각각의 의미는 다음과 같다:
Depends:
의존하는(depends) 패키지가 설치되어 있지 않으면 프로그램을 설치하지 않는다. 어떤 패키지가 없을 경우 이 프로그램이 절대 동작하지 않을 때만 (혹은 심각한 문제를 발생할 경우) Depends를 사용한다.
Recommends:
dselect는 추천하는(recommends) 패키지가 설치되어 있지 않으면 이 패키지를 설치하지 않는다. 하지만 dpkg와 apt-get은 추천하는 패키지가 설치되어 있지 않은 경우에도 설치한다. 여러분의 프로그램이 꼭 필요로 하지는 않지만, 대부분의 경우에 필요한 패키지인 경우에만 Recommends를 사용한다.
Suggests:
사용자가 이 프로그램을 설치할 때, dselect는 제안하는(suggests) 패키지를 설치하도록 안내한다. Dpkg와 apt-get는 아무 신경쓰지 않고 설치한다. 꼭 필요한 패키지는 아니지만, 여러분의 프로그램과 함께 멋지게 동작하는 패키지에 대해서 Suggests를 사용한다.
Pre-Depends:
Depends보다 더 강력하다. 미리 의존하는(pre-depends) 패키지가 설치되고, 또 제대로 설정되었을 경우에만 이 패키지를 설치할 수 있다. Pre-Depends는 삼가해서 사용하고, 꼭 debian-devel 메일링 리스트에서 토의한 다음에 사용한다. 즉: 아예 사용하지 않는다. :-)
Conflicts:
충돌하는(conflicts) 패키지가 삭제되지 않는 한 패키지는 설치되지 않는다. 여러분의 프로그램이 어떤 패키지가 존재할 때 동작하지 않을 경우 (혹은 심각한 문제를 발생시키는 경우) Conflicts를 사용한다.
Provides:
여러개 중에 하나를 선택할 수 있는 패키지를 위해 가상 패키지(virtual package)가 정의되어 있다. 가상 패키지의 리스트는 /usr/share/doc/debian-policy/virtual-package-names-list.text.gz에서 구할 수 있다. Provides는 여러분의 프로그램이 가상 패키지를 제공(provides)하는 경우에 사용한다.
Replaces:
당신의 프로그램이 다른 패키지의 파일들을 대체(replaces)하는 경우, 혹은 그 패키지 전체를 대체(replaces)하는 경우(이 경우에는 COnflicts:와 함께 사용한다)에 사용한다. 여기서 지정된 패키지의 파일들은 여러분의 패키지를 설치하기 전에 삭제된다.
이 필드들은 모두 통일된 문법이 있다. 이 필드에는 패키지 이름들을 쉼표로 구분해서 나열해 놓는다. 패키지 이름은 세로줄 표시 | (파이프 표시) 를 이용해서 여러개 중에 하나를 선택하는 식으로 만들 수도 있다.
각 패키지의 특정 버전을 지정할 수도 있다. 각 패키지 이름 다음에 괄호 안에 버전과 함께 그 앞에 버전번호의 관계를 나타내는 다음 관계 기호를 쓴다. 사용할 수 있는 관계는 <<, <=, =, >= 그리고 >>이다. 각각은 앞 버전, 이전 버전, 정확히 같은 버전, 이후 버전, 그리고 뒤 버전을 나타낸다.
Depends: foo (>= 1.2), libbar1 (= 1.3.4) Conflicts: baz Recommends: libbaz4 (>> 4.0.7) Suggests: quux Replaces: quux (<< 5), quux-foo (<= 7.6)
마지막으로 알려줄 기능은 $(shlibs:Depends)이다. 이 부분은
dh_shlibdeps(1)
와 dh_gencontrol(1)
에 의해
(나중에 설명) 자동으로 libc6나 xlib6g같은 여러분의
프로그램이 사용하는 동적 라이브러리의 이름으로 바뀐다.
즉, 각 라이브러리를 직접 지정할 필요가 없다.
여기서 Depends: 부분은 그대로 놓아둔다. 그리고 여기에 다른 필요한 Suggests: file을 넣어서 gentoo가 file 프로그램/패키지가 주는 기능을 쓸 수 있다.
열한번째 줄은 짤막한 설명이다. 대부분의 사람들은 80 컬럼 화면을 사용하므로 이 부분은 60자 이상되지 않도록 않다. 나는 이 부분을 "fully GUI configurable GTK+ file manager"라고 바꿔 놓을 것이다.
열두번째 줄은 긴 설명이 들어간다. 이 부분은 패키지에 대해 좀 더 자세히 설명하는 한개의 문단이다. 각 줄의 첫번째 열은 공백이어야 한다. 절대로 빈 줄이 들어가서는 안 된다. 빈 줄이 들어가야 할 곳에서는 대신에 .을 쓴다. 또, 이렇게 긴 설명을 끝낸 다음에는 빈 줄을 두개 이상 넣지 않는다.
다음은 수정된 control 파일이다:
1 Source: gentoo 2 Section: x11 3 Priority: optional 4 Maintainer: Josip Rodin <joy-mg@debian.org> 5 Build-Depends: debhelper (>> 3.0.0), xlibs-dev, libgtk1.2-dev, libglib1.2-dev 6 Standards-Version: 3.5.2 7 8 Package: gentoo 9 Architecture: any 10 Depends: ${shlibs:Depends} 11 Suggests: file 12 Description: fully GUI configurable X file manager using GTK+ 13 gentoo is a file manager for Linux written from scratch in pure C. It 14 uses the GTK+ toolkit for all of its interface needs. gentoo provides 15 100% GUI configurability; no need to edit config files by hand and re- 16 start the program. gentoo supports identifying the type of various 17 files (using extension, regular expressions, or the 'file' command), 18 and can display files of different types with different colors and icons. 19 . 20 gentoo borrows some of its look and feel from the classic Amiga file 21 manager "Directory OPUS" (written by Jonathan Potter).
(줄번호는 여기서 넣은 것이다.)
이 파일에는 해당 패키지의 상위 정보, 저작권과 라이센스 정보가 들어 있다. 이 형식은 데비안 정책에서 정의되지 않았지만, 그 내용은 지정되어 있다 (섹션 12.5).
dh_make가 기본적으로 만드는 파일이 있는데, 다음과 같다:
1 This package was debianized by Josip Rodin <jrodin@jagor.srce.hr> on 2 Wed, 11 Nov 1998 21:02:14 +0100. 3 4 It was downloaded from <fill in ftp site> 5 6 Upstream Author(s): <put author(s) name and email here> 7 8 Copyright: 9 10 <Must follow here>
(줄 번호를 앞에 붙였다)
이 파일에 써 넣어야 할 매우 중요한 것은 첫째로 이 패키지를 가져온 위치이고, 또 하나는 실제 저작권 명시와 라이센스이다. GNU GPL 혹은 LGPL, BSD, Artistic 라이센스와 같은 유명한 자유 소프트웨어 라이센스가 아니라면, 완전한 라이센스를 포함해야 한다. 이런 유명한 라이센스의 경우에는 모든 데비안 시스템에 있는 /usr/share/common-licenses/ 디렉토리 밑의 해당 파일을 참고하면 된다. Gentoo의 라이센스는 GNU General Public License이므로 copyright 파일을 다음과 같이 바꿀 것이다:
1 This package was debianized by Josip Rodin <jrodin@jagor.srce.hr> on 2 Wed, 11 Nov 1998 21:02:14 +0100. 3 4 It was downloaded from ftp://ftp.obsession.se/gentoo/ 5 6 Upstream author: Emil Brink <emil@obsession.se> 7 8 This software is copyright (c) 1998-99 by Emil Brink, Obsession 9 Development. 10 11 You are free to distribute this software under the terms of 12 the GNU General Public License. 12 13 On Debian systems, the complete text of the GNU General Public 14 License can be found in /usr/share/common-licenses/GPL file.
이 파일은 꼭 필요하다. 이 파일은 정책 문서 4.4j8 "debian/changelog" 에 잘 나와있다. 이 형식은 dpkg에 의해 사용되고 그 밖의 프로그램들이 버전(version), 개정(revision), 배포판 및 이 패키지의 긴급성(urgency)을 알아 내는데 사용한다.
초보자를 위해서도 이 파일은 중요하다. 수정한 모든 사실에 대해 문서화하는 것이 좋다. 여러분의 패키지를 내려받게 될 사람들이 이 파일을 통해 패키지에 해결되지 않은 문제가 있는지 즉각 알아 볼 수 있다. 이 파일은 바이너리 패키지에서 /usr/share/doc/gentoo/changelog.Debian.gz 파일로 저장된다.
다음은 dh_make가 만들어 주는 기본 changelog 파일이다:
1 gentoo (0.9.12-1) unstable; urgency=low 2 3 * Initial Release. 4 5 -- Josip Rodin <jrodin@jagor.srce.hr> Wed, 11 Nov 1998 21:02:14 +0100 6
(줄 번호를 앞에 추가했다.)
첫 줄은 패키지 이름, 버전, 배포판, 그리고 긴급성이다. 이름은 소스 패키지의 이름과 같아야 한다. 배포판은 unstable이나 experimental이 되어야 하고, 긴급성은 `low'보다 높은 걸로 바꾸지 않도록 한다. :-)
3-5 줄은 기록하는 부분으로, 여기에 이 패키지 개정판에
바뀐 점을 쓴다. (상위 소스코드의 변화를 쓰지 않는다 - 이
이런 목적의 파일은 상위 개발자가 만들고
/usr/doc/gentoo/changelog.gz 파일로 설치된다.) 맨 위에 별표(`*')로
시작하는 줄 앞에는 빈 줄이 들어가야 한다. 이 작업은
dch(1)
로 하거나 텍스트 편집기를 쓸 수 있다.
다음과 같이 해서 이 파일 편집을 마치면 된다.
1 gentoo (0.9.12-1) unstable; urgency=low 2 3 * Initial Release. 4 * This is my first Debian package. 5 * Adjusted the Makefile to fix $DESTDIR problems. 6 7 -- Josip Rodin <jrodin@jagor.srce.hr> Wed, 11 Nov 1998 21:02:14 +0100 8
(줄번호를 앞에 붙였다.)
패키지 갱신, 9에 있는 changelog 파일 업데이트 방법을 자세히 읽어볼 필요가 있다.
이제 dpkg-buildpackage(1)
가 실제로 패키지를 만들 때
사용할 규칙(rules)을 살펴볼 때다. 사실 이 파일은 또 다른
메이크파일이지만, 상위 소스에 들어 있는 메이크파일과는
다른 파일이다. debian/ 안에 들어 있는 다른 파일들과 달리
이 파일은 실행 가능한 파일이다.
`rules' 파일은, 다른 메이크파일과 마찬가지로, 소스를 빌드하는 방법이 쓰여진 여러개의 룰(rule)로 구성되어 있다. 각 룰은 타겟 파일이름 혹은 수행할 동작의 이름(`build:'나 `install:' 따위)가 들어 있다. 실행하고 싶은 룰이 있으면 명령행 인자로 타겟을 넘겨줘야 한다 (예를 들어, `./debian/rules build'나 `./debian/rules install'). 타겟 이름 다음에, 디펜던시(dependency)를 쓴다. 디펜던시는 그 타겟이 의존하는 프로그램이나 파일이다. 그 다음에는 여러개의 명령어가 올 수 있고 (<tab>로 시작한다는 점에 주의!), 빈 줄이 발견되면 끝난다. 그 다음에 또 다른 룰이 시작된다. 빈 줄이 여러 개 나타나는 경우나, 해쉬(`#')로 시작하는 주석문은 무시된다.
지금쯤 혼란스러울 것이지만, dh_make가 기본적으로 만들어 주는 `rules' 파일을 들여다 보면 모든 것이 명확해 질 것이다. 더 자세한 사항은 info의 `make' 항목을 읽어본다.
dh_make가 만드는 rules 파일에서 중요한 점은, 이 파일은 단지 하나의 예일 뿐이라는 점이다. 간단한 패키지에서는 이 파일이 그대로 동작하겠지만 좀 더 복잡한 경우에는 그렇지 않다. 필요에 따라서 이 파일에 무언가를 추가하거나 지워야 한다. 바꾸지 말아야 할 것은 각 룰의 이름으로, 이 이름들은 정책 문서에에 설명된 각종 빌드도구에서 이용한다.
dh_make가 만든 기본으로 나오는 debian/rules 파일이 예이다:
1 #!/usr/bin/make -f 2 # -*- makefile -*- 3 # Sample debian/rules that uses debhelper. 4 # This file was originally written by Joey Hess and Craig Small. 5 # As a special exception, when this file is copied by dh-make into a 6 # dh-make output file, you may use that output file without restriction. 7 # This special exception was added by Craig Small in version 0.37 of dh-make. 8 # Uncomment this to turn on verbose mode. 9 #export DH_VERBOSE=1 10 configure: configure-stamp 11 configure-stamp: 12 dh_testdir 13 # Add here commands to configure the package. 14 touch configure-stamp 15 build: build-stamp 16 build-stamp: configure-stamp 17 dh_testdir 18 # Add here commands to compile the package. 19 $(MAKE) 20 #docbook-to-man debian/testpack.sgml > testpack.1 21 touch $@ 22 clean: 23 dh_testdir 24 dh_testroot 25 rm -f build-stamp configure-stamp 26 # Add here commands to clean up after the build process. 27 $(MAKE) clean 28 dh_clean 29 install: build 30 dh_testdir 31 dh_testroot 32 dh_clean -k 33 dh_installdirs 34 # Add here commands to install the package into debian/testpack. 35 $(MAKE) DESTDIR=$(CURDIR)/debian/testpack install 36 # Build architecture-independent files here. 37 binary-indep: build install 38 # We have nothing to do by default. 39 # Build architecture-dependent files here. 40 binary-arch: build install 41 dh_testdir 42 dh_testroot 43 dh_installchangelogs 44 dh_installdocs 45 dh_installexamples 46 # dh_install 47 # dh_installmenu 48 # dh_installdebconf 49 # dh_installlogrotate 50 # dh_installemacsen 51 # dh_installpam 52 # dh_installmime 53 # dh_python 54 # dh_installinit 55 # dh_installcron 56 # dh_installinfo 57 dh_installman 58 dh_link 59 dh_strip 60 dh_compress 61 dh_fixperms 62 # dh_perl 63 # dh_makeshlibs 64 dh_installdeb 65 dh_shlibdeps 66 dh_gencontrol 67 dh_md5sums 68 dh_builddeb 69 binary: binary-indep binary-arch 70 .PHONY: build clean binary-indep binary-arch binary install configure
(줄 번호를 앞에 붙였다.)
아마 셸 스크립트나 펄 스크립트를 통해 첫번째 줄과 같은 줄에 익숙해 있을 것이다. 그 줄은 해당 파일이 /usr/bin/make를 통해 실행된다는 사실을 OS에 알려 준다.
12번째 줄에서 19번째 줄은 `build' 룰(및 부수적인 build-stamp룰)로, 이 룰에서는 프로그램을 컴파일하는 프로그램을 실행시킨다.
21-29 줄에 쓰인 `clean' 룰은 필요없는 바이너리나 패키지 빌드 과정에서 자동으로 생성된 파일들을 지운다. 이 룰은 언제나 실행 가능해야 한다 (소스 트리가 이미 clean된 상태에서도!). 그러므로 강제 옵션을 (rm의 경우에는 `-f' 옵션) 이용하거나, 리턴 값을 무시한다 (명령 앞에 `-'를 붙인다).
`install' 룰의 인스톨 과정은 31번째 줄에서 시작한다. 기본적으로 프로그램 자체 Makefile의 `install' 룰을 실행하지만, `pwd`/debian/tmp 디렉토리에 추가한다 - gentoo의 Makefile에서 $(DESTDIR)를 설치 디렉토리로 지정한 이유가 바로 이것이다.
주석문이 나타내듯, 41번째 줄의 `binary-indep' 룰은 아키텍처와 무관한 패키지들을 만드는 데 사용된다. 하지만, 우리는 이렇게 빌드할 게 전혀 없기 때문에, 아무것도 쓸 필요가 없다. 여러분의 패키지가 `Architecture all'일 경우에는 이 룰에서 해당 패키지를 빌드하는 명령어를 쓰고, 대신에 다음 룰(`binary-arch')를 비워 놓아야 한다.
다음 45-73 줄의 `binary-arch' 룰에서는 debhelper 패키지에 있는 여러가지 작은 프로그램들을 실행해서 패키지를 데비안 정책에 맞도록 만든다.
이 프로그램들은 dh_로 시작하고, 그 뒤의 이름을 통해 이 작은 프로그램들이 실제로 무슨 일을 하는지 알아 챌 수 있을 것이다. 하지만 추가로 설명을 하면:
dh_testdir(1)
는 올바른 디렉토리(소스 디렉토리 맨
위)에서 빌드하는 지 확인한다.
dh_testroot(1)
는 root 권한이 있는지 검사한다. root
권한은 binary*, clean 타겟에서 필요하다.
dh_installmanpages(1)
는 소스 트리에서 찾을 수 있는
모든 맨 페이지를 설치 위치로 복사한다. (조심,
맨페이지가 아닌 것도 복사할 수 있음.)
dh_strip(1)
은 실행 파일과 라이브러리에서 디버깅
헤더를 제거해서 크기를 작게 만든다.
dh_compress(1)
는 4 킬로바이트보다 큰 맨 페이지와
문서를 gzip으로 압축한다.
dh_installdeb(1)
은 패키지와 관련된 파일들을 debian/tmp
디렉토리로 복사한다.
dh_shlibdeps(1)
는 라이브러리와 실행 파일의 동적
라이브러리에 대한 의존성을 검사한다.
dh_gencontrol(1)
은 control 파일에 내용을 추가하고
control 파일을 설치한다.
dh_md5sums(1)
는 패키지 내의 모든 파일에 대하여 MD5
checksum을 만든다.
dh_* 스크립트가 무엇을 하는지, 어떤 옵션이 있는지에 대한 완전한 정보를 알고 싶으면 각각의 맨 페이지를 읽어 보면 된다. 위에 언급되지 않은 많은 dh_* 스크립트가 있고, 어떤 경우에는 그 스크립트가 필요할 수도 있다. 그 스크립트가 필요한 경우 debhelper 문서를 읽어보기 바란다.
binary-arch 부분은 필요하지 않은 기능을 주석처리하는 부분이다. gentoo의 경우 testversion, emacsen, pam, init, cron, manpages, info, undocumented, suidregister, makeshlib, 그리고 perl을 주석 처리했다. gentoo는 이 스크립트가 필요 없다. 또 60번째 줄에 `FIXES'를 추가할 것이다. `FIXES'는 상위 changelog 파일이다.
마지막 두 줄은 (설명되지 않은 줄도 마찬가지로), 패키징 매뉴얼에서 읽을 수 있는 바에 따르면 어느 정도 필요한 부분이다. 지금으로써는 특별히 알아야 할 만큼 중요하지 않다.
[ 이전 ] [ 차례 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 다음 ]
데비안 새로운 관리자 안내서
version 1.2, 6 April 2002.jrodin@jagor.srce.hr
cwryu@debian.org/
yooseong@debian.org/