OSDN Git Service

Merge pull request #35648 (suigintoh/ultramonkey-l7-v3/master into master).
[ultramonkey-l7/ultramonkey-l7-v3.git] / ultramonkeyl7.spec
index 9662673..0fd1ad4 100644 (file)
@@ -1,32 +1,71 @@
 %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.0
-Release: 1
-License: LGPLv2
+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}
@@ -35,84 +74,134 @@ mkdir -p ${RPM_BUILD_ROOT}%{_sbindir}
 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
+* 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
+- Update for 3.0.2-1
+
+* Mon Jan 24 2011 HIBARI Michiro <hibari.michirou@nttcom.co.jp> 3.0.1-1
+- Update for 3.0.1-1
+
 * Thu Jan 14 2010 TATEISHI Katsuyuki <kt@wheel.jp> 3.0.0-1
 - Update for 3.0.0-1