]> git.ipfire.org Git - thirdparty/dracut.git/blame - modules.d/99base/initqueue.sh
use "rm --" to guard against filenames beginning with "-"
[thirdparty/dracut.git] / modules.d / 99base / initqueue.sh
CommitLineData
eab677a2 1#!/bin/sh
cc02093d
HH
2# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
3# ex: ts=8 sw=4 sts=4 et filetype=sh
4#
5# Licensed under the GPLv2+
6#
7# Copyright 2008-2010, Red Hat, Inc.
8# Harald Hoyer <harald@redhat.com>
eab677a2 9
fb59f4c9
HH
10PATH=/usr/sbin:/usr/bin:/sbin:/bin
11
0b53ca70 12type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
273b197d
HH
13
14while [ $# -gt 0 ]; do
15 case "$1" in
cc02093d
HH
16 --onetime)
17 onetime="yes";;
18 --settled)
4abb498d
HH
19 qname="/settled";;
20 --finished)
21 qname="/finished";;
641d84a4
LK
22 --timeout)
23 qname="/timeout";;
cc02093d
HH
24 --unique)
25 unique="yes";;
26 --name)
27 name="$2";shift;;
6e3cc00f
WW
28 --env)
29 env="$2"; shift;;
cc02093d
HH
30 *)
31 break;;
273b197d 32 esac
4712e4ec 33 shift
273b197d
HH
34done
35
36if [ -z "$unique" ]; then
cc02093d 37 job="${name}$$"
273b197d 38else
cc02093d
HH
39 job="${name:-$1}"
40 job=${job##*/}
58dbb43e 41fi
273b197d 42
fb59f4c9
HH
43exe=$1
44shift
45
46[ -x "$exe" ] || exe=$(command -v $exe)
16da29bf 47
6e3cc00f 48{
32bd2fbb 49 [ -n "$onetime" ] && echo '[ -e "$job" ] && rm -f -- "$job"'
6e3cc00f
WW
50 [ -n "$env" ] && echo "$env"
51 echo "$exe $@"
52} > "/tmp/$$-${job}.sh"
4ce52970 53
4abb498d
HH
54mv -f "/tmp/$$-${job}.sh" "$hookdir/initqueue${qname}/${job}.sh"
55[ -z "$qname" ] && >> $hookdir/initqueue/work
9a716018 56exit 0