qmail 우분투에서 SRPM 빌드하기

알아둘일 2009.09.07 16:06 Posted by 1day1
지난글에서 Centos 에서 빌드했었다.(http://blog.1day1.org/329)

우분투(9.04)에서 빌드를 해봤다. SPEC 파일의 몇몇 설정 부분을 수정해야 한다.


SPEC 의 어느 부분을 바꾸나?
1. /var/qmail 디렉토리 관련.

SPEC 에서 qmaild 계정을 만들때  useradd -m  옵션으로 /var/qmail 을 홈으로 지정해서 같이 생성하는데, alias 계정을 먼저 생성하기에 /var/qmail/alias  디렉토리를 생성할 수 없다는 에러가 발생한다.
그래서 qmaild 계정을 먼저 생성해준다.

또는 계정생성 앞부분에 /var/qmail 을 생성해준다.
if [ ! -d %{qmaildir} ]; then
        mkdir %{qmaildir}
fi

2. useradd 옵션 변경
우분투에서는 옵션이 -M 이 아니라, -m 이다.
useradd 의 버전차이인지 배포판 차이인지는 모르겠다

3. /sbin/nologin  을  /usr/sbin/nologin  으로 바꾼다 (배포판 차이)

4. {_initrddir} 위치 /etc/init.d 가 생성되지 않는다.
우분투는 /etc/init.d 에 위치한다. 
rpm --eval %{_initrddir}
으로 확인한다.

5. pushd , popd 명령이 안 먹나?
ubuntu 에서 /bin/sh 가 dash 라는 놈에 링크되어 있다.
pushd,popd 는 bash 에서 동작한다.  기존것을 지우고,
ln -s /bin/bash /bin/sh
으로 링크해준다.

chkconfig 대신에 update-rc.d 를 이용한다.
우분투는 update-rc.d 를 이용한다. (chkconfig 부분을 찾아서 다음처럼 바꾼다)
update-rc.d -f qmaild defaults
update-rc.d -f pop3d defaults

다 바꿨으니, SRPM 을 다시 만들어야지.
여기까지 변경후 다시 SRPM 을 생성한다.
rpmbuild --bs --with cdb SPEC/knetmail.spec

몇몇 패키지가 필요하다. 해당 패키지가 설치되어 있지 않으면 설치해준다.
apt-get install libssl-dev

모든 준비끝.
rpmbuild --rebuild --with cdb SRPMS/knetqmail-0.0.1-3.src.rpm

우분투에서도 쉽게 설치하자.


수정된 SPEC 파일이다.(참조) - 기존 spec 파일과 비교해서 직접 확인하기 바란다.



신고

댓글을 달아 주세요