#!/bin/sh
# -*- Mode: shell-script -*-
# Copyright (C) 2003-2006 Mandriva
# Author: Chmouel Boudjnah
# Redistribution of this file is permitted under the terms of the GNU
# Public License (GPL)

SCRIPTDIR="/etc/sysconfig/suspend-scripts/suspend.d"
debug=

. /etc/sysconfig/suspend

while getopts d opt
  do
  case "$opt" in
      d) debug="yes";;
  esac
done
shift $((OPTIND - 1))

function parse {
    grep=$1
    local suspend_second=
    local suspend=
    local name=

    for file in $SCRIPTDIR/*;do
	suspend_second=
	suspend=
	[[ $file == *~ || $file == *.rpmsave || $file == *.rpmold || $file == *.rpmorig || $file == *\#* ]] && continue
	suspend=$(grep "^# ${grep}: " $file|sed 's/.* \([0-9]*\)/\1/')
	suspend_second=$(grep "^# ${grep}-second: " $file|sed 's/.* \([0-9]*\)/\1/')
	name=${file##*/}

	if [[ -n $suspend_second ]];then
	    echo $suspend_second ${name}-second
	fi

	[[ -z $suspend ]] && continue

	echo $suspend $name

    done | sort -n
}

function doit {
    for name in $(parse $1|cut -d" " -f2 );do
	[[ -n $debug ]] && echo "Launching $name"
	if [[ $name == *-second ]];then
	    if [[ -n $debug ]];then
		/bin/bash ${SCRIPTDIR}/${name%%-*} ${1}2 ${2}
	    else
		/bin/bash ${SCRIPTDIR}/${name%%-*} ${1}2 ${2} 2>/dev/null >/dev/null
	    fi
	else
	    if [[ -n $debug ]];then
		/bin/bash ${SCRIPTDIR}/$name ${1} ${2}
	    else
		/bin/bash ${SCRIPTDIR}/$name ${1} ${2} 2>/dev/null >/dev/null
	    fi
	fi
	sync
    done
}

doit $*
