diff --git a/mon-1.2.0-Port-to-libtirpc.patch b/mon-1.2.0-Port-to-libtirpc.patch new file mode 100644 index 0000000..0421c3b --- /dev/null +++ b/mon-1.2.0-Port-to-libtirpc.patch @@ -0,0 +1,29 @@ +From bf573fe98b5073e2a5285e3866541ea9e3d54d05 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Wed, 10 Jul 2019 16:11:22 +0200 +Subject: [PATCH] Port to libtirpc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Petr Písař +--- + mon.d/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mon.d/Makefile b/mon.d/Makefile +index af216dc..6f20a00 100644 +--- a/mon.d/Makefile ++++ b/mon.d/Makefile +@@ -18,7 +18,7 @@ PROGS = rpc.monitor dialin.monitor.wrap + all: $(PROGS) + + rpc.monitor: rpc.monitor.c +- $(CC) -o rpc.monitor $(CFLAGS) $(LDFLAGS) rpc.monitor.c $(LDLIBS) ++ $(CC) -o rpc.monitor $(CFLAGS) `pkg-config --cflags --libs libtirpc` $(LDFLAGS) rpc.monitor.c $(LDLIBS) + + dialin.monitor.wrap: dialin.monitor.wrap.c + $(CC) -o dialin.monitor.wrap $(CFLAGS) $(LDFLAGS) \ +-- +2.20.1 + diff --git a/mon-1.2.0-fix_signal.patch b/mon-1.2.0-fix_signal.patch new file mode 100644 index 0000000..2362ae7 --- /dev/null +++ b/mon-1.2.0-fix_signal.patch @@ -0,0 +1,20 @@ +diff -ru mon-1.2.0-orig/mon.d/rpc.monitor.c mon-1.2.0/mon.d/rpc.monitor.c +--- mon-1.2.0-orig/mon.d/rpc.monitor.c 2004-06-09 07:18:04.000000000 +0200 ++++ mon-1.2.0/mon.d/rpc.monitor.c 2025-01-28 10:50:58.646048623 +0100 +@@ -82,7 +82,7 @@ + int get_inet_address(struct sockaddr_in *, char *); + #endif + void usage(); +-void alarm_nop(); ++void alarm_nop(int signal); + + /* global variables */ + int opt_all; /* test all registered programs */ +@@ -439,6 +439,6 @@ + exit(0); + } + +-void alarm_nop() { ++void alarm_nop(int signal) { + return; + } diff --git a/mon.service b/mon.service new file mode 100644 index 0000000..473898d --- /dev/null +++ b/mon.service @@ -0,0 +1,10 @@ +[Unit] +Description=Mon - Service Monitor + +[Service] +Type=forking +PIDFile=/run/mon.pid +ExecStart=/usr/bin/mon -f -c /etc/mon/mon.cf -P /run/mon.pid + +[Install] +WantedBy=multi-user.target diff --git a/mon.spec b/mon.spec index 659ac95..cba3ad3 100644 --- a/mon.spec +++ b/mon.spec @@ -1,5 +1,5 @@ # TODO: Split monitors and alerts into subpackages -# they drag in way too much dependencies +# they drag in way too many dependencies %global moncgi_version 1.52 %global fixlib sed 's,/usr/lib,%{_libdir},g' @@ -7,9 +7,8 @@ Name: mon Summary: General-purpose resource monitoring system Version: 1.2.0 -Release: 7%{?dist} -License: GPLv2+ -Group: Applications/Internet +Release: 42%{?dist} +License: GPL-2.0-or-later URL: http://www.kernel.org/software/mon/ Source0: ftp://ftp.kernel.org/pub/software/admin/mon/mon-%{version}.tar.bz2 @@ -17,19 +16,31 @@ Source1: ftp://ftp.kernel.org/pub/software/admin/mon/contrib/cgi-bin/mon. Source2: ftp://ftp.kernel.org/pub/software/admin/mon/contrib/all-alerts.tar.bz2 Source3: mon.cf -Source4: mon.init +Source4: mon.service Source5: userfile Patch0: mon-1.2.0-perl.patch Patch1: mon-1.2.0-uucp.patch +# Use libtirpc instead of rpc/rpc.h from glibc, bug #1675405 +Patch2: mon-1.2.0-Port-to-libtirpc.patch +Patch3: mon-1.2.0-fix_signal.patch Requires: perl(Authen::PAM) Requires: iputils Requires: fping Requires: traceroute +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +BuildRequires: make +BuildRequires: gcc BuildRequires: dos2unix -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: perl-generators +# pkgconfig(libtirpc) for Port-to-libtirpc.patch, bug #1675405, +# +BuildRequires: pkgconfig(libtirpc) +BuildRequires: systemd-units %description @@ -48,8 +59,10 @@ required, the mon server will not need to be changed. %prep %setup -q -a 1 -a 2 -%patch0 -p1 -%patch1 -p1 +%patch -P0 -p1 +%patch -P1 -p1 +%patch -P2 -p1 +%patch -P3 -p1 # Filter out unwanted requires cat << \EOF > %{name}-req @@ -80,30 +93,29 @@ make %{?_smp_mflags} -C mon.d \ %install -rm -rf $RPM_BUILD_ROOT -install -d -m0755 $RPM_BUILD_ROOT%{_bindir} \ - $RPM_BUILD_ROOT%{_mandir}/man{1,8}/ \ - $RPM_BUILD_ROOT%{_libdir}/mon/{alert.d,mon.d}/ \ - $RPM_BUILD_ROOT%{_sysconfdir}/mon/ \ - $RPM_BUILD_ROOT%{_initrddir} \ - $RPM_BUILD_ROOT%{_localstatedir}/www/cgi-bin/ \ - $RPM_BUILD_ROOT%{_localstatedir}/lib/mon/{log.d,state.d}/ +install -d -m0755 %{buildroot}%{_bindir} \ + %{buildroot}%{_mandir}/man{1,8}/ \ + %{buildroot}%{_libdir}/mon/{alert.d,mon.d}/ \ + %{buildroot}%{_sysconfdir}/mon/ \ + %{buildroot}%{_unitdir} \ + %{buildroot}%{_localstatedir}/www/cgi-bin/ \ + %{buildroot}%{_localstatedir}/lib/mon/{log.d,state.d}/ -install -p -m0755 mon clients/moncmd clients/monshow clients/skymon/skymon $RPM_BUILD_ROOT%{_bindir} -install -p -m0644 doc/*.1 $RPM_BUILD_ROOT%{_mandir}/man1/ -install -p -m0644 doc/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/ +install -p -m0755 mon clients/moncmd clients/monshow clients/skymon/skymon %{buildroot}%{_bindir} +install -p -m0644 doc/*.1 %{buildroot}%{_mandir}/man1/ +install -p -m0644 doc/*.8 %{buildroot}%{_mandir}/man8/ -install -p -m0755 mon.d/*.wrap mon.d/*.monitor $RPM_BUILD_ROOT%{_libdir}/mon/mon.d/ -install -p -m0755 alert.d/* $RPM_BUILD_ROOT%{_libdir}/mon/alert.d/ -install -p -m0755 alerts/*/*.alert $RPM_BUILD_ROOT%{_libdir}/mon/alert.d/ +install -p -m0755 mon.d/*.wrap mon.d/*.monitor %{buildroot}%{_libdir}/mon/mon.d/ +install -p -m0755 alert.d/* %{buildroot}%{_libdir}/mon/alert.d/ +install -p -m0755 alerts/*/*.alert %{buildroot}%{_libdir}/mon/alert.d/ -install -d $RPM_BUILD_ROOT%{_sysconfdir}/mon -%{fixlib} etc/auth.cf >$RPM_BUILD_ROOT%{_sysconfdir}/mon/auth.cf -%{fixlib} %{SOURCE3} >$RPM_BUILD_ROOT%{_sysconfdir}/mon/mon.cf -install -Dp -m0755 %{SOURCE4} $RPM_BUILD_ROOT%{_initrddir}/mon -install -Dp -m0600 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mon/userfile +install -d %{buildroot}%{_sysconfdir}/mon +%{fixlib} etc/auth.cf >%{buildroot}%{_sysconfdir}/mon/auth.cf +%{fixlib} %{SOURCE3} >%{buildroot}%{_sysconfdir}/mon/mon.cf +install -Dp -m0644 %{SOURCE4} %{buildroot}%{_unitdir}/mon.service +install -Dp -m0600 %{SOURCE5} %{buildroot}%{_sysconfdir}/mon/userfile -install -Dp -m0755 mon.cgi-%{moncgi_version}/mon.cgi $RPM_BUILD_ROOT%{_localstatedir}/www/cgi-bin/mon.cgi +install -Dp -m0755 mon.cgi-%{moncgi_version}/mon.cgi %{buildroot}%{_localstatedir}/www/cgi-bin/mon.cgi # Fix permissions in examples documentation files chmod -x mon.cgi-1.52/mon.cgi \ @@ -118,34 +130,47 @@ chmod -x mon.cgi-1.52/mon.cgi \ %{fixlib} -i etc/*.cf - -%clean -rm -rf $RPM_BUILD_ROOT - - %post -/sbin/chkconfig --add mon +if [ $1 -eq 1 ] ; then + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi %preun -if [ $1 -eq 0 ]; then - /sbin/service mon stop &>/dev/null || : - /sbin/chkconfig --del mon +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable mon.service > /dev/null 2>&1 || : + /bin/systemctl stop mon.service > /dev/null 2>&1 || : fi %postun -/sbin/service mon condrestart &>/dev/null || : +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart mon.service >/dev/null 2>&1 || : +fi + +%triggerun -- mon < 1.2.0-10 +# Save the current service runlevel info +# User must manually run systemd-sysv-convert --apply mon +# to migrate them to systemd targets +/usr/bin/systemd-sysv-convert --save mon >/dev/null 2>&1 ||: + +# Run these because the SysV package being removed won't do them +/sbin/chkconfig --del mon >/dev/null 2>&1 || : +/bin/systemctl try-restart mon.service >/dev/null 2>&1 || : %files -%defattr(-, root, root, -) -%doc CHANGES COPYING COPYRIGHT CREDITS README TODO doc/README.* +%license COPYING COPYRIGHT +%doc CHANGES CREDITS README TODO doc/README.* %doc KNOWN-PROBLEMS utils/ VERSION %doc alerts/*/*.README mon.cgi-1.52/ %doc clients/{skymon,batch-example} etc/*.cf etc/example.m4 etc/example.monshowrc %config(noreplace) %{_sysconfdir}/mon/ -%{_initrddir}/* +%{_unitdir}/* %{_mandir}/man?/* %{_localstatedir}/www/cgi-bin/mon.cgi %{_bindir}/* @@ -172,6 +197,113 @@ fi %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 1.2.0-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jan 28 2025 Michal Josef Špaček - 1.2.0-41 +- Fix incompatible pointer type (rhbz#2340877) + +* Fri Jan 17 2025 Fedora Release Engineering - 1.2.0-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 1.2.0-39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 1.2.0-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.2.0-37 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 1.2.0-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 1.2.0-35 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Dec 21 2022 Michal Josef Špaček - 1.2.0-34 +- Update license to SPDX format +- Use %license macro + +* Thu Jul 21 2022 Fedora Release Engineering - 1.2.0-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 1.2.0-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 1.2.0-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 1.2.0-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.2.0-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 1.2.0-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.2.0-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jul 10 2019 Petr Pisar - 1.2.0-26 +- Use libtirpc instead of rpc/rpc.h from glibc (bug #1675405) + +* Fri Feb 01 2019 Fedora Release Engineering - 1.2.0-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 1.2.0-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 1.2.0-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 1.2.0-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.2.0-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 1.2.0-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 1.2.0-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.2.0-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 1.2.0-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.2.0-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu Oct 24 2013 Lubomir Rintel (GoodData) - 1.2.0-15 +- Bulk sad and useless attempt at consistent SPEC file formatting + +* Sat Aug 03 2013 Fedora Release Engineering - 1.2.0-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild +- BR: systemd-units for %%{_unitdir} macro definition + +* Wed Jul 17 2013 Petr Pisar - 1.2.0-13 +- Perl 5.18 rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 1.2.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jul 27 2012 Fedora Release Engineering - 1.2.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Apr 18 2012 Jon Ciesla - 1.2.0-10 +- Migrate to systemd, BZ 789890. + +* Fri Jan 13 2012 Fedora Release Engineering - 1.2.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Oct 26 2011 Fedora Release Engineering - 1.2.0-8 +- Rebuilt for glibc bug#747377 + * Tue Feb 08 2011 Fedora Release Engineering - 1.2.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild @@ -185,11 +317,11 @@ fi * Wed Feb 25 2009 Fedora Release Engineering - 1.2.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild -* Fri Feb 20 2009 Lubomir Rintel (Good Data) - 1.2.0-3 +* Fri Feb 20 2009 Lubomir Rintel (GoodData) - 1.2.0-3 - Remove AOL::TOC - Add most of shipped monitors (GDC #581) -* Sun Jul 13 2008 Lubomir Rintel (Good Data) - 1.2.0-2 +* Sun Jul 13 2008 Lubomir Rintel (GoodData) - 1.2.0-2 - Refactor a bit, to fit Fedora customs and guidelines - Fix use of optflags - Fix file encodings @@ -200,7 +332,7 @@ fi * Wed Jun 27 2007 Dag Wieers - 1.2.0-1 - 4303+/dries - Updated to release 1.2.0. -* Tue Mar 06 2004 Dag Wieers - 0.99.2-1 +* Tue Mar 09 2004 Dag Wieers - 0.99.2-1 - Fixed problems with perl-modules. * Fri Jan 09 2004 Dag Wieers - 0.99.2-0