%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.1.0
-Release: devel%{?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
Requires: perl-Net-SSLeay
Requires: perl-IO-Socket-SSL
Requires: perl-IO-Socket-INET6
+Requires: perl-Time-HiRes
-%define hb2_tempdir /usr/share/doc/%{name}-%{version}-%{release}/heartbeat-ra
-%define mibs_tempdir /usr/share/doc/%{name}-%{version}-%{release}/mibs
-%define moduledevel_tempdir /usr/share/doc/%{name}-%{version}-%{release}/moduledevel
+%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
%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}%{moduledevel_tempdir}/sample
-mkdir -p ${RPM_BUILD_ROOT}%{l7vs_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
+mkdir -p ${RPM_BUILD_ROOT}%{_includedir}
-# 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
-
-# header for devel
-install -c -m 644 -D l7vsd/include/protocol_module_base.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/protocol_module_base.h
-install -c -m 644 -D l7vsd/include/schedule_module_base.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/schedule_module_base.h
-install -c -m 644 -D l7vsd/include/module_base.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/module_base.h
-install -c -m 644 -D l7vsd/include/utility.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/utility.h
-install -c -m 644 -D l7vsd/include/logger.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/logger.h
-install -c -m 644 -D l7vsd/include/logger_enum.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/logger_enum.h
-install -c -m 644 -D l7vsd/include/trapmessage.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/trapmessage.h
-install -c -m 644 -D l7vsd/include/error_code.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/error_code.h
-install -c -m 644 -D l7vsd/include/atomic.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/atomic.h
-install -c -m 644 -D l7vsd/include/wrlock.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/wrlock.h
-install -c -m 644 -D l7vsd/include/replication.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/replication.h
-install -c -m 644 -D l7vsd/include/realserver.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/realserver.h
-install -c -m 644 -D l7vsd/include/realserver_element.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/realserver_element.h
-install -c -m 644 -D l7vsd/include/endpoint.h ${RPM_BUILD_ROOT}%{l7vs_includedir}/endpoint.h
-install -c -m 644 -D doc/moduledevel/sample/protocol/README ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/README
-install -c -m 644 -D doc/moduledevel/sample/protocol/Makefile.am ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/Makefile.am
-install -c -m 644 -D doc/moduledevel/sample/protocol/configure.in ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/configure.in
-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
-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
-install -c -m 644 -D doc/moduledevel/sample/protocol/protocol_module_simple.cpp ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/protocol_module_simple.cpp
-install -c -m 644 -D doc/moduledevel/sample/protocol/protocol_module_simple.h ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/protocol/protocol_module_simple.h
-install -c -m 644 -D doc/moduledevel/sample/schedule/README ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/README
-install -c -m 644 -D doc/moduledevel/sample/schedule/Makefile.am ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/Makefile.am
-install -c -m 644 -D doc/moduledevel/sample/schedule/configure.in ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/configure.in
-install -c -m 644 -D doc/moduledevel/sample/schedule/schedule_module_rnd.cpp ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/schedule_module_rnd.cpp
-install -c -m 644 -D doc/moduledevel/sample/schedule/schedule_module_rnd.h ${RPM_BUILD_ROOT}%{moduledevel_tempdir}/sample/schedule/schedule_module_rnd.h
+%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)
%{moduledevel_tempdir}/*
%changelog
+* 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.
* Wed Aug 1 2012 Hiroaki Nakano <nakano.hiroaki@nttcom.co.jp> 3.0.4-rc1
- Update for 3.0.4-rc1
-* Thu Dec 20 2011 HIBARI Michiro <hibari.michirou@nttcom.co.jp> 3.0.3-1
+* 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
* Thu Aug 6 2009 TATEISHI Katsuyuki <kt@wheel.jp> 2.1.2-2atfix
- rpmlint free
-
-Version:
-Release: 1%{?dist}
-Summary:
-
-Group:
-License:
-URL:
-Source0:
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-
-BuildRequires:
-Requires:
-
-%description
-
-
-%prep
-%setup -q
-
-
-%build
-%configure
-make %{?_smp_mflags}
-
-
-%install
-rm -rf $RPM_BUILD_ROOT
-make install DESTDIR=$RPM_BUILD_ROOT
-
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
-%files
-%defattr(-,root,root,-)
-%doc
-
-
-
-%changelog