2012-09-29 18:36:38 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
builddir=./build
|
|
|
|
|
2014-08-11 00:04:28 +02:00
|
|
|
OPENWRTREV=42096
|
|
|
|
OPENWRTURL=svn://svn.openwrt.org/openwrt/branches/barrier_breaker
|
2013-12-01 14:15:14 +01:00
|
|
|
PACKAGEREV=${OPENWRTREV}
|
|
|
|
PACKAGEURL=svn://svn.openwrt.org/openwrt/packages
|
|
|
|
|
2014-11-28 19:10:55 +01:00
|
|
|
## Feed definition [0]: name aka directory [1]: type git vs svn [2]: url [3]: revision evtl [4]: Patches
|
|
|
|
|
|
|
|
#official openwrt packages
|
|
|
|
OPENWRT=(openwrt
|
|
|
|
svn
|
|
|
|
svn://svn.openwrt.org/openwrt/packages
|
|
|
|
$OPENWRTREV)
|
|
|
|
OPENWRT_PKGS="bridge ethtool gpioctl-sysfs horst libugpio mii-tool wavemon kmod-gpiotoggling"
|
|
|
|
|
|
|
|
#official openwrt routing packages
|
|
|
|
ROUTING=(routing
|
|
|
|
git
|
|
|
|
https://github.com/openwrt-routing/packages.git
|
|
|
|
44318d05898069300ce2ad6eb05eb40f232e7123
|
|
|
|
../../../build_patches/0001-batman-adv-no-rebroadcast-option.patch)
|
|
|
|
ROUTING_PKGS="alfred kmod-batman-adv kmod-batgat"
|
|
|
|
|
|
|
|
FASTD=(fastd
|
|
|
|
git
|
|
|
|
git://git.metameute.de/lff/pkg_fastd
|
|
|
|
v14-1)
|
|
|
|
FASTD_PKGS="fastd libuecc"
|
|
|
|
|
|
|
|
LIBREMAP=(libremap
|
|
|
|
git
|
|
|
|
https://github.com/libremap/libremap-agent-openwrt.git
|
|
|
|
7194289d4b8a009df10613a3a88dc841fa26f423)
|
|
|
|
LIBREMAP_PKGS="libremap-agent"
|
|
|
|
|
|
|
|
FFOL=(ffol
|
|
|
|
'local'
|
|
|
|
${PWD}/src/packages/ffol/)
|
|
|
|
FFOL_PKGS="nodewatcher"
|
|
|
|
|
|
|
|
FEEDS=(OPENWRT ROUTING FASTD LIBREMAP FFOL)
|
2013-12-01 14:15:14 +01:00
|
|
|
|
2014-11-23 23:39:27 +01:00
|
|
|
checkout_svn(){
|
|
|
|
local DIRECTORY=$1
|
|
|
|
local REPO_URL=$2
|
|
|
|
local REVISION=$3
|
|
|
|
|
|
|
|
echo checking out $REPO_URL to $DIRECTORY in version $REVISION
|
|
|
|
if [ -d $DIRECTORY ]; then
|
|
|
|
local url=$(svn info ${DIRECTORY} | awk '/^URL/ { print $2 }')
|
|
|
|
if [ "$url" = "$REPO_URL" ]; then
|
|
|
|
if [ -z "$REVISION" ]; then
|
|
|
|
svn update $DIRECTORY
|
|
|
|
else
|
|
|
|
local rev=$(svn info $DIRECTORY | awk '/^Revision:/ { print $2 }')
|
|
|
|
if [ "$rev" -ne "$REVISION" ]; then
|
|
|
|
svn update -r $REVISION $DIRECTORY
|
|
|
|
fi
|
2013-12-01 14:15:14 +01:00
|
|
|
fi
|
|
|
|
else
|
2014-11-23 23:39:27 +01:00
|
|
|
echo wrong svn url -\> deleting whole directory
|
|
|
|
/bin/rm -rf $DIRECTORY
|
|
|
|
svn checkout -r $REVISION $REPO_URL $DIRECTORY
|
2013-12-01 14:15:14 +01:00
|
|
|
fi
|
|
|
|
else
|
2014-11-23 23:39:27 +01:00
|
|
|
svn checkout -r $REVISION $REPO_URL $DIRECTORY
|
2013-12-01 14:15:14 +01:00
|
|
|
fi
|
2014-11-23 23:39:27 +01:00
|
|
|
}
|
2013-12-01 14:15:14 +01:00
|
|
|
|
2014-11-23 23:39:27 +01:00
|
|
|
checkout_git(){
|
|
|
|
local DIRECTORY=$1
|
|
|
|
local REPO_URL=$2
|
|
|
|
local COMMITID=$3
|
|
|
|
|
|
|
|
local MYGIT="git -C $DIRECTORY"
|
|
|
|
echo checking out $REPO_URL to $DIRECTORY in version $REVISION
|
|
|
|
if [ -d $DIRECTORY ]; then
|
|
|
|
if $MYGIT remote -v | grep $REPO_URL ; then
|
|
|
|
echo Right remote detected
|
|
|
|
if ! $MYGIT checkout $COMMITID ; then
|
|
|
|
echo commitid not found trying to fetch new commits
|
|
|
|
$MYGIT pull && $MYGIT checkout $COMMITID
|
2013-12-01 14:15:14 +01:00
|
|
|
fi
|
|
|
|
else
|
2014-11-23 23:39:27 +01:00
|
|
|
echo wrong remote or not an git repo at all -\> deleting whole directory
|
|
|
|
/bin/rm -rf $DIRECTORY
|
|
|
|
$MYGIT clone $REPO_URL $DIRECTORY
|
|
|
|
$MYGIT checkout $COMMITID
|
2013-12-01 14:15:14 +01:00
|
|
|
fi
|
|
|
|
else
|
2014-11-23 23:39:27 +01:00
|
|
|
echo We need to do a fresh checkout
|
|
|
|
#needs to be without -C!!!
|
|
|
|
git clone $REPO_URL $DIRECTORY
|
|
|
|
$MYGIT checkout $COMMITID
|
2013-12-01 14:15:14 +01:00
|
|
|
fi
|
2014-11-23 23:39:27 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
get_source() {
|
|
|
|
cd src
|
|
|
|
|
|
|
|
#Get the OpenWrt Core Source for Firmware
|
|
|
|
checkout_svn openwrt $OPENWRTURL $OPENWRTREV
|
|
|
|
|
|
|
|
test -d packages || mkdir packages
|
|
|
|
cd packages
|
|
|
|
|
2014-11-28 19:10:55 +01:00
|
|
|
#checkout needed package feeds
|
|
|
|
for FEEDVAR in ${FEEDS[@]} ; do
|
|
|
|
FEED=$FEEDVAR[@] FEED=( ${!FEED} )
|
|
|
|
|
|
|
|
local NAME=${FEED[0]}
|
|
|
|
local TYPE=${FEED[1]}
|
|
|
|
local URL=${FEED[2]}
|
|
|
|
local REV=${FEED[3]}
|
|
|
|
local PATCH=${FEED[4]}
|
|
|
|
|
|
|
|
echo Adding Feed $NAME
|
|
|
|
if [[ $TYPE == "svn" ]] ; then
|
|
|
|
checkout_svn $NAME $URL $REV
|
|
|
|
elif [[ $TYPE == "git" ]] ; then
|
|
|
|
checkout_git $NAME $URL $REV
|
|
|
|
# Patches for feeds could be stored in known directories like build_patches/$NAME/
|
|
|
|
# That way multiple patches for one feed could be supported
|
|
|
|
if [ ! -z "$PATCH" ] ; then
|
|
|
|
echo Patching $PATCH
|
|
|
|
git -C $NAME am --whitespace=nowarn $PATCH
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
done
|
2014-02-02 10:52:50 +01:00
|
|
|
|
2013-12-01 14:15:14 +01:00
|
|
|
cd .. # packages
|
|
|
|
cd .. # src
|
|
|
|
}
|
|
|
|
|
2012-09-29 18:36:38 +02:00
|
|
|
prepare() {
|
2013-12-01 14:15:14 +01:00
|
|
|
get_source
|
|
|
|
|
2012-09-29 18:36:38 +02:00
|
|
|
test -d $builddir || mkdir $builddir
|
2013-01-25 22:27:08 +01:00
|
|
|
|
2013-12-01 14:15:14 +01:00
|
|
|
/bin/rm -rf $target
|
|
|
|
svn export src/openwrt $target
|
|
|
|
|
2014-11-28 19:10:55 +01:00
|
|
|
## generate own feeds.conf
|
|
|
|
#this local variable should be globally configure variable used in get_source and here
|
|
|
|
local PACKAGEBASE=${PWD}/src/packages
|
|
|
|
rm -f $target/feeds.conf
|
|
|
|
for FEEDVAR in ${FEEDS[@]} ; do
|
|
|
|
FEED=$FEEDVAR[@] FEED=( ${!FEED} )
|
|
|
|
local NAME=${FEED[0]}
|
|
|
|
echo adding $NAME to package feeds
|
|
|
|
echo src-link $NAME $PACKAGEBASE/$NAME >> $target/feeds.conf
|
|
|
|
done
|
|
|
|
|
|
|
|
echo cleaning feeds
|
2012-09-29 18:36:38 +02:00
|
|
|
test -d $target/feeds && /bin/rm -rf $target/feeds
|
|
|
|
|
|
|
|
$target/scripts/feeds update
|
2014-11-28 19:10:55 +01:00
|
|
|
|
|
|
|
for FEEDVAR in ${FEEDS[@]} ; do
|
|
|
|
FEED=$FEEDVAR[@] FEED=( ${!FEED} )
|
|
|
|
local NAME=${FEED[0]}
|
|
|
|
local PACKAGESVAR=${FEEDVAR}_PKGS
|
|
|
|
|
|
|
|
if [[ -n "${!PACKAGESVAR}" ]] ; then
|
|
|
|
echo adding ${!PACKAGESVAR} from feed $NAME to available packages
|
|
|
|
$target/scripts/feeds install -p $NAME ${!PACKAGESVAR}
|
|
|
|
fi
|
|
|
|
done
|
2012-09-29 18:36:38 +02:00
|
|
|
|
2013-11-17 22:21:25 +01:00
|
|
|
# todo evaluate this with the new openwrt
|
2013-07-29 13:58:40 +02:00
|
|
|
# This changes the default behavior of sysupgrade to not save the config
|
2014-04-11 23:41:21 +02:00
|
|
|
cat build_patches/sysupgrade_no_config_save.patch | patch -p0 -d $target
|
2013-02-27 19:28:07 +01:00
|
|
|
|
2013-07-29 13:58:40 +02:00
|
|
|
#saves ~200MB for each build
|
2013-12-01 14:15:14 +01:00
|
|
|
test -d ./src/dl || mkdir ./src/dl
|
|
|
|
ln -s ../../src/dl $target/dl
|
2013-03-30 11:41:10 +01:00
|
|
|
|
2012-09-29 18:36:38 +02:00
|
|
|
board_prepare
|
|
|
|
}
|
|
|
|
|
|
|
|
prebuild() {
|
|
|
|
#create filesdir for our config
|
|
|
|
/bin/rm -rf $target/files
|
|
|
|
mkdir $target/files
|
|
|
|
|
|
|
|
cp -r ./bsp/default/root_file_system/* $target/files/
|
2013-12-01 14:15:16 +01:00
|
|
|
cp -r ./bsp/$machine/root_file_system/* $target/files/
|
|
|
|
cp ./bsp/$machine/.config $target/.config
|
|
|
|
|
|
|
|
arch=$(awk -F= '/^CONFIG_TARGET_BOARD/{print gsub(/"/,"",$2); print $2;}' ./bsp/$machine/.config)
|
|
|
|
version=$(awk '/^CONFIG_LINUX/ { sub(/CONFIG_LINUX_/,""); sub(/=y/,""); gsub(/_/,"."); print; }' ./bsp/$machine/.config)
|
|
|
|
test -f ./bsp/$machine/.kernelconfig-$version && \
|
|
|
|
cp ./bsp/$machine/.kernelconfig-$version \
|
|
|
|
$target/target/linux/$arch/config-$version
|
2012-09-29 18:36:38 +02:00
|
|
|
|
|
|
|
board_prebuild
|
|
|
|
|
2014-11-11 23:53:35 +01:00
|
|
|
for template in $(find $target/files -name *.tpl); do
|
2013-09-14 00:09:35 +02:00
|
|
|
echo "Translating $template .."
|
2013-10-04 18:38:39 +02:00
|
|
|
$tpl_translate $template > $(dirname $template)/$(basename $template .tpl)
|
2013-09-14 00:09:35 +02:00
|
|
|
/bin/rm $template
|
|
|
|
done
|
|
|
|
|
2012-09-29 18:36:38 +02:00
|
|
|
#insert actual firware version informations into release file
|
2013-07-29 13:58:40 +02:00
|
|
|
version=$(git describe --tags --dirty)
|
2012-11-18 22:34:04 +01:00
|
|
|
|
|
|
|
echo "FIRMWARE_VERSION=\"$version\"" > $target/files/etc/firmware_release
|
|
|
|
echo "RELEASE_DATE=\"build date: "`date`"\"" >> $target/files/etc/firmware_release
|
2012-09-29 18:36:38 +02:00
|
|
|
echo "FIRMWARE_REVISION=\"build date: "`date`"\"" >> $target/files/etc/firmware_release
|
2013-12-01 14:15:14 +01:00
|
|
|
echo "OPENWRT_CORE_REVISION=\""${OPENWRTREV}"\"" >> $target/files/etc/firmware_release
|
|
|
|
echo "OPENWRT_FEEDS_PACKAGES_REVISION=\""${PACKAGEREV}"\"" >> $target/files/etc/firmware_release
|
2012-09-29 18:36:38 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
prebuild
|
|
|
|
|
2012-09-29 20:42:34 +02:00
|
|
|
opath=$(pwd)
|
2012-09-29 18:36:38 +02:00
|
|
|
cd $target
|
2013-07-29 13:58:40 +02:00
|
|
|
cpus=$(grep processor /proc/cpuinfo | wc -l)
|
2012-09-29 18:36:38 +02:00
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
"debug")
|
|
|
|
make V=99
|
|
|
|
;;
|
|
|
|
"fast")
|
2013-05-09 15:14:08 +02:00
|
|
|
ionice -c 2 -- nice -n 1 -- make -j$[$cpus*2]
|
2012-09-29 18:36:38 +02:00
|
|
|
;;
|
|
|
|
*)
|
2013-05-09 15:14:08 +02:00
|
|
|
ionice -c 3 -- nice -n 10 -- make -j$[$cpus+1]
|
2012-09-29 18:36:38 +02:00
|
|
|
;;
|
|
|
|
esac
|
2013-11-17 22:21:25 +01:00
|
|
|
|
2012-09-29 20:42:34 +02:00
|
|
|
cd $opath
|
2012-09-29 18:36:38 +02:00
|
|
|
|
|
|
|
if [ ! -d bin ]; then
|
|
|
|
mkdir bin
|
|
|
|
fi
|
|
|
|
|
|
|
|
postbuild
|
|
|
|
}
|
|
|
|
|
2013-12-01 14:15:16 +01:00
|
|
|
config() {
|
|
|
|
prebuild
|
|
|
|
|
|
|
|
opath=$(pwd)
|
|
|
|
cd $target
|
|
|
|
|
|
|
|
case "$1" in
|
|
|
|
"openwrt")
|
|
|
|
make menuconfig
|
|
|
|
;;
|
|
|
|
"kernel")
|
|
|
|
make kernel_menuconfig
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
cd $opath
|
|
|
|
|
|
|
|
save=""
|
|
|
|
until [ "$save" = "y" -o "$save" = "n" ]; do
|
|
|
|
echo "Do you want to save the generated config? (y/n)"
|
|
|
|
read save
|
|
|
|
done
|
|
|
|
|
|
|
|
if [ "$save" = "y" ]; then
|
|
|
|
case "$1" in
|
|
|
|
"openwrt")
|
|
|
|
grep '^CON\|^# CON' $target/.config | sort > ./bsp/$machine/.config
|
|
|
|
;;
|
|
|
|
"kernel")
|
|
|
|
arch=$(awk -F= '/^CONFIG_TARGET_BOARD/{gsub(/"/,"",$2); print $2;}' ./bsp/$machine/.config)
|
|
|
|
version=$(awk '/^CONFIG_LINUX/ { sub(/CONFIG_LINUX_/,""); sub(/=y/,""); gsub(/_/,"."); print; }' ./bsp/$machine/.config)
|
|
|
|
grep '^CON\|^# CON' $target/target/linux/$arch/config-$version | sort > ./bsp/$machine/.kernelconfig-$version
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2012-09-29 18:36:38 +02:00
|
|
|
postbuild() {
|
|
|
|
board_postbuild
|
|
|
|
}
|
|
|
|
|
|
|
|
clean() {
|
|
|
|
board_clean
|
|
|
|
/bin/rm -rf bin $builddir
|
|
|
|
}
|
|
|
|
|
2013-09-19 20:40:28 +02:00
|
|
|
buildall() {
|
2014-11-11 21:29:41 +01:00
|
|
|
for bsp in $(/bin/ls bsp/*.bsp); do
|
2013-09-19 20:40:28 +02:00
|
|
|
./buildscript selectcommunity $1
|
|
|
|
./buildscript selectbsp $bsp
|
|
|
|
./buildscript prepare
|
2014-05-16 19:27:45 +02:00
|
|
|
./buildscript build $2
|
2013-09-19 20:40:28 +02:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
if [ "$1" != "selectbsp" -a "$1" != "selectcommunity" -a "$1" != "buildall" ]; then
|
2012-09-30 02:52:22 +02:00
|
|
|
if [ ! -h selected_bsp ]; then
|
|
|
|
echo "Please select a Board-Support-Package using:"
|
2013-09-14 00:09:35 +02:00
|
|
|
echo "$0 selectbsp"
|
2012-09-30 02:52:22 +02:00
|
|
|
exit
|
2013-09-14 00:09:35 +02:00
|
|
|
fi
|
|
|
|
if [ ! -h selected_community ]; then
|
|
|
|
echo "Please select a community file using:"
|
|
|
|
echo "$0 selectcommunity"
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
echo "Working with $(/bin/ls -l selected_bsp | awk '{ print $11 }') and" \
|
|
|
|
"$(/bin/ls -l selected_community | awk '{ print $11 }')"
|
|
|
|
. selected_bsp
|
2013-11-15 11:53:12 +01:00
|
|
|
tpl_translate=$(awk -F= 'BEGIN{printf("sed")} /^.+$/{gsub("/", "\\/", $0); printf(" -es/\\${%s}/%s/g",$1,$2)}' selected_community)
|
2013-09-14 00:09:35 +02:00
|
|
|
echo
|
2012-09-29 18:36:38 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
case "$1" in
|
2013-09-14 00:09:35 +02:00
|
|
|
"selectbsp")
|
2012-09-29 18:36:38 +02:00
|
|
|
if [ "$2" = "help" ] || [ "$2" = "" ]; then
|
|
|
|
echo "Select a Board-Support-Package:"
|
|
|
|
echo
|
|
|
|
echo "Usage: $0 $1 bsp"
|
2014-11-13 00:05:07 +01:00
|
|
|
echo "available packages:"
|
2013-09-14 00:09:35 +02:00
|
|
|
/bin/ls bsp/*.bsp
|
|
|
|
else
|
|
|
|
if [ ! -f $2 ]; then
|
|
|
|
echo "Could not find $2"
|
|
|
|
else
|
|
|
|
/bin/rm -rf selected_bsp
|
|
|
|
/bin/ln -s $2 selected_bsp
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
"selectcommunity")
|
|
|
|
if [ "$2" = "help" ] || [ "$2" = "" ]; then
|
|
|
|
echo "Select a Community-File:"
|
|
|
|
echo
|
|
|
|
echo "Usage: $0 $1 community.cfg"
|
|
|
|
echo "community.cfg: "
|
|
|
|
/bin/ls community/*.cfg
|
2012-09-29 18:36:38 +02:00
|
|
|
else
|
2013-09-14 00:09:35 +02:00
|
|
|
if [ ! -f $2 ]; then
|
|
|
|
echo "Could not find $2"
|
|
|
|
else
|
|
|
|
/bin/rm -rf selected_community
|
|
|
|
/bin/ln -s $2 selected_community
|
|
|
|
fi
|
2012-09-29 18:36:38 +02:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
"prepare")
|
|
|
|
if [ "$2" = "help" ] || [ "$2" = "x" ]; then
|
|
|
|
echo "This option fetches the sources for the images and configurates the build so that it can be compiled"
|
|
|
|
echo "Usage: $0 $1"
|
|
|
|
else
|
|
|
|
prepare
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
"build")
|
|
|
|
if [ "$2" = "help" ] || [ "$2" = "x" ]; then
|
|
|
|
echo "This option compiles the firmware"
|
|
|
|
echo "Normaly the build uses lower IO and System priorities, "
|
|
|
|
echo "you can append \"fast\" option, to use normal user priorities"
|
|
|
|
echo "Usage: $0 $1 [fast|debug]"
|
|
|
|
else
|
|
|
|
build "$2"
|
|
|
|
fi
|
|
|
|
;;
|
2013-12-01 14:15:16 +01:00
|
|
|
"config")
|
|
|
|
case "$2" in
|
|
|
|
openwrt)
|
|
|
|
config openwrt
|
|
|
|
;;
|
|
|
|
kernel)
|
|
|
|
config kernel
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "This open the OpenWRT menuconfig dialog"
|
|
|
|
echo
|
|
|
|
echo "Usage: $0 $1 openwrt|kernel"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
;;
|
2012-09-29 18:36:38 +02:00
|
|
|
"clean")
|
|
|
|
if [ "$2" = "help" ] || [ "$2" = "x" ]; then
|
|
|
|
echo "This option cleans all build files."
|
2014-11-12 22:49:28 +01:00
|
|
|
echo "$0 $1"
|
2012-09-29 18:36:38 +02:00
|
|
|
else
|
|
|
|
clean
|
|
|
|
fi
|
|
|
|
;;
|
2013-09-19 20:40:28 +02:00
|
|
|
"buildall")
|
|
|
|
if [ "$2" = "help" ] || [ "$2" = "" ]; then
|
|
|
|
echo "This option builds the firmware for all routers of a given community."
|
2014-05-16 19:27:45 +02:00
|
|
|
echo "Usage: $0 $1 community.cfg [fast]"
|
2013-09-19 20:40:28 +02:00
|
|
|
echo "community.cfg: "
|
|
|
|
/bin/ls community/*.cfg
|
|
|
|
else
|
2014-05-16 19:27:45 +02:00
|
|
|
buildall $2 $3
|
2013-09-19 20:40:28 +02:00
|
|
|
fi
|
|
|
|
;;
|
2012-09-29 18:36:38 +02:00
|
|
|
*)
|
2014-11-11 21:29:41 +01:00
|
|
|
echo "This is the Build Environment Script of the Freifunk Community Franken."
|
2012-09-29 18:36:38 +02:00
|
|
|
echo "Usage: $0 command"
|
|
|
|
echo "command:"
|
2013-10-04 18:31:22 +02:00
|
|
|
echo " selectcommunity [communityfile]"
|
|
|
|
echo " selectbsp [bsp file]"
|
2012-09-29 18:36:38 +02:00
|
|
|
echo " prepare"
|
2014-11-13 00:05:07 +01:00
|
|
|
echo " config <openwrt|kernel>"
|
|
|
|
echo " build [<fast|debug>]"
|
|
|
|
echo " buildall <community> [<fast>]"
|
2014-11-12 22:49:28 +01:00
|
|
|
echo " clean"
|
2012-09-29 18:36:38 +02:00
|
|
|
echo ""
|
|
|
|
echo "If you need help to one of these options just type $0 command help"
|
|
|
|
;;
|
|
|
|
esac
|
2014-11-13 00:05:07 +01:00
|
|
|
# vim: noexpandtab
|