]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-setuid: use POSIX shell instead of bash
authorNatanael Copa <ncopa@alpinelinux.org>
Mon, 26 Nov 2012 21:39:05 +0000 (22:39 +0100)
committerStéphane Graber <stgraber@ubuntu.com>
Tue, 27 Nov 2012 15:11:14 +0000 (10:11 -0500)
Avoid getop --longoptions.

Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
src/lxc/lxc-setuid.in

index 84f18af5957d4184648d5138cf2218e21ac57936..e6a7b968db1461e4ea27c256b212396fe369a2cf 100644 (file)
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 #
 # lxc: linux Container library
@@ -78,32 +78,40 @@ lxc_dropuid()
     chmod 0755 @LXCPATH@
 }
 
-shortoptions='hd'
-longoptions='help'
-
-getopt=$(getopt -o $shortoptions --longoptions  $longoptions -- "$@")
-if [ $? != 0 ]; then
+usage_err() {
+    [ -n "$1" ] && echo "$1" >&2
     usage
     exit 1
-fi
+}
 
-eval set -- "$getopt"
+optarg_check() {
+    if [ -z "$2" ]; then
+        usage_err "option '$1' requires an argument"
+    fi
+}
 
-while true; do
-    case "$1" in
+while [ $# -gt 0 ]; do
+    opt="$1"
+    shift
+    case "$opt" in
        -d)
            LXC_DROP_CAPS="yes"
-           shift
            ;;
        -h|--help)
            help
            exit 0
            ;;
        --)
-           shift
            break
            ;;
-       *)
+        -?)
+            usage_err "unknown option '$opt'"
+            ;;
+        -*)
+            # split opts -abc into -a -b -c
+            set -- $(echo "${opt#-}" | sed 's/\(.\)/ -\1/g') "$@"
+            ;;
+         *)
            usage
            exit 1
            ;;