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