diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..676f47e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +and-1.2.2.tar.gz diff --git a/and-1.2.2-makefile.patch b/and-1.2.2-makefile.patch new file mode 100644 index 0000000..d8af644 --- /dev/null +++ b/and-1.2.2-makefile.patch @@ -0,0 +1,196 @@ +--- and-1.2.2/Makefile.org 2005-03-27 21:39:37.000000000 +0200 ++++ and-1.2.2/Makefile 2007-07-25 18:25:00.000000000 +0200 +@@ -143,16 +143,16 @@ endif + # Build the auto-nice daemon. + # + and: and.o and-$(ARCH).o +- $(LD) and.o and-$(ARCH).o -o and $(LIBS) ++ $(LD) $(CFLAGS) -g and.o and-$(ARCH).o -o and $(LIBS) + + + # + # Independent part: configuration management, priority database. + # + and.o: and.c and.h +- $(CC) -DDEFAULT_INTERVAL=60 -DDEFAULT_NICE=0 \ +- -DDEFAULT_CONFIG_FILE=\"$(INSTALL_ETC)/and.conf\" \ +- -DDEFAULT_DATABASE_FILE=\"$(INSTALL_ETC)/and.priorities\" \ ++ $(CC) $(CFLAGS) -g -DDEFAULT_INTERVAL=60 -DDEFAULT_NICE=0 \ ++ -DDEFAULT_CONFIG_FILE=\"$(INSTALL_ETC)/and/and.conf\" \ ++ -DDEFAULT_DATABASE_FILE=\"$(INSTALL_ETC)/and/and.priorities\" \ + -DAND_VERSION=\"$(VERSION)\" -DAND_DATE=\"$(DATE)\" -c and.c + + +@@ -160,7 +160,7 @@ and.o: and.c and.h + # Unix variant specific stuff + # + and-Linux.o: and.h and-Linux.c +- $(CC) -c and-Linux.c ++ $(CC) $(CFLAGS) -g -c and-Linux.c + + and-OpenBSD.o: and.h and-OpenBSD.c + $(CC) -c and-OpenBSD.c +@@ -214,30 +214,19 @@ and.priorities.5: and.priorities.5.man + # + # Install and under $(PREFIX)/bin etc. + # +-install: and $(INITSCRIPT) +- strip and ++install: and ++ + #-mkdir $(PREFIX) + -mkdir -p $(DESTDIR)$(INSTALL_SBIN) +- -mkdir -p $(DESTDIR)$(INSTALL_ETC) ++ -mkdir -p $(DESTDIR)$(INSTALL_ETC)/and/ + -mkdir -p $(DESTDIR)$(INSTALL_INITD) + -mkdir -p $(DESTDIR)$(INSTALL_MAN)/man5 + -mkdir -p $(DESTDIR)$(INSTALL_MAN)/man8 + $(INSTALL) -m 0755 and $(DESTDIR)$(INSTALL_SBIN) +- test -e $(DESTDIR)$(INSTALL_ETC)/and.conf || \ +- $(INSTALL) -m 0644 and.conf $(DESTDIR)$(INSTALL_ETC) +- test -e $(DESTDIR)$(INSTALL_ETC)/and.priorities || \ +- $(INSTALL) -m 0644 and.priorities $(DESTDIR)$(INSTALL_ETC) +-ifneq (${INITSCRIPT},) +-ifneq (${INSTALL_INITD},) +- @echo "Installing SysV script in $(DESTDIR)$(INSTALL_INITD)" +- $(INSTALL) -m 0755 $(INITSCRIPT) $(DESTDIR)$(INSTALL_INITD)/and +-else +- @echo "Installing SysV script in $(DESTDIR)$(INSTALL_SBIN)" +- $(INSTALL) -m 0755 $(INITSCRIPT) $(DESTDIR)$(INSTALL_SBIN) +- @echo "Installing SysV init.d finder in $(DESTDIR)$(INSTALL_SBIN)" +- $(INSTALL) -m 0755 and-find-init.d $(DESTDIR)$(INSTALL_SBIN) +-endif +-endif ++ test -e $(DESTDIR)$(INSTALL_ETC)/and/and.conf || \ ++ $(INSTALL) -m 0644 and.conf $(DESTDIR)$(INSTALL_ETC)/and/ ++ test -e $(DESTDIR)$(INSTALL_ETC)/and/and.priorities || \ ++ $(INSTALL) -m 0644 and.priorities $(DESTDIR)$(INSTALL_ETC)/and/ + $(INSTALL) -m 0644 and.8 $(DESTDIR)$(INSTALL_MAN)/man8 + $(INSTALL) -m 0644 and.conf.5 $(DESTDIR)$(INSTALL_MAN)/man5 + $(INSTALL) -m 0644 and.priorities.5 $(DESTDIR)$(INSTALL_MAN)/man5 +@@ -252,9 +241,6 @@ simpleinstall: and and.init + cp and.conf $(DESTDIR)$(INSTALL_ETC) + test -e $(DESTDIR)$(INSTALL_ETC)/and.priorities || \ + cp and.priorities $(DESTDIR)$(INSTALL_ETC) +-ifneq (${INITSCRIPT},) # on SysV only +- cp $(INITSCRIPT) $(DESTDIR)$(INSTALL_INITD)/and +-endif + cp and.8 $(DESTDIR)$(INSTALL_MAN)/man8 + cp and.conf.5 $(DESTDIR)$(INSTALL_MAN)/man5 + cp and.priorities.5 $(DESTDIR)$(INSTALL_MAN)/man5 +--- and-1.2.2/and.priorities.5.man.org 2004-04-05 21:19:29.000000000 +0200 ++++ and-1.2.2/and.priorities.5.man 2007-07-25 18:25:00.000000000 +0200 +@@ -1,7 +1,7 @@ + .TH AND.PRIORITIES 5 "__DATE__" "Unix" "File Formats" + + .SH "NAME" +-/etc/and.priorities \- priority database for the auto nice daemon. ++/etc/and/and.priorities \- priority database for the auto nice daemon. + + + .SH "VERSION" +@@ -16,12 +16,12 @@ This is the priority database file for + It stores (user, group, command, parent, nicelevels) tuples (hereafter called + entries) to determine the new nice level (or the kill signal, for that + matter) when a job reaches one of the time limits defined in +-.I /etc/and.conf. ++.I /etc/and/and.conf. + (See lv1time, lv2time, and lv3time on the and.conf manual page for + details.) See the + .B affinity + setting in +-.I /etc/and.conf ++.I /etc/and/and.conf + for how ambiguities between the fields (user, group, command, parent) + are dealt with when searching the database to determine the new nice + level for a job. +@@ -187,7 +187,7 @@ grid * grid_master * 0 0 0 + .SH "FILES" + + .TP 0.5i +-.B /etc/and.priorities ++.B /etc/and/and.priorities + The priority database (in plain text). Contains the (user, group, command, + nicelevels) tuples. This is what this manual page is about. + +--- and-1.2.2/and.conf.5.man.org 2005-03-27 21:38:32.000000000 +0200 ++++ and-1.2.2/and.conf.5.man 2007-07-25 18:25:00.000000000 +0200 +@@ -1,7 +1,7 @@ + .TH AND.CONF 5 "__DATE__" "Unix" "File Formats" + + .SH "NAME" +-/etc/and.conf \- general configuration parameters for the ++/etc/and/and.conf \- general configuration parameters for the + auto nice daemon. + + +@@ -52,11 +52,11 @@ the auto nice daemon to enable the chang + .B defaultnice + The default nice level. A number between 0 and 19. Jobs for which no + entry can be found in +-.I /etc/and.priorities ++.I /etc/and/and.priorities + are reniced to this level, regardless of the CPU time they've used + so far. If you prefer to renice unknown jobs gradually, you can do + so by supplying three asterisks as (user, group, command) tuple in +-.I /etc/and.priorities. ++.I /etc/and/and.priorities. + The default nice level is + .I 0 + +--- and-1.2.2/and.8.man.org 2002-01-27 16:59:57.000000000 +0100 ++++ and-1.2.2/and.8.man 2007-07-25 18:25:00.000000000 +0200 +@@ -55,13 +55,13 @@ to kill -9 it after e.g. 20 CPU minutes. + .TP 0.5i + .B \-c /path/to/and.conf + Specifies the configuration file. If this flag is omitted, +-.I /etc/and.conf ++.I /etc/and/and.conf + is used instead. + + .TP 0.5i + .B \-d /path/to/and.priorities + Specifies the priority database file. If this flag is omitted, +-.I /etc/and.priorities ++.I /etc/and/and.priorities + is used instead. + + .TP 0.5i +@@ -112,12 +112,12 @@ database. + .SH "FILES" + + .TP 0.5i +-.B /etc/and.conf ++.B /etc/and/and.conf + General configuration file. Stores default nice level, default interval, + the "time zones" and the database lookup affinity. + + .TP 0.5i +-.B /etc/and.priorities ++.B /etc/and/and.priorities + The priority database (in plain text). Contains the (user, group, command, + nicelevels) tuples. + +--- and-1.2.2/README.org 2005-03-27 21:39:37.000000000 +0200 ++++ and-1.2.2/README 2007-07-25 18:28:31.000000000 +0200 +@@ -83,13 +83,13 @@ Installation: + + Edit the Makefile, which is well documented. (g)make. (g)make install. + (make simpleinstall if you don't have install(1) (which you really +- should). Edit the configuration files, /etc/and.conf and +- /etc/and.priorities. Start /usr/local/sbin/and. You must run it as +- root if you want it to renice or kill any jobs but your own; on all +- platforms but Linux, not even dummy mode will work for mortal users. +- That's due to the way process information is accessible under these +- Unices. (Linux is more generous here, which can be seen as both an +- advantage and a security flaw. I'm not conclusive on this topic.) ++ should). Edit the configuration files, /etc/and/and.conf and ++ /etc/and/and.priorities. Start /usr/sbin/and. You must run it as root ++ if you want it to renice or kill any jobs but your own; on all platforms ++ but Linux, not even dummy mode will work for mortal users. That's due to ++ the way process information is accessible under these Unices. (Linux is ++ more generous here, which can be seen as both an advantage and a security ++ flaw. I'm not conclusive on this topic.) + + Last updated: + diff --git a/and.service b/and.service new file mode 100644 index 0000000..67a706d --- /dev/null +++ b/and.service @@ -0,0 +1,13 @@ +[Unit] +Description=auto nice daemon +After=syslog.target + +[Service] +Type=forking +EnvironmentFile=/etc/sysconfig/and +ExecStart=/usr/sbin/and $AND_FLAGS +StandardOutput=syslog +StandardError=syslog + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/and.spec b/and.spec new file mode 100644 index 0000000..935b060 --- /dev/null +++ b/and.spec @@ -0,0 +1,143 @@ +Name: and +Version: 1.2.2 +Release: 18%{?dist} +Summary: Auto nice daemon + +License: GPLv2 +Group: System Environment/Daemons + +URL: http://and.sourceforge.net +Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +Source1: and.sysconf +Source2: and.service +Patch1: and-1.2.2-makefile.patch + +Obsoletes: and-sysvinit < %{version}-%{release} +Provides: and-sysvinit = %{version}-%{release} + +Obsoletes: and-units < %{version}-%{release} +Provides: and-units = %{version}-%{release} + +BuildRequires: systemd-units + +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units + +provides: and-sysvinit = %{version}-%{release} +Obsoletes: and-sysvinit < 1.2.2-11 + +provides: and-units = %{version}-%{release} +Obsoletes: and-units < 1.2.2-11 + + +Buildroot: %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n) + +%description +The auto nice daemon renices and even kills jobs according to their CPU time, +owner, and command name. This is especially useful on production machines with +lots of concurrent CPU-intensive jobs and users that tend to forget to +nice their jobs. + +%prep +%setup1 -q +%patch1 -p1 -b .org + +%build +make %{?_smp_mflags} \ + CFLAGS='%{optflags}' \ + PREFIX=%{_prefix} \ + INSTALL_ETC=%{_sysconfdir} \ + INSTALL_SBIN=%{_sbindir} \ + INSTALL_MAN=%{_mandir} + +%install +mkdir -p %{buildroot}%{_sysconfdir} +mkdir -p %{buildroot}%{_sbindir} +mkdir -p %{buildroot}%{_mandir}/man8 +mkdir -p %{buildroot}%{_mandir}/man5 +make PREFIX=%{buildroot}%{_prefix} \ + INSTALL_ETC=%{buildroot}%{_sysconfdir} \ + INSTALL_SBIN=%{buildroot}%{_sbindir} \ + INSTALL_MAN=%{buildroot}%{_mandir} install + +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +install -p -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/sysconfig/and + +mkdir -p %{buildroot}%{_unitdir} +install -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir} + +%post +%systemd_post and.service + +%preun +%systemd_preun and.service + +%postun +%systemd_postun_with_restart and.service + +%files +%defattr(-,root,root) +%doc README LICENSE CHANGELOG +%config(noreplace) %{_sysconfdir}/and/ +%config(noreplace) %{_sysconfdir}/sysconfig/and +%{_sbindir}/* +%{_mandir}/man5/*.gz +%{_mandir}/man8/*.gz +%{_unitdir}/and.service + +%changelog +* Fri Oct 5 2012 Jochen Schmitt - 1.2.2-18 +- Introduction of rpm systemd macros +- Clean up of the SPEC file + +* Tue Aug 28 2012 Jochen Schmitt 1.2.2-17 +- Fix misprint operator in %%post stanza (#852419) + +* Fri Jul 27 2012 Fedora Release Engineering - 1.2.2-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 1.2.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Oct 26 2011 Fedora Release Engineering - 1.2.2-14 +- Rebuilt for glibc bug#747377 + +* Wed Jun 15 2011 Jochen Schmitt 1.2.2-13 +- Rework and.service to fix #713432 + +* Thu Mar 31 2011 Jochen Schmitt 1.2.2-12 +- Rework for systemd + +* Mon Feb 07 2011 Fedora Release Engineering - 1.2.2-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Nov 28 2010 Jochen Schmitt 1.2.2-10 +- Remove SysVInit support + +* Sun Jul 18 2010 Jochen Schmitt 1.2.2-9 +- Try to add systemd support + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Feb 23 2009 Fedora Release Engineering - 1.2.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 13 2008 Jochen Schmitt 1.2.2-6 +- Rebuild for gcc-4.3 + +* Wed Jan 23 2008 Jochen Schmitt 1.2.2-5 +- Rebuild + +* Thu Aug 9 2007 Jochen Schmitt 1.2.2-4 +- Changing license tag + +* Mon Jul 30 2007 Jochen Schmitt 1.2.2-3 +- Fix wrong postun requires + +* Thu Jul 26 2007 Jochen Schmitt 1.2.2-2 +- Adding sysconfig file template + +* Tue Jul 24 2007 Jochen Schmitt 1.2.2-1 +- Initial package for Fedora diff --git a/and.sysconf b/and.sysconf new file mode 100644 index 0000000..3daac21 --- /dev/null +++ b/and.sysconf @@ -0,0 +1,4 @@ +# Allow to set the options for and starting +# by the initscript + +AND_FLAGS= \ No newline at end of file diff --git a/dead.package b/dead.package deleted file mode 100644 index 5322507..0000000 --- a/dead.package +++ /dev/null @@ -1,3 +0,0 @@ -2016-09-13: Retired orphaned package, because it was orphaned for -more than six weeks. - diff --git a/sources b/sources new file mode 100644 index 0000000..d61534a --- /dev/null +++ b/sources @@ -0,0 +1 @@ +b939909039a8487eec93ff7eb56a4779 and-1.2.2.tar.gz