Skip to content

Instantly share code, notes, and snippets.

@leafsummer
Created July 2, 2019 04:05
Show Gist options
  • Save leafsummer/58520cdafdf67063fbf117f8109b4869 to your computer and use it in GitHub Desktop.
Save leafsummer/58520cdafdf67063fbf117f8109b4869 to your computer and use it in GitHub Desktop.
[make the centos xml file of packages for installing]
#!/usr/bin/bash
# $1 -> rpmdir $2 -> id
set -e
array=()
i=1
#change dir to destdir
cd `pwd`/$1
fakexml=`ls | grep -v '*.sh' | grep -v '*.xml'`
#seperate string
for element in $fakexml
do
temp=`echo $element`
array[$i]=`echo ${temp} | sed 's/\(.*\).x86.*/\1/g' | sed 's/\(.*\).el7.*/\1/g' | sed 's/\(.*\)-[0-9]\+.[0-9]\+.*/\1/g' | sed 's/\(.*\)-[0-9]\+\(.[0-9]\+\)*.*/\1/g' | sed 's/\(.*\)_[0-9].*/\1/g'`
i=`expr $i + 1`
done
STRING+=" <group>\n"
STRING+=" <id>$2</id>\n"
STRING+=" <name>$2</name>\n"
STRING+=" <default>true</default>\n"
STRING+=" <packagelist>\n"
i=0
size=${#array[@]} #the number of packages
while [ $i -lt $size ]
do
STRING+=" <packagereq type=\"default\">"${array[$i]}"</packagereq>\n"
i=`expr $i + 1`
done
STRING+=" </packagelist>\n"
STRING+=" </group>\n"
echo -ne $STRING > create.xml
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment