태그

Linux 2008/01/16 11:45

간단하게 소스를 패키지하는 두 가지 방법 :
DebHelper 이용하는 방법, checkinstall 이용하는 방법

그리고 rpm 패키지를 deb 패키지로 변환하는 방법에 대해서 소개한다.

예전의 방법이나, Debian 패키징의 세부사항은 링크를 참조하는 것이 좋다.

—————————————————————————————————

(1) DebHelper 이용하기

0. 필요한 것들

dh-make
debhelper


1.  패키지에 의존 관계의 패키지 설치

$ sudo apt-get build-dep $(패키지 이름)

2. dh_make ( debian/rules 등을 생성)

(소스가 수정할 필요가 있을 경우에는 수정을 한후,)
./configure와 make 대신
dh_make를 실행한다.

$ dh_make

그리고, debian/rules 파일과 (configure 설정)
debian/control 파일, debian/changelog을  (이름 설정)
알맞게 설정한다.

3. deb 패키지 생성 (deb 패키지가 생성된다.)

$ sudo debian/rules binary

4. deb 패키지 설치

$ sudo dpkg -i xxxxxxx.deb

—————————————————————————————————
(2) checkinstall을 이용하기

1. 필요한 패키지

checkinstall

2. deb 패키지 생성

$ ./configure (그밖의 설정)
$ make
$ sudo checkinstall

—————————————————————————————————
(3) rpm 패키지를 deb 패키지로 변환하기


0. 필요한 것

alien

1. alien을 사용하여 rpm을 deb으로 변환.

$ sudo alien -k –scripts xxxxx.rpm

2. deb  패키지 설치

$ sudo dpkg -i xxxxx.deb

—————————————————————————————————
(4) Example

시나리오 1) 우분투에서 vsftpd 소스를 받아서 한글 로그 처리하기

$ sudo apt-get source vsftpd
$ ls
vsftpd-2.0.4  vsftpd_2.0.4-0ubuntu4.diff.gz  vsftpd_2.0.4-0ubuntu4.dsc  vsftpd_2.0.4.orig.tar.gz

$ cd vsftpd-2.0.4
vsftpd-2.0.4 $

// 이제 소스 수정을 한다.
// 1. 로그를 한글로 보기 위해..
// logging.c 의 str_replace_unprintable(p_str, ‘?’); 부분을 주석처리.
//
// 2. ps 명령에서도 작업내역을  한글로 보기 위해
//postlogin.c 의 str_replace_unprintable(&proctitle_str, ‘?’); 부분을 주석..

//이미 debian/rules 등이 만들어져 있으므로…
// 패키지 생성하기만 하면 된다.

vsftpd-2.0.4 $ sudo debian/rules binary

만약 패키지에 configure이 있고, 이 configure 옵션을 바꾸려면,
./configure –help를 참조하여 debian/rules를 수정한다.

Advertisements