OSDN Git Service

Merge branch 'del_vs_crash_fix' into v3.1.0-devel
[ultramonkey-l7/ultramonkey-l7-v3.git] / ultramonkeyl7.spec
1 %define l7vs_moddir     %{_libdir}/l7vs
2 %define l7vs_logdir     %{_localstatedir}/log/l7vs
3 %define l7vs_includedir %{_includedir}/l7vs
4 %define l7vsadm_sockdir %{_localstatedir}/run/l7vs
5 %define l7vs_maxvs      64
6
7 Summary: The Layer-7 Virtual Server
8 Name: ultramonkeyl7
9 Version: 3.1.0
10 Release: devel%{?dist}
11 License: LGPLv2.1
12 Group: System Environment/Daemons
13 URL: http://sourceforge.jp/projects/ultramonkey-l7/
14 Source0: %{name}-%{version}.tar.gz
15 BuildRoot: %{_tmppath}/%{name}-%{version}-root
16 BuildRequires: glib2-devel
17 AutoReqProv: no
18 Requires: boost >= 1.41.0
19 Requires: apache-log4cxx >= 0.10.0
20 Requires: apr
21 Requires: apr-util
22 Requires: openssl
23 Requires: net-snmp
24 Requires: perl
25 Requires: perl-libwww-perl
26 Requires: perl-Crypt-SSLeay
27 Requires: perl-Net-SSLeay
28 Requires: perl-IO-Socket-SSL
29 Requires: perl-IO-Socket-INET6
30
31 %define hb2_tempdir     /usr/share/doc/%{name}-%{version}-%{release}/heartbeat-ra
32 %define mibs_tempdir    /usr/share/doc/%{name}-%{version}-%{release}/mibs
33 %define moduledevel_tempdir     /usr/share/doc/%{name}-%{version}-%{release}/moduledevel
34
35 %description
36 Layer-7 load balancing daemon
37
38 %package devel
39 Summary:        Header files for UltraMonkeyl7's module
40 Group:          Development/Libraries
41 Requires:       %{name} = %{version}-%{release}
42
43 %description devel
44 This is the development package that provides header files
45 for UltraMonkeyl7's module.
46
47 %prep
48 %setup -q
49
50 %build
51 %configure
52 make
53
54 %install
55 rm -rf ${RPM_BUILD_ROOT}
56
57 mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
58 mkdir -p -m 755 ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs
59 mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy
60 mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/ha.d/conf
61 mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d
62 mkdir -p -m 755 ${RPM_BUILD_ROOT}%{l7vs_moddir}
63 mkdir -p ${RPM_BUILD_ROOT}%{l7vs_logdir}
64 mkdir -p ${RPM_BUILD_ROOT}%{l7vsadm_sockdir}
65 mkdir -p ${RPM_BUILD_ROOT}%{hb2_tempdir}
66 mkdir -p ${RPM_BUILD_ROOT}%{mibs_tempdir}
67 mkdir -p ${RPM_BUILD_ROOT}%{moduledevel_tempdir}
68 mkdir -p ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample
69 mkdir -p ${RPM_BUILD_ROOT}%{l7vs_includedir}
70
71 # bin
72 install -c -m 755 -D l7vsd/src/l7vsd ${RPM_BUILD_ROOT}%{_sbindir}/l7vsd
73 install -c -m 755 -D l7vsd/src/l7vsadm ${RPM_BUILD_ROOT}%{_sbindir}/l7vsadm
74 install -c -m 755 -D l7directord/l7directord ${RPM_BUILD_ROOT}%{_sbindir}/l7directord
75
76 # lib
77 install -c -m 755 -D l7vsd/module/protocol/.libs/libprotomod_sslid.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/protomod_sslid.so
78 install -c -m 755 -D l7vsd/module/protocol/.libs/libprotomod_ip.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/protomod_ip.so
79 install -c -m 755 -D l7vsd/module/protocol/.libs/libprotomod_sessionless.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/protomod_sessionless.so
80 install -c -m 755 -D l7vsd/module/schedule/.libs/libsched_lc.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/sched_lc.so
81 install -c -m 755 -D l7vsd/module/schedule/.libs/libsched_rr.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/sched_rr.so
82 install -c -m 755 -D l7vsd/module/schedule/.libs/libsched_wrr.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/sched_wrr.so
83
84 # initscripts
85 install -c -m 755 -D l7directord/init.d/l7directord ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d/l7directord
86 install -c -m 755 -D l7vsd/init.d/l7vsd ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d/l7vsd
87
88 # config
89 install -c -m 644 -D doc/conf/l7vs.cf ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/l7vs.cf
90 install -c -m 644 -D doc/conf/l7directord.cf.sample ${RPM_BUILD_ROOT}%{_sysconfdir}/ha.d/conf/l7directord.cf.sample
91 install -c -m 644 -D doc/conf/sslproxy.target.cf ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/sslproxy.target.cf
92 install -c -m 644 -D doc/sslfiles/root.pem ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/root.pem
93 install -c -m 644 -D doc/sslfiles/server.pem ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/server.pem
94 install -c -m 644 -D doc/sslfiles/dh512.pem ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/dh512.pem
95 install -c -m 644 -D doc/sslfiles/passwd.txt ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/passwd.txt
96
97 # heartbeat2 config
98 install -c -m 644 -D doc/heartbeat-ra/logd.cf ${RPM_BUILD_ROOT}%{hb2_tempdir}/logd.cf
99 install -c -m 644 -D doc/heartbeat-ra/ha.cf ${RPM_BUILD_ROOT}%{hb2_tempdir}/ha.cf
100 install -c -m 600 -D doc/heartbeat-ra/authkeys ${RPM_BUILD_ROOT}%{hb2_tempdir}/authkeys
101 install -c -m 600 -D doc/heartbeat-ra/cib.xml-sample ${RPM_BUILD_ROOT}%{hb2_tempdir}/cib.xml
102 install -c -m 755 -D doc/heartbeat-ra/L7vsd ${RPM_BUILD_ROOT}%{hb2_tempdir}/L7vsd
103 install -c -m 755 -D doc/heartbeat-ra/L7directord ${RPM_BUILD_ROOT}%{hb2_tempdir}/L7directord
104 install -c -m 755 -D doc/heartbeat-ra/VIPcheck ${RPM_BUILD_ROOT}%{hb2_tempdir}/VIPcheck
105
106 # mib file
107 install -c -m 644 -D doc/mibs/ULTRAMONKEY-L7-MIB.txt ${RPM_BUILD_ROOT}%{mibs_tempdir}/ULTRAMONKEY-L7-MIB.txt
108
109 # header for devel
110 install -c -m 644 -D l7vsd/include/protocol_module_base.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/protocol_module_base.h
111 install -c -m 644 -D l7vsd/include/schedule_module_base.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/schedule_module_base.h
112 install -c -m 644 -D l7vsd/include/module_base.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/module_base.h
113 install -c -m 644 -D l7vsd/include/utility.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/utility.h
114 install -c -m 644 -D l7vsd/include/logger.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/logger.h
115 install -c -m 644 -D l7vsd/include/logger_enum.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/logger_enum.h
116 install -c -m 644 -D l7vsd/include/trapmessage.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/trapmessage.h
117 install -c -m 644 -D l7vsd/include/error_code.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/error_code.h
118 install -c -m 644 -D l7vsd/include/atomic.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/atomic.h
119 install -c -m 644 -D l7vsd/include/wrlock.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/wrlock.h
120 install -c -m 644 -D l7vsd/include/replication.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/replication.h
121 install -c -m 644 -D l7vsd/include/realserver.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/realserver.h
122 install -c -m 644 -D l7vsd/include/realserver_element.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/realserver_element.h
123 install -c -m 644 -D l7vsd/include/endpoint.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/endpoint.h
124 install -c -m 644 -D doc/moduledevel/sample/protocol/README ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/README
125 install -c -m 644 -D doc/moduledevel/sample/protocol/Makefile.am ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/Makefile.am
126 install -c -m 644 -D doc/moduledevel/sample/protocol/configure.in ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/configure.in
127 install -c -m 644 -D doc/moduledevel/sample/protocol/http_protocol_module_base.cpp ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/http_protocol_module_base.cpp
128 install -c -m 644 -D doc/moduledevel/sample/protocol/http_protocol_module_base.h ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/http_protocol_module_base.h
129 install -c -m 644 -D doc/moduledevel/sample/protocol/protocol_module_simple.cpp ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/protocol_module_simple.cpp
130 install -c -m 644 -D doc/moduledevel/sample/protocol/protocol_module_simple.h ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/protocol_module_simple.h
131 install -c -m 644 -D doc/moduledevel/sample/schedule/README ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/README
132 install -c -m 644 -D doc/moduledevel/sample/schedule/Makefile.am ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/Makefile.am
133 install -c -m 644 -D doc/moduledevel/sample/schedule/configure.in ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/configure.in
134 install -c -m 644 -D doc/moduledevel/sample/schedule/schedule_module_rnd.cpp ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/schedule_module_rnd.cpp
135 install -c -m 644 -D doc/moduledevel/sample/schedule/schedule_module_rnd.h ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/schedule_module_rnd.h
136
137 %clean
138 rm -rf $RPM_BUILD_ROOT
139
140 %post
141 chkconfig --add l7vsd
142 chkconfig --add l7directord
143
144 %preun
145 if [ $1 = 0 ]; then
146         /sbin/service l7directord stop > /dev/null 2>&1
147         /sbin/service l7vsd stop > /dev/null 2>&1
148         chkconfig --del l7vsd
149         chkconfig --del l7directord
150 fi
151
152 %files
153 %defattr(-, root, root, 0755)
154 %{_sbindir}/*
155 %{l7vs_moddir}/*
156 %{_sysconfdir}/rc.d/init.d/*
157 %dir %{l7vs_moddir}
158 %dir %{l7vs_logdir}
159 %config(noreplace) %{_sysconfdir}/l7vs/*
160 %config(noreplace) %{_sysconfdir}/ha.d/*
161 %dir %{_sysconfdir}/l7vs
162 %dir %{_sysconfdir}/ha.d
163 %dir %{l7vsadm_sockdir}
164 %dir %{hb2_tempdir}
165 %config(noreplace) %{hb2_tempdir}/*
166 %dir %{mibs_tempdir}
167 %config(noreplace) %{mibs_tempdir}/*
168
169 %files devel
170 %defattr(-, root, root, 0755)
171 %dir %{_includedir}/l7vs
172 %{_includedir}/l7vs/protocol_module_base.h
173 %{_includedir}/l7vs/schedule_module_base.h
174 %{_includedir}/l7vs/module_base.h
175 %{_includedir}/l7vs/utility.h
176 %{_includedir}/l7vs/logger.h
177 %{_includedir}/l7vs/logger_enum.h
178 %{_includedir}/l7vs/trapmessage.h
179 %{_includedir}/l7vs/error_code.h
180 %{_includedir}/l7vs/atomic.h
181 %{_includedir}/l7vs/wrlock.h
182 %{_includedir}/l7vs/replication.h
183 %{_includedir}/l7vs/realserver.h
184 %{_includedir}/l7vs/realserver_element.h
185 %{_includedir}/l7vs/endpoint.h
186 %dir %{moduledevel_tempdir}
187 %{moduledevel_tempdir}/*
188
189 %changelog
190 * Sat Sep 8 2012 HIBARI Michiro  <l05102@shibaura-it.ac.jp> 3.1.0-devel
191 - Update for 3.1.0-devel
192 - Change spec file for generate devel package.
193
194 * Fri Aug 31 2012 Hiroaki Nakano  <nakano.hiroaki@nttcom.co.jp> 3.0.4-2
195 - Update for 3.0.4-2
196
197 * Mon Aug 6 2012 Takeda Kenji <takeda.kenji@nttcom.co.jp> 3.0.4-1
198 - Update for 3.0.4-1
199
200 * Wed Aug 1 2012 Hiroaki Nakano <nakano.hiroaki@nttcom.co.jp> 3.0.4-rc1
201 - Update for 3.0.4-rc1
202
203 * Thu Dec 20 2011 HIBARI Michiro <hibari.michirou@nttcom.co.jp> 3.0.3-1
204 - Update for 3.0.3-1
205
206 * Thu Feb 10 2011 HIBARI Michiro <hibari.michirou@nttcom.co.jp> 3.0.2-1
207 - Update for 3.0.2-1
208
209 * Mon Jan 24 2011 HIBARI Michiro <hibari.michirou@nttcom.co.jp> 3.0.1-1
210 - Update for 3.0.1-1
211
212 * Thu Jan 14 2010 TATEISHI Katsuyuki <kt@wheel.jp> 3.0.0-1
213 - Update for 3.0.0-1
214
215 * Sat Aug 22 2009 TATEISHI Katsuyuki <kt@wheel.jp> 2.1.3-0
216 - Update for 2.1.3-0
217
218 * Thu Aug  6 2009 TATEISHI Katsuyuki <kt@wheel.jp> 2.1.2-2atfix
219 - rpmlint free