try removing -doc
[ejabberd.git] / ejabberd.spec
1
2 %define name ejabberd
3 %define version 2.1.3
4 %define taglevel 1
5
6 Name:           %{name}
7 Version:        %{version}
8 Release:        %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
9 Summary:        A distributed, fault-tolerant Jabber/XMPP server
10
11 Group:          Applications/Internet
12 License:        GPLv2+
13 URL:            http://www.ejabberd.im/
14 Source0:        http://www.process-one.net/downloads/%{name}/%{version}/%{name}-%{version}.tar.gz
15 Source1:        ejabberd.init
16 Source2:        ejabberd.logrotate
17 Source3:        ejabberd.sysconfig
18
19 # PAM support
20 Source9:        ejabberdctl.pam
21 Source10:       ejabberdctl.apps
22 Source11:       ejabberd.pam
23
24 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
25
26 BuildRequires:  expat-devel
27 BuildRequires:  openssl-devel
28 BuildRequires:  pam-devel
29 BuildRequires:  erlang
30 #docs disabled
31 #BuildRequires:  hevea
32
33 Requires:       erlang
34 Requires:       usermode
35
36 Requires(pre): fedora-usermgmt
37 Requires(post): /sbin/chkconfig
38 Requires(post): /usr/bin/openssl
39 Requires(preun): /sbin/chkconfig
40 Requires(preun): /sbin/service
41 Requires(postun): /sbin/service
42
43 %description
44 ejabberd is a Free and Open Source distributed fault-tolerant
45 Jabber/XMPP server. It is mostly written in Erlang, and runs on many
46 platforms (tested on Linux, FreeBSD, NetBSD, Solaris, Mac OS X and
47 Windows NT/2000/XP).
48
49 %pre
50 /usr/sbin/fedora-groupadd 27 -r ejabberd &>/dev/null || :
51 /usr/sbin/fedora-useradd  27 -r -s /sbin/nologin -d /var/lib/ejabberd -M \
52                              -c 'ejabberd' -g ejabberd ejabberd &>/dev/null || :
53
54 %post
55 /sbin/chkconfig --add ejabberd
56
57 (cd /etc/ejabberd
58 if [ ! -f ejabberd.pem ]
59 then
60     echo "Generating SSL certificate /etc/ejabberd/ejabberd.pem..."
61     HOSTNAME=$(hostname -s 2>/dev/null || echo "localhost")
62     DOMAINNAME=$(hostname -d 2>/dev/null || echo "localdomain")
63     openssl req -new -x509 -days 365 -nodes -out ejabberd.pem \
64                 -keyout ejabberd.pem > /dev/null 2>&1 <<+++
65 .
66 .
67 .
68 $DOMAINNAME
69 $HOSTNAME
70 ejabberd
71 root@$HOSTNAME.$DOMAINNAME
72 +++
73 chown ejabberd:ejabberd ejabberd.pem
74 chmod 600 ejabberd.pem
75 fi)
76
77 %preun
78 if [ $1 = 0 ]; then
79         /sbin/service ejabberd stop >/dev/null 2>&1
80         /sbin/chkconfig --del ejabberd
81 fi
82
83 %postun
84 if [ "$1" -ge "1" ]; then
85         /sbin/service ejabberd condrestart >/dev/null 2>&1
86 fi
87
88 %prep
89 %setup -q
90
91
92 %build
93 pushd src
94 %configure --enable-odbc --enable-debug --enable-pam
95 # doesn't builds on SMP currently
96 make
97 popd
98
99 # compile w/o docs
100 pushd doc
101 # remove pre-built docs
102 rm -f dev.html features.html features.pdf guide.html guide.pdf
103 popd
104
105 %install
106 rm -rf %{buildroot}
107
108 pushd src
109 make install DESTDIR=%{buildroot}
110 popd
111
112 chmod a+x %{buildroot}%{_libdir}/%{name}/priv/lib/*.so
113
114 %{__perl} -pi -e 's!./ssl.pem!/etc/ejabberd/ejabberd.pem!g' %{buildroot}/etc/ejabberd/ejabberd.cfg
115
116 mkdir -p %{buildroot}/var/log/ejabberd
117 mkdir -p %{buildroot}/var/lib/ejabberd/spool
118
119 mkdir -p %{buildroot}%{_bindir}
120 ln -s consolehelper %{buildroot}%{_bindir}/ejabberdctl
121 install -D -p -m 0644 %{S:9} %{buildroot}%{_sysconfdir}/pam.d/ejabberdctl
122 install -D -p -m 0644 %{S:10} %{buildroot}%{_sysconfdir}/security/console.apps/ejabberdctl
123 install -D -p -m 0644 %{S:11} %{buildroot}%{_sysconfdir}/pam.d/ejabberd
124
125 # install init-script
126 install -D -p -m 0755 %{S:1} %{buildroot}%{_initrddir}/ejabberd
127
128 # install config for logrotate
129 install -D -p -m 0644  %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd
130
131 # install sysconfig file
132 install -D -p -m 0644  %{S:3} %{buildroot}%{_sysconfdir}/sysconfig/ejabberd
133
134 %{__perl} -pi -e 's!\@libdir\@!%{_libdir}!g'  %{buildroot}%{_initrddir}/ejabberd %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd %{buildroot}%{_sbindir}/ejabberdctl
135 %{__perl} -pi -e 's!\@version\@!%{version}!g' %{buildroot}%{_initrddir}/ejabberd %{buildroot}%{_sysconfdir}/logrotate.d/ejabberd %{buildroot}%{_sbindir}/ejabberdctl
136
137 # BZ# 439583
138 %{__perl} -pi -e 's!MAINDIR=!MAINDIR=%{_libdir}/ejabberd!g' %{buildroot}%{_sbindir}/ejabberdctl
139
140 %clean
141 rm -rf %{buildroot}
142
143 %files
144 %defattr(-,root,root,-)
145 %doc COPYING src/odbc/mysql.sql src/odbc/pg.sql tools/captcha.sh
146
147 %attr(750,ejabberd,ejabberd) %dir %{_sysconfdir}/ejabberd
148 %attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/ejabberd.cfg
149 %attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/ejabberdctl.cfg
150 %attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/inetrc
151
152 %{_initrddir}/ejabberd
153 %config(noreplace) %{_sysconfdir}/logrotate.d/ejabberd
154 %config(noreplace) %{_sysconfdir}/sysconfig/ejabberd
155 %config(noreplace) %{_sysconfdir}/pam.d/ejabberd
156 %config(noreplace) %{_sysconfdir}/pam.d/ejabberdctl
157 %config(noreplace) %{_sysconfdir}/security/console.apps/ejabberdctl
158 %{_bindir}/ejabberdctl
159 %{_sbindir}/ejabberdctl
160
161 %dir %{_libdir}/%{name}
162 %dir %{_libdir}/%{name}/include
163 %dir %{_libdir}/%{name}/ebin
164 %dir %{_libdir}/%{name}/priv
165 %dir %{_libdir}/%{name}/priv/bin
166 %attr(4750,root,ejabberd)    %{_libdir}/%{name}/priv/bin/epam
167 %dir %{_libdir}/%{name}/priv/lib
168 %dir %{_libdir}/%{name}/priv/msgs
169
170 %{_libdir}/%{name}/include/*
171 %{_libdir}/%{name}/ebin/*.app
172 %{_libdir}/%{name}/ebin/*.beam
173 %{_libdir}/%{name}/priv/lib/*.so
174 %{_libdir}/%{name}/priv/msgs/*.msg
175 %{_libdir}/%{name}/priv/bin/captcha.sh
176
177 %attr(750,ejabberd,ejabberd) %dir /var/lib/ejabberd
178 %attr(750,ejabberd,ejabberd) %dir /var/lib/ejabberd/spool
179 %attr(750,ejabberd,ejabberd) %dir /var/lock/ejabberdctl
180 %attr(750,ejabberd,ejabberd) %dir /var/log/ejabberd
181
182 %changelog
183 * Mon Mar 16 2010 Baris Metin <tmetin@sophia.inria.fr>
184 - first package from Fedora SRPM, for planetlab