[PATCH] Fix in pakfire functions.sh

Jonatan Schlag jonatan.schlag at ipfire.org
Fri Jun 10 10:13:41 CEST 2016


The if statement in line 89 and 99 are useless with the -e
conditional expression because it returns true if the path ist a
regular file or a directory.
So "/etc/init.d/ " returns true and "/etc/init.d/avahi" return also true,
but the statement should return only true if we have a regular file.
So -f if the right conditional expression, and we only try to execute
the init script if the path "/etc/init.d/${1}" points to a regular file.

Signed-off-by: Jonatan Schlag <jonatan.schlag at ipfire.org>
---
 src/pakfire/lib/functions.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/pakfire/lib/functions.sh b/src/pakfire/lib/functions.sh
index 3f7dbff..3751697 100644
--- a/src/pakfire/lib/functions.sh
+++ b/src/pakfire/lib/functions.sh
@@ -86,7 +86,7 @@ start_service() {
 		esac
 	done
 
-	if [ -e "/etc/init.d/${1}" ]; then
+	if [ -f "/etc/init.d/${1}" ]; then
 	    if [ -n "${BACKGROUND}" ]; then
 				(sleep ${DELAY} && /etc/init.d/${1} start) &
 			else
@@ -96,7 +96,7 @@ start_service() {
 }
 
 stop_service() {
-	if [ -e "/etc/init.d/${1}" ]; then
+	if [ -f "/etc/init.d/${1}" ]; then
 		/etc/init.d/${1} stop
 	fi
 }
-- 
2.1.4



More information about the Development mailing list