Editing Device management using Bcfg2

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 257: Line 257:
=== Autogroup probe ===
=== Autogroup probe ===
-
Bcfg2 is able to automatically determine group memberships using probes. Aa sample probe code which recognizes Maemo devices among many other computers is shown below:
+
Bcfg2 is able to automatically determine group memberships using probes. [http://wiki.maemo.org/Image:Autogroup.sh Here] is a sample probe code which recognizes Maemo devices among many other computers. Just put the code into a file at Probes directory, for example, <code>/var/lib/bcfg2/Probes/autogroup</code>
-
 
+
-
<source lang="bash">
+
-
#! /bin/sh
+
-
 
+
-
opi=/usr/bin/osso-product-info
+
-
swv=/usr/bin/sw_vers
+
-
 
+
-
# Are we Linux?
+
-
if uname 2>/dev/null | grep -q "Linux"
+
-
then
+
-
    # LSB saves the day
+
-
    if lsb_release -a > /dev/null 2>&1
+
-
    then
+
-
        lsb_release -ci 2>/dev/null |\
+
-
        awk -F: '{gsub(/^[ \t]+/, "", $2);print "group:" tolower($2)}'
+
-
    # It did not? We might be maemo
+
-
    elif [ -x $opi ]
+
-
    then
+
-
        if $opi 2>/dev/null | grep "OSSO_PRODUCT_RELEASE_NAME" | grep -q 'Maemo 5'
+
-
        then
+
-
            echo "group:fremantle"
+
-
        elif $opi 2>/dev/null | grep "OSSO_PRODUCT_RELEASE_NAME" | grep -q 'Maemo 6'
+
-
        then
+
-
            echo "group:harmattan"
+
-
        fi
+
-
        echo "group:maemo"
+
-
    # We were not? Get desperate
+
-
    elif uname -v 2>/dev/null | grep -q "Ubuntu"
+
-
    then
+
-
        echo "group:ubuntu"
+
-
    elif [ -f /etc/fedora-release ]
+
-
    then
+
-
        echo "group:fedora"
+
-
    elif [ -f /etc/redhat-release ]
+
-
    then
+
-
        echo "group:redhat"
+
-
    else
+
-
        echo "group:linux"
+
-
    fi
+
-
fi
+
-
 
+
-
# Are we Mac?
+
-
if uname 2>/dev/null | grep -q "Darwin"
+
-
then
+
-
    if [ -x $swv ]
+
-
    then
+
-
        if  $swv 2>/dev/null | grep "ProductVersion:" | grep -q '10.6'
+
-
        then
+
-
            echo "group:snowleopard"
+
-
        elif $swv 2>/dev/null | grep "ProductVersion:" | grep -q '10.5'
+
-
        then
+
-
            echo "group:leopard"
+
-
        elif $swv 2>/dev/null | grep "ProductVersion:" | grep -q '10.4'
+
-
        then
+
-
            echo "group:tiger"
+
-
        else
+
-
            echo "group:macosx"
+
-
        fi
+
-
    else
+
-
        echo "group:freebsd"
+
-
    fi
+
-
fi
+
-
 
+
-
# What arch?
+
-
if uname -m | grep -E '^arm' > /dev/null 2>&1
+
-
then
+
-
    echo "group:armel"
+
-
elif uname -m | grep -E '^i.?86'> /dev/null 2>&1
+
-
then
+
-
    echo "group:i386"
+
-
elif uname -m | grep -E '^x86_64'> /dev/null 2>&1
+
-
then
+
-
    echo "group:amd64"
+
-
else
+
-
    echo "group:`uname -m`"
+
-
fi
+
-
</source>
+
-
 
+
-
Just put the code into a file at Probes directory, for example, <code>/var/lib/bcfg2/Probes/autogroup</code>
+
At Bcfg2 web site is another [http://trac.mcs.anl.gov/projects/bcfg2/wiki/Plugins/Probes/examples/group example] of autogroup probe code. This code does not recognize Maemo but might do better work with some other platforms.
At Bcfg2 web site is another [http://trac.mcs.anl.gov/projects/bcfg2/wiki/Plugins/Probes/examples/group example] of autogroup probe code. This code does not recognize Maemo but might do better work with some other platforms.

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)