]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_with pam # PAM authentication support | |
4 | %bcond_without logdb # enable mod_logdb (server-side message logging) | |
5 | # | |
6 | ||
7 | %define realname ejabberd | |
8 | ||
9 | %define pgsql_module_rev 1105 | |
10 | ||
11 | Summary: Fault-tolerant distributed Jabber/XMPP server | |
12 | Summary(pl.UTF-8): Odporny na awarie rozproszony serwer Jabbera/XMPP | |
13 | Name: %{realname} | |
14 | Version: 2.1.13 | |
15 | Release: 1 | |
16 | License: GPL | |
17 | Group: Applications/Communications | |
18 | Source0: http://www.process-one.net/downloads/ejabberd/%{version}/%{realname}-%{version}.tgz | |
19 | # Source0-md5: 00f8f28752e6728870cb4c8ad0339984 | |
20 | Source1: %{realname}.init | |
21 | Source2: %{realname}.sysconfig | |
22 | Source3: %{realname}.sh | |
23 | Source4: %{realname}ctl.sh | |
24 | Source5: %{realname}-inetrc | |
25 | # svn export -r %{pgsql_module_rev} https://svn.process-one.net/ejabberd-modules/pgsql/trunk/src ejabberd-module-pgsql-%{pgsql_module_rev} | |
26 | Source6: ejabberd-module-pgsql-%{pgsql_module_rev}.tar.bz2 | |
27 | # Source6-md5: 7a8ba920a508f5180284699610789c14 | |
28 | Patch0: %{realname}-makefile.patch | |
29 | Patch1: %{realname}-config.patch | |
30 | Patch2: %{realname}-mod_muc.patch | |
31 | # http://www.dp.uz.gov.ua/o.palij/mod_logdb/patch-mod_logdb-2.1.12.diff | |
32 | Patch3: %{realname}-mod_logdb.patch | |
33 | Patch4: %{realname}-vcard-access-get.patch | |
34 | URL: http://www.ejabberd.im/ | |
35 | BuildRequires: autoconf | |
36 | BuildRequires: automake | |
37 | BuildRequires: erlang >= R10B_5 | |
38 | BuildRequires: expat-devel >= 1.95 | |
39 | BuildRequires: openssl-devel | |
40 | %if %{with pam} | |
41 | BuildRequires: pam-devel | |
42 | %endif | |
43 | BuildRequires: rpmbuild(macros) >= 1.268 | |
44 | BuildRequires: zlib-devel | |
45 | Requires(post): /usr/bin/perl | |
46 | Requires(post): jabber-common | |
47 | Requires(post): sed >= 4.0 | |
48 | Requires(post): textutils | |
49 | Requires(post,preun): /sbin/chkconfig | |
50 | Requires: erlang | |
51 | Requires: expat >= 1.95 | |
52 | Requires: rc-scripts | |
53 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
54 | ||
55 | %description | |
56 | ejabberd is a Free and Open Source fault-tolerant distributed Jabber | |
57 | server. It is written mostly in Erlang. | |
58 | ||
59 | %description -l pl.UTF-8 | |
60 | ejabberd to darmowy, z otwartymi źródłami, odporny na awarie | |
61 | rozproszony serwer Jabbera. Jest napisany w większości w Erlangu. | |
62 | ||
63 | %package logdb | |
64 | Summary: Server-side logging module | |
65 | Group: Applications/Communications | |
66 | Requires: %{name} = %{version}-%{release} | |
67 | ||
68 | %description logdb | |
69 | Server-side logging module. | |
70 | ||
71 | %prep | |
72 | %setup -q -a 6 | |
73 | %patch0 -p1 | |
74 | %patch1 -p1 | |
75 | %patch2 -p1 | |
76 | %patch4 -p1 | |
77 | %if %{with logdb} | |
78 | %patch3 -p0 | |
79 | %endif | |
80 | ||
81 | %build | |
82 | cd src | |
83 | %{__aclocal} | |
84 | %{__autoconf} | |
85 | %configure \ | |
86 | %{?with_pam --enable-pam} \ | |
87 | --with-openssl=%{_prefix} \ | |
88 | --enable-odbc | |
89 | %{__make} -j1 | |
90 | cd .. | |
91 | cd ejabberd-module-pgsql-%{pgsql_module_rev} | |
92 | for f in *.erl ; do | |
93 | erlc $f | |
94 | done | |
95 | cd .. | |
96 | ||
97 | %install | |
98 | rm -rf $RPM_BUILD_ROOT | |
99 | install -d $RPM_BUILD_ROOT{/var/lib/%{realname},/etc/{sysconfig,rc.d/init.d},%{_sbindir}} | |
100 | ||
101 | %{__make} -C src install -j1 \ | |
102 | DESTDIR=$RPM_BUILD_ROOT | |
103 | ||
104 | sed -e's,@libdir@,%{_libdir},g' -e 's,@EJABBERD_DOC_PATH@,%{_docdir}/%{name}-%{version}/doc,g' %{SOURCE1} > $RPM_BUILD_ROOT/etc/rc.d/init.d/%{realname} | |
105 | install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{realname} | |
106 | ||
107 | chmod u+rw $RPM_BUILD_ROOT%{_sbindir}/%{realname}* | |
108 | sed -e's,@libdir@,%{_libdir},g' %{SOURCE3} > $RPM_BUILD_ROOT%{_sbindir}/%{realname} | |
109 | sed -e's,@libdir@,%{_libdir},g' %{SOURCE4} > $RPM_BUILD_ROOT%{_sbindir}/%{realname}ctl | |
110 | install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/jabber | |
111 | ||
112 | chmod 755 $RPM_BUILD_ROOT%{_libdir}/ejabberd/priv/lib/*.so | |
113 | ||
114 | cd ejabberd-module-pgsql-%{pgsql_module_rev} | |
115 | for f in *.beam ; do | |
116 | install $f $RPM_BUILD_ROOT%{_libdir}/ejabberd/ebin | |
117 | done | |
118 | cd .. | |
119 | ||
120 | %clean | |
121 | rm -rf $RPM_BUILD_ROOT | |
122 | ||
123 | %post | |
124 | if [ -f %{_sysconfdir}/jabber/secret ] ; then | |
125 | SECRET=`cat %{_sysconfdir}/jabber/secret` | |
126 | if [ -n "$SECRET" ] ; then | |
127 | echo "Updating component authentication secret in ejabberd config file..." | |
128 | %{__sed} -i -e "s/>secret</>$SECRET</" /etc/jabber/ejabberd.cfg | |
129 | fi | |
130 | fi | |
131 | ||
132 | if [ ! -f %{_sysconfdir}/jabber/cookie ] ; then | |
133 | echo "Generating erl authentication cookie..." | |
134 | umask 066 | |
135 | perl -e 'open R,"/dev/urandom"; read R,$r,16; | |
136 | printf "%02x",ord(chop $r) while($r);' > %{_sysconfdir}/jabber/cookie | |
137 | fi | |
138 | ||
139 | /sbin/chkconfig --add ejabberd | |
140 | %service ejabberd restart "ejabberd server" | |
141 | ||
142 | %preun | |
143 | if [ "$1" = "0" ]; then | |
144 | %service ejabberd stop | |
145 | /sbin/chkconfig --del ejabberd | |
146 | fi | |
147 | ||
148 | %files | |
149 | %defattr(644,root,root,755) | |
150 | %doc doc src/odbc/pg.sql src/odbc/mysql.sql | |
151 | %attr(755,root,root) %{_sbindir}/* | |
152 | %attr(640,root,jabber) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/jabber/* | |
153 | %attr(770,root,jabber) /var/log/ejabberd | |
154 | %if %{with logdb} | |
155 | %exclude %{_libdir}/ejabberd/ebin/mod_logdb* | |
156 | %endif | |
157 | %{_libdir}/ejabberd | |
158 | %dir %attr(770,root,jabber) /var/lib/ejabberd | |
159 | %attr(754,root,root) /etc/rc.d/init.d/%{realname} | |
160 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{realname} | |
161 | ||
162 | %if %{with logdb} | |
163 | %files logdb | |
164 | %defattr(644,root,root,755) | |
165 | %{_libdir}/ejabberd/ebin/mod_logdb* | |
166 | %endif |