File ulimit.spec of Package ulimit
#
# spec file for package ulimit (Version 1.2)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: ulimit
License: Artistic
Group: System/Base
AutoReqProv: on
Summary: Set system-wide per-process limits (rlimits)
Version: 1.2
Release: 3
Source: %{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Patch: bug-495258_ulimit_cmo_fix.patch
Patch1: dont_run_before_boot.diff
PreReq: %fillup_prereq
%description
The file /etc/initscript is used by init to execute the commands in
/etc/inittab. As any process it started from init, it is a convenient
place to adjust per process limits (rlimits).
The script provided here does set limits on the memory usage per
process (amongst setting other limits) and thus prevents that a single
process that leaks memory can cause your system to run out of memory
and provoke the system to crawl (trash on the swap partition) before it
rescues itself by killing processes (but unfortunately does not always
hit the right process with the first try). The script sets the limits
in percent of available memory, thus the defaults may match a large
range of systems.
Configuration is done in file /etc/sysconfig/ulimit.
Per user rlimit settings can be configured by filling in
/etc/security/limits.conf and using the pam_limits.so functionality.
More finegrained resource management (per process group), can be done
via control groups (containers) with SLE11/openSUSE11.1 or newer.
Authors:
--------
Kurt Garloff <garloff@suse.de>
%prep
%setup -n ulimit
%patch -p1
%patch1 -p0
%build
# nothing to be done
%install
install -d $RPM_BUILD_ROOT/etc
install initscript $RPM_BUILD_ROOT/etc/initscript
install -d $RPM_BUILD_ROOT/var/adm/fillup-templates
install sysconfig.ulimit $RPM_BUILD_ROOT/var/adm/fillup-templates/
%files
%defattr(-,root,root)
%config /etc/initscript
/var/adm/fillup-templates/sysconfig.ulimit
%post
%{fillup_only ulimit}
%clean
if test ! -z "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/"; then rm -rf $RPM_BUILD_ROOT; fi
rm -rf $RPM_BUILD_DIR/ulimit
%changelog