PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/share/doc/dovecot23/wiki/
Upload File :
Current File : //usr/share/doc/dovecot23/wiki/CompilingSource.txt
Contents


 1. Compiling Dovecot From Sources

 2. Compiling Dovecot From Git

 3. Compiling Dovecot with rpmbuild (Mandriva, RedHat, etc.)

 4. SSL/TLS Support

     1. Solaris and OpenSSL problems

 5. Notify method

     1. Linux

 6. Optional Configure Options

     1. SQL Driver Options

     2. Authentication Backend Options

 7. Dynamic IMAP and POP3 Modules

Compiling Dovecot From Sources
==============================

For most people it is enough to do:

---%<-------------------------------------------------------------------------
./configure
make
sudo make install
---%<-------------------------------------------------------------------------

That installs Dovecot under the '/usr/local' directory. The configuration file
is in '/usr/local/etc/dovecot.conf'. Logging goes to syslog's mail facility by
default, which typically goes to '/var/log/mail.log' or something similar. If
you are in a hurry, you can then jump to <QuickConfiguration.txt>.

 If you have installed some libraries into locations which require special
include or library paths, you can pass them in the 'CPPFLAGS' and 'LDFLAGS'
environment variables. For example:

---%<-------------------------------------------------------------------------
CPPFLAGS="-I/opt/openssl/include" LDFLAGS="-L/opt/openssl/lib" ./configure
---%<-------------------------------------------------------------------------

You'll need to create two users for Dovecot's internal use:

 * *dovenull*: Used by untrusted imap-login and pop3-login processes
   (default_login_user setting).
 * *dovecot*: Used by slightly more trusted Dovecot processes
   (default_internal_user setting).

Both of them should also have their own *dovenull* and *dovecot* groups. See
<UserIds.txt> for more information.

Compiling Dovecot From Git
==========================

If you got Dovecot from Git, for instance with

---%<-------------------------------------------------------------------------
git clone https://github.com/dovecot/core.git dovecot
---%<-------------------------------------------------------------------------

you will first need to run './autogen.sh' to generate the 'configure' script
and some other files. This requires that you have the following
software/packages installed:

 * 'autoconf'
 * 'automake'
 * 'libtool'
 * 'pkg-config'
 * 'gettext'
 * 'pandoc' (not strictly required - you can avoid it by using: 'PANDOC=false
   ./configure')
 * GNU make.

It is advisable to add '--enable-maintainer-mode' to the 'configure' script.
Thus:

---%<-------------------------------------------------------------------------
./autogen.sh
./configure --enable-maintainer-mode
make
sudo make install
---%<-------------------------------------------------------------------------

For later updates, you can use:

---%<-------------------------------------------------------------------------
git pull
make
sudo make install
---%<-------------------------------------------------------------------------

Compiling Dovecot with rpmbuild (Mandriva, RedHat, etc.)
========================================================

Fetch the source rpm from ftp://ftp.surfnet.nl/
[ftp://ftp.surfnet.nl/vol/5/mandrakelinux/official/2007.0/SRPMS/contrib/release/]
or any other mirror. At the moment of this writing dovecot-10.rc26.src.rpm can
be found in the cooker subtree. If the current release is newer; updating the
source rpm is not difficult. Unpack the source rpm with 'rpm -ivh
dovecot-10.rc26.src.rpm' to a build environment (/usr/src/rpm...) Copy the
newer tarball from the dovecot site to the SOURCES directory of the build
environment. Change the dovecot.spec file in the SPECS directory to reflect the
new release and the new name of the tarball. The maintainer seems to work with
a bz2 tarball; a tar.gz tarball makes no difference Issue a rpmbuild -ba
dovecot.spec. The resulting rpm will be placed in RPMS/i586 Install with rpm or
urpmi.

---%<-------------------------------------------------------------------------
rpm -ivh dovecot-1.0.rc26.src.rpm
cd /usr/src/rpm
mv ~/downloads/dovecot-1.0.rc28.tar.gz ./SOURCES
cd SPECS
vi dovecot.spec
...edit release and tarball name. Change default options if needed...
rpmbuild -ba dovecot.spec
cd ../RPMS/i586
urpmi ./dovecot-1.0.rc28-1mdv2007.0.i586.rpm
---%<-------------------------------------------------------------------------

During this process missing prerequisites may be detected. Install them and
rerun the build process. The spec file also need updating for the new add-ons
(idxview and logview).

SSL/TLS Support
===============

Dovecot was initially built to support both OpenSSL and GNUTLS. GNUTLS has
however had some problems and nowadays it does not work any more. Patches to
fix it are welcome.

OpenSSL is used by default now, and it should be automatically detected. If it
is not, you are missing some header files or libraries, or they are just in a
non-standard path. Make sure you have the 'openssl-dev' or a similar package
installed, and if it is not in the standard location, set 'CPPFLAGS' and
'LDFLAGS' as shown in <the first section above.> [CompilingSource.txt]

By default the SSL certificate is read from '/etc/ssl/certs/dovecot.pem' and
the private key from '/etc/ssl/private/dovecot.pem'. The '/etc/ssl' directory
can be changed using the '--with-ssldir=DIR' configure option. Both can of
course be overridden from the configuration file.

Solaris and OpenSSL problems
----------------------------

Solaris 10 includes a bundled OpenSSL that does not function correctly with
Dovecot when attempting to use SSL/TLS with the default dovecot config. This is
because the default setting of ssl_cipher_list in 'dovecot.conf' is HIGH:!ALL;
due to import restrictions in some countries (now apparently relaxed) the high
level routines are part of the unbundled SUNWcry package and are not available
if you don't have this package installed. This confuses the client as dovecot
announces support for high level crypto and then cannot deliver. In any case,
to resolve this you can alternatively (in decreasing order of simplicity):

 1. Set 'ssl_cipher_list = MEDIUM:!LOW' in 'dovecot.conf'
 2. Find and install the missing SUNWcry package.
 3. Provide an alternate version of the openssl libraries that doesn't have the
    high grade routines removed for your protection (sigh). The bundled version
    of OpenSSL cannot be removed. Installing a newer OpenSSL from source or
    package (for instance, from http://sunfreeware.com/) will enable Dovecot to
    work correctly as long as you link against the new OpenSSL. Assuming you
    are building with the built-in ld, make and gcc, then your build should go
    something like this (notice the -R required by Sun's linker that sets the
    runtime linking path in the resulting programs so the OpenSSL libraries
    load from '/usr/local/ssl/lib'):

---%<-------------------------------------------------------------------------
PATH=$PATH:/usr/sfw/bin:/usr/ccs/bin
export PATH
mv /usr/lib/pkgconfig/openssl.pc /usr/lib/pkgconfig/openssl.pc.orig
CPPFLAGS=-I/usr/local/ssl/include \
 LDFLAGS='-L/usr/local/ssl/lib -R/usr/local/ssl/lib' \
 ./configure --with-ssl=openssl
make
make install
---%<-------------------------------------------------------------------------

Notify method
=============

Linux
-----

Note that current 'inotify' is in the Linux kernel since version 2.6.13 and it
is preferred over 'dnotify'. If your distribution does not have the required
'inotify' header file, you can get it from the inotify maintainer (this example
requires cURL [http://curl.haxx.se/]):

---%<-------------------------------------------------------------------------
mkdir -p /usr/local/include/sys
cd /usr/local/include/sys
curl ftp://ftp.kernel.org/pub/linux/kernel/people/rml/inotify/headers/inotify.h
-O
curl
ftp://ftp.kernel.org/pub/linux/kernel/people/rml/inotify/headers/inotify-syscalls.h
>> inotify.h
---%<-------------------------------------------------------------------------

/usr/local/include isn't in standard include lookup path, so you'll need to
specify that to configure:

---%<-------------------------------------------------------------------------
CPPFLAGS=-I/usr/local/include ./configure --with-notify=inotify
---%<-------------------------------------------------------------------------

Debian Etch ships 'sys/inotify.h' wrapped in the 'inotify-tools' package and
installs the header file into '/usr/include/inotifytools/'. To use the header
file use:

---%<-------------------------------------------------------------------------
if ! test -e /usr/include/sys/inotify.h; then
    aptitude install inotify-tools
    ln -sf /usr/include/inotifytools/inotify.h /usr/include/sys/inotify.h
fi
---%<-------------------------------------------------------------------------

Then pass 'CPPFLAGS' as in the example above:

---%<-------------------------------------------------------------------------
CPPFLAGS=-I/usr/include/inotifytools ./configure --with-notify=inotify
---%<-------------------------------------------------------------------------

Optional Configure Options
==========================

--help:
  gives a full list of available options

--help=short:
  just lists the options added by the particular package (= Dovecot)

Options are usually listed as '--with-something' or '--enable-something'. If
you want to disable them, do it as '--without-something' or
'--disable-something'. There are many default options that come from autoconf,
automake or libtool. They are explained elsewhere.

Here is a list of options that Dovecot adds. You should not usually have to
change these, but they are described here just for completeness:

--enable-devel-checks:
  Enables some extra sanity checks. This is mainly useful for developers. It
  does quite a lot of unnecessary work but should catch some programming
  mistakes more quickly.

--enable-asserts:
  Enable assertion checks, enabled by default. Disabling them may slightly save
  some CPU, but if there are bugs they can cause more problems since they are
  not detected as early.

--without-shared-libs:
  Link Dovecot binaries with static libraries instead of dynamic libraries.

--disable-largefile:
  Specifies if we use 32bit or 64bit file offsets in 32bit CPUs. 64bit is the
  default if the system supports it  (Linux and Solaris do). Dropping this to
  32bit may save some memory, but it prevents accessing any file larger than 2
  GB.

--with-mem-align=BYTES:
  Specifies memory alignment used for memory allocations. It is needed with
  many non-x86 systems and it should speed up x86 systems too. Default is 8, to
  make sure 64bit memory accessing works.

--with-ioloop=IOLOOP:
  Specifies what I/O loop method to use. Possibilities are 'select', 'poll',
  'epoll' and 'kqueue'. The default is to use the best method available on your
  system.

--with-notify=NOTIFY:
  Specifies what file system notification method to use. Possibilities are
  'dnotify', 'inotify' (both on Linux), 'kqueue' (FreeBSD) and 'none'. The
  default is to use the best method available on your system. See <Notify
  method> [CompilingSource.txt] above for more information.

--with-storages=FORMATS:
  Specifies what mailbox formats to support. Note: Independent of this option,
  the formats /raw/ and /shared/ will be always built.

--with-solr:
  Build with Solr full text search support

--with-zlib:
  Build with zlib compression support (default if detected)

--with-bzlib:
  Build with bzip2 compression support (default if detected)

SQL Driver Options
------------------

SQL drivers are typically used only for authentication, but they may be used as
a lib-dict backend too, which can be used by plugins for different purposes.

--with-sql-drivers:
  Build with specified SQL drivers. Defaults to all that were found with
  autodetection.

--with-pgsql:
  Build with PostgreSQL support (requires pgsql-devel, libpq-dev or similar
  package)

--with-mysql:
  Build with MySQL support (requires mysql-devel, libmysqlclient15-dev or
  similar package)

--with-sqlite:
  Build with SQLite3 driver support (requires sqlite-devel, libsqlite3-dev or
  similar package)

Authentication Backend Options
------------------------------

The basic backends are built if the system is detected to support them:

--with-shadow:
  Build with <shadow> [PasswordDatabase.Shadow.txt] password support

--with-pam:
  Build with <PAM> [PasswordDatabase.PAM.txt] support

--with-nss:
  Build with <NSS> [UserDatabase.NSS.txt] support

--with-sia:
  Build with Tru64 SIA support

--with-bsdauth:
  Build with <BSD authentication> [PasswordDatabase.BSDAuth.txt] support (if
  supported by your OS)

Some backends require extra libraries and are not necessarily wanted, so they
are built only if specifically enabled:

--with-sql:
  Build with generic SQL support (drivers are enabled separately)

--with-ldap:
  Build with LDAP support (requires openldap-devel, libldap2-dev or similar
  package)

--with-gssapi:
  Build with GSSAPI authentication support (requires krb5-devel, libkrb5-dev or
  similar package)

--with-vpopmail:
  Build with vpopmail support (requires vpopmail sources or a devel package)

It's also possible to build these as plugins by giving e.g. --with-sql=plugin.

Dynamic IMAP and POP3 Modules
=============================

The 'mail_plugins' setting lists all plugins that Dovecot is supposed to load
from the 'mail_plugin_dir' directory at program start. These plugins can do
anything they want. They are only expected to contain the '<plugin name>_init'
and '<plugin name>_deinit' functions which are called at startup and at exit.

The plugin filename is prefixed with a number which specifies the order in
which the plugins are loaded. This is important if one plugin depends on
another.

(This file was created from the wiki on 2019-06-19 12:42)