]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxc-checkconfig: remove zgrep dependency
authorAndre McCurdy <armccurdy@gmail.com>
Fri, 11 Dec 2015 20:35:55 +0000 (12:35 -0800)
committerStéphane Graber <stgraber@ubuntu.com>
Thu, 17 Nov 2016 22:22:58 +0000 (17:22 -0500)
zgrep is a script provided by the 'gzip' package, which may not be
installed on embedded systems etc which use busybox instead of the
standard full-featured utilities.

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
src/lxc/lxc-checkconfig.in

index 247b70f9046cf7a4953057ffac69e01172d180ec..4f3896e869bd740001e5d40a2d2699ad551baf6a 100644 (file)
@@ -1,17 +1,18 @@
 #!/bin/sh
 
-# Allow environment variables to override grep and config
+# Allow environment variables to override config
 : ${CONFIG:=/proc/config.gz}
-: ${GREP:=zgrep}
 : ${MODNAME:=configs}
 
+CAT="cat"
+
 SETCOLOR_SUCCESS="printf \\033[1;32m"
 SETCOLOR_FAILURE="printf \\033[1;31m"
 SETCOLOR_WARNING="printf \\033[1;33m"
 SETCOLOR_NORMAL="printf \\033[0;39m"
 
 is_set() {
-    $GREP "$1=[y|m]" $CONFIG > /dev/null
+    $CAT $CONFIG | grep "$1=[y|m]" > /dev/null
     return $?
 }
 
@@ -45,7 +46,6 @@ if [ ! -f $CONFIG ]; then
         # although scripts/extract-ikconfig could be used to extract contents without loading kernel module
         # http://svn.pld-linux.org/trac/svn/browser/geninitrd/trunk/geninitrd?rev=12696#L327
     fi
-    GREP=grep
     if [ ! -f $CONFIG ]; then
         echo "$(basename $0): unable to retrieve kernel configuration" >&2
         echo >&2
@@ -61,6 +61,10 @@ if [ ! -f $CONFIG ]; then
     fi
 fi
 
+if gunzip -tq < $CONFIG 2>/dev/null; then
+    CAT="zcat"
+fi
+
 echo "--- Namespaces ---"
 echo -n "Namespaces: " && is_enabled CONFIG_NAMESPACES yes
 echo -n "Utsname namespace: " && is_enabled CONFIG_UTS_NS
@@ -78,13 +82,13 @@ print_cgroups() {
 }
 
 CGROUP_MNT_PATH=`print_cgroups cgroup /proc/self/mounts | head -n 1`
-KVER_MAJOR=$($GREP '^# Linux.*Kernel Configuration' $CONFIG | \
+KVER_MAJOR=$($CAT $CONFIG | grep '^# Linux.*Kernel Configuration' | \
     sed -r 's/.* ([0-9])\.[0-9]{1,2}\.[0-9]{1,3}.*/\1/')
 if [ "$KVER_MAJOR" = "2" ]; then
-KVER_MINOR=$($GREP '^# Linux.*Kernel Configuration' $CONFIG | \
+KVER_MINOR=$($CAT $CONFIG | grep '^# Linux.*Kernel Configuration' | \
     sed -r 's/.* 2.6.([0-9]{2}).*/\1/')
 else
-KVER_MINOR=$($GREP '^# Linux.*Kernel Configuration' $CONFIG | \
+KVER_MINOR=$($CAT $CONFIG | grep '^# Linux.*Kernel Configuration' | \
     sed -r 's/.* [0-9]\.([0-9]{1,3})\.[0-9]{1,3}.*/\1/')
 fi