%define l7vs_moddir %{_libdir}/l7vs
%define l7vs_logdir %{_localstatedir}/log/l7vs
+%define l7vs_includedir %{_includedir}/l7vs
%define l7vsadm_sockdir %{_localstatedir}/run/l7vs
-%define l7vs_maxvs 64
+%define l7vs_buffer_size 4096
Summary: The Layer-7 Virtual Server
Name: ultramonkeyl7
-Version: 3.0.3
-Release: 1%{?dist}
+Version: 3.1.3
+Release: rc1%{?dist}
License: LGPLv2.1
Group: System Environment/Daemons
-URL: http://sourceforge.jp/projects/ultramonkey-l7/
+URL: http://osdn.jp/projects/ultramonkey-l7/
Source0: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: glib2-devel
AutoReqProv: no
-
-%define hb2_tempdir /usr/share/doc/%{name}-%{version}-%{release}/heartbeat-ra
-%define mibs_tempdir /usr/share/doc/%{name}-%{version}-%{release}/mibs
+Requires: boost >= 1.41.0
+Requires: apache-log4cxx >= 0.10.0
+Requires: apr
+Requires: apr-util
+Requires: openssl
+Requires: net-snmp
+Requires: perl
+Requires: perl-libwww-perl
+Requires: perl-Crypt-SSLeay
+Requires: perl-Net-SSLeay
+Requires: perl-IO-Socket-SSL
+Requires: perl-IO-Socket-INET6
+Requires: perl-Time-HiRes
+
+%if 0%{?fedora} >= 15 || 0%{?centos_version} >= 7 || 0%{?rhel} >= 7
+Requires: perl-LWP-Protocol-https
+Requires: perl-Sys-Syslog
+Requires: perl-autodie
+Requires: systemd
+%endif
+
+%define hb2_tempdir /usr/share/doc/%{name}-%{version}/heartbeat-ra
+%define mibs_tempdir /usr/share/doc/%{name}-%{version}/mibs
+%define moduledevel_tempdir /usr/share/doc/%{name}-%{version}/moduledevel
%description
Layer-7 load balancing daemon
+%package devel
+Summary: Header files for UltraMonkeyl7's module
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+This is the development package that provides header files
+for UltraMonkeyl7's module.
+
%prep
%setup -q
%build
-%configure
-make
+./configure \
+ --prefix=%{_prefix} \
+ --sysconfdir=%{_sysconfdir} \
+%if %{defined _unitdir}
+ --with-systemdsystemunitdir=%{_unitdir} \
+%endif
+ --localstatedir=%{_localstatedir} \
+ --libdir=%{_libdir}
+
+make %{?_smp_mflags}
%install
rm -rf ${RPM_BUILD_ROOT}
mkdir -p -m 755 ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/ha.d/conf
+%if %{defined _unitdir}
+mkdir -p ${RPM_BUILD_ROOT}%{_unitdir}
+%else
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d
+%endif
mkdir -p -m 755 ${RPM_BUILD_ROOT}%{l7vs_moddir}
mkdir -p ${RPM_BUILD_ROOT}%{l7vs_logdir}
mkdir -p ${RPM_BUILD_ROOT}%{l7vsadm_sockdir}
mkdir -p ${RPM_BUILD_ROOT}%{hb2_tempdir}
mkdir -p ${RPM_BUILD_ROOT}%{mibs_tempdir}
+mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
+mkdir -p ${RPM_BUILD_ROOT}%{moduledevel_tempdir}
+mkdir -p ${RPM_BUILD_ROOT}%{_includedir}
-# bin
-install -c -m 755 -D l7vsd/src/l7vsd ${RPM_BUILD_ROOT}%{_sbindir}/l7vsd
-install -c -m 755 -D l7vsd/src/l7vsadm ${RPM_BUILD_ROOT}%{_sbindir}/l7vsadm
-install -c -m 755 -D l7directord/l7directord ${RPM_BUILD_ROOT}%{_sbindir}/l7directord
-
-# lib
-install -c -m 755 -D l7vsd/module/protocol/.libs/libprotomod_sslid.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/protomod_sslid.so
-install -c -m 755 -D l7vsd/module/protocol/.libs/libprotomod_ip.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/protomod_ip.so
-install -c -m 755 -D l7vsd/module/protocol/.libs/libprotomod_sessionless.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/protomod_sessionless.so
-install -c -m 755 -D l7vsd/module/schedule/.libs/libsched_lc.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/sched_lc.so
-install -c -m 755 -D l7vsd/module/schedule/.libs/libsched_rr.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/sched_rr.so
-install -c -m 755 -D l7vsd/module/schedule/.libs/libsched_wrr.so ${RPM_BUILD_ROOT}%{l7vs_moddir}/sched_wrr.so
-
-# initscripts
-install -c -m 755 -D l7directord/init.d/l7directord ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d/l7directord
-install -c -m 755 -D l7vsd/init.d/l7vsd ${RPM_BUILD_ROOT}%{_sysconfdir}/rc.d/init.d/l7vsd
-
-# config
-install -c -m 644 -D doc/conf/l7vs.cf ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/l7vs.cf
-install -c -m 644 -D doc/conf/l7directord.cf.sample ${RPM_BUILD_ROOT}%{_sysconfdir}/ha.d/conf/l7directord.cf.sample
-install -c -m 644 -D doc/conf/sslproxy.target.cf ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/sslproxy.target.cf
-install -c -m 644 -D doc/sslfiles/root.pem ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/root.pem
-install -c -m 644 -D doc/sslfiles/server.pem ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/server.pem
-install -c -m 644 -D doc/sslfiles/dh512.pem ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/dh512.pem
-install -c -m 644 -D doc/sslfiles/passwd.txt ${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs/sslproxy/passwd.txt
-
-# heartbeat2 config
-install -c -m 644 -D doc/heartbeat-ra/logd.cf ${RPM_BUILD_ROOT}%{hb2_tempdir}/logd.cf
-install -c -m 644 -D doc/heartbeat-ra/ha.cf ${RPM_BUILD_ROOT}%{hb2_tempdir}/ha.cf
-install -c -m 600 -D doc/heartbeat-ra/authkeys ${RPM_BUILD_ROOT}%{hb2_tempdir}/authkeys
-install -c -m 600 -D doc/heartbeat-ra/cib.xml-sample ${RPM_BUILD_ROOT}%{hb2_tempdir}/cib.xml
-install -c -m 755 -D doc/heartbeat-ra/L7vsd ${RPM_BUILD_ROOT}%{hb2_tempdir}/L7vsd
-install -c -m 755 -D doc/heartbeat-ra/L7directord ${RPM_BUILD_ROOT}%{hb2_tempdir}/L7directord
-install -c -m 755 -D doc/heartbeat-ra/VIPcheck ${RPM_BUILD_ROOT}%{hb2_tempdir}/VIPcheck
-
-# mib file
-install -c -m 644 -D doc/mibs/ULTRAMONKEY-L7-MIB.txt ${RPM_BUILD_ROOT}%{mibs_tempdir}/ULTRAMONKEY-L7-MIB.txt
+%makeinstall \
+ L7VS_CONF_DIR=${RPM_BUILD_ROOT}%{_sysconfdir}/l7vs \
+ L7VS_MODDIR=${RPM_BUILD_ROOT}%{l7vs_moddir}
%clean
rm -rf $RPM_BUILD_ROOT
%post
-chkconfig --add l7vsd
-chkconfig --add l7directord
+%if %{defined _unitdir}
+ systemctl daemon-reload
+%else
+ chkconfig --add l7vsd
+ chkconfig --add l7directord
+%endif
%preun
if [ $1 = 0 ]; then
+%if %{defined _unitdir}
+ systemctl disable l7directord > /dev/null 2>&1
+ systemctl disable l7vsd > /dev/null 2>&1
+ systemctl stop l7directord > /dev/null 2>&1
+ systemctl stop l7vsd > /dev/null 2>&1
+%else
/sbin/service l7directord stop > /dev/null 2>&1
/sbin/service l7vsd stop > /dev/null 2>&1
chkconfig --del l7vsd
chkconfig --del l7directord
+%endif
fi
%files
%defattr(-, root, root, 0755)
%{_sbindir}/*
%{l7vs_moddir}/*
+%if %{defined _unitdir}
+%{_unitdir}/*
+%else
%{_sysconfdir}/rc.d/init.d/*
+%endif
%dir %{l7vs_moddir}
%dir %{l7vs_logdir}
-%config(noreplace) %{_sysconfdir}/l7vs/*
-%config(noreplace) %{_sysconfdir}/ha.d/*
%dir %{_sysconfdir}/l7vs
%dir %{_sysconfdir}/ha.d
+%config(noreplace) %{_sysconfdir}/l7vs/*
+%config(noreplace) %{_sysconfdir}/ha.d/*
%dir %{l7vsadm_sockdir}
+%dir %{_docdir}/%{name}-%{version}
%dir %{hb2_tempdir}
-%config(noreplace) %{hb2_tempdir}/*
+%doc %{hb2_tempdir}/*
%dir %{mibs_tempdir}
-%config(noreplace) %{mibs_tempdir}/*
+%doc %{mibs_tempdir}/*
+%{_mandir}/man8/*
+%config(noreplace) %{_sysconfdir}/logrotate.d/l7directord
+
+%files devel
+%defattr(-, root, root, 0755)
+%dir %{_includedir}/l7vs
+%{_includedir}/l7vs/protocol_module_base.h
+%{_includedir}/l7vs/schedule_module_base.h
+%{_includedir}/l7vs/module_base.h
+%{_includedir}/l7vs/utility.h
+%{_includedir}/l7vs/logger.h
+%{_includedir}/l7vs/logger_enum.h
+%{_includedir}/l7vs/trapmessage.h
+%{_includedir}/l7vs/error_code.h
+%{_includedir}/l7vs/atomic.h
+%{_includedir}/l7vs/wrlock.h
+%{_includedir}/l7vs/replication.h
+%{_includedir}/l7vs/realserver.h
+%{_includedir}/l7vs/realserver_element.h
+%{_includedir}/l7vs/endpoint.h
+%dir %{moduledevel_tempdir}
+%{moduledevel_tempdir}/*
%changelog
-* Thu Dec 20 2011 HIBARI Michiro <hibari.michirou@nttcom.co.jp> 3.0.3-1
+* Sun Oct 18 2015 HIBARI Michiro <l05102@shibaura-it.ac.jp> 3.1.3-rc1
+- Update for 3.1.3-rc1
+- Add systemd Unit file.
+
+* Wed Sep 10 2014 Hiroaki Nakano <nakano.hiroaki@nttcom.co.jp> 3.1.2-1
+- Update for 3.1.2-1
+- Marge from 3.1.2-devel to master. And modefy version.
+- Fixed degraded bug: re-patch for fixed ticket 30300.
+
+* Fri Mar 7 2014 Hiroaki Nakano <nakano.hiroaki@nttcom.co.jp> 3.1.1-1
+- Update for 3.1.1-1
+- Marge from 3.1.1-devel to master. And modefy version.
+
+* Fri Feb 7 2014 Hiroaki Nakano <nakano.hiroaki@nttcom.co.jp> 3.1.1-devel
+- Update for 3.1.1-devel
+- Bugfix
+
+* Sat Sep 8 2012 HIBARI Michiro <l05102@shibaura-it.ac.jp> 3.1.0-devel
+- Update for 3.1.0-devel
+- Change spec file for generate devel package.
+
+* Fri Aug 31 2012 Hiroaki Nakano <nakano.hiroaki@nttcom.co.jp> 3.0.4-2
+- Update for 3.0.4-2
+
+* Mon Aug 6 2012 Takeda Kenji <takeda.kenji@nttcom.co.jp> 3.0.4-1
+- Update for 3.0.4-1
+
+* Wed Aug 1 2012 Hiroaki Nakano <nakano.hiroaki@nttcom.co.jp> 3.0.4-rc1
+- Update for 3.0.4-rc1
+
+* Tue Dec 20 2011 HIBARI Michiro <hibari.michirou@nttcom.co.jp> 3.0.3-1
- Update for 3.0.3-1
* Thu Feb 10 2011 HIBARI Michiro <hibari.michirou@nttcom.co.jp> 3.0.2-1