From 1158e0729c4b6c8076730269b143891c4268948b Mon Sep 17 00:00:00 2001 From: Fabian Arrotin Date: Feb 29 2012 15:40:06 +0000 Subject: Fixed the compsgen.sh script to parse multiple identical groupid (for el5) Changed some groups to be visible by default on c5 (base and dialup) to uncheck them on text install --- diff --git a/c5-i386-comps.xml b/c5-i386-comps.xml index 34abac9..262f696 100644 --- a/c5-i386-comps.xml +++ b/c5-i386-comps.xml @@ -731,7 +731,7 @@ 该软件包组包括软件包的最小集。对于安装小型路由器或防火墙机器较有用。 這群組包括了最少的套件。這對建立小型路由器 / 防火牆電腦特別有用。 true - false + true acpid amtu @@ -2883,7 +2883,7 @@ Ukuxhasa Kokuxhumanisa Kokufona true - false + true isdn4k-utils lrzsz diff --git a/c5-x86_64-comps.xml b/c5-x86_64-comps.xml index d97e707..fa400a5 100644 --- a/c5-x86_64-comps.xml +++ b/c5-x86_64-comps.xml @@ -1,4 +1,4 @@ - +> @@ -731,7 +731,7 @@ 该软件包组包括软件包的最小集。对于安装小型路由器或防火墙机器较有用。 這群組包括了最少的套件。這對建立小型路由器 / 防火牆電腦特別有用。 true - false + true acpid amtu @@ -2878,7 +2878,7 @@ Ukuxhasa Kokuxhumanisa Kokufona true - false + true isdn4k-utils lrzsz diff --git a/tools/compsgen.sh b/tools/compsgen.sh index 1665a20..475a26c 100755 --- a/tools/compsgen.sh +++ b/tools/compsgen.sh @@ -116,7 +116,20 @@ for xmlfile in $(ls $destdir/*.xml); # groups/desc_$lang for lang in $(echo "select * from languages;" |sqlite3 $sqlitedb|sed s/_arobas_/@/g);do for id in $(xmlstarlet sel -t -m "//comps/group" -v id -n $xmlfile);do desclang=$(xmlstarlet sel -t -m "//comps/group[id='$id']" -v "description[@xml:lang='$lang']" $xmlfile); langsql=$(echo $lang|sed s/@/_arobas_/g) ; isindb=$(echo "select desc_$langsql from groups where id='$id';"|sqlite3 $sqlitedb ) ; test "$isindb" = "$desclang" || (desclangsql=$(echo $desclang|sed s/"'"/"''"/g) ; echo "update groups set desc_$langsql='$desclangsql' where id='$id';"|sqlite3 $sqlitedb) ; done ; done # groups/packagelist - for id in $(xmlstarlet sel -t -m "//comps/group" -v id -n $xmlfile); do packagelist=$(xmlstarlet sel -t -m "//comps/group[id='$id']" -c packagelist $xmlfile);isindb=$(echo "select packagelist from groups where id='$id';"|sqlite3 $sqlitedb ) ; test "$isindb" = "$packagelist" || (echo "update groups set packagelist='$packagelist' where id='$id' ;"|sqlite3 $sqlitedb ); done + for id in $(xmlstarlet sel -t -m "//comps/group" -v id -n $xmlfile); + do + packagelist=$(xmlstarlet sel -t -m "//comps/group[id='$id']" -c packagelist $xmlfile|sed '/packagelist/d') + isindb=$(echo "select packagelist from groups where id='$id';"|sqlite3 $sqlitedb ) + if [ -z "$isindb" ] ; then + echo "update groups set packagelist='$packagelist' where id='$id' ;"|sqlite3 $sqlitedb + else + breakline=' + ' + newpkglist=${isindb}${breakline}${packagelist} + toinsert=$(echo "$newpkglist"|sort|uniq) + echo "update groups set packagelist='$toinsert' where id='$id' ;"|sqlite3 $sqlitedb + fi + done #final done for the xmlfile loop @@ -134,6 +147,9 @@ dbupdate() { for groupid in admin-tools base-x games gnome-desktop graphical-internet graphics java legacy-software-support office printing sound-and-video cluster-storage clustering xen ;do echo "update groups set def='false' where id='$groupid';"|sqlite3 $sqlitedb done + for groupid in base dialup ;do + echo "update groups set uservisible='true' where id='$groupid';"|sqlite3 $sqlitedb + done fi } @@ -188,8 +204,9 @@ for id in $(echo "select id from groups;"|sqlite3 $sqlitedb);do fi plist=$(echo "select packagelist from groups where id='$id';"|sqlite3 $sqlitedb ) + echo " " >>$outputxml echo " $plist" >>$outputxml - + echo " " >>$outputxml echo " " >>$outputxml done