knetqmail SRPM 버전[업데이트]

관련 자료
stone92
expert
expert
Posts: 661
Joined: 2004/07/26 09:13
Location: 분당
Contact:

knetqmail SRPM 버전[업데이트]

Post by stone92 » 2008/10/10 11:32

은재님이 패치해두신 knetqmail 을 rpm으로 빌드하기 쉽게 소스 패키징을 해봤습니다.
래드햇 계열이라면 큰 문제없이 리빌드되리라 생각합니다만 리빌드시 에러 나시는 분들은 답변 부탁드립니다.
몇가지 문제점를 수정했습니다.



패치에 대한 자세한 내용은
http://qmail.kldp.org/phpbb/viewtopic.php?t=7694
를 참고해 주시구요...
패키지에 포함되어있는것은 다음과 같습니다.(qmail+vpopmail조합에 필요한거 몽땅 다 넣었습니다^^)
knetqmail-1.06 20080815
libdomainkey
daemontool
ucspi-tcp
vpopmail-5.4.25(기본값은 mysql과 연동되게 되어 있음)
queue-fix
qmHandle
-사용법-
1.src.rpm을 다운받음
http://mail.linuxstudy.pe.kr/download/
2. rpm build
1) vpopmail+mysql 과 연동시(mysql은 미리 설치되어 있어야 합니다.)
rpmbuild --rebuild knetqmail-0.0.1-X.src.rpm
2) vpopmail+cdb
rpmbuild --rebuild --with cdb knetqmail-0.0.1-X.src.rpm

3.빌드된 패키지 설치(기존에 sendmail은 미리 지우셔야 합니다.)
rpm -e sendmail --nodeps
rpm -Uvh /usr/src/redhat/RPMS/i386/knetqmail-0.0.1-X.i386.rpm

4. qmail 시작
/etc/init.d/qmald start

5. pop3 시작
/etc/init.d/pop3d start

6. smtpd && pop3 테스트
telnet localhost 25
telnet localhost 110

-수정내용-
2008년10월10일
1. rpm -e knetqmail 했을때 데몬들이 떠 있는 상태에서 knetqmail 이 지워지는 문제 수정
2. rpm 설치할때 inittab 에 svscanboot 가 실행이 안되는 문제 수정

2008년 10월 14일
ver. knetqmail-0.0.1-2
1. conf-knetqmail 추가
/var/qmail/control/conf-knetqmail 파일 추가
rblsmtpd 사용여부 및 로그 사이즈,로그디렉토리 변수추가
시스템 환경에 맞게 conf-knetqmail 파일 수정하여 사용하면 됨.
변수 수정이후에는 데몬 재시작 해야함.
2. 퍼미션 관련 에러 수정
log디렉토리 퍼미션 및 run 파일 퍼미션 수정.

2009년 7월 14일
ver. knetqmail-0.0.1-3
1. srpm 빌드시 /home/vpopmail 삭제되는 문제점 수정
2. vpopmail-5.4.27 버전으로 업데이트
3. /var/qmail/rc 파일 오타 수정(/var/qmail/controls->/var/qmail/control)
4. /var/qmail/control/spfbehavior 기본값 변경(3->0)
5. gcc 4.3.2 이상 버전에서 open 함수 에러 수정
In function 'open',
inlined from 'open_rw' at open_rw.c:6:
/usr/include/bits/fcntl2.h:51: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments
make: *** [open_rw.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.92405 (%build)
6. qmail-dk-0.54-auth.patch 패치 추가
[참고] http://qmail.kldp.net/phpbb/viewtopic.php?t=7957

해두고 보니 고칠게 참 많았던 패키징이었습니다..ㅋ
시간이 안난다고 미루고 미루다 보니 이제서야 업데이트를 합니다.
knetqmail 관련해서 요청사항이 있으시면 쪽지 보내주시기 바랍니다.
그럼 이만..^^;
Last edited by stone92 on 2009/07/14 17:56, edited 5 times in total.

임은재
사이트 관리자
사이트 관리자
Posts: 1192
Joined: 2000/01/01 00:00

Post by 임은재 » 2008/10/10 13:59

수고 하셨습니다.

지금 받고 있는 중인데 테스트 해보고 이상있으면 버그 리포트하도록 하겠습니다.

stone92
expert
expert
Posts: 661
Joined: 2004/07/26 09:13
Location: 분당
Contact:

Post by stone92 » 2008/10/10 14:12

감사합니다..테스트 해주셔셔...^^;

User avatar
cacti
등록 사용자
등록 사용자
Posts: 139
Joined: 2004/03/12 09:29
Location: 서울 구로
Contact:

Re: knetqmail SRPM 베타 버전입니다.

Post by cacti » 2008/10/10 15:12

좋은 일 하시네요. 수고하셨습니다.
일단 테스트 해보겠습니다.
언제나 삽질중

User avatar
cacti
등록 사용자
등록 사용자
Posts: 139
Joined: 2004/03/12 09:29
Location: 서울 구로
Contact:

Post by cacti » 2008/10/10 15:36

바로 빌드해봤습니다.
OS는 CentOS 5 입니다.
처음에는 mysql-devel 패키지가 설치되어 있지 않아 에러가 나더니
설치하고 나서는 무난히 빌드가 진행되었습니다.
그러다가 아래와 같은 에러가 나더군요.

Code: Select all

+ cd /usr/src/redhat/BUILD/knetqmail-0.0.1/libdomainkeys-0.68
+ install -p domainkeys.h dktrace.h /var/tmp/knetqmail-0.0.1/usr/include
+ install -p libdomainkeys.a /var/tmp/knetqmail-0.0.1/usr/lib
+ install -p dknewkey dktest /var/tmp/knetqmail-0.0.1/usr/bin
+ cd /usr/src/redhat/BUILD/knetqmail-0.0.1/daemontools-0.76
+ package/run
Creating /service...
package/run: line 18: /command/setlock: No such file or directory
오류: /var/tmp/rpm-tmp.44231의 잘못된 종료 상황 (%install)
제 짧은 소견으로는 daemontools 설치중
/usr/src/redhat/BUILD/knetqmail-0.0.1/daemontools-0.76/package/run
스크립트 실행과정에서 /command/setlock 을 실행해야되는데 이 파일이 없기 때문에
발생하는 에러로 보입니다.
빌드시에는 이 파일이 없을테니 에러가 나는 것은 당연하다고 봅니다.
이런건 어떻게 해결해야 할지...

[참고 : package/run 스크립트 내용]

Code: Select all

#!/bin/sh -e

umask 022
test -d package || ( echo 'Wrong working directory.'; exit 1 )
test -d src || ( echo 'Wrong working directory.'; exit 1 )

if test -d /service
then
  echo '/service exists. I assume that svscan is already running.'
  exit 0
fi

echo 'Creating /service...'
mkdir /service

if test -r /etc/inittab
then
  /command/setlock /etc/inittab package/run.inittab  <--- 이 부분!!!
else
  /command/setlock /etc/rc.local package/run.rclocal
fi
언제나 삽질중

stone92
expert
expert
Posts: 661
Joined: 2004/07/26 09:13
Location: 분당
Contact:

Post by stone92 » 2008/10/10 15:47

^^;
그렇지 않아도 방금 막 저도 발견하고 다시 src rpm빌드하고 있는 중입니다.
knetqmail 을 안지우고 빌드 테스트를 했더니..당연히 /command/setlock 이 있어서..-.-;
지금 받아서 다시 한번 해보시겠습니까??

임은재
사이트 관리자
사이트 관리자
Posts: 1192
Joined: 2000/01/01 00:00

Post by 임은재 » 2008/10/10 16:48

qmail-smtpd run 파일에서 기본적으로 spamcop rbl 사이트를 사용하게 되어 있네요.
사용할 것인지는 사용자에게 판단하도록 하는것도 좋을것 같습니다.

Code: Select all

#!/bin/sh
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
#rbl="-r bl.spamcop.net"

exec /usr/bin/softlimit -m 100000000 \
/usr/bin/tcpserver -vRHl0 -x/etc/tcp.smtp.cdb \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
#/usr/bin/rblsmtpd -t 30 -b $rbl \
/var/qmail/bin/qmail-smtpd \
/home/vpopmail/bin/vchkpw /bin/true 2>&1

stone92
expert
expert
Posts: 661
Joined: 2004/07/26 09:13
Location: 분당
Contact:

Post by stone92 » 2008/10/10 16:49

좋은 의견 감사합니다..^^;
수정해서 적용하도록 하겠습니다.^^;

이은태
등록 사용자
등록 사용자
Posts: 1
Joined: 2007/05/24 09:41

debian 에서도 빌드 잘되고 잘 작동하네요 :)

Post by 이은태 » 2008/10/23 20:02

vm3:~# cat /etc/debian_version
4.0

debian에서 apt-get install rpm 설치 후에 vpopmail+cdb 로 빌드시
vpopuser, group 생성해두고 빌드중에 mkdir -p /var/tmp/knetqmail-0.0.1/usr/etc/init.d/ 생성해야 하는 부분, 이로 인해서 qmail-pop3.init, qmail.init 복제되지 않는 것, /etc/tcp.smtp 부분 빼고는 잘 빌드되고 구동하네요 :)

vm3:~# ls -al /usr/src/rpm/RPMS/i386/
total 1540
drwxr-xr-x 2 root root 4096 Oct 23 19:41 .
drwxr-xr-x 8 root root 4096 Oct 23 19:17 ..
-rw-r--r-- 1 root root 1562112 Oct 23 19:41 knetqmail-0.0.1-2.i386.rpm

vm3:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 vm3 - Welcome to Qmail SMTP Server ESMTP
quit
221 vm3 - Welcome to Qmail SMTP Server
Connection closed by foreign host.
vm3:~# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK <17189.1224759679@vm3>
quit
+OK
Connection closed by foreign host.
vm3:~#

vm3:~# tail -f /var/log/qmail/send/current
status: local 0/10 remote 0/60
status: exiting
status: local 0/10 remote 0/60
new msg 467162
info msg 467162: bytes 254 from <root@vm3.vm3> qp 17203 uid 0
starting delivery 1: msg 467162 to remote admin@devsda.org
status: local 0/10 remote 1/60
delivery 1: success: 209.85.147.27_accepted_message./Remote_host_said:_250_2.0.0_OK_1224759824_m25si51019250waf.58/
status: local 0/10 remote 0/60
end msg 467162
^C
vm3:~# tail -f /var/log/qmail/smtpd/current
@4000000049005963134f6d94 tcpserver: status: 1/100
@4000000049005963135228cc tcpserver: pid 17181 from 10.30.100.228
@40000000490059631352309c tcpserver: ok 17181 0:10.30.100.247:25 :10.30.100.228::1219
@4000000049005968320daebc tcpserver: end 17181 status 0
@4000000049005968320dba74 tcpserver: status: 0/100
@40000000490059861a22d96c tcpserver: status: 1/100
@40000000490059861a3f3724 tcpserver: pid 17187 from 127.0.0.1
@40000000490059861a3f3ef4 tcpserver: ok 17187 0:127.0.0.1:25 :127.0.0.1::55973
@40000000490059871f016a84 tcpserver: end 17187 status 0
@40000000490059871f01763c tcpserver: status: 0/100
^C
vm3:~# tail -f /var/log/qmail/pop3/current
tcpserver: status: 1/40
tcpserver: pid 17182 from 10.30.100.228
tcpserver: ok 17182 0:10.30.100.247:110 :10.30.100.228::1222
tcpserver: end 17182 status 256
tcpserver: status: 0/40
tcpserver: status: 1/40
tcpserver: pid 17189 from 127.0.0.1
tcpserver: ok 17189 0:127.0.0.1:110 :127.0.0.1::47701
tcpserver: end 17189 status 256
tcpserver: status: 0/40
^C

정말 수고하셨습니다. :-)

stone92
expert
expert
Posts: 661
Joined: 2004/07/26 09:13
Location: 분당
Contact:

아..은태님 오랫만입니다.ㅎㅎ

Post by stone92 » 2008/10/23 20:32

아..데비안 계열도 rpm 지원하나 보군요..ㅎㅎ
데비안용도 한번 패키징 할까요..ㅎㅎ

choguk123
등록 사용자
등록 사용자
Posts: 7
Joined: 2008/03/03 14:25

Post by choguk123 » 2009/03/26 23:08

rpmbuild --rebuild knetqmail-0.0.1-2.src.rpm
을 할 경우 잘 진행되다가 아래와 같은 에러가 나는데 무슨 이유인지요?

gcc -DBIND_8_COMPAT -O2 -c dktest.c -I.
In file included from dktest.c:3:
./domainkeys.h:8:25: openssl/evp.h: 그런 파일이나 디렉토리가 없음
./domainkeys.h:9:25: openssl/pem.h: 그런 파일이나 디렉토리가 없음
./domainkeys.h:10:25: openssl/err.h: 그런 파일이나 디렉토리가 없음
make: *** [dktest.o] 오류 1
오류: /var/tmp/rpm-tmp.98687의 잘못된 종료 상황 (%build)


**sulinux 1.0에서는 잘 설치되며 sulinux 1.5에서 위와 같은 에러가 납니다.
(sulinux: http://www.sulinux.net)

수고하세요

stone92
expert
expert
Posts: 661
Joined: 2004/07/26 09:13
Location: 분당
Contact:

Post by stone92 » 2009/03/27 08:54

openssl 이 설치가 안되어 있으신듯 하네요..
openssl설치하시면 되실겁니다.

jeon230
등록 사용자
등록 사용자
Posts: 9
Joined: 2009/04/15 17:47

dktest 오류...

Post by jeon230 » 2009/04/26 01:44

안녕하세요 리빌드 하면 다음과 같은 오류가 납니다,
어떻게 해야 할까요?

운영체제 : 안녕 1.3

./libdomainkeys.a(domainkeys.o)(.text+0x126): In function `dk_shutdown':
: undefined reference to `CRYPTO_cleanup_all_ex_data'
./libdomainkeys.a(domainkeys.o)(.text+0x2976): In function `dk_free':
: undefined reference to `EVP_MD_CTX_cleanup'
collect2: ld returned 1 exit status
make: *** [dktest] 오류 1
오류: /var/tmp/rpm-tmp.15422의 잘못된 종료 상황 (%build)


openssl -v
OpenSSL 0.9.6g 22 Feb 2003

stone92
expert
expert
Posts: 661
Joined: 2004/07/26 09:13
Location: 분당
Contact:

Post by stone92 » 2009/04/30 09:29

안녕에서는 아직 테스트를 못해봤습니다.
테스트 해보고 다시 한번 말씀드리겠습니다.

jeon230
등록 사용자
등록 사용자
Posts: 9
Joined: 2009/04/15 17:47

우분투에서 빌드시 에러..

Post by jeon230 » 2009/04/30 11:03

우분투 9.x 에서 rpm 빌드시 아래와 같은 오류가 납니다.

In function 'open',
inlined from 'open_rw' at open_rw.c:6:
/usr/include/bits/fcntl2.h:51: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments
make: *** [open_rw.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.92405 (%build)

이런 오류가 왜 나는 걸까요?

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest