-
Notifications
You must be signed in to change notification settings - Fork 0
/
make-iso.sh
executable file
·93 lines (88 loc) · 2.14 KB
/
make-iso.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/bin/bash
#
#
#
[[ ! 0 -eq $UID ]] && printf "$0 requires root access!\n" && exit 1
#
# Get required apps
#
which livecd-creator 2>/dev/zero 1>/dev/zero || \
(printf "Installing required applications, please wait...\n";yum -q -y install livecd-tools spin-kickstarts git)
#
# Variables Fixed (external)
#
ofs="$IFS"
IFS="\\$(printf '\076')"
tDIR=$(ls -l "$0" | while read tmp link;do printf $(dirname "${link:1}");done)
#echo $tDIR
#exit
. $tDIR/make-iso.conf
. /etc/os-release
usr=${home##*/}
CFG=$SRC_DIR/$prj.ks
[[ x86_64 = $(uname -m) ]] && \
ARCH=64 || \
ARCH=32
fs_string=$(uname -r)
$make32 && \
pre="time setarch linux32" && \
[[ $ARCH = x86_64 ]] && \
fs_string=${fs_string/$ARCH/i686} || \
pre="time"
#
# Variables Dynamic
#
[[ -z $1 ]] && \
RELEASEVER=$VERSION_ID || \
RELEASEVER=$1
[[ $RELEASEVER = rawhide ]] && \
CFG=${CFG/$prj.ks/$prj-rawhide.ks}
FSLABEL="AwesomeWM-$fs_string"
TITLE="AwesomeWM-Spin (${RELEASEVER}/${ARCH}bit)"
TMPDIR=/mnt/$FSLABEL
VERBOSE="-v"
#
# Pre-clean temp dir
#
[[ -d "$TMPDIR" ]] || mkdir -p "$TMPDIR"
cd "$TMPDIR"
if [ ! "" = "$(ls)" ]
then [ ! $(pwd) = "$TMPDIR" ] && echo "Wrong path :: $(pwd)" && exit 1
echo "Cleaning up: $TMPDIR"
umount $(find -type d)
rm -fr * || exit 1
fi
#
# Action
#
clear
printf "\n\n\tStart building \"$TITLE\"...\n\n"
sleep 1.5
cd "$SRC_DIR"
# if $make32 && [ x86_64 = "" ]
# then #setarch linux32
#echo "---- $(uname -a)"
#time setarch linux32 livecd-creator -c "$CFG" -t "$TITLE" -f "$FSLABEL" --releasever=$RELEASEVER --tmpdir="$TMPDIR" $VERBOSE
cmd="$pre livecd-creator -c \"$CFG\" -t \"$TITLE\" -f \"$FSLABEL\" --releasever=$RELEASEVER --tmpdir=\"$TMPDIR\" $VERBOSE"
#echo $cmd
#exit
eval $cmd
RET=$?
#echo; ; exit
#setarch linux64
#echo "---- $(uname -a)"
# else time livecd-creator -c "$CFG" -t "$TITLE" -f "$FSLABEL" --releasever=$RELEASEVER --tmpdir="$TMPDIR" $VERBOSE
# RET=$?
# fi
printf "\n\n"
if [[ 0 -eq $RET ]]
then mv "$FSLABEL.iso" "$home/"
cd "$home"
pwd
chown $usr:$usr $FSLABEL.iso
ls -lh --color=auto $FSLABEL.iso
else printf "Building of \"$TITLE\" failed.\n"
fi
printf "\n\n"
cd "$OLDPWD"
exit $RET