|
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 |
|