From 08ce9884b9685fa3b7e005a3968efb89971eb04f Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 5 Nov 2008 15:46:25 -0800 Subject: [PATCH] Add new Debian package "corekeeper" to centralize and reap core files. --- debian/.gitignore | 1 + debian/control.in | 7 ++++ debian/corekeeper.cron.daily | 5 +++ debian/corekeeper.init | 63 ++++++++++++++++++++++++++++++++++++ debian/rules | 4 ++- 5 files changed, 79 insertions(+), 1 deletion(-) create mode 100755 debian/corekeeper.cron.daily create mode 100755 debian/corekeeper.init diff --git a/debian/.gitignore b/debian/.gitignore index bfe60c93..21ba0d13 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -3,6 +3,7 @@ *.substvars /automake.mk /control +/corekeeper /files /openflow /openflow-common diff --git a/debian/control.in b/debian/control.in index bcda15bb..371dd4a5 100644 --- a/debian/control.in +++ b/debian/control.in @@ -76,3 +76,10 @@ Description: OpenFlow controller implementation . OpenFlow is a protocol for flow-based control over network switching. +Package: corekeeper +Architecture: all +Depends: tmpreaper +Description: Core file centralizer and reaper + The corekeeper package configures the system to dump all core files to + /var/log/core. It also deletes core files older than 7 days. + diff --git a/debian/corekeeper.cron.daily b/debian/corekeeper.cron.daily new file mode 100755 index 00000000..badc192d --- /dev/null +++ b/debian/corekeeper.cron.daily @@ -0,0 +1,5 @@ +#! /bin/sh + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +tmpreaper 7d --mtime --all /var/log/core diff --git a/debian/corekeeper.init b/debian/corekeeper.init new file mode 100755 index 00000000..27d62a12 --- /dev/null +++ b/debian/corekeeper.init @@ -0,0 +1,63 @@ +#!/bin/sh +# +# Example init.d script with LSB support. +# +# Please read this init.d carefully and modify the sections to +# adjust it to the program you want to run. +# +# Copyright (c) 2007 Javier Fernandez-Sanguino +# +# This is free software; you may redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, +# or (at your option) any later version. +# +# This is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License with +# the Debian operating system, in /usr/share/common-licenses/GPL; if +# not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA +# +### BEGIN INIT INFO +# Provides: corekeeper +# Required-Start: +# Required-Stop: +# Should-Start: $syslog +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Configure core file dump location +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +. /lib/lsb/init-functions + +set -e + +case "$1" in + start) + log_daemon_msg "Initializing core dump location..." + if echo "/var/log/core/core.%e.%t" > /proc/sys/kernel/core_pattern + then + log_progress_msg "success" + log_end_msg 0 + exit 0 + else + log_end_msg 1 + exit 1 + fi + ;; + stop|restart|force-reload|status|reload) + exit 0 + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac diff --git a/debian/rules b/debian/rules index 5b25308e..cefcd324 100755 --- a/debian/rules +++ b/debian/rules @@ -111,6 +111,7 @@ install-indep: build-indep dh_install -i cd debian/openflow-datapath-source/usr/src && tar -c modules | bzip2 -9 > openflow-datapath.tar.bz2 && rm -rf modules install -m644 debian/openflow-pki-server.apache2 debian/openflow-pki-server/etc/apache2/sites-available/openflow-pki + install -m1777 -d debian/corekeeper/var/log/core $(ext_install_indep) install-arch: build-arch @@ -135,11 +136,12 @@ binary-common: dh_installdebconf dh_installlogrotate dh_installinit + dh_installcron dh_installman dh_link dh_strip dh_compress - dh_fixperms + dh_fixperms -X var/log/core dh_perl dh_makeshlibs dh_installdeb -- 2.30.2