X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=bopm.spec;h=679eb30500c34442d9b31be5d63dc65c249ebe9a;hb=b07628ffc74b3d9e02e8168e65001939e061a0ec;hp=3319b81ffe3f20c07978e30b256f0ccbab90c933;hpb=286f9739919ead46a1e18dfbddb1188870a297b9;p=packages%2Fbopm.git diff --git a/bopm.spec b/bopm.spec index 3319b81..679eb30 100644 --- a/bopm.spec +++ b/bopm.spec @@ -1,30 +1,57 @@ -# TODO: user/group removal +# TODO +# - ac that i don't know how to fix: +#+ autoconf +#configure.in:51: error: possibly undefined macro: AC_FUNC_SNPRINTF +# If this token and others are legitimate, please use m4_pattern_allow. +# See the Autoconf documentation. +# +# +# Conditional build: +%bcond_without tests # do not perform "make test" +%bcond_without supervise # install initscript instead of supervise Summary: Open proxy monitor and blocker, designed for use with ircds -Summary(pl): Monitorowanie i blokowanie otwartych proxy do u¿ywania z ircd +Summary(pl.UTF-8): Monitorowanie i blokowanie otwartych proxy do używania z ircd Name: bopm -Version: 3.1.2 -Release: 0.10 -Epoch: 0 +Version: 3.1.3 +Release: 3 License: GPL Group: Applications/Communications Source0: http://static.blitzed.org/www.blitzed.org/bopm/files/%{name}-%{version}.tar.gz -# Source0-md5: ab1b7494c4242eef957b5fca61c92b18 +# Source0-md5: 643c7090b32dfe09a38b5440b2c480e3 Source1: %{name}.init Source2: %{name}.conf +Source3: %{name}-supervise.tar.bz2 +# Source3-md5: 247c0438a5e2860097d09a374a521151 +Source4: http://autoconf-archive.cryp.to/ac_func_snprintf.m4 +# Source4-md5: 9a21dbeadbd731b324e7f740aadea697 +Source5: http://www.sfr-fresh.com/unix/www/cherokee-0.7.2.tar.gz:t/cherokee-0.7.2/m4/etr_socket_nsl.m4 +# Source5-md5: 137b516e92db49874d3ed1dcf45ea4a9 Patch0: %{name}-DESTDIR.patch -URL: http://www.blitzed.org/bopm/ +Patch1: %{name}-shared.patch +Patch2: %{name}-cr-connect.patch +Patch3: http://www.nedworks.org/bopm/%{name}.whitelists.3.1.2.diff +Patch4: http://dgl.cx/2006/09/%{name}-conf-cmd.diff +URL: http://wiki.blitzed.org/BOPM BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool -BuildRequires: rpmbuild(macros) >= 1.202 -PreReq: rc-scripts >= 0.4.0.17 -Requires(pre): /usr/bin/getgid +BuildRequires: rpmbuild(macros) >= 1.268 +%{!?with_supervise:Requires(post,preun): /sbin/chkconfig} +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires(post,preun): /sbin/chkconfig +Requires: %{name}-libs = %{version}-%{release} +%{?with_supervise:Requires: daemontools >= 0.76-5} +%{!?with_supervise:Requires: rc-scripts >= 0.4.0.17} +Provides: group(%{name}) +Provides: user(%{name}) BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define _supervise /etc/supervise/%{name} + %description The Blitzed Open Proxy Monitor is designed to connect to an IRC server and become an IRC operator. It then watches connect notices in order @@ -38,29 +65,72 @@ against a DNS-Based Blacklist (similar to MAPS RBL) and can be configured to report new proxies back to the Blitzed Open Proxy Monitoring project. -%description -l pl -Blitzed Open Proxy Monitor jest zaprojektowany tak, ¿e ³±czy siê z -serwerem IRC i staje operatorem. Nastêpnie ogl±da informacje o -po³±czeniach w celu skanowania wszystkich klientów pod k±tem otwartych -(niebezpiecznych) proxy. Takie niebezpieczne proxy zwykle s± u¿ywane -do spamowania, floodowania i innych nadu¿yæ. +%description -l pl.UTF-8 +Blitzed Open Proxy Monitor jest zaprojektowany tak, że łączy się z +serwerem IRC i staje operatorem. Następnie ogląda informacje o +połączeniach w celu skanowania wszystkich klientów pod kątem otwartych +(niebezpiecznych) proxy. Takie niebezpieczne proxy zwykle są używane +do spamowania, floodowania i innych nadużyć. + +BOPM jest w stanie wykryć WinGates, proxy HTTP, proxy SOCKS 4/5 oraz +routery Cisco z domyślnymi hasłami. BOPM obsługuje także sprawdzanie +czarnych list opartych na DNS (takich jak MAPS RBL) i może być +skonfigurowany do zgłaszania nowych proxy z powrotem do projektu +Blitzed Open Proxy Monitoring. + +%package libs +Summary: libopm open proxy scanning library +Summary(pl.UTF-8): Biblioteka libopm do szukania otwartych proxy +Group: Libraries + +%description libs +libopm open proxy scanning library. + +%description libs -l pl.UTF-8 +Biblioteka libopm do szukania otwartych proxy. + +%package devel +Summary: Header files for libopm library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libopm +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description devel +This is the package containing the header files for libopm library. -BOPM jest w stanie wykryæ WinGates, proxy HTTP, proxy SOCKS 4/5 oraz -routery Cisco z domy¶lnymi has³ami. BOPM obs³uguje tak¿e sprawdzanie -czarnych list opartych na DNS (takich jak MAPS RBL) i mo¿e byæ -skonfigurowany do zg³aszania nowych proxy z powrotem do projektu -Blitzed Open Proxy Monitoring. +%description devel -l pl.UTF-8 +Ten pakiet zawiera pliki nagłówkowe biblioteki libopm. + +%package static +Summary: Static libopm library +Summary(pl.UTF-8): Statyczna biblioteka libopm +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +Static libopm library. + +%description static -l pl.UTF-8 +Statyczna biblioteka libopm. %prep %setup -q %patch0 -p1 +%patch1 -p1 +%patch2 -p0 +%patch3 -p0 +cd src +%patch4 -p0 +# we include contrib in %doc. cleanup it find -name CVS | xargs -r rm -rf rm -f contrib/bopm.spec %build +install %{SOURCE4} . +install %{SOURCE5} . %{__libtoolize} -%{__aclocal} +%{__aclocal} -I . %{__autoconf} %{__autoheader} %{__automake} @@ -72,16 +142,32 @@ rm -f contrib/bopm.spec %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/{run,log}/%{name}} +install -d $RPM_BUILD_ROOT/var/log/%{name} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} +%if %{with supervise} +install -d $RPM_BUILD_ROOT%{_supervise} +tar xf %{SOURCE3} -C $RPM_BUILD_ROOT%{_supervise} + +install -d $RPM_BUILD_ROOT%{_supervise}/{,log/}supervise +touch $RPM_BUILD_ROOT%{_supervise}/{,log/}supervise/lock +touch $RPM_BUILD_ROOT%{_supervise}/{,log/}supervise/status +mkfifo $RPM_BUILD_ROOT%{_supervise}/{,log/}supervise/control +mkfifo $RPM_BUILD_ROOT%{_supervise}/{,log/}supervise/ok + +%else +install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} +%endif + +install -d $RPM_BUILD_ROOT/var/run/%{name} install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf > $RPM_BUILD_ROOT/var/log/%{name}/bopm.log > $RPM_BUILD_ROOT/var/log/%{name}/scan.log +rm $RPM_BUILD_ROOT%{_datadir}/bopm.conf.blitzed + %clean rm -rf $RPM_BUILD_ROOT @@ -90,30 +176,81 @@ rm -rf $RPM_BUILD_ROOT %useradd -u 151 -c "BOPM Daemon" -g %{name} %{name} %post -/sbin/chkconfig --add %{name} -if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} restart 1>&2 -else - echo "Run \"/etc/rc.d/init.d/%{name} start\" to start BOPM daemon." +%if %{with supervise} +if [ -d /service/%{name}/supervise ]; then + svc -t /service/%{name} /service/%{name}/log fi +if [ "$1" = 1 ]; then + ln -snf %{_supervise} /service/%{name} +fi +%else +/sbin/chkconfig --add %{name} +%service %{name} restart "BOPM daemon" +%endif %preun if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} stop 1>&2 +%if %{with supervise} + if [ -d /service/%{name}/supervise ]; then + cd /service/%{name} + rm /service/%{name} + svc -dx . log fi +%else + %service %{name} stop /sbin/chkconfig --del %{name} +%endif +fi + +%postun +if [ "$1" = "0" ]; then + %userremove %{name} + %groupremove %{name} fi +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + %files %defattr(644,root,root,755) -%doc ChangeLog INSTALL README bopm.conf.sample +%doc ChangeLog INSTALL README bopm.conf.sample bopm.conf.blitzed %doc contrib/ network-bopm/ -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf -%attr(754,root,root) /etc/rc.d/init.d/%{name} +%attr(640,root,bopm) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf %attr(755,root,root) %{_sbindir}/%{name} +%if %{with supervise} +%attr(1755,root,root) %dir %{_supervise} +%attr(755,root,root) %{_supervise}/run +%attr(700,root,root) %dir %{_supervise}/supervise + +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_supervise}/supervise/* +%attr(1755,root,root) %dir %{_supervise}/log +%attr(755,root,root) %{_supervise}/log/run +%attr(700,root,root) %dir %{_supervise}/log/supervise +%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_supervise}/log/supervise/* +%else +%attr(754,root,root) /etc/rc.d/init.d/%{name} +%endif + %attr(770,root,bopm) %dir /var/run/%{name} %attr(770,root,bopm) %dir /var/log/%{name} %attr(640,bopm,bopm) %ghost /var/log/%{name}/bopm.log %attr(640,bopm,bopm) %ghost /var/log/%{name}/scan.log + +%files libs +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libopm.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libopm.so.0 + +%files devel +%defattr(644,root,root,755) +%{_includedir}/opm.h +%{_includedir}/opm_common.h +%{_includedir}/opm_error.h +%{_includedir}/opm_types.h +%{_libdir}/libopm.la +%{_libdir}/libopm.so + +%files static +%defattr(644,root,root,755) +%{_libdir}/libopm.a