Nikola Pajkovsky 8750f03
From a2afee1970cc9bf4f7563a8002741a8f07e58bb2 Mon Sep 17 00:00:00 2001
Nikola Pajkovsky 8750f03
From: Nikola Pajkovsky <npajkovs@redhat.com>
Nikola Pajkovsky 8750f03
Date: Mon, 27 Jun 2011 16:45:50 +0200
Nikola Pajkovsky 8750f03
Subject: [PATCH] Revert "Merge branch 'daemon/dump-location'"
Nikola Pajkovsky 8750f03
Nikola Pajkovsky 8750f03
This reverts commit b4e0ff6fadd6bfcb2915a544747d0b09d53dbada, reversing
Nikola Pajkovsky 8750f03
changes made to c7197324b1e9e33260a1d9fd7e26528d9d562abc.
Nikola Pajkovsky 8750f03
(cherry picked from commit 35f05af76aab482f834cb2ebd28888899def7259)
Nikola Pajkovsky 8750f03
Nikola Pajkovsky 8750f03
diff --git a/configure.ac b/configure.ac
Nikola Pajkovsky 8750f03
index baf0f01..d53bcd1 100644
Nikola Pajkovsky 8750f03
--- a/configure.ac
Nikola Pajkovsky 8750f03
+++ b/configure.ac
Nikola Pajkovsky 8750f03
@@ -142,7 +142,6 @@ AC_CONFIG_FILES([
Nikola Pajkovsky 8750f03
 	src/Makefile
Nikola Pajkovsky 8750f03
 	src/daemon/Makefile
Nikola Pajkovsky 8750f03
 	src/hooks/Makefile
Nikola Pajkovsky 8750f03
-	src/hooks/abrt-install-ccpp-hook
Nikola Pajkovsky 8750f03
 	src/applet/Makefile
Nikola Pajkovsky 8750f03
 	src/gui-gtk/Makefile
Nikola Pajkovsky 8750f03
 	po/Makefile.in
Nikola Pajkovsky 8750f03
diff --git a/src/daemon/abrt.conf b/src/daemon/abrt.conf
Nikola Pajkovsky 8750f03
index 0946d7c..cb0dbbb 100644
Nikola Pajkovsky 8750f03
--- a/src/daemon/abrt.conf
Nikola Pajkovsky 8750f03
+++ b/src/daemon/abrt.conf
Nikola Pajkovsky 8750f03
@@ -27,5 +27,3 @@ BlackListedPaths = /usr/share/doc/*,*/example*
Nikola Pajkovsky 8750f03
 # Max size for crash storage [MiB] or 0 for unlimited
Nikola Pajkovsky 8750f03
 #
Nikola Pajkovsky 8750f03
 MaxCrashReportsSize = 1000
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-DumpLocation = /var/spool/abrt
Nikola Pajkovsky 8750f03
diff --git a/src/hooks/Makefile.am b/src/hooks/Makefile.am
Nikola Pajkovsky 8750f03
index 962e326..95cd363 100644
Nikola Pajkovsky 8750f03
--- a/src/hooks/Makefile.am
Nikola Pajkovsky 8750f03
+++ b/src/hooks/Makefile.am
Nikola Pajkovsky 8750f03
@@ -27,7 +27,7 @@ abrt_hook_ccpp_LDADD = \
Nikola Pajkovsky 8750f03
     $(LIBREPORT_LIBS)
Nikola Pajkovsky 8750f03
 
Nikola Pajkovsky 8750f03
 python_PYTHON = abrt.pth abrt_exception_handler.py
Nikola Pajkovsky 8750f03
-EXTRA_DIST = abrt_exception_handler.py.in abrt-install-ccpp-hook.in $(man_MANS)
Nikola Pajkovsky 8750f03
+EXTRA_DIST = abrt_exception_handler.py.in abrt-install-ccpp-hook $(man_MANS)
Nikola Pajkovsky 8750f03
 
Nikola Pajkovsky 8750f03
 CLEANFILES := $(notdir $(wildcard *~)) $(notdir $(wildcard *\#)) $(notdir $(wildcard \.\#*)) $(notdir $(wildcard *.pyc))
Nikola Pajkovsky 8750f03
 
Nikola Pajkovsky 8750f03
diff --git a/src/hooks/abrt-install-ccpp-hook b/src/hooks/abrt-install-ccpp-hook
Nikola Pajkovsky 8750f03
new file mode 100755
Nikola Pajkovsky 8750f03
index 0000000..12a443f
Nikola Pajkovsky 8750f03
--- /dev/null
Nikola Pajkovsky 8750f03
+++ b/src/hooks/abrt-install-ccpp-hook
Nikola Pajkovsky 8750f03
@@ -0,0 +1,97 @@
Nikola Pajkovsky 8750f03
+#!/bin/bash
Nikola Pajkovsky 8750f03
+# Install coredump handler which saves segfault data
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+# For debugging
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+dry_run=false
Nikola Pajkovsky 8750f03
+verbose=false
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+PATTERN_FILE="/proc/sys/kernel/core_pattern"
Nikola Pajkovsky 8750f03
+SAVED_PATTERN_DIR="/var/run/abrt"
Nikola Pajkovsky 8750f03
+SAVED_PATTERN_FILE="/var/run/abrt/saved_core_pattern"
Nikola Pajkovsky 8750f03
+HOOK_BIN="/usr/libexec/abrt-hook-ccpp"
Nikola Pajkovsky 8750f03
+# Must match percent_specifiers[] order in abrt-hook-ccpp.c:
Nikola Pajkovsky 8750f03
+PATTERN="|$HOOK_BIN /var/spool/abrt %s %c %p %u %g %t %e"
Nikola Pajkovsky 8750f03
+# Same, but with bogus "executable name" parameter
Nikola Pajkovsky 8750f03
+PATTERN1="|$HOOK_BIN /var/spool/abrt %s %c %p %u %g %t e"
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+# core_pipe_limit specifies how many dump_helpers can run at the same time
Nikola Pajkovsky 8750f03
+# 0 - means unlimited, but it's not guaranteed that /proc/<pid> of crashing
Nikola Pajkovsky 8750f03
+#     process will be available for dump_helper.
Nikola Pajkovsky 8750f03
+# 4 - means that 4 dump_helpers can run at the same time (the rest will also
Nikola Pajkovsky 8750f03
+#     run, but they will fail to read /proc/<pid>).
Nikola Pajkovsky 8750f03
+#
Nikola Pajkovsky 8750f03
+# This should be enough for ABRT, we can miss some crashes, but what are
Nikola Pajkovsky 8750f03
+# the odds that more processes crash at the same time? And moreover,
Nikola Pajkovsky 8750f03
+# do people want to save EVERY ONE of the crashes when they have
Nikola Pajkovsky 8750f03
+# a crash storm? I don't think so.
Nikola Pajkovsky 8750f03
+# The value of 4 has been recommended by nhorman.
Nikola Pajkovsky 8750f03
+#
Nikola Pajkovsky 8750f03
+CORE_PIPE_LIMIT_FILE="/proc/sys/kernel/core_pipe_limit"
Nikola Pajkovsky 8750f03
+CORE_PIPE_LIMIT="4"
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+start() {
Nikola Pajkovsky 8750f03
+	cur=`cat "$PATTERN_FILE"`
Nikola Pajkovsky 8750f03
+	cur_first=`printf "%s" "$cur" | sed 's/ .*//'`
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+	# Is there a %e (executable name) in old pattern anywhere?
Nikola Pajkovsky 8750f03
+	if test x"${cur#.*%e}" = x"${cur}"; then
Nikola Pajkovsky 8750f03
+		# No. Can use PATTERN with less risk of overflow
Nikola Pajkovsky 8750f03
+		# on expansion (executable names can be LONG).
Nikola Pajkovsky 8750f03
+		# Overflow would cause kernel to abort coredump. BAD.
Nikola Pajkovsky 8750f03
+		PATTERN="$PATTERN1"
Nikola Pajkovsky 8750f03
+	fi
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+	$verbose && printf "cur:'%s'\n" "$cur"
Nikola Pajkovsky 8750f03
+	# Is it already installed?
Nikola Pajkovsky 8750f03
+	if test x"$cur_first" != x"|$HOOK_BIN"; then   # no
Nikola Pajkovsky 8750f03
+		# It is not installed
Nikola Pajkovsky 8750f03
+		mkdir -p -- "$SAVED_PATTERN_DIR"
Nikola Pajkovsky 8750f03
+		printf "%s\n" "$cur" >"$SAVED_PATTERN_FILE"
Nikola Pajkovsky 8750f03
+		# Install new handler
Nikola Pajkovsky 8750f03
+		$verbose && printf "Installing to %s:'%s'\n" "$PATTERN_FILE" "$PATTERN"
Nikola Pajkovsky 8750f03
+		$dry_run || echo "$PATTERN" >"$PATTERN_FILE"
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+		# Check core_pipe_limit and change it if it's 0,
Nikola Pajkovsky 8750f03
+		# otherwise the abrt-hook-ccpp won't be able to read /proc/<pid>
Nikola Pajkovsky 8750f03
+		# of the crashing process
Nikola Pajkovsky 8750f03
+		if test x"`cat "$CORE_PIPE_LIMIT_FILE"`" = x"0"; then
Nikola Pajkovsky 8750f03
+			echo "$CORE_PIPE_LIMIT" >"$CORE_PIPE_LIMIT_FILE"
Nikola Pajkovsky 8750f03
+		fi
Nikola Pajkovsky 8750f03
+	fi
Nikola Pajkovsky 8750f03
+}
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+stop() {
Nikola Pajkovsky 8750f03
+	if test -f "$SAVED_PATTERN_FILE"; then
Nikola Pajkovsky 8750f03
+		$verbose && printf "Restoring to %s:'%s'\n" "$PATTERN_FILE" "`cat "$SAVED_PATTERN_FILE"`"
Nikola Pajkovsky 8750f03
+		$dry_run || cat "$SAVED_PATTERN_FILE" >"$PATTERN_FILE"
Nikola Pajkovsky 8750f03
+	fi
Nikola Pajkovsky 8750f03
+}
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+status() {
Nikola Pajkovsky 8750f03
+	cur=`cat "$PATTERN_FILE"`
Nikola Pajkovsky 8750f03
+	cur_first=`printf "%s" "$cur" | sed 's/ .*//'`
Nikola Pajkovsky 8750f03
+	# Is it already installed?
Nikola Pajkovsky 8750f03
+	if test x"$cur_first" = x"|$HOOK_BIN"; then   # yes
Nikola Pajkovsky 8750f03
+		$verbose && printf "Installed\n"
Nikola Pajkovsky 8750f03
+		return 0
Nikola Pajkovsky 8750f03
+	else
Nikola Pajkovsky 8750f03
+		$verbose && printf "Not installed\n"
Nikola Pajkovsky 8750f03
+		return 1
Nikola Pajkovsky 8750f03
+	fi
Nikola Pajkovsky 8750f03
+}
Nikola Pajkovsky 8750f03
+
Nikola Pajkovsky 8750f03
+case "$1" in
Nikola Pajkovsky 8750f03
+install)
Nikola Pajkovsky 8750f03
+	start
Nikola Pajkovsky 8750f03
+	;;
Nikola Pajkovsky 8750f03
+uninstall)
Nikola Pajkovsky 8750f03
+	stop
Nikola Pajkovsky 8750f03
+	;;
Nikola Pajkovsky 8750f03
+is-installed)
Nikola Pajkovsky 8750f03
+	status
Nikola Pajkovsky 8750f03
+	;;
Nikola Pajkovsky 8750f03
+*)
Nikola Pajkovsky 8750f03
+	echo $"Usage: $0 {install|uninstall|is-installed}"
Nikola Pajkovsky 8750f03
+	return 2
Nikola Pajkovsky 8750f03
+esac
Nikola Pajkovsky 8750f03
diff --git a/src/hooks/abrt-install-ccpp-hook.in b/src/hooks/abrt-install-ccpp-hook.in
Nikola Pajkovsky 8750f03
deleted file mode 100755
Nikola Pajkovsky 8750f03
index 9c7df75..0000000
Nikola Pajkovsky 8750f03
--- a/src/hooks/abrt-install-ccpp-hook.in
Nikola Pajkovsky 8750f03
+++ /dev/null
Nikola Pajkovsky 8750f03
@@ -1,107 +0,0 @@
Nikola Pajkovsky 8750f03
-#!/bin/bash
Nikola Pajkovsky 8750f03
-# Install coredump handler which saves segfault data
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-# For debugging
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-dry_run=false
Nikola Pajkovsky 8750f03
-verbose=false
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-DEFAULT_LOCATION=/var/spool/abrt
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-DUMP_LOCATION=`cat @sysconfdir@/abrt/abrt.conf | grep '^[ 	]*DumpLocation'`
Nikola Pajkovsky 8750f03
-DUMP_LOCATION=${DUMP_LOCATION#*DumpLocation*=}
Nikola Pajkovsky 8750f03
-DUMP_LOCATION=${DUMP_LOCATION// /}
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-if [ "$DUMP_LOCATION" = "" ]; then
Nikola Pajkovsky 8750f03
-    DUMP_LOCATION=$DEFAULT_LOCATION
Nikola Pajkovsky 8750f03
-fi
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-PATTERN_FILE="/proc/sys/kernel/core_pattern"
Nikola Pajkovsky 8750f03
-SAVED_PATTERN_DIR="/var/run/abrt"
Nikola Pajkovsky 8750f03
-SAVED_PATTERN_FILE="/var/run/abrt/saved_core_pattern"
Nikola Pajkovsky 8750f03
-HOOK_BIN="/usr/libexec/abrt-hook-ccpp"
Nikola Pajkovsky 8750f03
-# Must match percent_specifiers[] order in abrt-hook-ccpp.c:
Nikola Pajkovsky 8750f03
-PATTERN="|$HOOK_BIN $DUMP_LOCATION %s %c %p %u %g %t %e"
Nikola Pajkovsky 8750f03
-# Same, but with bogus "executable name" parameter
Nikola Pajkovsky 8750f03
-PATTERN1="|$HOOK_BIN $DUMP_LOCATION %s %c %p %u %g %t e"
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-# core_pipe_limit specifies how many dump_helpers can run at the same time
Nikola Pajkovsky 8750f03
-# 0 - means unlimited, but it's not guaranteed that /proc/<pid> of crashing
Nikola Pajkovsky 8750f03
-#     process will be available for dump_helper.
Nikola Pajkovsky 8750f03
-# 4 - means that 4 dump_helpers can run at the same time (the rest will also
Nikola Pajkovsky 8750f03
-#     run, but they will fail to read /proc/<pid>).
Nikola Pajkovsky 8750f03
-#
Nikola Pajkovsky 8750f03
-# This should be enough for ABRT, we can miss some crashes, but what are
Nikola Pajkovsky 8750f03
-# the odds that more processes crash at the same time? And moreover,
Nikola Pajkovsky 8750f03
-# do people want to save EVERY ONE of the crashes when they have
Nikola Pajkovsky 8750f03
-# a crash storm? I don't think so.
Nikola Pajkovsky 8750f03
-# The value of 4 has been recommended by nhorman.
Nikola Pajkovsky 8750f03
-#
Nikola Pajkovsky 8750f03
-CORE_PIPE_LIMIT_FILE="/proc/sys/kernel/core_pipe_limit"
Nikola Pajkovsky 8750f03
-CORE_PIPE_LIMIT="4"
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-start() {
Nikola Pajkovsky 8750f03
-	cur=`cat "$PATTERN_FILE"`
Nikola Pajkovsky 8750f03
-	cur_first=`printf "%s" "$cur" | sed 's/ .*//'`
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-	# Is there a %e (executable name) in old pattern anywhere?
Nikola Pajkovsky 8750f03
-	if test x"${cur#.*%e}" = x"${cur}"; then
Nikola Pajkovsky 8750f03
-		# No. Can use PATTERN with less risk of overflow
Nikola Pajkovsky 8750f03
-		# on expansion (executable names can be LONG).
Nikola Pajkovsky 8750f03
-		# Overflow would cause kernel to abort coredump. BAD.
Nikola Pajkovsky 8750f03
-		PATTERN="$PATTERN1"
Nikola Pajkovsky 8750f03
-	fi
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-	$verbose && printf "cur:'%s'\n" "$cur"
Nikola Pajkovsky 8750f03
-	# Is it already installed?
Nikola Pajkovsky 8750f03
-	if test x"$cur_first" != x"|$HOOK_BIN"; then   # no
Nikola Pajkovsky 8750f03
-		# It is not installed
Nikola Pajkovsky 8750f03
-		mkdir -p -- "$SAVED_PATTERN_DIR"
Nikola Pajkovsky 8750f03
-		printf "%s\n" "$cur" >"$SAVED_PATTERN_FILE"
Nikola Pajkovsky 8750f03
-		# Install new handler
Nikola Pajkovsky 8750f03
-		$verbose && printf "Installing to %s:'%s'\n" "$PATTERN_FILE" "$PATTERN"
Nikola Pajkovsky 8750f03
-		$dry_run || echo "$PATTERN" >"$PATTERN_FILE"
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-		# Check core_pipe_limit and change it if it's 0,
Nikola Pajkovsky 8750f03
-		# otherwise the abrt-hook-ccpp won't be able to read /proc/<pid>
Nikola Pajkovsky 8750f03
-		# of the crashing process
Nikola Pajkovsky 8750f03
-		if test x"`cat "$CORE_PIPE_LIMIT_FILE"`" = x"0"; then
Nikola Pajkovsky 8750f03
-			echo "$CORE_PIPE_LIMIT" >"$CORE_PIPE_LIMIT_FILE"
Nikola Pajkovsky 8750f03
-		fi
Nikola Pajkovsky 8750f03
-	fi
Nikola Pajkovsky 8750f03
-}
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-stop() {
Nikola Pajkovsky 8750f03
-	if test -f "$SAVED_PATTERN_FILE"; then
Nikola Pajkovsky 8750f03
-		$verbose && printf "Restoring to %s:'%s'\n" "$PATTERN_FILE" "`cat "$SAVED_PATTERN_FILE"`"
Nikola Pajkovsky 8750f03
-		$dry_run || cat "$SAVED_PATTERN_FILE" >"$PATTERN_FILE"
Nikola Pajkovsky 8750f03
-	fi
Nikola Pajkovsky 8750f03
-}
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-status() {
Nikola Pajkovsky 8750f03
-	cur=`cat "$PATTERN_FILE"`
Nikola Pajkovsky 8750f03
-	cur_first=`printf "%s" "$cur" | sed 's/ .*//'`
Nikola Pajkovsky 8750f03
-	# Is it already installed?
Nikola Pajkovsky 8750f03
-	if test x"$cur_first" = x"|$HOOK_BIN"; then   # yes
Nikola Pajkovsky 8750f03
-		$verbose && printf "Installed\n"
Nikola Pajkovsky 8750f03
-		return 0
Nikola Pajkovsky 8750f03
-	else
Nikola Pajkovsky 8750f03
-		$verbose && printf "Not installed\n"
Nikola Pajkovsky 8750f03
-		return 1
Nikola Pajkovsky 8750f03
-	fi
Nikola Pajkovsky 8750f03
-}
Nikola Pajkovsky 8750f03
-
Nikola Pajkovsky 8750f03
-case "$1" in
Nikola Pajkovsky 8750f03
-install)
Nikola Pajkovsky 8750f03
-	start
Nikola Pajkovsky 8750f03
-	;;
Nikola Pajkovsky 8750f03
-uninstall)
Nikola Pajkovsky 8750f03
-	stop
Nikola Pajkovsky 8750f03
-	;;
Nikola Pajkovsky 8750f03
-is-installed)
Nikola Pajkovsky 8750f03
-	status
Nikola Pajkovsky 8750f03
-	;;
Nikola Pajkovsky 8750f03
-*)
Nikola Pajkovsky 8750f03
-	echo $"Usage: $0 {install|uninstall|is-installed}"
Nikola Pajkovsky 8750f03
-	return 2
Nikola Pajkovsky 8750f03
-esac
Nikola Pajkovsky 8750f03
-- 
Nikola Pajkovsky 8750f03
1.7.6
Nikola Pajkovsky 8750f03