summaryrefslogtreecommitdiff
path: root/support/scripts/mk_config_from_xml.sh
diff options
context:
space:
mode:
Diffstat (limited to 'support/scripts/mk_config_from_xml.sh')
-rwxr-xr-xsupport/scripts/mk_config_from_xml.sh206
1 files changed, 206 insertions, 0 deletions
diff --git a/support/scripts/mk_config_from_xml.sh b/support/scripts/mk_config_from_xml.sh
new file mode 100755
index 0000000..03a24cd
--- /dev/null
+++ b/support/scripts/mk_config_from_xml.sh
@@ -0,0 +1,206 @@
+#!/bin/bash
+
+print_usage()
+{
+ echo "Usage : mk_config_from_xml.sh <type>"
+ echo " type : base or unified"
+}
+
+if [ $# != 1 ]
+then
+ print_usage
+ exit 1
+fi
+
+if [ $1 != "base" -a $1 != "unified" ]
+then
+ echo "type is invalid."
+ print_usage
+ exit 1
+fi
+
+if [ -e $INFO_DIR/.info_list.txt ]
+then
+source $INFO_DIR/.info_list.txt
+fi
+
+if [ $TBB_INFO_PLATFORM_VERSION = "5.0" ]
+then
+P_VER=""
+else
+P_VER=${TBB_INFO_PLATFORM_VERSION}-
+fi
+S_VER=$TBB_INFO_SNAPSHOT_ID
+
+if [ -e $TOPDIR/advanced/${TBB_INFO_SNAPSHOT_ID}_$1_${TBB_INFO_PLATFORM_VERSION} ]
+then
+ echo "Already built..."
+ exit 0
+fi
+
+OUT_TYPE=$1
+DOWNDIR=$BUILD_DIR
+DATA_XML=$DOWNDIR/temp.xml
+DATA2_XML=$DOWNDIR/armv7l_noarch.xml
+OUTFILE=$DOWNDIR/Config.in
+
+if [ $OUT_TYPE = "base" ]
+then
+ if [ ${TBB_INFO_PLATFORM_VERSION} = "4.0" ]
+ then
+ DOWN_URL="http://download.tizen.org/snapshots/tizen/${P_VER}base/latest/repos/arm/packages/repodata/"
+ else
+ DOWN_URL="http://download.tizen.org/snapshots/tizen/${P_VER}base/latest/repos/standard/packages/repodata/"
+ fi
+ XMLNAME="base.xml"
+ RESULTFILE=$DOWNDIR/Config_$OUT_TYPE.in
+else
+ http://download.tizen.org/snapshots/tizen/${P_VER}unified/tizen-${P_VER}unified_${S_VER}/repos/standard/packages/repodata/
+ DOWN_URL="http://download.tizen.org/snapshots/tizen/${P_VER}unified/tizen-${P_VER}unified_${S_VER}/repos/standard/packages/repodata/"
+ XMLNAME="unified.xml"
+ RESULTFILE=$DOWNDIR/Config_$OUT_TYPE.in
+fi
+
+download_repo_data()
+{
+ wget -r -np -nd -P $DOWNDIR $DOWN_URL -A "*-primary.xml.gz"
+ if [ $? != 0 ]
+ then
+ return 1
+ fi
+ mv $DOWNDIR/*-primary.xml.gz $DOWNDIR/${XMLNAME}.gz
+ gzip -d $DOWNDIR/${XMLNAME}.gz
+}
+
+download_repo_data
+if [ $? != 0 ]
+then
+ echo "Downloading the repo data is failed..."
+ exit 1
+fi
+
+sed -e 's/<metadata.\+/<metadata>/g' $DOWNDIR/$XMLNAME > $DATA_XML
+rm -f $DOWNDIR/$XMLNAME
+
+echo "<metadata>" > $DATA2_XML
+xmllint --xpath '//package[arch="armv7l" or arch="noarch"]' $DATA_XML 2>/dev/null | sed -e 's/package>/package>\n/g' | sed -e '/^$/d' >> $DATA2_XML
+echo "</metadata>" >> $DATA2_XML
+
+sed -i '/<version /d' $DATA2_XML
+sed -i '/<checksum /d' $DATA2_XML
+sed -i '/<packager/d' $DATA2_XML
+sed -i '/<url/d' $DATA2_XML
+sed -i '/<time /d' $DATA2_XML
+sed -i '/<size /d' $DATA2_XML
+sed -i '/<location /d' $DATA2_XML
+sed -i '/<format/d' $DATA2_XML
+sed -i '/<rpm:/d' $DATA2_XML
+sed -i '/<\/rpm:/d' $DATA2_XML
+sed -i '/<file/d' $DATA2_XML
+sed -i '/<\/format/d' $DATA2_XML
+#exec < $1
+
+STATE="search_package_state"
+
+if [ $OUT_TYPE = "base" ]
+then
+echo "menu \"Base packages\"" > $OUTFILE
+else
+echo "menu \"Unified packages\"" > $OUTFILE
+fi
+exec < $DATA2_XML
+while read line
+do
+if [ $STATE = "skip_package_state" ]
+then
+ if [[ $line = *"</package>"* ]]
+ then
+ STATE="search_package_state"
+ fi
+ continue
+fi
+
+if [ $STATE = "search_package_state" ]
+then
+ if [[ $line = *"<package "* ]]
+ then
+ STATE="package_state"
+ fi
+ continue
+fi
+
+if [ $STATE = "package_state" ]
+then
+ if [[ $line = *"<name>"* ]]
+ then
+ NAME=`echo $line | sed -e 's|<name>\(.\+\)</name>|\1|'`
+ if [ $NAME = "libstdc++-devel" ]
+ then
+ NAME="libstdcpp-devel"
+ fi
+ if [[ $NAME = *"building-blocks-"* ]]
+ then
+ STATE="skip_package_state"
+ continue
+ fi
+ echo "config $NAME" >> $OUTFILE
+ echo "bool \"$NAME\"" >> $OUTFILE
+ STATE="package_name_state"
+ fi
+ continue
+fi
+
+if [ $STATE = "package_name_state" ]
+then
+# echo $line | grep -q "<description>.\+</description>"
+# if [ $? = "0" ]
+ if [[ $line = *"<description>"*"</description>"* ]]
+ then
+ DESCRIPTION=`echo $line | sed -e 's|<description>[ ]*\(.\+\)</description>|\1|'`
+ echo "help" >> $OUTFILE
+ echo " $DESCRIPTION" >> $OUTFILE
+ echo "" >> $OUTFILE
+ STATE="search_package_state"
+ continue
+ else
+ if [[ $line = *"<description>"* ]]
+ then
+ DESCRIPTION=`echo $line | sed -e 's|<description>[ ]*\(.\+\)$|\1|'`
+ echo "help" >> $OUTFILE
+ echo " $DESCRIPTION" >> $OUTFILE
+ STATE="cont_description_state"
+ continue
+ else
+ continue
+ fi
+ fi
+fi
+
+if [ $STATE = "cont_description_state" ]
+then
+ if [[ $line = *"</description>" ]]
+ then
+ DESCRIPTION=`echo $line | sed -e 's|[ ]*\(.\+\)</description>|\1|'`
+ echo " $DESCRIPTION" >> $OUTFILE
+ echo "" >> $OUTFILE
+ STATE="search_package_state"
+ else
+ echo " $line" >> $OUTFILE
+ fi
+
+fi
+
+done
+echo "endmenu" >> $OUTFILE
+
+mv $OUTFILE $RESULTFILE
+mv -f $RESULTFILE $TOPDIR/advanced
+rm -f $DATA_XML $DATA2_XML $RESULTFILE
+ID_FILE=`ls $TOPDIR/advanced/| grep "[0-9]\{8\}.[0-9]_${OUT_TYPE}_*"`
+for del_file in $ID_FILE
+do
+ rm -f $TOPDIR/advanced/$del_file
+done
+touch $TOPDIR/advanced/${TBB_INFO_SNAPSHOT_ID}_${OUT_TYPE}_${TBB_INFO_PLATFORM_VERSION}
+echo "Making Advaned Config is complete"
+