Blame build_c6_live.sh

Fabian Arrotin 9e7827
#!/bin/bash
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
#################################################################################
Fabian Arrotin 9e7827
# 
Fabian Arrotin 9e7827
# Name :  CentOS 6 Live Media [CD,DVD] build script 
Fabian Arrotin 9e7827
# Function : Builds the CD,DVD media from the last current C6 tree
Fabian Arrotin 9e7827
# How to call it : see usage()
Fabian Arrotin 9e7827
# Author : Fabian Arrotin (arrfab@centos.org)
Fabian Arrotin 9e7827
#
Fabian Arrotin 9e7827
#################################################################################
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
usage() {
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
cat <<  EOF
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
You need to call the script like this : $0 -arguments
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
        -a : define the arch (required, default:none, values : [i386,x86_64])   
Fabian Arrotin 9e7827
        -p : define the repo path (required, default:none)
Fabian Arrotin 9e7827
	-m : define the media type (required, default:none, values : [cd,dvd])
Fabian Arrotin 9e7827
        -h : display this help
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
EOF
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
}
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
varcheck() {
Fabian Arrotin 9e7827
if [ -z "$1" ] ; then
Fabian Arrotin 9e7827
        usage
Fabian Arrotin 9e7827
        exit 1
Fabian Arrotin 9e7827
fi
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
}
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
while getopts “ha:p:m:” OPTION
Fabian Arrotin 9e7827
do
Fabian Arrotin 9e7827
     case $OPTION in
Fabian Arrotin 9e7827
         h)
Fabian Arrotin 9e7827
             usage
Fabian Arrotin 9e7827
             exit 1
Fabian Arrotin 9e7827
             ;;
Fabian Arrotin 9e7827
         a)
Fabian Arrotin 9e7827
             arch=$OPTARG
Fabian Arrotin 9e7827
             ;;
Fabian Arrotin 9e7827
         m)
Fabian Arrotin 9e7827
             media=$(echo $OPTARG|tr [:lower:] [:upper:])
Fabian Arrotin 9e7827
             ;;
Fabian Arrotin 9e7827
         p)
Fabian Arrotin 9e7827
             repopath=$OPTARG
Fabian Arrotin 9e7827
             ;;
Fabian Arrotin 9e7827
         ?)
Fabian Arrotin 9e7827
             usage
Fabian Arrotin 9e7827
             exit
Fabian Arrotin 9e7827
             ;;
Fabian Arrotin 9e7827
     esac
Fabian Arrotin 9e7827
done
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
varcheck $arch
Fabian Arrotin 9e7827
varcheck $media
Fabian Arrotin 9e7827
varcheck $repopath
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
if [ `id -u` -ne "0" ]; then
Fabian Arrotin 9e7827
	echo "you must call this script as root or with proper sudo permissions !"
Fabian Arrotin 9e7827
	exit 1
Fabian Arrotin 9e7827
fi
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
# Checking that we have the proper build tools installed
Fabian Arrotin 9e7827
for package in livecd-tools python-imgcreate;
Fabian Arrotin 9e7827
do
Fabian Arrotin 9e7827
	rpm -q $package >/dev/null 2>&1 
Fabian Arrotin 9e7827
	if [ $? -ne 0 ];then
Fabian Arrotin 9e7827
		echo "Package $package not installed and needed for the $0 script to run !"
Fabian Arrotin 9e7827
		exit 1
Fabian Arrotin 9e7827
	fi
Fabian Arrotin 9e7827
done
Fabian Arrotin 9e7827
Fabian Arrotin 9e7827
cd `dirname $0`
Fabian Arrotin 9e7827
setenforce 0
Fabian Arrotin 9e7827
/bin/cp ks/centos6-live${media}-desktop.cfg /tmp/
Fabian Arrotin 9e7827
sed -i s#REPOPATH#$repopath#g /tmp/centos6-live${media}-desktop.cfg
Fabian Arrotin 9e7827
setarch $arch livecd-creator -c /tmp/centos6-live${media}-desktop.cfg -f "CentOS-6-${arch}-Live${media}" 
Fabian Arrotin 9e7827
setenforce 1
Fabian Arrotin 9e7827