--- /dev/null
+#!/bin/bash
+
+ROOTSTRAP_TYPE=target
+XML_LIST=`find ./rs_resource ./rs_resource_invisible -name "*-rs.xml"`
+BUILD_REQ_FILE=packaging/build_requires_device.inc
+
+echo "" > ${BUILD_REQ_FILE}
+for ifile in ${XML_LIST};do
+ for i in $(xmlstarlet sel -t -m "//${ROOTSTRAP_TYPE}/rpm" -v "concat(@accept, ',', @arch )" -o " " ${ifile}); do
+ ACCEPT=`echo $i | cut -d "," -f 1`
+ ARCH=`echo $i | cut -d "," -f 2`
+ echo "BuildRequires: ${ACCEPT}"
+ echo "BuildRequires: ${ACCEPT}" >> ${BUILD_REQ_FILE}
+
+ done
+done
+
+sort -u ${BUILD_REQ_FILE} > ${BUILD_REQ_FILE}_sorted
+mv -f ${BUILD_REQ_FILE}_sorted ${BUILD_REQ_FILE}
--- /dev/null
+#!/bin/bash
+
+./script/convert64.sh
+
+ROOTSTRAP_TYPE=target
+XML_LIST=`find ./rs_resource ./rs_resource_invisible -name "*-rs.xml"`
+BUILD_REQ_FILE=packaging/build_requires_device64.inc
+
+echo "" > ${BUILD_REQ_FILE}
+for ifile in ${XML_LIST};do
+ for i in $(xmlstarlet sel -t -m "//${ROOTSTRAP_TYPE}/rpm" -v "concat(@accept, ',', @arch )" -o " " ${ifile}); do
+ ACCEPT=`echo $i | cut -d "," -f 1`
+ ARCH=`echo $i | cut -d "," -f 2`
+ echo "BuildRequires: ${ACCEPT}"
+ echo "BuildRequires: ${ACCEPT}" >> ${BUILD_REQ_FILE}
+
+ done
+done
+
+sort -u ${BUILD_REQ_FILE} > ${BUILD_REQ_FILE}_sorted
+mv -f ${BUILD_REQ_FILE}_sorted ${BUILD_REQ_FILE}
+
+ROOTSTRAP_TYPE=emulator
+XML_LIST=`find ./rs_resource ./rs_resource_invisible -name "*-rs.xml"`
+BUILD_REQ_FILE=packaging/build_requires_emulator64.inc
+
+echo "" > ${BUILD_REQ_FILE}
+for ifile in ${XML_LIST};do
+ for i in $(xmlstarlet sel -t -m "//${ROOTSTRAP_TYPE}/rpm" -v "concat(@accept, ',', @arch )" -o " " ${ifile}); do
+ ACCEPT=`echo $i | cut -d "," -f 1`
+ ARCH=`echo $i | cut -d "," -f 2`
+ echo "BuildRequires: ${ACCEPT}"
+ echo "BuildRequires: ${ACCEPT}" >> ${BUILD_REQ_FILE}
+
+ done
+done
+
+sort -u ${BUILD_REQ_FILE} > ${BUILD_REQ_FILE}_sorted
+mv -f ${BUILD_REQ_FILE}_sorted ${BUILD_REQ_FILE}
+
+ROOTSTRAP_TYPE=riscv
+XML_LIST=`find ./rs_resource ./rs_resource_invisible -name "*-rs.xml"`
+BUILD_REQ_FILE=packaging/build_requires_riscv64.inc
+
+echo "" > ${BUILD_REQ_FILE}
+for ifile in ${XML_LIST};do
+ for i in $(xmlstarlet sel -t -m "//${ROOTSTRAP_TYPE}/rpm" -v "concat(@accept, ',', @arch )" -o " " ${ifile}); do
+ ACCEPT=`echo $i | cut -d "," -f 1`
+ ARCH=`echo $i | cut -d "," -f 2`
+ echo "BuildRequires: ${ACCEPT}"
+ echo "BuildRequires: ${ACCEPT}" >> ${BUILD_REQ_FILE}
+
+ done
+done
+
+sort -u ${BUILD_REQ_FILE} > ${BUILD_REQ_FILE}_sorted
+mv -f ${BUILD_REQ_FILE}_sorted ${BUILD_REQ_FILE}
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+
+SCRIPT_NAME="$(basename ${BASH_SOURCE[0]})"
+SCRIPT_FULLPATH="$(readlink -f ${BASH_SOURCE[0]})"
+SCRIPT_BASE="$(dirname ${SCRIPT_FULLPATH})"
+SCRIPT_VER="0.0.2"
+
+CMD_RS_GEN="${SCRIPT_BASE}/script/rootstrap_gen_1.0.sh"
+CMD_RS_INFO="${SCRIPT_BASE}/script/rootstrap_info_gen_1.0.sh"
+CMD_RS_PLUGIN="${SCRIPT_BASE}/script/rootstrap_plugin_gen_1.0.sh"
+CMD_API_FILTER="${SCRIPT_BASE}/script/api_filter.py"
+CMD_API_GDBUS_FILTER="${SCRIPT_BASE}/script/api_filter_gdbus.py"
+
+DIR_INFO=".info"
+DIR_RPM=".rpm"
+DIR_PLUGIN=".plugin"
+DIR_TMP=".tmp"
+DIR_EMULATOR=".emulator"
+DIR_TARGET=".target"
+DIR_ZIP=".zip"
+
+PRIVATE_STRING=""
+
+LOGFILE="rs.log"
+
+if [ -e ${LOGFILE} ]; then
+ rm ${LOGFILE};
+fi
+
+touch ${LOGFILE}
+
+###############################################################################
+# function log
+###############################################################################
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+###############################################################################
+# function check_error
+# $1 : Error code(integer)
+# $2 : Error Message
+# $3 : Error Xml File)
+# Example : check_error $? "Fail to function"
+###############################################################################
+function check_error()
+{
+ if [ "$1" -ne "0" ]; then
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ERROR : $2 - exit code ($1) \n" 1>&2
+ exit $1
+ fi
+}
+
+###############################################################################
+# function remove_dir
+# $@ : Files
+# Example : remove_dir test_dir test_file
+###############################################################################
+function remove_dir () {
+ echo "remove dir : $@"
+ rm -rf $@ >/dev/null 2>&1
+}
+
+###############################################################################
+## function callRootstrapGen
+# $1 : emulator/target
+# $2 : ${RPM_PKG_SVR_EMULATOR}
+# $3 : ${BASE_PKG_SVR_EMULATOR}
+# Example : callRootstrapGen emulator ${RPM_PKG_SVR_EMULATOR} ${BASE_PKG_SVR_EMULATOR}
+###############################################################################
+function callRootstrapGen () {
+ log "make rootstrap for ${1}..." 1>&2
+ ROOTSTRAP_TYPE=${1};
+
+ if [[ -z ${3} ]]
+ then
+ FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} ${xmlList}"
+ else
+ FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -b ${3} ${xmlList}"
+ fi
+
+ FULL_RS_INFO_CMD="${CMD_RS_INFO} -t $1 -l ${xmlList} -p $PLATFORM_PROFILE -v $PLATFORM_VERSION"
+
+ if [[ "${ROOTSTRAP_TYPE}" == "emulator" ]]; then
+ FULL_CMD_RS_PLUGIN_GEN="${CMD_RS_PLUGIN} -t ${ROOTSTRAP_TYPE} -i .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-emulator.core.dev.xml -p ${PLATFORM_PROFILE} -v ${PLATFORM_VERSION}"
+ elif [[ "${ROOTSTRAP_TYPE}" == "target" ]]; then
+ FULL_CMD_RS_PLUGIN_GEN="${CMD_RS_PLUGIN} -t ${ROOTSTRAP_TYPE} -i .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-device.core.dev.xml -p ${PLATFORM_PROFILE} -v ${PLATFORM_VERSION}"
+ else
+ exit 1;
+ fi
+
+ if [[ ${DEBUG_MODE} == "1" ]]
+ then
+ log "$FULL_RS_CMD"
+ $FULL_RS_CMD
+ check_error $? "Fail to ${CMD_RS_GEN}"
+
+ log "$FULL_RS_INFO_CMD"
+ $FULL_RS_INFO_CMD
+ check_error $? "Fail to ${CMD_RS_INFO}"
+
+ log "$FULL_CMD_RS_PLUGIN_GEN"
+ $FULL_CMD_RS_PLUGIN_GEN
+ check_error $? "Fail to ${FULL_CMD_RS_PLUGIN_GEN}"
+
+ else
+ if [[ -e ${LOGFILE} ]]; then
+ log "$FULL_RS_CMD" | tee -a ${LOGFILE}
+ fi
+ $FULL_RS_CMD >/dev/null
+ check_error $? "Fail to ${CMD_RS_GEN}"
+
+ log "$FULL_RS_INFO_CMD"
+ $FULL_RS_INFO_CMD >/dev/null
+ check_error $? "Fail to ${CMD_RS_INFO}"
+
+ log "$FULL_CMD_RS_PLUGIN_GEN"
+ $FULL_CMD_RS_PLUGIN_GEN >/dev/null
+ check_error $? "Fail to ${FULL_CMD_RS_PLUGIN_GEN}"
+ fi
+
+ ##Append Snapshot
+ if [ -n "${SNAPSHOT_BASE}" ]; then
+
+ log "ADD Snapshot : ${SNAPSHOT_BASE}"
+
+ if [[ "${ROOTSTRAP_TYPE}" == "emulator" ]]; then
+ echo '<!-- '${SNAPSHOT_BASE}' -->' | tee -a .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-emulator.core.dev.xml
+ elif [[ "${ROOTSTRAP_TYPE}" == "target" ]]; then
+ echo '<!-- '${SNAPSHOT_BASE}' -->' | tee -a .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-device.core.dev.xml
+ fi
+ fi
+
+ log "Done... [$SECONDS]Sec" 1>&2
+}
+
+
+GLOBAL_ERROR="0"
+OPT_TARGET=false
+OPT_EMULATOR=false
+OPT_DOWNLOAD_RPM=false
+OPT_CLEAN=true
+OPT_CONF=""
+INTERNAL=false
+LOCAL=false
+
+###############################################################################
+# function usage
+###############################################################################
+function usage () {
+echo "$SCRIPT_NAME ($SCRIPT_VER) is script to make rootstrap using xml from OBS"
+ echo "Usage: $SCRIPT_NAME -C [<config_file>] [<OPTION>]... [<FILE>]..."
+ echo " -e, --emulator : Make Rootstrap for Emulator"
+ echo " -t, --target : Make Rootstrap for Target"
+ echo " -c, --clean : Delete .rpm cache folder"
+ echo " -h, --help"
+ echo " -v, --version : Display script version information"
+ echo ""
+ echo "Example:"
+ echo " >$SCRIPT_NAME -C rs-config ./rs_resource/NativeAPI/capi-appfw-app-manager-rs.xml"
+ echo " >$SCRIPT_NAME -C rs-config -e ./rs_resource"
+ echo " >$SCRIPT_NAME -C rs-config -t ./rs_resource"
+ echo ""
+ echo "Output Diretory:"
+ echo ".info"
+ echo ".emulator"
+ echo ".target"
+ echo ".rpm"
+ echo ".plugin"
+ echo ".tmp"
+
+
+ return
+}
+
+###############################################################################
+## Get Parameter
+###############################################################################
+OPTS=`getopt -o -C:tedchv --long target,emulator,downloadrpm,clean,help,version,internal,local -- "$@"`
+if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
+
+echo ""
+echo "#EXEC_CMD : $SCRIPT_NAME $OPTS"
+eval set -- "$OPTS"
+
+while true; do
+case "$1" in
+ -C | --conf )OPT_CONF=$2;shift;shift;;
+ -t | --target )OPT_TARGET=true;shift;;
+ -e | --emulator )OPT_EMULATOR=true;shift;;
+ -d | --downloadrpm )OPT_DOWNLOAD_RPM=true;shift;;
+ -c | --clean )OPT_CLEAN=true;shift;;
+ -h | --help )usage;exit 0;;
+ -v | --version )echo "${SCRIPT_NAME}" "version : $SCRIPT_VER"; exit 0 ;;
+ --internal ) INTERNAL=true; shift;;
+ --local ) LOCAL=true; shift;;
+ -- ) shift; break ;;
+ *) #file or directory
+ if [ -d "${1}" ] || [ -f "${1}" ]; then
+ xmlList+="${1} "
+ else
+ usage >&2
+ exit 1
+ fi
+ shift;;
+esac
+done
+
+if [ "$OPT_TARGET" = false ] && [ "$OPT_EMULATOR" = false ]
+then
+ OPT_TARGET=true
+ OPT_EMULATOR=false
+fi
+
+###############################################################################
+## Print Parameter Option
+###############################################################################
+printf "\n#OPTION\n"
+echo "OPT_CONF=${OPT_CONF}"
+echo "OPT_CLEAN = $OPT_CLEAN"
+echo "OPT_TARGET = $OPT_TARGET"
+echo "OPT_EMULATOR = $OPT_EMULATOR"
+echo "OPT_DOWNLOAD_RPM = $OPT_DOWNLOAD_RPM"
+echo "OPT_CLEAN=$OPT_CLEAN"
+
+if [ "$RS_INTERNAL" = true ] || [ "$INTERNAL" = true ]; then
+echo "OPT_INTERNAL=TRUE"
+fi
+
+if [ "$LOCAL" = true ]; then
+echo "OPT_LOCAL=TRUE"
+fi
+
+echo "xmlList=$xmlList"
+printf "\n"
+
+###############################################################################
+## Check Environment
+###############################################################################
+if [[ "$xmlList" == "" ]]; then
+ usage >&2
+ exit 1
+fi
+
+if [[ -e ${OPT_CONF} ]]; then
+ log "source ${OPT_CONF}"
+ source "${OPT_CONF}"
+else
+ log "[Error] Configuration File Does not Exist"
+ usage
+ exit 1
+fi
+
+if [[ ! -f ${CMD_RS_GEN} ]]; then
+ log "[Error] File not found ![${CMD_RS_GEN}]"
+ exit 1
+fi
+
+if [[ ! -f ${CMD_RS_INFO} ]]; then
+ log "[Error] File not found ![${CMD_RS_INFO}]"
+ exit 1
+fi
+
+if [[ ! -f ${CMD_RS_PLUGIN} ]]; then
+ log "[Error] File not found ![${CMD_RS_PLUGIN}]"
+ exit 1
+fi
+
+if [ "$OPT_CLEAN" = true ]; then
+ log "Clean dir ..."
+ remove_dir $DIR_INFO $DIR_RPM $DIR_PLUGIN $DIR_TMP $DIR_EMULATOR $DIR_TARGET
+fi
+
+if [[ -z ${RPM_PKG_SVR_EMULATOR} ]]; then
+ log "[Error] RPM_PKG_SVR_EMULATOR is NULL"
+ exit 1
+fi
+if [[ -z ${RPM_PKG_SVR_TARGET} ]]; then
+ log "[Error] RPM_PKG_SVR_TARGET is NULL"
+ exit 1
+fi
+
+log ""
+log "BASE_PKG_SVR_EMULATOR = ${BASE_PKG_SVR_EMULATOR}"
+log "BASE_PKG_SVR_TARGET = ${BASE_PKG_SVR_TARGET}"
+log "RPM_PKG_SVR_EMULATOR = ${RPM_PKG_SVR_EMULATOR}"
+log "RPM_PKG_SVR_TARGET = ${RPM_PKG_SVR_TARGET}"
+log ""
+
+
+SNAPSHOT_BASE=$(basename $SNAPSHOT_URL_PREFIX)
+log "SNAPSHOT_BASE=$SNAPSHOT_BASE"
+log ""
+
+if [ "$RS_INTERNAL" = true ] || [ "$INTERNAL" = true ]; then
+CMD_RS_GEN="$CMD_RS_GEN --internal"
+CMD_RS_INFO="$CMD_RS_INFO"
+CMD_RS_PLUGIN="$CMD_RS_PLUGIN --internal"
+PRIVATE_STRING=".private"
+fi
+
+if [ "$LOCAL" = true ]; then
+CMD_RS_GEN="$CMD_RS_GEN --local"
+fi
+
+if [ -n "${ID}" ] && [ -n "${PW}" ]
+then
+ CMD_RS_GEN="$CMD_RS_GEN -i ${ID} -p ${PW}"
+ echo "Append ID/PW Option : ${CMD_RS_GEN}"
+fi
+
+
+if [[ -e ${LOGFILE} ]]; then
+ CMD_RS_GEN="$CMD_RS_GEN --log ${LOGFILE}"
+fi
+
+###############################################################################
+## Rootstrap Generation
+###############################################################################
+if [[ "$GLOBAL_ERROR" != "0" ]]; then
+ log "[Error] Failed download rpm";
+ exit 1;
+fi
+
+if [ "$OPT_TARGET" = true ]; then
+ remove_dir ${DIR_TMP} ${DIR_TARGET}
+ callRootstrapGen target ${RPM_PKG_SVR_TARGET} ${BASE_PKG_SVR_TARGET}
+
+ log "[INFO] Postscript ${DIR_TARGET}";
+
+ mv ${DIR_TARGET}/usr/include/asm-arm ${DIR_TARGET}/usr/include/asm
+ mv ${DIR_TARGET}/usr/include/base/deprecated/* ${DIR_TARGET}/usr/include/base/
+
+ if [ "$INTERNAL" = false ]; then
+ echo "remove Non-Public EFL API"
+ $CMD_API_FILTER .target>/dev/null #EFL filter
+ echo "remove Non-Public GDBUS API"
+ $CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter
+ fi
+ #echo "remove Public GDBUS API"
+ #$CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter
+
+ if [ "$INTERNAL" = true ]; then
+ log "[INFO] Skip .. removing dlog-internal.h"
+ find ${DIR_TARGET} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ else
+ find ${DIR_TARGET} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ fi
+
+ if [ ! -d "${DIR_TARGET}/usr/lib" ]; then
+ mkdir -p ${DIR_TARGET}/usr/lib
+ fi
+if [ "$LOCAL" = true ]; then
+ cp -L -R ${DIR_TARGET}/usr/lib/libgcc_s.so.1 ${DIR_TARGET}/usr/lib/libgcc_s.so
+fi
+
+ for FILE in $(find ${DIR_TARGET} -name "*.so.*mobile");
+ do
+ mv ${FILE} ${FILE%.mobile};
+ done;
+fi
+
+if [ "$OPT_EMULATOR" = true ]; then
+ remove_dir ${DIR_TMP} ${DIR_EMULATOR}
+ callRootstrapGen emulator ${RPM_PKG_SVR_EMULATOR} ${BASE_PKG_SVR_EMULATOR}
+
+ log "[INFO] Postscript ${DIR_EMULATOR}";
+
+ mv ${DIR_EMULATOR}/usr/include/asm-x86 ${DIR_EMULATOR}/usr/include/asm
+ mv ${DIR_EMULATOR}/usr/include/base/deprecated/* ${DIR_EMULATOR}/usr/include/base/
+
+ if [ "$INTERNAL" = false ]; then
+ echo "remove Non-Public EFL API"
+ $CMD_API_FILTER .emulator>/dev/null #EFL filter
+ echo "remove Non-Public GDBUS API"
+ $CMD_API_GDBUS_FILTER .emulator>/dev/null #GDBUS filter
+ fi
+
+ if [ "$INTERNAL" = true ]; then
+ log "[INFO] Skip .. removing dlog-internal.h"
+ find ${DIR_EMULATOR} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ else
+ find ${DIR_EMULATOR} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ fi
+
+ if [ ! -d "${DIR_EMULATOR}/usr/lib" ]; then
+ mkdir -p ${DIR_EMULATOR}/usr/lib
+ fi
+
+ for FILE in $(find ${DIR_EMULATOR} -name "*.so.*mobile");
+ do
+ mv ${FILE} ${FILE%.mobile};
+ done;
+
+fi
+
+if [[ -e ${LOGFILE} ]]; then
+ log "END" | tee -a ${LOGFILE}
+fi
+###############################################################################
+## END
+###############################################################################
+exit 0
--- /dev/null
+#!/bin/bash
+
+SCRIPT_NAME="$(basename ${BASH_SOURCE[0]})"
+SCRIPT_FULLPATH="$(readlink -f ${BASH_SOURCE[0]})"
+SCRIPT_BASE="$(dirname ${SCRIPT_FULLPATH})"
+SCRIPT_VER="0.0.2"
+
+CMD_RS_GEN="${SCRIPT_BASE}/script/rootstrap_gen_1.0_64.sh"
+CMD_RS_INFO="${SCRIPT_BASE}/script/rootstrap_info_gen_1.0_64.sh"
+CMD_RS_PLUGIN="${SCRIPT_BASE}/script/rootstrap_plugin_gen_1.0_64.sh"
+CMD_API_FILTER="${SCRIPT_BASE}/script/api_filter.py"
+CMD_API_GDBUS_FILTER="${SCRIPT_BASE}/script/api_filter_gdbus.py"
+
+DIR_INFO=".info"
+DIR_RPM=".rpm"
+DIR_PLUGIN=".plugin"
+DIR_TMP=".tmp"
+DIR_EMULATOR=".emulator"
+DIR_TARGET=".target"
+DIR_RISCV=".riscv"
+DIR_ZIP=".zip"
+
+PRIVATE_STRING=""
+
+LOGFILE="rs.log"
+
+if [ -e ${LOGFILE} ]; then
+ rm ${LOGFILE};
+fi
+
+touch ${LOGFILE}
+
+###############################################################################
+# function log
+###############################################################################
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+###############################################################################
+# function check_error
+# $1 : Error code(integer)
+# $2 : Error Message
+# $3 : Error Xml File)
+# Example : check_error $? "Fail to function"
+###############################################################################
+function check_error()
+{
+ if [ "$1" -ne "0" ]; then
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ERROR : $2 - exit code ($1) \n" 1>&2
+ exit $1
+ fi
+}
+
+###############################################################################
+# function remove_dir
+# $@ : Files
+# Example : remove_dir test_dir test_file
+###############################################################################
+function remove_dir () {
+ echo "remove dir : $@"
+ rm -rf $@ >/dev/null 2>&1
+}
+
+###############################################################################
+## function callRootstrapGen
+# $1 : emulator/target/riscv
+# $2 : ${RPM_PKG_SVR_EMULATOR}
+# $3 : ${BASE_PKG_SVR_EMULATOR}
+# Example : callRootstrapGen emulator ${RPM_PKG_SVR_EMULATOR} ${BASE_PKG_SVR_EMULATOR}
+###############################################################################
+function callRootstrapGen () {
+ log "make rootstrap for ${1}..." 1>&2
+ ROOTSTRAP_TYPE=${1};
+
+ if [[ -z ${3} ]]
+ then
+ FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} ${xmlList}"
+ else
+ FULL_RS_CMD="${CMD_RS_GEN} -t ${1} -u ${2} -b ${3} ${xmlList}"
+ fi
+
+ FULL_RS_INFO_CMD="${CMD_RS_INFO} -t $1 -l ${xmlList} -p $PLATFORM_PROFILE -v $PLATFORM_VERSION"
+
+ if [[ "${ROOTSTRAP_TYPE}" == "emulator" ]]; then
+ FULL_CMD_RS_PLUGIN_GEN="${CMD_RS_PLUGIN} -t ${ROOTSTRAP_TYPE} -i .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-emulator64.core.dev.xml -p ${PLATFORM_PROFILE} -v ${PLATFORM_VERSION}"
+ elif [[ "${ROOTSTRAP_TYPE}" == "target" ]]; then
+ FULL_CMD_RS_PLUGIN_GEN="${CMD_RS_PLUGIN} -t ${ROOTSTRAP_TYPE} -i .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-device64.core.dev.xml -p ${PLATFORM_PROFILE} -v ${PLATFORM_VERSION}"
+ elif [[ "${ROOTSTRAP_TYPE}" == "riscv" ]]; then
+ FULL_CMD_RS_PLUGIN_GEN="${CMD_RS_PLUGIN} -t ${ROOTSTRAP_TYPE} -i .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-riscv64.core.dev.xml -p ${PLATFORM_PROFILE} -v ${PLATFORM_VERSION}"
+ else
+ exit 1;
+ fi
+
+ if [[ ${DEBUG_MODE} == "1" ]]
+ then
+ log "$FULL_RS_CMD"
+ $FULL_RS_CMD
+ check_error $? "Fail to ${CMD_RS_GEN}"
+
+ log "$FULL_RS_INFO_CMD"
+ $FULL_RS_INFO_CMD
+ check_error $? "Fail to ${CMD_RS_INFO}"
+
+ log "$FULL_CMD_RS_PLUGIN_GEN"
+ $FULL_CMD_RS_PLUGIN_GEN
+ check_error $? "Fail to ${FULL_CMD_RS_PLUGIN_GEN}"
+
+ else
+ if [[ -e ${LOGFILE} ]]; then
+ log "$FULL_RS_CMD" | tee -a ${LOGFILE}
+ fi
+ $FULL_RS_CMD >/dev/null
+ check_error $? "Fail to ${CMD_RS_GEN}"
+
+ log "$FULL_RS_INFO_CMD"
+ $FULL_RS_INFO_CMD >/dev/null
+ check_error $? "Fail to ${CMD_RS_INFO}"
+
+ log "$FULL_CMD_RS_PLUGIN_GEN"
+ $FULL_CMD_RS_PLUGIN_GEN >/dev/null
+ check_error $? "Fail to ${FULL_CMD_RS_PLUGIN_GEN}"
+ fi
+
+ ##Append Snapshot
+ if [ -n "${SNAPSHOT_BASE}" ]; then
+
+ log "ADD Snapshot : ${SNAPSHOT_BASE}"
+
+ if [[ "${ROOTSTRAP_TYPE}" == "emulator" ]]; then
+ echo '<!-- '${SNAPSHOT_BASE}' -->' | tee -a .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-emulator64.core.dev.xml
+ elif [[ "${ROOTSTRAP_TYPE}" == "target" ]]; then
+ echo '<!-- '${SNAPSHOT_BASE}' -->' | tee -a .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-device64.core.dev.xml
+ elif [[ "${ROOTSTRAP_TYPE}" == "riscv" ]]; then
+ echo '<!-- '${SNAPSHOT_BASE}' -->' | tee -a .info/$PLATFORM_PROFILE-$PLATFORM_VERSION-riscv64.core.dev.xml
+
+ fi
+ fi
+
+ log "Done... [$SECONDS]Sec" 1>&2
+}
+
+
+GLOBAL_ERROR="0"
+OPT_TARGET=false
+OPT_EMULATOR=false
+OPT_RISCV=false
+OPT_DOWNLOAD_RPM=false
+OPT_CLEAN=true
+OPT_CONF=""
+INTERNAL=false
+LOCAL=false
+
+###############################################################################
+# function usage
+###############################################################################
+function usage () {
+echo "$SCRIPT_NAME ($SCRIPT_VER) is script to make rootstrap using xml from OBS"
+ echo "Usage: $SCRIPT_NAME -C [<config_file>] [<OPTION>]... [<FILE>]..."
+ echo " -e, --emulator : Make Rootstrap for Emulator"
+ echo " -t, --target : Make Rootstrap for Target"
+ echo " -r, --riscv : Make Rootstrap for Riscv"
+ echo " -c, --clean : Delete .rpm cache folder"
+ echo " -h, --help"
+ echo " -v, --version : Display script version information"
+ echo ""
+ echo "Example:"
+ echo " >$SCRIPT_NAME -C rs-config ./rs_resource/NativeAPI/capi-appfw-app-manager-rs.xml"
+ echo " >$SCRIPT_NAME -C rs-config -e ./rs_resource"
+ echo " >$SCRIPT_NAME -C rs-config -t ./rs_resource"
+ echo ""
+ echo "Output Diretory:"
+ echo ".info"
+ echo ".emulator"
+ echo ".target"
+ echo ".rpm"
+ echo ".plugin"
+ echo ".tmp"
+
+
+ return
+}
+
+###############################################################################
+## Get Parameter
+###############################################################################
+OPTS=`getopt -o -C:terdchv --long target,emulator,riscv,downloadrpm,clean,help,version,internal,local -- "$@"`
+if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
+
+echo ""
+echo "#EXEC_CMD : $SCRIPT_NAME $OPTS"
+eval set -- "$OPTS"
+
+while true; do
+case "$1" in
+ -C | --conf )OPT_CONF=$2;shift;shift;;
+ -t | --target )OPT_TARGET=true;shift;;
+ -e | --emulator )OPT_EMULATOR=true;shift;;
+ -r | --riscv )OPT_RISCV=true;shift;;
+ -d | --downloadrpm )OPT_DOWNLOAD_RPM=true;shift;;
+ -c | --clean )OPT_CLEAN=true;shift;;
+ -h | --help )usage;exit 0;;
+ -v | --version )echo "${SCRIPT_NAME}" "version : $SCRIPT_VER"; exit 0 ;;
+ --internal ) INTERNAL=true; shift;;
+ --local ) LOCAL=true; shift;;
+ -- ) shift; break ;;
+ *) #file or directory
+ if [ -d "${1}" ] || [ -f "${1}" ]; then
+ xmlList+="${1} "
+ else
+ usage >&2
+ exit 1
+ fi
+ shift;;
+esac
+done
+
+if [ "$OPT_TARGET" = false ] && [ "$OPT_EMULATOR" = false ] && [ "$OPT_RISCV" = false ]
+then
+ # Tizen-Uniffied-RISCV doesn't make aarch64 image so comment out
+ OPT_TARGET=true
+ OPT_EMULATOR=true
+ OPT_RISCV=true
+fi
+
+###############################################################################
+## Print Parameter Option
+###############################################################################
+printf "\n#OPTION\n"
+echo "OPT_CONF=${OPT_CONF}"
+echo "OPT_CLEAN = $OPT_CLEAN"
+echo "OPT_TARGET = $OPT_TARGET"
+echo "OPT_EMULATOR = $OPT_EMULATOR"
+echo "OPT_RISCV = $OPT_RISCV"
+echo "OPT_DOWNLOAD_RPM = $OPT_DOWNLOAD_RPM"
+echo "OPT_CLEAN=$OPT_CLEAN"
+
+if [ "$RS_INTERNAL" = true ] || [ "$INTERNAL" = true ]; then
+echo "OPT_INTERNAL=TRUE"
+fi
+
+if [ "$LOCAL" = true ]; then
+echo "OPT_LOCAL=TRUE"
+fi
+
+echo "xmlList=$xmlList"
+printf "\n"
+
+###############################################################################
+## Check Environment
+###############################################################################
+if [[ "$xmlList" == "" ]]; then
+ usage >&2
+ exit 1
+fi
+
+if [[ -e ${OPT_CONF} ]]; then
+ log "source ${OPT_CONF}"
+ source "${OPT_CONF}"
+else
+ log "[Error] Configuration File Does not Exist"
+ usage
+ exit 1
+fi
+
+if [[ ! -f ${CMD_RS_GEN} ]]; then
+ log "[Error] File not found ![${CMD_RS_GEN}]"
+ exit 1
+fi
+
+if [[ ! -f ${CMD_RS_INFO} ]]; then
+ log "[Error] File not found ![${CMD_RS_INFO}]"
+ exit 1
+fi
+
+if [[ ! -f ${CMD_RS_PLUGIN} ]]; then
+ log "[Error] File not found ![${CMD_RS_PLUGIN}]"
+ exit 1
+fi
+
+if [ "$OPT_CLEAN" = true ]; then
+ log "Clean dir ..."
+ remove_dir $DIR_INFO $DIR_RPM $DIR_PLUGIN $DIR_TMP $DIR_EMULATOR $DIR_TARGET $DIR_RISCV
+fi
+
+if [[ -z ${RPM_PKG_SVR_EMULATOR} ]]; then
+ log "[Error] RPM_PKG_SVR_EMULATOR is NULL"
+ exit 1
+fi
+if [[ -z ${RPM_PKG_SVR_TARGET} ]]; then
+ log "[Error] RPM_PKG_SVR_TARGET is NULL"
+ exit 1
+fi
+if [[ -z ${RPM_PKG_SVR_RISCV} ]]; then
+ log "[Error] RPM_PKG_SVR_RISCV is NULL"
+ exit 1
+fi
+
+log ""
+log "BASE_PKG_SVR_EMULATOR = ${BASE_PKG_SVR_EMULATOR}"
+log "BASE_PKG_SVR_TARGET = ${BASE_PKG_SVR_TARGET}"
+log "BASE_PKG_SVR_RISCV = ${BASE_PKG_SVR_RISCV}"
+log "RPM_PKG_SVR_EMULATOR = ${RPM_PKG_SVR_EMULATOR}"
+log "RPM_PKG_SVR_TARGET = ${RPM_PKG_SVR_TARGET}"
+log "RPM_PKG_SVR_RISCV = ${RPM_PKG_SVR_RISCV}"
+log ""
+
+
+SNAPSHOT_BASE=$(basename $SNAPSHOT_URL_PREFIX)
+log "SNAPSHOT_BASE=$SNAPSHOT_BASE"
+log ""
+
+if [ "$RS_INTERNAL" = true ] || [ "$INTERNAL" = true ]; then
+CMD_RS_GEN="$CMD_RS_GEN --internal"
+CMD_RS_INFO="$CMD_RS_INFO"
+CMD_RS_PLUGIN="$CMD_RS_PLUGIN --internal"
+PRIVATE_STRING=".private"
+fi
+
+if [ "$LOCAL" = true ]; then
+CMD_RS_GEN="$CMD_RS_GEN --local"
+fi
+
+if [ -n "${ID}" ] && [ -n "${PW}" ]
+then
+ CMD_RS_GEN="$CMD_RS_GEN -i ${ID} -p ${PW}"
+ echo "Append ID/PW Option : ${CMD_RS_GEN}"
+fi
+
+
+if [[ -e ${LOGFILE} ]]; then
+ CMD_RS_GEN="$CMD_RS_GEN --log ${LOGFILE}"
+fi
+
+###############################################################################
+## Rootstrap Generation
+###############################################################################
+if [[ "$GLOBAL_ERROR" != "0" ]]; then
+ log "[Error] Failed download rpm";
+ exit 1;
+fi
+
+if [ "$OPT_TARGET" = true ]; then
+ remove_dir ${DIR_TMP} ${DIR_TARGET}
+ callRootstrapGen target ${RPM_PKG_SVR_TARGET} ${BASE_PKG_SVR_TARGET}
+
+ log "[INFO] Postscript ${DIR_TARGET}";
+
+ mv ${DIR_TARGET}/usr/include/asm-arm64 ${DIR_TARGET}/usr/include/asm
+ mv ${DIR_TARGET}/usr/include/base/deprecated/* ${DIR_TARGET}/usr/include/base/
+
+ if [ "$INTERNAL" = false ]; then
+ echo "remove Non-Public EFL API"
+ $CMD_API_FILTER .target>/dev/null #EFL filter
+ echo "remove Non-Public GDBUS API"
+ $CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter
+ fi
+ #echo "remove Public GDBUS API"
+ #$CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter
+
+ if [ "$INTERNAL" = true ]; then
+ log "[INFO] Skip .. removing dlog-internal.h"
+ find ${DIR_TARGET} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ else
+ find ${DIR_TARGET} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ fi
+
+ if [ ! -d "${DIR_TARGET}/usr/lib" ]; then
+ mkdir -p ${DIR_TARGET}/usr/lib
+ fi
+
+ if [ ! -d "${DIR_TARGET}/usr/lib64" ]; then
+ mkdir -p ${DIR_TARGET}/usr/lib64
+ fi
+
+ if [ "$LOCAL" = true ]; then
+ cp -L -R ${DIR_TARGET}/usr/lib64/libgcc_s.so.1 ${DIR_TARGET}/usr/lib64/libgcc_s.so
+ fi
+
+ for FILE in $(find ${DIR_TARGET} -name "*.so.*mobile");
+ do
+ mv ${FILE} ${FILE%.mobile};
+ done;
+fi
+
+if [ "$OPT_RISCV" = true ]; then
+ remove_dir ${DIR_TMP} ${DIR_RISCV}
+ callRootstrapGen riscv ${RPM_PKG_SVR_RISCV} ${BASE_PKG_SVR_RISCV}
+
+ log "[INFO] Postscript ${DIR_RISCV}";
+
+ mv ${DIR_RISCV}/usr/include/asm-arm64 ${DIR_RISCV}/usr/include/asm
+ mv ${DIR_RISCV}/usr/include/base/deprecated/* ${DIR_RISCV}/usr/include/base/
+
+ if [ "$INTERNAL" = false ]; then
+ echo "remove Non-Public EFL API"
+ $CMD_API_FILTER .riscv>/dev/null #EFL filter
+ echo "remove Non-Public GDBUS API"
+ $CMD_API_GDBUS_FILTER .riscv>/dev/null #GDBUS filter
+ fi
+ #echo "remove Public GDBUS API"
+ #$CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter
+
+ if [ "$INTERNAL" = true ]; then
+ log "[INFO] Skip .. removing dlog-internal.h"
+ find ${DIR_RISCV} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ else
+ find ${DIR_RISCV} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ fi
+
+ if [ ! -d "${DIR_RISCV}/usr/lib" ]; then
+ mkdir -p ${DIR_RISCV}/usr/lib
+ fi
+
+ if [ ! -d "${DIR_RISCV}/usr/lib64" ]; then
+ mkdir -p ${DIR_RISCV}/usr/lib64
+ fi
+
+ if [ "$LOCAL" = true ]; then
+ cp -L -R ${DIR_RISCV}/usr/lib64/libgcc_s.so.1 ${DIR_RISCV}/usr/lib64/libgcc_s.so
+ fi
+ for FILE in $(find ${DIR_RISCV} -name "*.so.*mobile");
+ do
+ mv ${FILE} ${FILE%.mobile};
+ done;
+
+ ##### symlink creation for riscv #####
+ pushd ${DIR_RISCV}/usr/lib > /dev/null
+ log "[INFO] pushd ${DIR_RISCV}/usr/lib"
+ crts="Mcrt1.o Scrt1.o crt1.o crti.o crtn.o gcrt1.o"
+ for crtfile in ${crts}; do
+ ln -sf ../lib64/${crtfile} ./${crtfile}
+ done
+ log "popd"
+ popd > /dev/null
+fi
+
+if [ "$OPT_EMULATOR" = true ]; then
+ remove_dir ${DIR_TMP} ${DIR_EMULATOR}
+ callRootstrapGen emulator ${RPM_PKG_SVR_EMULATOR} ${BASE_PKG_SVR_EMULATOR}
+
+ log "[INFO] Postscript ${DIR_EMULATOR}";
+
+ mv ${DIR_EMULATOR}/usr/include/asm-ia64 ${DIR_EMULATOR}/usr/include/asm
+ mv ${DIR_EMULATOR}/usr/include/base/deprecated/* ${DIR_EMULATOR}/usr/include/base/
+
+ if [ "$INTERNAL" = false ]; then
+ echo "remove Non-Public EFL API"
+ #$CMD_API_FILTER .target>/dev/null #EFL filter
+ $CMD_API_FILTER .emulator>/dev/null #EFL filter
+ echo "remove Non-Public GDBUS API"
+ #$CMD_API_GDBUS_FILTER .target>/dev/null #GDBUS filter
+ $CMD_API_GDBUS_FILTER .emulator>/dev/null #GDBUS filter
+ fi
+
+ if [ "$INTERNAL" = true ]; then
+ log "[INFO] Skip .. removing dlog-internal.h"
+ find ${DIR_EMULATOR} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ else
+ find ${DIR_EMULATOR} -name "dlog.h" -exec perl -pi -e 's/#include\ \"dlog-internal\.h\"//g' {} \;
+ fi
+
+ if [ ! -d "${DIR_EMULATOR}/usr/lib" ]; then
+ mkdir -p ${DIR_EMULATOR}/usr/lib
+ fi
+
+
+ if [ ! -d "${DIR_EMULATOR}/usr/lib64" ]; then
+ mkdir -p ${DIR_EMULATOR}/usr/lib64
+ fi
+
+ if [ "$LOCAL" = true ]; then
+ cp -L -R ${DIR_EMULATOR}/usr/lib64/libgcc_s.so.1 ${DIR_EMULATOR}/usr/lib64/libgcc_s.so
+ fi
+
+ for FILE in $(find ${DIR_EMULATOR} -name "*.so.*mobile");
+ do
+ mv ${FILE} ${FILE%.mobile};
+ done;
+
+fi
+
+if [[ -e ${LOGFILE} ]]; then
+ log "END" | tee -a ${LOGFILE}
+fi
+###############################################################################
+## END
+###############################################################################
+exit 0
--- /dev/null
+Source : core-app-rootstrap
+Version : 0.0.216
+Maintainer : Seunghwan Lee <sh.cat.lee@samsung.com>
+
+package : mobile-4.0-rs-device.core
+OS : ubuntu-32
+build-host-os : ubuntu-32
+attribute : binary
+install-dependency : efl-tools
+description : arm rootstrap for native app development
+
+package : mobile-4.0-rs-device.core
+OS : ubuntu-64
+build-host-os : ubuntu-32
+attribute : binary
+install-dependency : efl-tools
+description : arm rootstrap for native app development
+
+package : mobile-4.0-rs-device.core
+OS : macos-64
+build-host-os : ubuntu-32
+attribute : binary
+install-dependency : efl-tools
+description : arm rootstrap for native app development
+
+Package : mobile-4.0-rs-device.core
+OS : windows-32
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : ARM rootstrap for native app development
+
+Package : mobile-4.0-rs-device.core
+OS : windows-64
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : ARM rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : ubuntu-32
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : ubuntu-64
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : macos-64
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : windows-32
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : windows-64
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
--- /dev/null
+Source : core-app-rootstrap
+Version : 0.0.172
+Maintainer : Seunghwan Lee <sh.cat.lee@samsung.com>
+
+package : mobile-4.0-rs-device.core
+OS : ubuntu-32
+build-host-os : ubuntu-32
+attribute : binary
+install-dependency : efl-tools
+description : arm rootstrap for native app development
+
+package : mobile-4.0-rs-device.core
+OS : ubuntu-64
+build-host-os : ubuntu-32
+attribute : binary
+install-dependency : efl-tools
+description : arm rootstrap for native app development
+
+package : mobile-4.0-rs-device.core
+OS : macos-64
+build-host-os : ubuntu-32
+attribute : binary
+install-dependency : efl-tools
+description : arm rootstrap for native app development
+
+Package : mobile-4.0-rs-device.core
+OS : windows-32
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : ARM rootstrap for native app development
+
+Package : mobile-4.0-rs-device.core
+OS : windows-64
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : ARM rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : ubuntu-32
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : ubuntu-64
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : macos-64
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : windows-32
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
+
+Package : mobile-4.0-rs-emulator.core
+OS : windows-64
+Build-host-os : ubuntu-32
+Attribute : binary
+Install-dependency : efl-tools
+Description : I386 rootstrap for native app development
--- /dev/null
+Version : 0.0.17
+Maintainer : Seunghwan Lee <sh.cat.lee@samsung.com>
--- /dev/null
+Version : 0.0.17
+Maintainer : Seunghwan Lee <sh.cat.lee@samsung.com>
--- /dev/null
+#!/bin/bash
+###############################################################################
+# Init
+###############################################################################
+SCRIPT_NAME="$(basename ${BASH_SOURCE[0]})"
+SCRIPT_FULLPATH="$(readlink -f ${BASH_SOURCE[0]})"
+SCRIPT_BASE="$(dirname ${SCRIPT_FULLPATH})"
+SCRIPT_VER="0.0.3"
+
+DIR_TMP_PKG=".temp_pkg"
+DIR_TMP_SDK_PKG=$(pwd)/".temp_sdk_pkg"
+DIR_OUTPUT=".pkg"
+
+OS_LIST="ubuntu-64 windows-64 macos-64"
+
+DIR_INFO=".info"
+DIR_RPM=".rpm"
+DIR_PLUGIN=".plugin"
+DIR_TMP=".tmp"
+DIR_EMULATOR=".emulator"
+DIR_TARGET=".target"
+
+PATH_PACKAGE_RES=""
+
+OPT_CONF=""
+
+PRIVATE=""
+TMP_PKG_VERSION="0.0.1"
+
+INTERNAL=false
+SDKPKG=false
+SNAPSHOT=""
+
+DEVICE="device"
+EMULATOR="emulator"
+###############################################################################
+echo ""
+echo " $SCRIPT_NAME ($SCRIPT_VER) is packaging tool of rootstrap"
+echo ""
+
+###############################################################################
+# function log
+###############################################################################
+function log()
+{
+ #printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+ printf "${@}\n\n"
+}
+
+function log_info()
+{
+ printf "[INFO] ${@}\n\n"
+}
+
+function log_warn()
+{
+ printf "[WARN] ${@}\n\n"
+}
+
+function log_error()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}][ERROR] ${@}\n"
+}
+###############################################################################
+# function check_error
+# $1 : Error code(integer)
+# $2 : Error Message
+# $3 : Error Xml File)
+# Example : check_error $? "Fail to function"
+###############################################################################
+function check_error()
+{
+ if [ "$1" -ne "0" ]; then
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ERROR : $2 - exit code ($1) \n" 1>&2
+ exit $1
+ fi
+}
+
+###############################################################################
+# function pkg_build_internal
+# $1 : Type (emulator/device/emulator64/device64)
+# $2 : resource Path (.emulator/.target)
+###############################################################################
+function pkg_build_internal()
+{
+
+ TYPE=${1}
+
+ if [[ ${TYPE} == *"device"* ]]; then
+ PLUGIN_FILE="${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-device.core.xml"
+ INFO_FILE="${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-device.core.dev.xml"
+ else
+ PLUGIN_FILE="${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-emulator.core.xml"
+ INFO_FILE="${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-emulator.core.dev.xml"
+ fi
+
+ log_info "Clean up Resource Directory ${PATH_PACKAGE_RES}"
+ if [[ -n ${PATH_PACKAGE_RES} ]] && [[ -e "${PATH_PACKAGE_RES}/data" ]] ; then
+ rm -rf "${PATH_PACKAGE_RES}/data"
+ fi
+
+ log_info "mkdir -p ${DIR_PLUGIN_DEST}"
+ mkdir -p ${DIR_PLUGIN_DEST}
+
+ log_info "mkdir -p ${DIR_INFO_DEST}"
+ mkdir -p ${DIR_INFO_DEST}
+
+ log_info "mkdir -p ${DIR_ROOTSTRAP_DEST}"
+ mkdir -p ${DIR_ROOTSTRAP_DEST}
+
+
+ # Get Current Info
+ log_info "Get Current RS_ID, RS_PATH, DEV_PACKAGE_CONFIG_PATH"
+
+ RS_ID=$(xmlstarlet sel -t -m "//rootstrap/@id" -v "." $PLUGIN_FILE)
+ RS_PATH=$(xmlstarlet sel -t -m "//rootstrap/@path" -v "." $PLUGIN_FILE)
+ DEV_PACKAGE_CONFIG_PATH=$(xmlstarlet sel -t -m "//property[@key='DEV_PACKAGE_CONFIG_PATH']/@value" -v "." $PLUGIN_FILE)
+
+ log_info "TYPE=$TYPE"
+ log_info "RS_ID=$RS_ID"
+ log_info "RS_PATH=$RS_PATH"
+ log_info "DEV_PACKAGE_CONFIG_PATH=$DEV_PACKAGE_CONFIG_PATH"
+
+
+ # Replace Info
+ log_info "Convert RS_ID, RS_PATH, DEV_PACKAGE_CONFIG_PATH"
+
+ if [ "$INTERNAL" = true ]; then
+ RS_ID=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core${PRIVATE}${SNAPSHOT}
+ else
+ RS_ID=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core${SNAPSHOT}
+ fi
+
+ RS_PATH=$(dirname $RS_PATH)"/${RS_ID}"
+ DEV_PACKAGE_CONFIG_PATH=$(dirname $DEV_PACKAGE_CONFIG_PATH)"/${RS_ID}.dev.xml"
+
+ log_info "NEW RS_ID=$RS_ID"
+ log_info "NEW RS_PATH=$RS_PATH"
+ log_info "NEW DEV_PACKAGE_CONFIG_PATH=$DEV_PACKAGE_CONFIG_PATH"
+
+
+ # Copy
+ log_info "cp ${PLUGIN_FILE} ${DIR_PLUGIN_DEST}/${RS_ID}.xml"
+ cp ${PLUGIN_FILE} ${DIR_PLUGIN_DEST}/${RS_ID}.xml >/dev/null
+
+ log_info "cp ${INFO_FILE} ${DIR_INFO_DEST}/${RS_ID}.dev.xml"
+ cp ${INFO_FILE} ${DIR_INFO_DEST}/${RS_ID}.dev.xml >/dev/null
+
+
+
+ # Change Plugin XML
+ xmlstarlet ed -L -u "//rootstrap/@id" -v "${RS_ID}" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ xmlstarlet ed -L -u "//rootstrap/@path" -v "${RS_PATH}" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+
+ if [ "$INTERNAL" = true ]; then
+ if [ -n "${SNAPSHOT}" ]; then
+ log_info "SNAPSHOT = [$SNAPSHOT]"
+ xmlstarlet ed -L -u "//rootstrap/@name" -v "Tizen ${TYPE[*]^} $PLATFORM_VERSION ${PRIVATE:1} (${SNAPSHOT:1})" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ else
+ xmlstarlet ed -L -u "//rootstrap/@name" -v "Tizen ${TYPE[*]^} $PLATFORM_VERSION ${PRIVATE:1}" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ fi
+ else
+ xmlstarlet ed -L -u "//rootstrap/@name" -v "Tizen ${TYPE[*]^} $PLATFORM_VERSION" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ fi
+
+ xmlstarlet ed -L -u "//property[@key='DEV_PACKAGE_CONFIG_PATH']/@value" -v "${DEV_PACKAGE_CONFIG_PATH}" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+
+ if [[ ${TYPE} == *"device64"* ]]; then
+ xmlstarlet ed -L -u "//rootstrap/@architecture" -v "aarch64" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ elif [[ ${TYPE} == *"emulator64"* ]]; then
+ xmlstarlet ed -L -u "//rootstrap/@architecture" -v "x86_64" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ fi
+
+ # Rename Plugin XML
+ #log_info "mv ${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}*.xml ${DIR_PLUGIN}/${RS_ID}.xml"
+ #mv ${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}*.xml ${DIR_PLUGIN}/${RS_ID}.xml >/dev/null
+
+ #log_info "mv ${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}*.dev.xml ${DIR_INFO}/${RS_ID}.dev.xml"
+ #mv ${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}*.dev.xml ${DIR_INFO}/${RS_ID}.dev.xml >/dev/null
+
+ # Copy Resource
+ #DIR_PLUGIN_DEST="${PATH_PACKAGE_RES}/data/tools/smart-build-interface/plugins/"
+ #DIR_INFO_DEST="${PATH_PACKAGE_RES}/data/platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/"
+ #DIR_ROOTSTRAP_DEST="${PATH_PACKAGE_RES}/data/platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/"
+
+ #mkdir -p ${DIR_PLUGIN_DEST}
+ #mkdir -p ${DIR_INFO_DEST}
+ #mkdir -p ${DIR_ROOTSTRAP_DEST}
+
+ if [[ ${TYPE} == *"device64"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_TARGET}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_TARGET}
+ rm ./usr/lib/*
+ zip -r --symlinks ${RS_ID}.zip lib64 lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ elif [[ ${TYPE} == *"emulator64"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_EMULATOR}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_EMULATOR}
+ rm ./usr/lib/*
+ zip -r --symlinks ${RS_ID}.zip lib64 lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ elif [[ ${TYPE} == *"device"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_TARGET}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_TARGET}
+ zip -r --symlinks ${RS_ID}.zip lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ elif [[ ${TYPE} == *"emulator"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_EMULATOR}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_EMULATOR}
+ zip -r --symlinks ${RS_ID}.zip lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ fi
+}
+
+function pkg_build()
+{
+
+ pkg_build_internal ${DEVICE}
+
+ (
+ cd ${PATH_PACKAGE_RES}
+ zip -r ${NAME_DEVICE_PKG_ZIP} data >/dev/null
+ mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+ log_info "Genarated Basic RS resource [${pkg_dir}] ... "
+ )
+
+ pkg_build_internal ${EMULATOR}
+ (
+ cd ${PATH_PACKAGE_RES}
+ zip -r ${NAME_EMULATOR_PKG_ZIP} data >/dev/null
+ mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+ log_info "Genarated Basic RS resource [${pkg_dir}] ... "
+ )
+
+}
+
+###############################################################################
+# function create_pkginfo
+# VAL_PKG="$1"
+# VAL_VERSION="$2"
+# VAL_OS="$3"
+###############################################################################
+function create_pkginfo()
+{
+
+ #pkginfo.manifest
+ #Package : mobile-3.0-rs-device.core
+ #Version : 3.0.8
+ #OS : ubuntu-32
+ #Maintainer : Seunghwan Lee <sh.cat.lee@samsung.com>
+ #Attribute : binary
+ #Description : ARM rootstrap for native app development
+
+ FILE_PKGINFO="pkginfo.manifest"
+ ATTR_PKG="Package"
+ ATTR_VERSION="Version"
+ ATTR_OS="OS"
+ ATTR_MAIN="Maintainer : Seunghwan Lee <sh.cat.lee@samsung.com>"
+ ATTR_ATTR="Attribute : binary"
+ ATTR_DESC="Description : rootstrap for native app development"
+
+
+ if [[ -e $FILE_PKGINFO ]]; then
+ rm $FILE_PKGINFO
+ fi
+
+ VAL_PKG="$1"
+ VAL_VERSION="$2"
+ VAL_OS="$3"
+
+ echo "$ATTR_PKG : $VAL_PKG" | tee -a $FILE_PKGINFO
+ echo "$ATTR_VERSION : $VAL_VERSION" | tee -a $FILE_PKGINFO
+
+ if [[ ${VAL_OS} == "all" ]]; then
+ echo "$ATTR_OS : ubuntu-64, windows-64, macos-64" | tee -a $FILE_PKGINFO
+ else
+ echo "$ATTR_OS : $VAL_OS" | tee -a $FILE_PKGINFO
+ fi
+
+ echo "$ATTR_MAIN" | tee -a $FILE_PKGINFO
+ echo "$ATTR_ATTR" | tee -a $FILE_PKGINFO
+ echo "$ATTR_DESC" | tee -a $FILE_PKGINFO
+
+
+}
+
+###############################################################################
+# function usage
+###############################################################################
+function usage () {
+ echo "$SCRIPT_NAME ($SCRIPT_VER) is script to package rootstrap for SDK"
+ echo "Usage: $SCRIPT_NAME -C [<config_file>] [<OPTION>]"
+ echo " -C, --conf : Configuration File"
+ echo " -o, --os : Package OS (ubuntu-64 windows-64 macos-64)"
+ echo " -h, --help"
+ echo " -v, --version : Display script version information"
+ echo " --internal : "
+ echo " --snapshot : "
+ echo " --sdkpkg : "
+ echo " --pkgver : "
+ echo ""
+ echo "Example:"
+ echo " >$SCRIPT_NAME -C rs-config"
+ echo " > mobile-3.0-device.core, mobile-3.0-emulator.core"
+ echo " >$SCRIPT_NAME -C rs-config -os ubuntu-64"
+ echo ""
+ echo "Example:"
+ echo " >$SCRIPT_NAME -C rs-config"
+ echo " > mobile-3.0-device.core, mobile-3.0-emulator.core"
+
+ echo ""
+ echo "Output Diretory:"
+ echo ".temp_pkg"
+ echo ".pkg"
+
+ return
+}
+
+###############################################################################
+## Get Parameter
+###############################################################################
+OPTS=`getopt -o -d:o:C: --long dir:,os:,conf:,internal,public,snapshot:,sdkpkg,pkgver:,64bit -- "$@"`
+if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
+
+echo ""
+echo " #EXEC_CMD : $SCRIPT_NAME $OPTS"
+eval set -- "$OPTS"
+
+while true; do
+case "$1" in
+ -C | --conf ) OPT_CONF=$2;shift;shift;;
+ -o | --os ) OS_LIST="${2}"; shift;shift;;
+ -h | --help ) usage; exit 0;;
+ -v | --version ) echo "${SCRIPT_NAME}" "version : $SCRIPT_VER"; exit 0 ;;
+ --internal ) INTERNAL=true; shift;;
+ --public ) PUBLIC=true; shift;;
+ --snapshot ) SNAPSHOT=$2; shift;shift;;
+ --sdkpkg ) SDKPKG=true; shift;;
+ --pkgver ) TMP_PKG_VERSION=$2; shift;shift;;
+ --64bit )
+ echo "64bit!!";
+ DEVICE="device64"
+ EMULATOR="emulator64"
+ shift;;
+ -- ) shift; break ;;
+ *)
+ echo "param error";
+ exit 1; shift;;
+esac
+done
+
+###############################################################################
+## Check Environment
+###############################################################################
+if [[ -e ${OPT_CONF} ]]; then
+ log_info "source ${OPT_CONF}"
+ source "${OPT_CONF}"
+else
+ log_error "[Error] Configuration File Does not Exist"
+ usage
+ exit 1
+fi
+
+log_info "OS_LIST = $OS_LIST"
+
+#CHECK CMD available
+printf "check command ... "
+if [ -z $(which xmlstarlet) ]
+then
+ log_error "[Error] Check xmlstarlet command" 1>&2
+ exit -1
+fi
+printf "Done\n\n"
+
+
+#CHECK Resource from make_rootstrap.sh
+printf "check Resource Directory ... "
+if [ ! -e ${DIR_INFO} ] || [ ! -e ${DIR_PLUGIN} ] || [ ! -e ${DIR_TARGET} ]
+then
+ echo "Check resource dirs are exist !" 1>&2
+ echo "${DIR_INFO}" 1>&2
+ echo "${DIR_EMULATOR}" 1>&2
+ echo "${DIR_TARGET}" 1>&2
+ echo "${DIR_PLUGIN}" 1>&2
+ exit -1
+fi
+printf "Done\n\n"
+
+#CHECK configuration
+if [[ -z $PLATFORM_VERSION ]]; then
+ echo "[Error] Configure PLATFORM_VERSION is NULL" 1>&2
+ exit -1
+fi
+
+if [[ -z $PLATFORM_PROFILE ]]; then
+ echo "[Error] Configure PLATFORM_PROFILE is NULL" 1>&2
+ exit -1
+fi
+
+if [[ -n $SNAPSHOT ]]; then
+SNAPSHOT=".$SNAPSHOT"
+fi
+
+if [ "$INTERNAL" = true ]; then
+PRIVATE=".private"
+fi
+
+if [ "$PUBLIC" = true ]; then
+PRIVATE=".public"
+INTERNAL=true;
+fi
+
+if [ -z $SNAPSHOT ] && [ "$INTERNAL" = false ]; then
+log_info "SET SDKPKG = true (Snapshot = NULL, INTERNAL = false)"
+SDKPKG=true
+fi
+
+
+###############################################################################
+## Clean Up
+###############################################################################
+
+PATH_PACKAGE_RES=$PWD/$DIR_TMP_PKG
+printf "Clean up Directory ${PATH_PACKAGE_RES} ... "
+
+if [[ -e "$PATH_PACKAGE_RES" ]]; then
+ rm -rf $PATH_PACKAGE_RES
+fi
+mkdir $PATH_PACKAGE_RES
+
+printf "Done\n\n"
+
+pkg_dir=$PWD"/$DIR_OUTPUT"
+
+printf "Clean up Directory ${pkg_dir} ... "
+
+if [[ -e ${pkg_dir} ]]; then
+ rm -rf ${pkg_dir};
+fi
+mkdir ${pkg_dir};
+printf "Done\n\n"
+
+
+###############################################################################
+## Build rootstarp SDK package
+###############################################################################
+
+printf "make rootstrap Package\n\n"
+
+NAME_DEVICE_PKG_ZIP=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}${SNAPSHOT}.zip
+NAME_EMULATOR_PKG_ZIP=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}${SNAPSHOT}.zip
+
+DIR_PLUGIN_DEST="${PATH_PACKAGE_RES}/data/tools/smart-build-interface/plugins/"
+DIR_INFO_DEST="${PATH_PACKAGE_RES}/data/platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/"
+DIR_ROOTSTRAP_DEST="${PATH_PACKAGE_RES}/data/platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/"
+
+###############################################################################
+#Create Rootstrap Basic Resource to .pkg
+###############################################################################
+pkg_build_internal ${DEVICE}
+(
+cd ${PATH_PACKAGE_RES}
+zip -r ${NAME_DEVICE_PKG_ZIP} data >/dev/null
+mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+log_info "Genarated Basic RS resource [${pkg_dir}] ... \n\n"
+)
+
+pkg_build_internal ${EMULATOR}
+(
+cd ${PATH_PACKAGE_RES}
+zip -r ${NAME_EMULATOR_PKG_ZIP} data >/dev/null
+mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+log_info "Genarated Basic RS resource [${pkg_dir}] ... \n\n"
+)
+
+log "Done... [$SECONDS]Sec\n\n"
+
+###############################################################################
+#Create Rootstrap Package for SDK to .pkg
+###############################################################################
+if [[ "$SDKPKG" == true ]] && [[ -z "$SNAPSHOT" ]] ; then
+ echo "Start SDK package .. from temp"
+
+ if [[ -e ${DIR_TMP_SDK_PKG} ]]; then
+ rm -rf ${DIR_TMP_SDK_PKG};
+ fi
+ mkdir ${DIR_TMP_SDK_PKG};
+
+ for OS in $OS_LIST
+ do
+ mkdir -p ${DIR_TMP_SDK_PKG}/${OS};
+
+ cp $DIR_OUTPUT/*.zip $DIR_TMP_SDK_PKG/$OS
+
+ mv ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core*.zip ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip
+
+ #device
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}" "$TMP_PKG_VERSION" "all"
+ zip "${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip" pkginfo.manifest
+
+ #emulator
+ mv ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core*.zip ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}" "$TMP_PKG_VERSION" "all"
+ zip "${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip" pkginfo.manifest
+ done
+
+ rm $DIR_OUTPUT/*.zip
+ find ${DIR_TMP_SDK_PKG} -name "*.zip" -exec mv {} $DIR_OUTPUT \;
+
+fi
+
+if [[ -n "$SNAPSHOT" ]] ; then
+ log_info "Add PkgInfo for ABS [$SNAPSHOT] \n\n"
+ #device
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}" "0.0.1" "all"
+ find $DIR_OUTPUT -name "*device*.zip" -exec zip {} pkginfo.manifest \;
+
+
+ #emulator
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}" "0.0.1" "all"
+ find $DIR_OUTPUT -name "*emulator*.zip" -exec zip {} pkginfo.manifest \;
+fi
+
+###############################################################################
+# Show PKG
+###############################################################################
+echo "$(ls ${pkg_dir}/*.zip | wc -l) files Genereated ... "
+for i in $(ls ${pkg_dir}/*.zip)
+do
+ echo "$(du -h $i | awk '{print $2,"["$1"]"}')"
+done
+
+echo "Done... [$SECONDS]Sec"
+exit 0
--- /dev/null
+#!/bin/bash
+###############################################################################
+# Init
+###############################################################################
+SCRIPT_NAME="$(basename ${BASH_SOURCE[0]})"
+SCRIPT_FULLPATH="$(readlink -f ${BASH_SOURCE[0]})"
+SCRIPT_BASE="$(dirname ${SCRIPT_FULLPATH})"
+SCRIPT_VER="0.0.3"
+
+DIR_TMP_PKG=".temp_pkg"
+DIR_TMP_SDK_PKG=$(pwd)/".temp_sdk_pkg"
+DIR_OUTPUT=".pkg"
+
+OS_LIST="ubuntu-64 windows-64 macos-64"
+
+DIR_INFO=".info"
+DIR_RPM=".rpm"
+DIR_PLUGIN=".plugin"
+DIR_TMP=".tmp"
+DIR_EMULATOR=".emulator"
+DIR_TARGET=".target"
+DIR_RISCV=".riscv"
+
+PATH_PACKAGE_RES=""
+
+OPT_CONF=""
+
+PRIVATE=""
+TMP_PKG_VERSION="0.0.1"
+
+INTERNAL=false
+SDKPKG=false
+SNAPSHOT=""
+
+DEVICE="device64"
+EMULATOR="emulator64"
+RISCV="riscv64"
+###############################################################################
+echo ""
+echo " $SCRIPT_NAME ($SCRIPT_VER) is packaging tool of rootstrap"
+echo ""
+
+###############################################################################
+# function log
+###############################################################################
+function log()
+{
+ #printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+ printf "${@}\n\n"
+}
+
+function log_info()
+{
+ printf "[INFO] ${@}\n\n"
+}
+
+function log_warn()
+{
+ printf "[WARN] ${@}\n\n"
+}
+
+function log_error()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}][ERROR] ${@}\n"
+}
+###############################################################################
+# function check_error
+# $1 : Error code(integer)
+# $2 : Error Message
+# $3 : Error Xml File)
+# Example : check_error $? "Fail to function"
+###############################################################################
+function check_error()
+{
+ if [ "$1" -ne "0" ]; then
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ERROR : $2 - exit code ($1) \n" 1>&2
+ exit $1
+ fi
+}
+
+###############################################################################
+# function pkg_build_internal
+# $1 : Type (emulator/device/emulator64/device64/riscv64)
+# $2 : resource Path (.emulator/.target/.riscv)
+###############################################################################
+function pkg_build_internal()
+{
+
+ TYPE=${1}
+
+ if [[ ${TYPE} == *"device64"* ]]; then
+ PLUGIN_FILE="${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-device64.core.xml"
+ INFO_FILE="${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-device64.core.dev.xml"
+ elif [[ ${TYPE} == *"riscv64"* ]]; then
+ PLUGIN_FILE="${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-riscv64.core.xml"
+ INFO_FILE="${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-riscv64.core.dev.xml"
+ elif [[ ${TYPE} == *"emulator64"* ]]; then
+ PLUGIN_FILE="${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-emulator64.core.xml"
+ INFO_FILE="${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-emulator64.core.dev.xml"
+ fi
+
+ log_info "Clean up Resource Directory ${PATH_PACKAGE_RES}"
+ if [[ -n ${PATH_PACKAGE_RES} ]] && [[ -e "${PATH_PACKAGE_RES}/data" ]] ; then
+ rm -rf "${PATH_PACKAGE_RES}/data"
+ fi
+
+ log_info "mkdir -p ${DIR_PLUGIN_DEST}"
+ mkdir -p ${DIR_PLUGIN_DEST}
+
+ log_info "mkdir -p ${DIR_INFO_DEST}"
+ mkdir -p ${DIR_INFO_DEST}
+
+ log_info "mkdir -p ${DIR_ROOTSTRAP_DEST}"
+ mkdir -p ${DIR_ROOTSTRAP_DEST}
+
+
+ # Get Current Info
+ log_info "Get Current RS_ID, RS_PATH, DEV_PACKAGE_CONFIG_PATH"
+
+ RS_ID=$(xmlstarlet sel -t -m "//rootstrap/@id" -v "." $PLUGIN_FILE)
+ RS_PATH=$(xmlstarlet sel -t -m "//rootstrap/@path" -v "." $PLUGIN_FILE)
+ DEV_PACKAGE_CONFIG_PATH=$(xmlstarlet sel -t -m "//property[@key='DEV_PACKAGE_CONFIG_PATH']/@value" -v "." $PLUGIN_FILE)
+
+ log_info "TYPE=$TYPE"
+ log_info "RS_ID=$RS_ID"
+ log_info "RS_PATH=$RS_PATH"
+ log_info "DEV_PACKAGE_CONFIG_PATH=$DEV_PACKAGE_CONFIG_PATH"
+
+
+ # Replace Info
+ log_info "Convert RS_ID, RS_PATH, DEV_PACKAGE_CONFIG_PATH"
+
+ if [ "$INTERNAL" = true ]; then
+ RS_ID=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core${PRIVATE}${SNAPSHOT}
+ else
+ RS_ID=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core${SNAPSHOT}
+ fi
+
+ RS_PATH=$(dirname $RS_PATH)"/${RS_ID}"
+ DEV_PACKAGE_CONFIG_PATH=$(dirname $DEV_PACKAGE_CONFIG_PATH)"/${RS_ID}.dev.xml"
+
+ log_info "NEW RS_ID=$RS_ID"
+ log_info "NEW RS_PATH=$RS_PATH"
+ log_info "NEW DEV_PACKAGE_CONFIG_PATH=$DEV_PACKAGE_CONFIG_PATH"
+
+
+ # Copy
+ log_info "cp ${PLUGIN_FILE} ${DIR_PLUGIN_DEST}/${RS_ID}.xml"
+ cp ${PLUGIN_FILE} ${DIR_PLUGIN_DEST}/${RS_ID}.xml >/dev/null
+
+ log_info "cp ${INFO_FILE} ${DIR_INFO_DEST}/${RS_ID}.dev.xml"
+ cp ${INFO_FILE} ${DIR_INFO_DEST}/${RS_ID}.dev.xml >/dev/null
+
+
+
+ # Change Plugin XML
+ xmlstarlet ed -L -u "//rootstrap/@id" -v "${RS_ID}" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ xmlstarlet ed -L -u "//rootstrap/@path" -v "${RS_PATH}" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+
+ if [ "$INTERNAL" = true ]; then
+ if [ -n "${SNAPSHOT}" ]; then
+ log_info "SNAPSHOT = [$SNAPSHOT]"
+ xmlstarlet ed -L -u "//rootstrap/@name" -v "Tizen ${TYPE[*]^} $PLATFORM_VERSION ${PRIVATE:1} (${SNAPSHOT:1})" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ else
+ xmlstarlet ed -L -u "//rootstrap/@name" -v "Tizen ${TYPE[*]^} $PLATFORM_VERSION ${PRIVATE:1}" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ fi
+ else
+ xmlstarlet ed -L -u "//rootstrap/@name" -v "Tizen ${TYPE[*]^} $PLATFORM_VERSION" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ fi
+
+ xmlstarlet ed -L -u "//property[@key='DEV_PACKAGE_CONFIG_PATH']/@value" -v "${DEV_PACKAGE_CONFIG_PATH}" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+
+ if [[ ${TYPE} == *"device64"* ]]; then
+ xmlstarlet ed -L -u "//rootstrap/@architecture" -v "aarch64" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ elif [[ ${TYPE} == *"emulator64"* ]]; then
+ xmlstarlet ed -L -u "//rootstrap/@architecture" -v "x86_64" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ elif [[ ${TYPE} == *"riscv64"* ]]; then
+ xmlstarlet ed -L -u "//rootstrap/@architecture" -v "riscv64" ${DIR_PLUGIN_DEST}/${RS_ID}.xml
+ fi
+
+ # Rename Plugin XML
+ #log_info "mv ${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}*.xml ${DIR_PLUGIN}/${RS_ID}.xml"
+ #mv ${DIR_PLUGIN}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}*.xml ${DIR_PLUGIN}/${RS_ID}.xml >/dev/null
+
+ #log_info "mv ${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}*.dev.xml ${DIR_INFO}/${RS_ID}.dev.xml"
+ #mv ${DIR_INFO}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}*.dev.xml ${DIR_INFO}/${RS_ID}.dev.xml >/dev/null
+
+ # Copy Resource
+ #DIR_PLUGIN_DEST="${PATH_PACKAGE_RES}/data/tools/smart-build-interface/plugins/"
+ #DIR_INFO_DEST="${PATH_PACKAGE_RES}/data/platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/"
+ #DIR_ROOTSTRAP_DEST="${PATH_PACKAGE_RES}/data/platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/"
+
+ #mkdir -p ${DIR_PLUGIN_DEST}
+ #mkdir -p ${DIR_INFO_DEST}
+ #mkdir -p ${DIR_ROOTSTRAP_DEST}
+
+ if [[ ${TYPE} == *"device64"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_TARGET}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_TARGET}
+# rm ./usr/lib/*
+# rm ./usr/lib64/*
+ zip -r --symlinks ${RS_ID}.zip lib64 lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ elif [[ ${TYPE} == *"emulator64"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_EMULATOR}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_EMULATOR}
+# rm ./usr/lib/*
+# rm ./usr/lib64/*
+ zip -r --symlinks ${RS_ID}.zip lib64 lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ elif [[ ${TYPE} == *"riscv64"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_RISCV}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_RISCV}
+# rm ./usr/lib/*
+# rm ./usr/lib64/*
+ zip -r --symlinks ${RS_ID}.zip lib64 lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ elif [[ ${TYPE} == *"device"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_TARGET}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_TARGET}
+ zip -r --symlinks ${RS_ID}.zip lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ elif [[ ${TYPE} == *"emulator"* ]]; then
+ (
+ log_info "Copy RS Resource [${DIR_EMULATOR}] to [${DIR_ROOTSTRAP_DEST}/${RS_ID}] ... "
+ cd ${DIR_EMULATOR}
+ zip -r --symlinks ${RS_ID}.zip lib usr >/dev/null
+ unzip ${RS_ID}.zip -d ${DIR_ROOTSTRAP_DEST}/${RS_ID} >/dev/null
+ rm *.zip
+ )
+ fi
+}
+
+function pkg_build()
+{
+
+ pkg_build_internal ${DEVICE}
+
+ (
+ cd ${PATH_PACKAGE_RES}
+ zip -r ${NAME_DEVICE_PKG_ZIP} data >/dev/null
+ mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+ log_info "Genarated Basic RS resource [${pkg_dir}] ... "
+ )
+
+ pkg_build_internal ${RISCV}
+
+ (
+ cd ${PATH_PACKAGE_RES}
+ zip -r ${NAME_RISCV_PKG_ZIP} data >/dev/null
+ mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+ log_info "Genarated Basic RS resource [${pkg_dir}] ... "
+ )
+
+ pkg_build_internal ${EMULATOR}
+ (
+ cd ${PATH_PACKAGE_RES}
+ zip -r ${NAME_EMULATOR_PKG_ZIP} data >/dev/null
+ mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+ log_info "Genarated Basic RS resource [${pkg_dir}] ... "
+ )
+
+}
+
+###############################################################################
+# function create_pkginfo
+# VAL_PKG="$1"
+# VAL_VERSION="$2"
+# VAL_OS="$3"
+###############################################################################
+function create_pkginfo()
+{
+
+ #pkginfo.manifest
+ #Package : mobile-3.0-rs-device.core
+ #Version : 3.0.8
+ #OS : ubuntu-32
+ #Maintainer : Seunghwan Lee <sh.cat.lee@samsung.com>
+ #Attribute : binary
+ #Description : ARM rootstrap for native app development
+
+ FILE_PKGINFO="pkginfo.manifest"
+ ATTR_PKG="Package"
+ ATTR_VERSION="Version"
+ ATTR_OS="OS"
+ ATTR_MAIN="Maintainer : Seunghwan Lee <sh.cat.lee@samsung.com>"
+ ATTR_ATTR="Attribute : binary"
+ ATTR_DESC="Description : rootstrap for native app development"
+
+
+ if [[ -e $FILE_PKGINFO ]]; then
+ rm $FILE_PKGINFO
+ fi
+
+ VAL_PKG="$1"
+ VAL_VERSION="$2"
+ VAL_OS="$3"
+
+ echo "$ATTR_PKG : $VAL_PKG" | tee -a $FILE_PKGINFO
+ echo "$ATTR_VERSION : $VAL_VERSION" | tee -a $FILE_PKGINFO
+
+ if [[ ${VAL_OS} == "all" ]]; then
+ echo "$ATTR_OS : ubuntu-64, windows-64, macos-64" | tee -a $FILE_PKGINFO
+ else
+ echo "$ATTR_OS : $VAL_OS" | tee -a $FILE_PKGINFO
+ fi
+
+ echo "$ATTR_MAIN" | tee -a $FILE_PKGINFO
+ echo "$ATTR_ATTR" | tee -a $FILE_PKGINFO
+ echo "$ATTR_DESC" | tee -a $FILE_PKGINFO
+
+
+}
+
+###############################################################################
+# function usage
+###############################################################################
+function usage () {
+ echo "$SCRIPT_NAME ($SCRIPT_VER) is script to package rootstrap for SDK"
+ echo "Usage: $SCRIPT_NAME -C [<config_file>] [<OPTION>]"
+ echo " -C, --conf : Configuration File"
+ echo " -o, --os : Package OS (ubuntu-64 windows-64 macos-64)"
+ echo " -h, --help"
+ echo " -v, --version : Display script version information"
+ echo " --internal : "
+ echo " --snapshot : "
+ echo " --sdkpkg : "
+ echo " --pkgver : "
+ echo ""
+ echo "Example:"
+ echo " >$SCRIPT_NAME -C rs-config"
+ echo " > mobile-3.0-device.core, mobile-3.0-emulator.core"
+ echo " >$SCRIPT_NAME -C rs-config -os ubuntu-64"
+ echo ""
+ echo "Example:"
+ echo " >$SCRIPT_NAME -C rs-config"
+ echo " > mobile-3.0-device.core, mobile-3.0-emulator.core"
+
+ echo ""
+ echo "Output Diretory:"
+ echo ".temp_pkg"
+ echo ".pkg"
+
+ return
+}
+
+###############################################################################
+## Get Parameter
+###############################################################################
+OPTS=`getopt -o -d:o:C: --long dir:,os:,conf:,internal,public,snapshot:,sdkpkg,pkgver:,64bit -- "$@"`
+if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
+
+echo ""
+echo " #EXEC_CMD : $SCRIPT_NAME $OPTS"
+eval set -- "$OPTS"
+
+while true; do
+case "$1" in
+ -C | --conf ) OPT_CONF=$2;shift;shift;;
+ -o | --os ) OS_LIST="${2}"; shift;shift;;
+ -h | --help ) usage; exit 0;;
+ -v | --version ) echo "${SCRIPT_NAME}" "version : $SCRIPT_VER"; exit 0 ;;
+ --internal ) INTERNAL=true; shift;;
+ --public ) PUBLIC=true; shift;;
+ --snapshot ) SNAPSHOT=$2; shift;shift;;
+ --sdkpkg ) SDKPKG=true; shift;;
+ --pkgver ) TMP_PKG_VERSION=$2; shift;shift;;
+ --64bit )
+ echo "64bit!!";
+ DEVICE="device64"
+ EMULATOR="emulator64"
+ RISCV="riscv64"
+ shift;;
+ -- ) shift; break ;;
+ *)
+ echo "param error";
+ exit 1; shift;;
+esac
+done
+
+###############################################################################
+## Check Environment
+###############################################################################
+if [[ -e ${OPT_CONF} ]]; then
+ log_info "source ${OPT_CONF}"
+ source "${OPT_CONF}"
+else
+ log_error "[Error] Configuration File Does not Exist"
+ usage
+ exit 1
+fi
+
+log_info "OS_LIST = $OS_LIST"
+
+#CHECK CMD available
+printf "check command ... "
+if [ -z $(which xmlstarlet) ]
+then
+ log_error "[Error] Check xmlstarlet command" 1>&2
+ exit -1
+fi
+printf "Done\n\n"
+
+
+#CHECK Resource from make_rootstrap.sh
+printf "check Resource Directory ... "
+if [ ! -e ${DIR_INFO} ] || [ ! -e ${DIR_PLUGIN} ] # || [ ! -e ${DIR_EMULATOR} ] || [ ! -e ${DIR_TARGET} ] || [ ! -e ${DIR_RISCV} ]
+then
+ echo "Check resource dirs are exist !" 1>&2
+ echo "${DIR_INFO}" 1>&2
+ echo "${DIR_EMULATOR}" 1>&2
+ echo "${DIR_TARGET}" 1>&2
+ echo "${DIR_RISCV}" 1>&2
+ echo "${DIR_PLUGIN}" 1>&2
+ exit -1
+fi
+printf "Done\n\n"
+
+#CHECK configuration
+if [[ -z $PLATFORM_VERSION ]]; then
+ echo "[Error] Configure PLATFORM_VERSION is NULL" 1>&2
+ exit -1
+fi
+
+if [[ -z $PLATFORM_PROFILE ]]; then
+ echo "[Error] Configure PLATFORM_PROFILE is NULL" 1>&2
+ exit -1
+fi
+
+if [[ -n $SNAPSHOT ]]; then
+SNAPSHOT=".$SNAPSHOT"
+fi
+
+if [ "$INTERNAL" = true ]; then
+PRIVATE=".private"
+fi
+
+if [ "$PUBLIC" = true ]; then
+PRIVATE=".public"
+INTERNAL=true;
+fi
+
+if [ -z $SNAPSHOT ] && [ "$INTERNAL" = false ]; then
+log_info "SET SDKPKG = true (Snapshot = NULL, INTERNAL = false)"
+SDKPKG=true
+fi
+
+
+###############################################################################
+## Clean Up
+###############################################################################
+
+PATH_PACKAGE_RES=$PWD/$DIR_TMP_PKG
+printf "Clean up Directory ${PATH_PACKAGE_RES} ... "
+
+if [[ -e "$PATH_PACKAGE_RES" ]]; then
+ rm -rf $PATH_PACKAGE_RES
+fi
+mkdir $PATH_PACKAGE_RES
+
+printf "Done\n\n"
+
+pkg_dir=$PWD"/$DIR_OUTPUT"
+
+printf "Clean up Directory ${pkg_dir} ... "
+
+if [[ -e ${pkg_dir} ]]; then
+ rm -rf ${pkg_dir};
+fi
+mkdir ${pkg_dir};
+printf "Done\n\n"
+
+
+###############################################################################
+## Build rootstarp SDK package
+###############################################################################
+
+printf "make rootstrap Package\n\n"
+
+NAME_DEVICE_PKG_ZIP=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}${SNAPSHOT}.zip
+NAME_EMULATOR_PKG_ZIP=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}${SNAPSHOT}.zip
+NAME_RISCV_PKG_ZIP=${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${RISCV}.core${PRIVATE}${SNAPSHOT}.zip
+
+DIR_PLUGIN_DEST="${PATH_PACKAGE_RES}/data/tools/smart-build-interface/plugins/"
+DIR_INFO_DEST="${PATH_PACKAGE_RES}/data/platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/"
+DIR_ROOTSTRAP_DEST="${PATH_PACKAGE_RES}/data/platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/"
+
+###############################################################################
+#Create Rootstrap Basic Resource to .pkg
+###############################################################################
+pkg_build_internal ${DEVICE}
+(
+cd ${PATH_PACKAGE_RES}
+zip -r ${NAME_DEVICE_PKG_ZIP} data >/dev/null
+mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+log_info "Genarated Basic RS resource [${pkg_dir}] ... \n\n"
+)
+
+pkg_build_internal ${RISCV}
+(
+cd ${PATH_PACKAGE_RES}
+zip -r ${NAME_RISCV_PKG_ZIP} data >/dev/null
+mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+log_info "Genarated Basic RS resource [${pkg_dir}] ... \n\n"
+)
+
+pkg_build_internal ${EMULATOR}
+(
+cd ${PATH_PACKAGE_RES}
+zip -r ${NAME_EMULATOR_PKG_ZIP} data >/dev/null
+mv ${PATH_PACKAGE_RES}/*.zip ${pkg_dir}
+log_info "Genarated Basic RS resource [${pkg_dir}] ... \n\n"
+)
+
+log "Done... [$SECONDS]Sec\n\n"
+
+###############################################################################
+#Create Rootstrap Package for SDK to .pkg
+###############################################################################
+if [[ "$SDKPKG" == true ]] && [[ -z "$SNAPSHOT" ]] ; then
+ echo "Start SDK package .. from temp"
+
+ if [[ -e ${DIR_TMP_SDK_PKG} ]]; then
+ rm -rf ${DIR_TMP_SDK_PKG};
+ fi
+ mkdir ${DIR_TMP_SDK_PKG};
+
+ for OS in $OS_LIST
+ do
+ mkdir -p ${DIR_TMP_SDK_PKG}/${OS};
+
+ cp $DIR_OUTPUT/*.zip $DIR_TMP_SDK_PKG/$OS
+
+
+ #device
+ mv ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core*.zip ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}" "$TMP_PKG_VERSION" "all"
+ zip "${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip" pkginfo.manifest
+
+ #riscv
+ mv ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${RISCV}.core*.zip ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${RISCV}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${RISCV}.core${PRIVATE}" "$TMP_PKG_VERSION" "all"
+ zip "${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${RISCV}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip" pkginfo.manifest
+
+ #emulator
+ mv ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core*.zip ${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}" "$TMP_PKG_VERSION" "all"
+ zip "${DIR_TMP_SDK_PKG}/${OS}/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}_${TMP_PKG_VERSION}_${OS}.zip" pkginfo.manifest
+ done
+
+ rm $DIR_OUTPUT/*.zip
+ find ${DIR_TMP_SDK_PKG} -name "*.zip" -exec mv {} $DIR_OUTPUT \;
+
+fi
+
+if [[ -n "$SNAPSHOT" ]] ; then
+ log_info "Add PkgInfo for ABS [$SNAPSHOT] \n\n"
+ #device
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${DEVICE}.core${PRIVATE}" "0.0.1" "all"
+ find $DIR_OUTPUT -name "*device*.zip" -exec zip {} pkginfo.manifest \;
+
+ #riscv
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${RISCV}.core${PRIVATE}" "0.0.1" "all"
+ find $DIR_OUTPUT -name "*riscv*.zip" -exec zip {} pkginfo.manifest \;
+
+ #emulator
+ create_pkginfo "${PLATFORM_PROFILE}-${PLATFORM_VERSION}-rs-${EMULATOR}.core${PRIVATE}" "0.0.1" "all"
+ find $DIR_OUTPUT -name "*emulator*.zip" -exec zip {} pkginfo.manifest \;
+fi
+
+###############################################################################
+# Show PKG
+###############################################################################
+echo "$(ls ${pkg_dir}/*.zip | wc -l) files Genereated ... "
+for i in $(ls ${pkg_dir}/*.zip)
+do
+ echo "$(du -h $i | awk '{print $2,"["$1"]"}')"
+done
+
+echo "Done... [$SECONDS]Sec"
+exit 0
--- /dev/null
+
+BuildRequires: SDL2
+BuildRequires: SDL2-devel
+BuildRequires: app-core-common
+BuildRequires: app-core-common-devel
+BuildRequires: appcore-agent
+BuildRequires: appcore-widget
+BuildRequires: askuser-notification-client
+BuildRequires: askuser-notification-devel
+BuildRequires: attach-panel
+BuildRequires: attach-panel-devel
+BuildRequires: aul
+BuildRequires: aul-devel
+BuildRequires: aul-rsc-mgr
+BuildRequires: aul-rsc-mgr-devel
+BuildRequires: auth-fw
+BuildRequires: badge
+BuildRequires: badge-devel
+BuildRequires: bundle
+BuildRequires: bundle-devel
+BuildRequires: cairo-devel
+BuildRequires: calendar-service-devel
+BuildRequires: capi-appfw-alarm
+BuildRequires: capi-appfw-alarm-devel
+BuildRequires: capi-appfw-app-common
+BuildRequires: capi-appfw-app-common-devel
+BuildRequires: capi-appfw-app-control
+BuildRequires: capi-appfw-app-control-devel
+BuildRequires: capi-appfw-app-manager
+BuildRequires: capi-appfw-app-manager-devel
+BuildRequires: capi-appfw-application
+BuildRequires: capi-appfw-application-devel
+BuildRequires: capi-appfw-component-manager
+BuildRequires: capi-appfw-component-manager-devel
+BuildRequires: capi-appfw-event
+BuildRequires: capi-appfw-event-devel
+BuildRequires: capi-appfw-job-scheduler
+BuildRequires: capi-appfw-job-scheduler-devel
+BuildRequires: capi-appfw-package-manager
+BuildRequires: capi-appfw-package-manager-devel
+BuildRequires: capi-appfw-preference
+BuildRequires: capi-appfw-preference-devel
+BuildRequires: capi-appfw-service-application-devel
+BuildRequires: capi-appfw-widget-application-devel
+BuildRequires: capi-base-common
+BuildRequires: capi-base-common-devel
+BuildRequires: capi-base-utils
+BuildRequires: capi-base-utils-devel
+BuildRequires: capi-content-media-content
+BuildRequires: capi-content-media-content-devel
+BuildRequires: capi-content-mime-type
+BuildRequires: capi-content-mime-type-devel
+BuildRequires: capi-context
+BuildRequires: capi-context-devel
+BuildRequires: capi-geofence-manager
+BuildRequires: capi-geofence-manager-devel
+BuildRequires: capi-location-manager
+BuildRequires: capi-location-manager-devel
+BuildRequires: capi-machine-learning-common
+BuildRequires: capi-machine-learning-common-devel
+BuildRequires: capi-machine-learning-inference
+BuildRequires: capi-machine-learning-inference-devel
+BuildRequires: capi-machine-learning-inference-single
+BuildRequires: capi-machine-learning-inference-single-devel
+BuildRequires: capi-machine-learning-service
+BuildRequires: capi-machine-learning-service-devel
+BuildRequires: capi-machine-learning-training
+BuildRequires: capi-machine-learning-training-devel
+BuildRequires: capi-maps-service
+BuildRequires: capi-maps-service-devel
+BuildRequires: capi-media-audio-io
+BuildRequires: capi-media-audio-io-devel
+BuildRequires: capi-media-camera
+BuildRequires: capi-media-camera-devel
+BuildRequires: capi-media-codec
+BuildRequires: capi-media-codec-devel
+BuildRequires: capi-media-controller
+BuildRequires: capi-media-controller-devel
+BuildRequires: capi-media-editor
+BuildRequires: capi-media-editor-devel
+BuildRequires: capi-media-image-util
+BuildRequires: capi-media-image-util-devel
+BuildRequires: capi-media-metadata-editor
+BuildRequires: capi-media-metadata-editor-devel
+BuildRequires: capi-media-metadata-extractor
+BuildRequires: capi-media-metadata-extractor-devel
+BuildRequires: capi-media-player
+BuildRequires: capi-media-player-devel
+BuildRequires: capi-media-radio
+BuildRequires: capi-media-radio-devel
+BuildRequires: capi-media-recorder
+BuildRequires: capi-media-recorder-devel
+BuildRequires: capi-media-screen-mirroring
+BuildRequires: capi-media-screen-mirroring-devel
+BuildRequires: capi-media-sound-manager
+BuildRequires: capi-media-sound-manager-devel
+BuildRequires: capi-media-sound-pool
+BuildRequires: capi-media-sound-pool-devel
+BuildRequires: capi-media-thumbnail-util
+BuildRequires: capi-media-thumbnail-util-devel
+BuildRequires: capi-media-tone-player
+BuildRequires: capi-media-tone-player-devel
+BuildRequires: capi-media-tool
+BuildRequires: capi-media-tool-devel
+BuildRequires: capi-media-vision
+BuildRequires: capi-media-vision-3d
+BuildRequires: capi-media-vision-3d-devel
+BuildRequires: capi-media-vision-barcode
+BuildRequires: capi-media-vision-barcode-devel
+BuildRequires: capi-media-vision-common
+BuildRequires: capi-media-vision-common-devel
+BuildRequires: capi-media-vision-devel
+BuildRequires: capi-media-vision-face
+BuildRequires: capi-media-vision-face-devel
+BuildRequires: capi-media-vision-image
+BuildRequires: capi-media-vision-image-devel
+BuildRequires: capi-media-vision-machine_learning
+BuildRequires: capi-media-vision-machine_learning-devel
+BuildRequires: capi-media-vision-roi_tracker
+BuildRequires: capi-media-vision-roi_tracker-devel
+BuildRequires: capi-media-vision-surveillance
+BuildRequires: capi-media-vision-surveillance-devel
+BuildRequires: capi-media-wav-player
+BuildRequires: capi-media-wav-player-devel
+BuildRequires: capi-media-webrtc
+BuildRequires: capi-media-webrtc-devel
+BuildRequires: capi-mediademuxer
+BuildRequires: capi-mediademuxer-devel
+BuildRequires: capi-mediamuxer
+BuildRequires: capi-mediamuxer-devel
+BuildRequires: capi-messaging-email
+BuildRequires: capi-messaging-email-devel
+BuildRequires: capi-messaging-messages
+BuildRequires: capi-messaging-messages-devel
+BuildRequires: capi-network-asp
+BuildRequires: capi-network-asp-devel
+BuildRequires: capi-network-bluetooth
+BuildRequires: capi-network-bluetooth-devel
+BuildRequires: capi-network-connection
+BuildRequires: capi-network-connection-devel
+BuildRequires: capi-network-http
+BuildRequires: capi-network-http-devel
+BuildRequires: capi-network-inm
+BuildRequires: capi-network-inm-devel
+BuildRequires: capi-network-mtp
+BuildRequires: capi-network-mtp-devel
+BuildRequires: capi-network-nfc
+BuildRequires: capi-network-nfc-devel
+BuildRequires: capi-network-nsd
+BuildRequires: capi-network-nsd-devel
+BuildRequires: capi-network-smartcard
+BuildRequires: capi-network-smartcard-devel
+BuildRequires: capi-network-softap
+BuildRequires: capi-network-softap-devel
+BuildRequires: capi-network-stc
+BuildRequires: capi-network-stc-devel
+BuildRequires: capi-network-tethering
+BuildRequires: capi-network-tethering-devel
+BuildRequires: capi-network-ua
+BuildRequires: capi-network-ua-devel
+BuildRequires: capi-network-wifi-aware
+BuildRequires: capi-network-wifi-aware-devel
+BuildRequires: capi-network-wifi-direct
+BuildRequires: capi-network-wifi-direct-devel
+BuildRequires: capi-network-wifi-manager
+BuildRequires: capi-network-wifi-manager-devel
+BuildRequires: capi-privacy-privilege-manager
+BuildRequires: capi-system-device
+BuildRequires: capi-system-device-devel
+BuildRequires: capi-system-info
+BuildRequires: capi-system-info-devel
+BuildRequires: capi-system-media-key
+BuildRequires: capi-system-media-key-devel
+BuildRequires: capi-system-peripheral-io
+BuildRequires: capi-system-peripheral-io-devel
+BuildRequires: capi-system-resource-monitor
+BuildRequires: capi-system-resource-monitor-devel
+BuildRequires: capi-system-runtime-info
+BuildRequires: capi-system-runtime-info-devel
+BuildRequires: capi-system-sensor
+BuildRequires: capi-system-sensor-devel
+BuildRequires: capi-system-system-settings
+BuildRequires: capi-system-system-settings-devel
+BuildRequires: capi-system-usbhost
+BuildRequires: capi-system-usbhost-devel
+BuildRequires: capi-telephony
+BuildRequires: capi-telephony-devel
+BuildRequires: capi-ui-autofill
+BuildRequires: capi-ui-autofill-common
+BuildRequires: capi-ui-autofill-common-devel
+BuildRequires: capi-ui-autofill-devel
+BuildRequires: capi-ui-autofill-manager
+BuildRequires: capi-ui-autofill-manager-devel
+BuildRequires: capi-ui-autofill-service
+BuildRequires: capi-ui-autofill-service-devel
+BuildRequires: capi-ui-efl-util
+BuildRequires: capi-ui-efl-util-devel
+BuildRequires: capi-ui-inputmethod
+BuildRequires: capi-ui-inputmethod-devel
+BuildRequires: capi-ui-inputmethod-manager
+BuildRequires: capi-ui-inputmethod-manager-devel
+BuildRequires: capi-ui-sticker
+BuildRequires: capi-ui-sticker-devel
+BuildRequires: capi-vpnsvc
+BuildRequires: capi-vpnsvc-devel
+BuildRequires: capi-web-url-download
+BuildRequires: capi-web-url-download-devel
+BuildRequires: chromium-efl
+BuildRequires: chromium-efl-devel
+BuildRequires: cion
+BuildRequires: cion-devel
+BuildRequires: component-based
+BuildRequires: component-based-application
+BuildRequires: component-based-application-devel
+BuildRequires: component-based-devel
+BuildRequires: contacts-service-devel
+BuildRequires: coregl
+BuildRequires: coregl-devel
+BuildRequires: csr-framework-devel
+BuildRequires: data-control
+BuildRequires: data-control-devel
+BuildRequires: dbus-devel
+BuildRequires: dbus-libs
+BuildRequires: device-certificate-manager
+BuildRequires: device-certificate-manager-devel
+BuildRequires: diagnostics
+BuildRequires: diagnostics-devel
+BuildRequires: ecore
+BuildRequires: ecore-buffer
+BuildRequires: ecore-buffer-devel
+BuildRequires: ecore-con
+BuildRequires: ecore-con-devel
+BuildRequires: ecore-core
+BuildRequires: ecore-core-devel
+BuildRequires: ecore-devel
+BuildRequires: ecore-evas
+BuildRequires: ecore-evas-devel
+BuildRequires: ecore-file
+BuildRequires: ecore-file-devel
+BuildRequires: ecore-imf
+BuildRequires: ecore-imf-devel
+BuildRequires: ecore-imf-evas
+BuildRequires: ecore-imf-evas-devel
+BuildRequires: ecore-input
+BuildRequires: ecore-input-devel
+BuildRequires: ecore-input-evas
+BuildRequires: ecore-input-evas-devel
+BuildRequires: ecore-ipc
+BuildRequires: ecore-ipc-devel
+BuildRequires: ecore-wl2
+BuildRequires: ecore-wl2-devel
+BuildRequires: ector
+BuildRequires: ector-devel
+BuildRequires: edje
+BuildRequires: edje-devel
+BuildRequires: eet
+BuildRequires: eet-devel
+BuildRequires: efl
+BuildRequires: efl-devel
+BuildRequires: efl-extension
+BuildRequires: efl-extension-devel
+BuildRequires: efreet
+BuildRequires: efreet-devel
+BuildRequires: eina
+BuildRequires: eina-devel
+BuildRequires: eio
+BuildRequires: eio-devel
+BuildRequires: elementary
+BuildRequires: elementary-devel
+BuildRequires: email-service
+BuildRequires: email-service-devel
+BuildRequires: embryo
+BuildRequires: embryo-devel
+BuildRequires: emile
+BuildRequires: emile-devel
+BuildRequires: eo
+BuildRequires: eo-devel
+BuildRequires: ethumb
+BuildRequires: ethumb-devel
+BuildRequires: evas
+BuildRequires: evas-devel
+BuildRequires: fido-client
+BuildRequires: fido-client-devel
+BuildRequires: fontconfig
+BuildRequires: fontconfig-devel
+BuildRequires: freetype2-devel
+BuildRequires: glib2-devel
+BuildRequires: glib2-devel-static
+BuildRequires: glibc
+BuildRequires: glibc-devel
+BuildRequires: glibc-devel-static
+BuildRequires: glibc-devel-utils
+BuildRequires: glibc-extra
+BuildRequires: glibc-locale
+BuildRequires: glibc-profile
+BuildRequires: harfbuzz-devel
+BuildRequires: iotcon
+BuildRequires: iotcon-devel
+BuildRequires: json-glib-devel
+BuildRequires: libaccount-service
+BuildRequires: libaccount-service-devel
+BuildRequires: libalarm
+BuildRequires: libalarm-devel
+BuildRequires: libasan
+BuildRequires: libaskuser-notification-common
+BuildRequires: libauth-fw-client
+BuildRequires: libauth-fw-client-admin
+BuildRequires: libauth-fw-client-devel
+BuildRequires: libcairo
+BuildRequires: libcairo-gobject
+BuildRequires: libcairo-script-interpreter
+BuildRequires: libcalendar-service
+BuildRequires: libcall-manager
+BuildRequires: libcall-manager-devel
+BuildRequires: libcontacts-service
+BuildRequires: libcore-sync-client
+BuildRequires: libcore-sync-client-devel
+BuildRequires: libcsr-framework-client
+BuildRequires: libcsr-framework-common
+BuildRequires: libcurl
+BuildRequires: libcurl-devel
+BuildRequires: libdlog
+BuildRequires: libdlog-devel
+BuildRequires: libdpm
+BuildRequires: libdpm-devel
+BuildRequires: libeom
+BuildRequires: libeom-devel
+BuildRequires: libexif
+BuildRequires: libexif-devel
+BuildRequires: libfeedback
+BuildRequires: libfeedback-devel
+BuildRequires: libfreetype
+BuildRequires: libgio
+BuildRequires: libglib
+BuildRequires: libgmodule
+BuildRequires: libgobject
+BuildRequires: libgthread
+BuildRequires: libharfbuzz
+BuildRequires: libicu
+BuildRequires: libicu-devel
+BuildRequires: libjson-glib
+BuildRequires: libkey-manager-client
+BuildRequires: libkey-manager-client-devel
+BuildRequires: libkey-manager-common
+BuildRequires: libnsd-dns-sd
+BuildRequires: libnsd-ssdp
+BuildRequires: liboauth
+BuildRequires: liboauth-devel
+BuildRequires: libode
+BuildRequires: libode-devel
+BuildRequires: libopenssl3
+BuildRequires: libopenssl3-devel
+BuildRequires: libpush
+BuildRequires: libpush-devel
+BuildRequires: librua
+BuildRequires: librua-devel
+BuildRequires: libshortcut
+BuildRequires: libshortcut-devel
+BuildRequires: libsqlite
+BuildRequires: libstorage
+BuildRequires: libstorage-devel
+BuildRequires: libtapi
+BuildRequires: libtapi-devel
+BuildRequires: libtbm
+BuildRequires: libtbm-devel
+BuildRequires: libwebauthn-client
+BuildRequires: libwebauthn-client-devel
+BuildRequires: libwebauthn-common
+BuildRequires: libwidget_service
+BuildRequires: libwidget_service-devel
+BuildRequires: libwidget_viewer_evas
+BuildRequires: libwidget_viewer_evas-devel
+BuildRequires: libxcrypt
+BuildRequires: libxcrypt-devel
+BuildRequires: libxml2
+BuildRequires: libxml2-devel
+BuildRequires: linux-glibc-devel
+BuildRequires: message-port
+BuildRequires: message-port-devel
+BuildRequires: minicontrol
+BuildRequires: minicontrol-devel
+BuildRequires: minizip
+BuildRequires: minizip-devel
+BuildRequires: mmi
+BuildRequires: mmi-cli
+BuildRequires: mmi-devel
+BuildRequires: mmi-plugins
+BuildRequires: msg-service
+BuildRequires: msg-service-devel
+BuildRequires: multi-assistant
+BuildRequires: multi-assistant-devel
+BuildRequires: notification
+BuildRequires: notification-devel
+BuildRequires: notification-ex
+BuildRequires: notification-ex-devel
+BuildRequires: oauth2
+BuildRequires: oauth2-devel
+BuildRequires: openal-soft
+BuildRequires: openal-soft-devel
+BuildRequires: openssl3
+BuildRequires: phonenumber-utils
+BuildRequires: phonenumber-utils-devel
+BuildRequires: pkgmgr-client
+BuildRequires: pkgmgr-client-devel
+BuildRequires: pkgmgr-installer
+BuildRequires: pkgmgr-installer-devel
+BuildRequires: privilege-info
+BuildRequires: privilege-info-devel
+BuildRequires: rpc-port
+BuildRequires: rpc-port-devel
+BuildRequires: sqlite
+BuildRequires: sqlite-devel
+BuildRequires: stt
+BuildRequires: stt-devel
+BuildRequires: stt-engine-devel
+BuildRequires: syspopup-caller
+BuildRequires: syspopup-caller-devel
+BuildRequires: tef-libteec
+BuildRequires: tef-libteec-devel
+BuildRequires: tizen-core
+BuildRequires: tizen-core-devel
+BuildRequires: ttrace
+BuildRequires: ttrace-devel
+BuildRequires: tts
+BuildRequires: tts-devel
+BuildRequires: tts-engine-devel
+BuildRequires: tzsh
+BuildRequires: tzsh-devel
+BuildRequires: ui-gadget-1
+BuildRequires: ui-gadget-1-devel
+BuildRequires: update-control
+BuildRequires: update-control-devel
+BuildRequires: vconf-compat
+BuildRequires: vconf-compat-devel
+BuildRequires: vconf-internal-keys
+BuildRequires: vconf-internal-keys-devel
+BuildRequires: voice-control
+BuildRequires: voice-control-devel
+BuildRequires: voice-control-elm
+BuildRequires: voice-control-elm-devel
+BuildRequires: voice-control-engine-devel
+BuildRequires: voice-control-manager-devel
+BuildRequires: voice-control-setting-devel
+BuildRequires: voice-control-widget-devel
+BuildRequires: vulkan-headers
+BuildRequires: vulkan-loader
+BuildRequires: vulkan-loader-devel
+BuildRequires: yaca
+BuildRequires: yaca-devel
+BuildRequires: zlib
+BuildRequires: zlib-devel
--- /dev/null
+
+BuildRequires: SDL2
+BuildRequires: SDL2-devel
+BuildRequires: app-core-common
+BuildRequires: app-core-common-devel
+BuildRequires: appcore-agent
+BuildRequires: appcore-widget
+BuildRequires: askuser-notification-client
+BuildRequires: askuser-notification-devel
+BuildRequires: attach-panel
+BuildRequires: attach-panel-devel
+BuildRequires: aul
+BuildRequires: aul-devel
+BuildRequires: aul-rsc-mgr
+BuildRequires: aul-rsc-mgr-devel
+BuildRequires: auth-fw
+BuildRequires: badge
+BuildRequires: badge-devel
+BuildRequires: bundle
+BuildRequires: bundle-devel
+BuildRequires: cairo-devel
+BuildRequires: calendar-service-devel
+BuildRequires: capi-appfw-alarm
+BuildRequires: capi-appfw-alarm-devel
+BuildRequires: capi-appfw-app-common
+BuildRequires: capi-appfw-app-common-devel
+BuildRequires: capi-appfw-app-control
+BuildRequires: capi-appfw-app-control-devel
+BuildRequires: capi-appfw-app-manager
+BuildRequires: capi-appfw-app-manager-devel
+BuildRequires: capi-appfw-application
+BuildRequires: capi-appfw-application-devel
+BuildRequires: capi-appfw-component-manager
+BuildRequires: capi-appfw-component-manager-devel
+BuildRequires: capi-appfw-event
+BuildRequires: capi-appfw-event-devel
+BuildRequires: capi-appfw-job-scheduler
+BuildRequires: capi-appfw-job-scheduler-devel
+BuildRequires: capi-appfw-package-manager
+BuildRequires: capi-appfw-package-manager-devel
+BuildRequires: capi-appfw-preference
+BuildRequires: capi-appfw-preference-devel
+BuildRequires: capi-appfw-service-application-devel
+BuildRequires: capi-appfw-widget-application-devel
+BuildRequires: capi-base-common
+BuildRequires: capi-base-common-devel
+BuildRequires: capi-base-utils
+BuildRequires: capi-base-utils-devel
+BuildRequires: capi-content-media-content
+BuildRequires: capi-content-media-content-devel
+BuildRequires: capi-content-mime-type
+BuildRequires: capi-content-mime-type-devel
+BuildRequires: capi-context
+BuildRequires: capi-context-devel
+BuildRequires: capi-geofence-manager
+BuildRequires: capi-geofence-manager-devel
+BuildRequires: capi-location-manager
+BuildRequires: capi-location-manager-devel
+BuildRequires: capi-machine-learning-common
+BuildRequires: capi-machine-learning-common-devel
+BuildRequires: capi-machine-learning-inference
+BuildRequires: capi-machine-learning-inference-devel
+BuildRequires: capi-machine-learning-inference-single
+BuildRequires: capi-machine-learning-inference-single-devel
+BuildRequires: capi-machine-learning-service
+BuildRequires: capi-machine-learning-service-devel
+BuildRequires: capi-machine-learning-training
+BuildRequires: capi-machine-learning-training-devel
+BuildRequires: capi-maps-service
+BuildRequires: capi-maps-service-devel
+BuildRequires: capi-media-audio-io
+BuildRequires: capi-media-audio-io-devel
+BuildRequires: capi-media-camera
+BuildRequires: capi-media-camera-devel
+BuildRequires: capi-media-codec
+BuildRequires: capi-media-codec-devel
+BuildRequires: capi-media-controller
+BuildRequires: capi-media-controller-devel
+BuildRequires: capi-media-editor
+BuildRequires: capi-media-editor-devel
+BuildRequires: capi-media-image-util
+BuildRequires: capi-media-image-util-devel
+BuildRequires: capi-media-metadata-editor
+BuildRequires: capi-media-metadata-editor-devel
+BuildRequires: capi-media-metadata-extractor
+BuildRequires: capi-media-metadata-extractor-devel
+BuildRequires: capi-media-player
+BuildRequires: capi-media-player-devel
+BuildRequires: capi-media-radio
+BuildRequires: capi-media-radio-devel
+BuildRequires: capi-media-recorder
+BuildRequires: capi-media-recorder-devel
+BuildRequires: capi-media-screen-mirroring
+BuildRequires: capi-media-screen-mirroring-devel
+BuildRequires: capi-media-sound-manager
+BuildRequires: capi-media-sound-manager-devel
+BuildRequires: capi-media-sound-pool
+BuildRequires: capi-media-sound-pool-devel
+BuildRequires: capi-media-thumbnail-util
+BuildRequires: capi-media-thumbnail-util-devel
+BuildRequires: capi-media-tone-player
+BuildRequires: capi-media-tone-player-devel
+BuildRequires: capi-media-tool
+BuildRequires: capi-media-tool-devel
+BuildRequires: capi-media-vision
+BuildRequires: capi-media-vision-3d
+BuildRequires: capi-media-vision-3d-devel
+BuildRequires: capi-media-vision-barcode
+BuildRequires: capi-media-vision-barcode-devel
+BuildRequires: capi-media-vision-common
+BuildRequires: capi-media-vision-common-devel
+BuildRequires: capi-media-vision-devel
+BuildRequires: capi-media-vision-face
+BuildRequires: capi-media-vision-face-devel
+BuildRequires: capi-media-vision-image
+BuildRequires: capi-media-vision-image-devel
+BuildRequires: capi-media-vision-machine_learning
+BuildRequires: capi-media-vision-machine_learning-devel
+BuildRequires: capi-media-vision-roi_tracker
+BuildRequires: capi-media-vision-roi_tracker-devel
+BuildRequires: capi-media-vision-surveillance
+BuildRequires: capi-media-vision-surveillance-devel
+BuildRequires: capi-media-wav-player
+BuildRequires: capi-media-wav-player-devel
+BuildRequires: capi-media-webrtc
+BuildRequires: capi-media-webrtc-devel
+BuildRequires: capi-mediademuxer
+BuildRequires: capi-mediademuxer-devel
+BuildRequires: capi-mediamuxer
+BuildRequires: capi-mediamuxer-devel
+BuildRequires: capi-messaging-email
+BuildRequires: capi-messaging-email-devel
+BuildRequires: capi-messaging-messages
+BuildRequires: capi-messaging-messages-devel
+BuildRequires: capi-network-asp
+BuildRequires: capi-network-asp-devel
+BuildRequires: capi-network-bluetooth
+BuildRequires: capi-network-bluetooth-devel
+BuildRequires: capi-network-connection
+BuildRequires: capi-network-connection-devel
+BuildRequires: capi-network-http
+BuildRequires: capi-network-http-devel
+BuildRequires: capi-network-inm
+BuildRequires: capi-network-inm-devel
+BuildRequires: capi-network-mtp
+BuildRequires: capi-network-mtp-devel
+BuildRequires: capi-network-nfc
+BuildRequires: capi-network-nfc-devel
+BuildRequires: capi-network-nsd
+BuildRequires: capi-network-nsd-devel
+BuildRequires: capi-network-smartcard
+BuildRequires: capi-network-smartcard-devel
+BuildRequires: capi-network-softap
+BuildRequires: capi-network-softap-devel
+BuildRequires: capi-network-stc
+BuildRequires: capi-network-stc-devel
+BuildRequires: capi-network-tethering
+BuildRequires: capi-network-tethering-devel
+BuildRequires: capi-network-ua
+BuildRequires: capi-network-ua-devel
+BuildRequires: capi-network-wifi-aware
+BuildRequires: capi-network-wifi-aware-devel
+BuildRequires: capi-network-wifi-direct
+BuildRequires: capi-network-wifi-direct-devel
+BuildRequires: capi-network-wifi-manager
+BuildRequires: capi-network-wifi-manager-devel
+BuildRequires: capi-privacy-privilege-manager
+BuildRequires: capi-system-device
+BuildRequires: capi-system-device-devel
+BuildRequires: capi-system-info
+BuildRequires: capi-system-info-devel
+BuildRequires: capi-system-media-key
+BuildRequires: capi-system-media-key-devel
+BuildRequires: capi-system-peripheral-io
+BuildRequires: capi-system-peripheral-io-devel
+BuildRequires: capi-system-resource-monitor
+BuildRequires: capi-system-resource-monitor-devel
+BuildRequires: capi-system-runtime-info
+BuildRequires: capi-system-runtime-info-devel
+BuildRequires: capi-system-sensor
+BuildRequires: capi-system-sensor-devel
+BuildRequires: capi-system-system-settings
+BuildRequires: capi-system-system-settings-devel
+BuildRequires: capi-system-usbhost
+BuildRequires: capi-system-usbhost-devel
+BuildRequires: capi-telephony
+BuildRequires: capi-telephony-devel
+BuildRequires: capi-ui-autofill
+BuildRequires: capi-ui-autofill-common
+BuildRequires: capi-ui-autofill-common-devel
+BuildRequires: capi-ui-autofill-devel
+BuildRequires: capi-ui-autofill-manager
+BuildRequires: capi-ui-autofill-manager-devel
+BuildRequires: capi-ui-autofill-service
+BuildRequires: capi-ui-autofill-service-devel
+BuildRequires: capi-ui-efl-util
+BuildRequires: capi-ui-efl-util-devel
+BuildRequires: capi-ui-inputmethod
+BuildRequires: capi-ui-inputmethod-devel
+BuildRequires: capi-ui-inputmethod-manager
+BuildRequires: capi-ui-inputmethod-manager-devel
+BuildRequires: capi-ui-sticker
+BuildRequires: capi-ui-sticker-devel
+BuildRequires: capi-vpnsvc
+BuildRequires: capi-vpnsvc-devel
+BuildRequires: capi-web-url-download
+BuildRequires: capi-web-url-download-devel
+BuildRequires: chromium-efl
+BuildRequires: chromium-efl-devel
+BuildRequires: cion
+BuildRequires: cion-devel
+BuildRequires: component-based
+BuildRequires: component-based-application
+BuildRequires: component-based-application-devel
+BuildRequires: component-based-devel
+BuildRequires: contacts-service-devel
+BuildRequires: coregl
+BuildRequires: coregl-devel
+BuildRequires: csr-framework-devel
+BuildRequires: data-control
+BuildRequires: data-control-devel
+BuildRequires: dbus-devel
+BuildRequires: dbus-libs
+BuildRequires: device-certificate-manager
+BuildRequires: device-certificate-manager-devel
+BuildRequires: diagnostics
+BuildRequires: diagnostics-devel
+BuildRequires: ecore
+BuildRequires: ecore-buffer
+BuildRequires: ecore-buffer-devel
+BuildRequires: ecore-con
+BuildRequires: ecore-con-devel
+BuildRequires: ecore-core
+BuildRequires: ecore-core-devel
+BuildRequires: ecore-devel
+BuildRequires: ecore-evas
+BuildRequires: ecore-evas-devel
+BuildRequires: ecore-file
+BuildRequires: ecore-file-devel
+BuildRequires: ecore-imf
+BuildRequires: ecore-imf-devel
+BuildRequires: ecore-imf-evas
+BuildRequires: ecore-imf-evas-devel
+BuildRequires: ecore-input
+BuildRequires: ecore-input-devel
+BuildRequires: ecore-input-evas
+BuildRequires: ecore-input-evas-devel
+BuildRequires: ecore-ipc
+BuildRequires: ecore-ipc-devel
+BuildRequires: ecore-wl2
+BuildRequires: ecore-wl2-devel
+BuildRequires: ector
+BuildRequires: ector-devel
+BuildRequires: edje
+BuildRequires: edje-devel
+BuildRequires: eet
+BuildRequires: eet-devel
+BuildRequires: efl
+BuildRequires: efl-devel
+BuildRequires: efl-extension
+BuildRequires: efl-extension-devel
+BuildRequires: efreet
+BuildRequires: efreet-devel
+BuildRequires: eina
+BuildRequires: eina-devel
+BuildRequires: eio
+BuildRequires: eio-devel
+BuildRequires: elementary
+BuildRequires: elementary-devel
+BuildRequires: email-service
+BuildRequires: email-service-devel
+BuildRequires: embryo
+BuildRequires: embryo-devel
+BuildRequires: emile
+BuildRequires: emile-devel
+BuildRequires: eo
+BuildRequires: eo-devel
+BuildRequires: ethumb
+BuildRequires: ethumb-devel
+BuildRequires: evas
+BuildRequires: evas-devel
+BuildRequires: fido-client
+BuildRequires: fido-client-devel
+BuildRequires: fontconfig
+BuildRequires: fontconfig-devel
+BuildRequires: freetype2-devel
+BuildRequires: glib2-devel
+BuildRequires: glib2-devel-static
+BuildRequires: glibc
+BuildRequires: glibc-devel
+BuildRequires: glibc-devel-static
+BuildRequires: glibc-devel-utils
+BuildRequires: glibc-extra
+BuildRequires: glibc-locale
+BuildRequires: glibc-profile
+BuildRequires: harfbuzz-devel
+BuildRequires: iotcon
+BuildRequires: iotcon-devel
+BuildRequires: json-glib-devel
+BuildRequires: libaccount-service
+BuildRequires: libaccount-service-devel
+BuildRequires: libalarm
+BuildRequires: libalarm-devel
+BuildRequires: libasan
+BuildRequires: libaskuser-notification-common
+BuildRequires: libauth-fw-client
+BuildRequires: libauth-fw-client-admin
+BuildRequires: libauth-fw-client-devel
+BuildRequires: libcairo
+BuildRequires: libcairo-gobject
+BuildRequires: libcairo-script-interpreter
+BuildRequires: libcalendar-service
+BuildRequires: libcall-manager
+BuildRequires: libcall-manager-devel
+BuildRequires: libcontacts-service
+BuildRequires: libcore-sync-client
+BuildRequires: libcore-sync-client-devel
+BuildRequires: libcsr-framework-client
+BuildRequires: libcsr-framework-common
+BuildRequires: libcurl
+BuildRequires: libcurl-devel
+BuildRequires: libdlog
+BuildRequires: libdlog-devel
+BuildRequires: libdpm
+BuildRequires: libdpm-devel
+BuildRequires: libeom
+BuildRequires: libeom-devel
+BuildRequires: libexif
+BuildRequires: libexif-devel
+BuildRequires: libfeedback
+BuildRequires: libfeedback-devel
+BuildRequires: libfreetype
+BuildRequires: libgio
+BuildRequires: libglib
+BuildRequires: libgmodule
+BuildRequires: libgobject
+BuildRequires: libgthread
+BuildRequires: libharfbuzz
+BuildRequires: libicu
+BuildRequires: libicu-devel
+BuildRequires: libjson-glib
+BuildRequires: libkey-manager-client
+BuildRequires: libkey-manager-client-devel
+BuildRequires: libkey-manager-common
+BuildRequires: libnsd-dns-sd
+BuildRequires: libnsd-ssdp
+BuildRequires: liboauth
+BuildRequires: liboauth-devel
+BuildRequires: libode
+BuildRequires: libode-devel
+BuildRequires: libopenssl3
+BuildRequires: libopenssl3-devel
+BuildRequires: libpush
+BuildRequires: libpush-devel
+BuildRequires: librua
+BuildRequires: librua-devel
+BuildRequires: libshortcut
+BuildRequires: libshortcut-devel
+BuildRequires: libsqlite
+BuildRequires: libstorage
+BuildRequires: libstorage-devel
+BuildRequires: libtapi
+BuildRequires: libtapi-devel
+BuildRequires: libtbm
+BuildRequires: libtbm-devel
+BuildRequires: libwebauthn-client
+BuildRequires: libwebauthn-client-devel
+BuildRequires: libwebauthn-common
+BuildRequires: libwidget_service
+BuildRequires: libwidget_service-devel
+BuildRequires: libwidget_viewer_evas
+BuildRequires: libwidget_viewer_evas-devel
+BuildRequires: libxcrypt
+BuildRequires: libxcrypt-devel
+BuildRequires: libxml2
+BuildRequires: libxml2-devel
+BuildRequires: linux-glibc-devel
+BuildRequires: message-port
+BuildRequires: message-port-devel
+BuildRequires: minicontrol
+BuildRequires: minicontrol-devel
+BuildRequires: minizip
+BuildRequires: minizip-devel
+BuildRequires: mmi
+BuildRequires: mmi-cli
+BuildRequires: mmi-devel
+BuildRequires: mmi-plugins
+BuildRequires: msg-service
+BuildRequires: msg-service-devel
+BuildRequires: multi-assistant
+BuildRequires: multi-assistant-devel
+BuildRequires: notification
+BuildRequires: notification-devel
+BuildRequires: notification-ex
+BuildRequires: notification-ex-devel
+BuildRequires: oauth2
+BuildRequires: oauth2-devel
+BuildRequires: openal-soft
+BuildRequires: openal-soft-devel
+BuildRequires: openssl3
+BuildRequires: phonenumber-utils
+BuildRequires: phonenumber-utils-devel
+BuildRequires: pkgmgr-client
+BuildRequires: pkgmgr-client-devel
+BuildRequires: pkgmgr-installer
+BuildRequires: pkgmgr-installer-devel
+BuildRequires: privilege-info
+BuildRequires: privilege-info-devel
+BuildRequires: rpc-port
+BuildRequires: rpc-port-devel
+BuildRequires: sqlite
+BuildRequires: sqlite-devel
+BuildRequires: stt
+BuildRequires: stt-devel
+BuildRequires: stt-engine-devel
+BuildRequires: syspopup-caller
+BuildRequires: syspopup-caller-devel
+BuildRequires: tef-libteec
+BuildRequires: tef-libteec-devel
+BuildRequires: tizen-core
+BuildRequires: tizen-core-devel
+BuildRequires: ttrace
+BuildRequires: ttrace-devel
+BuildRequires: tts
+BuildRequires: tts-devel
+BuildRequires: tts-engine-devel
+BuildRequires: tzsh
+BuildRequires: tzsh-devel
+BuildRequires: ui-gadget-1
+BuildRequires: ui-gadget-1-devel
+BuildRequires: update-control
+BuildRequires: update-control-devel
+BuildRequires: vconf-compat
+BuildRequires: vconf-compat-devel
+BuildRequires: vconf-internal-keys
+BuildRequires: vconf-internal-keys-devel
+BuildRequires: voice-control
+BuildRequires: voice-control-devel
+BuildRequires: voice-control-elm
+BuildRequires: voice-control-elm-devel
+BuildRequires: voice-control-engine-devel
+BuildRequires: voice-control-manager-devel
+BuildRequires: voice-control-setting-devel
+BuildRequires: voice-control-widget-devel
+BuildRequires: vulkan-headers
+BuildRequires: vulkan-loader
+BuildRequires: vulkan-loader-devel
+BuildRequires: yaca
+BuildRequires: yaca-devel
+BuildRequires: zlib
+BuildRequires: zlib-devel
--- /dev/null
+
+BuildRequires: SDL2
+BuildRequires: SDL2-devel
+BuildRequires: app-core-common
+BuildRequires: app-core-common-devel
+BuildRequires: appcore-agent
+BuildRequires: appcore-widget
+BuildRequires: askuser-notification-client
+BuildRequires: askuser-notification-devel
+BuildRequires: attach-panel
+BuildRequires: attach-panel-devel
+BuildRequires: aul
+BuildRequires: aul-devel
+BuildRequires: aul-rsc-mgr
+BuildRequires: aul-rsc-mgr-devel
+BuildRequires: auth-fw
+BuildRequires: badge
+BuildRequires: badge-devel
+BuildRequires: bundle
+BuildRequires: bundle-devel
+BuildRequires: cairo-devel
+BuildRequires: calendar-service-devel
+BuildRequires: capi-appfw-alarm
+BuildRequires: capi-appfw-alarm-devel
+BuildRequires: capi-appfw-app-common
+BuildRequires: capi-appfw-app-common-devel
+BuildRequires: capi-appfw-app-control
+BuildRequires: capi-appfw-app-control-devel
+BuildRequires: capi-appfw-app-manager
+BuildRequires: capi-appfw-app-manager-devel
+BuildRequires: capi-appfw-application
+BuildRequires: capi-appfw-application-devel
+BuildRequires: capi-appfw-component-manager
+BuildRequires: capi-appfw-component-manager-devel
+BuildRequires: capi-appfw-event
+BuildRequires: capi-appfw-event-devel
+BuildRequires: capi-appfw-job-scheduler
+BuildRequires: capi-appfw-job-scheduler-devel
+BuildRequires: capi-appfw-package-manager
+BuildRequires: capi-appfw-package-manager-devel
+BuildRequires: capi-appfw-preference
+BuildRequires: capi-appfw-preference-devel
+BuildRequires: capi-appfw-service-application-devel
+BuildRequires: capi-appfw-widget-application-devel
+BuildRequires: capi-base-common
+BuildRequires: capi-base-common-devel
+BuildRequires: capi-base-utils
+BuildRequires: capi-base-utils-devel
+BuildRequires: capi-content-media-content
+BuildRequires: capi-content-media-content-devel
+BuildRequires: capi-content-mime-type
+BuildRequires: capi-content-mime-type-devel
+BuildRequires: capi-context
+BuildRequires: capi-context-devel
+BuildRequires: capi-geofence-manager
+BuildRequires: capi-geofence-manager-devel
+BuildRequires: capi-location-manager
+BuildRequires: capi-location-manager-devel
+BuildRequires: capi-machine-learning-common
+BuildRequires: capi-machine-learning-common-devel
+BuildRequires: capi-machine-learning-inference
+BuildRequires: capi-machine-learning-inference-devel
+BuildRequires: capi-machine-learning-inference-single
+BuildRequires: capi-machine-learning-inference-single-devel
+BuildRequires: capi-machine-learning-service
+BuildRequires: capi-machine-learning-service-devel
+BuildRequires: capi-machine-learning-training
+BuildRequires: capi-machine-learning-training-devel
+BuildRequires: capi-maps-service
+BuildRequires: capi-maps-service-devel
+BuildRequires: capi-media-audio-io
+BuildRequires: capi-media-audio-io-devel
+BuildRequires: capi-media-camera
+BuildRequires: capi-media-camera-devel
+BuildRequires: capi-media-codec
+BuildRequires: capi-media-codec-devel
+BuildRequires: capi-media-controller
+BuildRequires: capi-media-controller-devel
+BuildRequires: capi-media-editor
+BuildRequires: capi-media-editor-devel
+BuildRequires: capi-media-image-util
+BuildRequires: capi-media-image-util-devel
+BuildRequires: capi-media-metadata-editor
+BuildRequires: capi-media-metadata-editor-devel
+BuildRequires: capi-media-metadata-extractor
+BuildRequires: capi-media-metadata-extractor-devel
+BuildRequires: capi-media-player
+BuildRequires: capi-media-player-devel
+BuildRequires: capi-media-radio
+BuildRequires: capi-media-radio-devel
+BuildRequires: capi-media-recorder
+BuildRequires: capi-media-recorder-devel
+BuildRequires: capi-media-screen-mirroring
+BuildRequires: capi-media-screen-mirroring-devel
+BuildRequires: capi-media-sound-manager
+BuildRequires: capi-media-sound-manager-devel
+BuildRequires: capi-media-sound-pool
+BuildRequires: capi-media-sound-pool-devel
+BuildRequires: capi-media-thumbnail-util
+BuildRequires: capi-media-thumbnail-util-devel
+BuildRequires: capi-media-tone-player
+BuildRequires: capi-media-tone-player-devel
+BuildRequires: capi-media-tool
+BuildRequires: capi-media-tool-devel
+BuildRequires: capi-media-vision
+BuildRequires: capi-media-vision-3d
+BuildRequires: capi-media-vision-3d-devel
+BuildRequires: capi-media-vision-barcode
+BuildRequires: capi-media-vision-barcode-devel
+BuildRequires: capi-media-vision-common
+BuildRequires: capi-media-vision-common-devel
+BuildRequires: capi-media-vision-devel
+BuildRequires: capi-media-vision-face
+BuildRequires: capi-media-vision-face-devel
+BuildRequires: capi-media-vision-image
+BuildRequires: capi-media-vision-image-devel
+BuildRequires: capi-media-vision-machine_learning
+BuildRequires: capi-media-vision-machine_learning-devel
+BuildRequires: capi-media-vision-roi_tracker
+BuildRequires: capi-media-vision-roi_tracker-devel
+BuildRequires: capi-media-vision-surveillance
+BuildRequires: capi-media-vision-surveillance-devel
+BuildRequires: capi-media-wav-player
+BuildRequires: capi-media-wav-player-devel
+BuildRequires: capi-media-webrtc
+BuildRequires: capi-media-webrtc-devel
+BuildRequires: capi-mediademuxer
+BuildRequires: capi-mediademuxer-devel
+BuildRequires: capi-mediamuxer
+BuildRequires: capi-mediamuxer-devel
+BuildRequires: capi-messaging-email
+BuildRequires: capi-messaging-email-devel
+BuildRequires: capi-messaging-messages
+BuildRequires: capi-messaging-messages-devel
+BuildRequires: capi-network-asp
+BuildRequires: capi-network-asp-devel
+BuildRequires: capi-network-bluetooth
+BuildRequires: capi-network-bluetooth-devel
+BuildRequires: capi-network-connection
+BuildRequires: capi-network-connection-devel
+BuildRequires: capi-network-http
+BuildRequires: capi-network-http-devel
+BuildRequires: capi-network-inm
+BuildRequires: capi-network-inm-devel
+BuildRequires: capi-network-mtp
+BuildRequires: capi-network-mtp-devel
+BuildRequires: capi-network-nfc
+BuildRequires: capi-network-nfc-devel
+BuildRequires: capi-network-nsd
+BuildRequires: capi-network-nsd-devel
+BuildRequires: capi-network-smartcard
+BuildRequires: capi-network-smartcard-devel
+BuildRequires: capi-network-softap
+BuildRequires: capi-network-softap-devel
+BuildRequires: capi-network-stc
+BuildRequires: capi-network-stc-devel
+BuildRequires: capi-network-tethering
+BuildRequires: capi-network-tethering-devel
+BuildRequires: capi-network-ua
+BuildRequires: capi-network-ua-devel
+BuildRequires: capi-network-wifi-aware
+BuildRequires: capi-network-wifi-aware-devel
+BuildRequires: capi-network-wifi-direct
+BuildRequires: capi-network-wifi-direct-devel
+BuildRequires: capi-network-wifi-manager
+BuildRequires: capi-network-wifi-manager-devel
+BuildRequires: capi-privacy-privilege-manager
+BuildRequires: capi-system-device
+BuildRequires: capi-system-device-devel
+BuildRequires: capi-system-info
+BuildRequires: capi-system-info-devel
+BuildRequires: capi-system-media-key
+BuildRequires: capi-system-media-key-devel
+BuildRequires: capi-system-peripheral-io
+BuildRequires: capi-system-peripheral-io-devel
+BuildRequires: capi-system-resource-monitor
+BuildRequires: capi-system-resource-monitor-devel
+BuildRequires: capi-system-runtime-info
+BuildRequires: capi-system-runtime-info-devel
+BuildRequires: capi-system-sensor
+BuildRequires: capi-system-sensor-devel
+BuildRequires: capi-system-system-settings
+BuildRequires: capi-system-system-settings-devel
+BuildRequires: capi-system-usbhost
+BuildRequires: capi-system-usbhost-devel
+BuildRequires: capi-telephony
+BuildRequires: capi-telephony-devel
+BuildRequires: capi-ui-autofill
+BuildRequires: capi-ui-autofill-common
+BuildRequires: capi-ui-autofill-common-devel
+BuildRequires: capi-ui-autofill-devel
+BuildRequires: capi-ui-autofill-manager
+BuildRequires: capi-ui-autofill-manager-devel
+BuildRequires: capi-ui-autofill-service
+BuildRequires: capi-ui-autofill-service-devel
+BuildRequires: capi-ui-efl-util
+BuildRequires: capi-ui-efl-util-devel
+BuildRequires: capi-ui-inputmethod
+BuildRequires: capi-ui-inputmethod-devel
+BuildRequires: capi-ui-inputmethod-manager
+BuildRequires: capi-ui-inputmethod-manager-devel
+BuildRequires: capi-ui-sticker
+BuildRequires: capi-ui-sticker-devel
+BuildRequires: capi-vpnsvc
+BuildRequires: capi-vpnsvc-devel
+BuildRequires: capi-web-url-download
+BuildRequires: capi-web-url-download-devel
+BuildRequires: chromium-efl
+BuildRequires: chromium-efl-devel
+BuildRequires: cion
+BuildRequires: cion-devel
+BuildRequires: component-based
+BuildRequires: component-based-application
+BuildRequires: component-based-application-devel
+BuildRequires: component-based-devel
+BuildRequires: contacts-service-devel
+BuildRequires: coregl
+BuildRequires: coregl-devel
+BuildRequires: csr-framework-devel
+BuildRequires: data-control
+BuildRequires: data-control-devel
+BuildRequires: dbus-devel
+BuildRequires: dbus-libs
+BuildRequires: device-certificate-manager
+BuildRequires: device-certificate-manager-devel
+BuildRequires: diagnostics
+BuildRequires: diagnostics-devel
+BuildRequires: ecore
+BuildRequires: ecore-buffer
+BuildRequires: ecore-buffer-devel
+BuildRequires: ecore-con
+BuildRequires: ecore-con-devel
+BuildRequires: ecore-core
+BuildRequires: ecore-core-devel
+BuildRequires: ecore-devel
+BuildRequires: ecore-evas
+BuildRequires: ecore-evas-devel
+BuildRequires: ecore-file
+BuildRequires: ecore-file-devel
+BuildRequires: ecore-imf
+BuildRequires: ecore-imf-devel
+BuildRequires: ecore-imf-evas
+BuildRequires: ecore-imf-evas-devel
+BuildRequires: ecore-input
+BuildRequires: ecore-input-devel
+BuildRequires: ecore-input-evas
+BuildRequires: ecore-input-evas-devel
+BuildRequires: ecore-ipc
+BuildRequires: ecore-ipc-devel
+BuildRequires: ecore-wl2
+BuildRequires: ecore-wl2-devel
+BuildRequires: ector
+BuildRequires: ector-devel
+BuildRequires: edje
+BuildRequires: edje-devel
+BuildRequires: eet
+BuildRequires: eet-devel
+BuildRequires: efl
+BuildRequires: efl-devel
+BuildRequires: efl-extension
+BuildRequires: efl-extension-devel
+BuildRequires: efreet
+BuildRequires: efreet-devel
+BuildRequires: eina
+BuildRequires: eina-devel
+BuildRequires: eio
+BuildRequires: eio-devel
+BuildRequires: elementary
+BuildRequires: elementary-devel
+BuildRequires: email-service
+BuildRequires: email-service-devel
+BuildRequires: embryo
+BuildRequires: embryo-devel
+BuildRequires: emile
+BuildRequires: emile-devel
+BuildRequires: eo
+BuildRequires: eo-devel
+BuildRequires: ethumb
+BuildRequires: ethumb-devel
+BuildRequires: evas
+BuildRequires: evas-devel
+BuildRequires: fido-client
+BuildRequires: fido-client-devel
+BuildRequires: fontconfig
+BuildRequires: fontconfig-devel
+BuildRequires: freetype2-devel
+BuildRequires: glib2-devel
+BuildRequires: glib2-devel-static
+BuildRequires: glibc
+BuildRequires: glibc-devel
+BuildRequires: glibc-devel-static
+BuildRequires: glibc-devel-utils
+BuildRequires: glibc-extra
+BuildRequires: glibc-locale
+BuildRequires: glibc-profile
+BuildRequires: harfbuzz-devel
+BuildRequires: iotcon
+BuildRequires: iotcon-devel
+BuildRequires: json-glib-devel
+BuildRequires: libaccount-service
+BuildRequires: libaccount-service-devel
+BuildRequires: libalarm
+BuildRequires: libalarm-devel
+BuildRequires: libasan
+BuildRequires: libaskuser-notification-common
+BuildRequires: libauth-fw-client
+BuildRequires: libauth-fw-client-admin
+BuildRequires: libauth-fw-client-devel
+BuildRequires: libcairo
+BuildRequires: libcairo-gobject
+BuildRequires: libcairo-script-interpreter
+BuildRequires: libcalendar-service
+BuildRequires: libcall-manager
+BuildRequires: libcall-manager-devel
+BuildRequires: libcontacts-service
+BuildRequires: libcore-sync-client
+BuildRequires: libcore-sync-client-devel
+BuildRequires: libcsr-framework-client
+BuildRequires: libcsr-framework-common
+BuildRequires: libcurl
+BuildRequires: libcurl-devel
+BuildRequires: libdlog
+BuildRequires: libdlog-devel
+BuildRequires: libdpm
+BuildRequires: libdpm-devel
+BuildRequires: libeom
+BuildRequires: libeom-devel
+BuildRequires: libexif
+BuildRequires: libexif-devel
+BuildRequires: libfeedback
+BuildRequires: libfeedback-devel
+BuildRequires: libfreetype
+BuildRequires: libgio
+BuildRequires: libglib
+BuildRequires: libgmodule
+BuildRequires: libgobject
+BuildRequires: libgthread
+BuildRequires: libharfbuzz
+BuildRequires: libicu
+BuildRequires: libicu-devel
+BuildRequires: libjson-glib
+BuildRequires: libkey-manager-client
+BuildRequires: libkey-manager-client-devel
+BuildRequires: libkey-manager-common
+BuildRequires: libnsd-dns-sd
+BuildRequires: libnsd-ssdp
+BuildRequires: liboauth
+BuildRequires: liboauth-devel
+BuildRequires: libode
+BuildRequires: libode-devel
+BuildRequires: libopenssl3
+BuildRequires: libopenssl3-devel
+BuildRequires: libpush
+BuildRequires: libpush-devel
+BuildRequires: librua
+BuildRequires: librua-devel
+BuildRequires: libshortcut
+BuildRequires: libshortcut-devel
+BuildRequires: libsqlite
+BuildRequires: libstorage
+BuildRequires: libstorage-devel
+BuildRequires: libtapi
+BuildRequires: libtapi-devel
+BuildRequires: libtbm
+BuildRequires: libtbm-devel
+BuildRequires: libwebauthn-client
+BuildRequires: libwebauthn-client-devel
+BuildRequires: libwebauthn-common
+BuildRequires: libwidget_service
+BuildRequires: libwidget_service-devel
+BuildRequires: libwidget_viewer_evas
+BuildRequires: libwidget_viewer_evas-devel
+BuildRequires: libxcrypt
+BuildRequires: libxcrypt-devel
+BuildRequires: libxml2
+BuildRequires: libxml2-devel
+BuildRequires: linux-glibc-devel
+BuildRequires: message-port
+BuildRequires: message-port-devel
+BuildRequires: minicontrol
+BuildRequires: minicontrol-devel
+BuildRequires: minizip
+BuildRequires: minizip-devel
+BuildRequires: mmi
+BuildRequires: mmi-cli
+BuildRequires: mmi-devel
+BuildRequires: mmi-plugins
+BuildRequires: msg-service
+BuildRequires: msg-service-devel
+BuildRequires: multi-assistant
+BuildRequires: multi-assistant-devel
+BuildRequires: notification
+BuildRequires: notification-devel
+BuildRequires: notification-ex
+BuildRequires: notification-ex-devel
+BuildRequires: oauth2
+BuildRequires: oauth2-devel
+BuildRequires: openal-soft
+BuildRequires: openal-soft-devel
+BuildRequires: openssl3
+BuildRequires: phonenumber-utils
+BuildRequires: phonenumber-utils-devel
+BuildRequires: pkgmgr-client
+BuildRequires: pkgmgr-client-devel
+BuildRequires: pkgmgr-installer
+BuildRequires: pkgmgr-installer-devel
+BuildRequires: privilege-info
+BuildRequires: privilege-info-devel
+BuildRequires: rpc-port
+BuildRequires: rpc-port-devel
+BuildRequires: sqlite
+BuildRequires: sqlite-devel
+BuildRequires: stt
+BuildRequires: stt-devel
+BuildRequires: stt-engine-devel
+BuildRequires: syspopup-caller
+BuildRequires: syspopup-caller-devel
+BuildRequires: tef-libteec
+BuildRequires: tef-libteec-devel
+BuildRequires: tizen-core
+BuildRequires: tizen-core-devel
+BuildRequires: ttrace
+BuildRequires: ttrace-devel
+BuildRequires: tts
+BuildRequires: tts-devel
+BuildRequires: tts-engine-devel
+BuildRequires: tzsh
+BuildRequires: tzsh-devel
+BuildRequires: ui-gadget-1
+BuildRequires: ui-gadget-1-devel
+BuildRequires: update-control
+BuildRequires: update-control-devel
+BuildRequires: vconf-compat
+BuildRequires: vconf-compat-devel
+BuildRequires: vconf-internal-keys
+BuildRequires: vconf-internal-keys-devel
+BuildRequires: voice-control
+BuildRequires: voice-control-devel
+BuildRequires: voice-control-elm
+BuildRequires: voice-control-elm-devel
+BuildRequires: voice-control-engine-devel
+BuildRequires: voice-control-manager-devel
+BuildRequires: voice-control-setting-devel
+BuildRequires: voice-control-widget-devel
+BuildRequires: vulkan-headers
+BuildRequires: vulkan-loader
+BuildRequires: vulkan-loader-devel
+BuildRequires: yaca
+BuildRequires: yaca-devel
+BuildRequires: zlib
+BuildRequires: zlib-devel
--- /dev/null
+
+BuildRequires: SDL2
+BuildRequires: SDL2-devel
+BuildRequires: app-core-common
+BuildRequires: app-core-common-devel
+BuildRequires: appcore-agent
+BuildRequires: appcore-widget
+BuildRequires: askuser-notification-client
+BuildRequires: askuser-notification-devel
+BuildRequires: attach-panel
+BuildRequires: attach-panel-devel
+BuildRequires: aul
+BuildRequires: aul-devel
+BuildRequires: aul-rsc-mgr
+BuildRequires: aul-rsc-mgr-devel
+BuildRequires: auth-fw
+BuildRequires: badge
+BuildRequires: badge-devel
+BuildRequires: bundle
+BuildRequires: bundle-devel
+BuildRequires: cairo-devel
+BuildRequires: calendar-service-devel
+BuildRequires: capi-appfw-alarm
+BuildRequires: capi-appfw-alarm-devel
+BuildRequires: capi-appfw-app-common
+BuildRequires: capi-appfw-app-common-devel
+BuildRequires: capi-appfw-app-control
+BuildRequires: capi-appfw-app-control-devel
+BuildRequires: capi-appfw-app-manager
+BuildRequires: capi-appfw-app-manager-devel
+BuildRequires: capi-appfw-application
+BuildRequires: capi-appfw-application-devel
+BuildRequires: capi-appfw-component-manager
+BuildRequires: capi-appfw-component-manager-devel
+BuildRequires: capi-appfw-event
+BuildRequires: capi-appfw-event-devel
+BuildRequires: capi-appfw-job-scheduler
+BuildRequires: capi-appfw-job-scheduler-devel
+BuildRequires: capi-appfw-package-manager
+BuildRequires: capi-appfw-package-manager-devel
+BuildRequires: capi-appfw-preference
+BuildRequires: capi-appfw-preference-devel
+BuildRequires: capi-appfw-service-application-devel
+BuildRequires: capi-appfw-widget-application-devel
+BuildRequires: capi-base-common
+BuildRequires: capi-base-common-devel
+BuildRequires: capi-base-utils
+BuildRequires: capi-base-utils-devel
+BuildRequires: capi-content-media-content
+BuildRequires: capi-content-media-content-devel
+BuildRequires: capi-content-mime-type
+BuildRequires: capi-content-mime-type-devel
+BuildRequires: capi-context
+BuildRequires: capi-context-devel
+BuildRequires: capi-geofence-manager
+BuildRequires: capi-geofence-manager-devel
+BuildRequires: capi-location-manager
+BuildRequires: capi-location-manager-devel
+BuildRequires: capi-machine-learning-common
+BuildRequires: capi-machine-learning-common-devel
+BuildRequires: capi-machine-learning-inference
+BuildRequires: capi-machine-learning-inference-devel
+BuildRequires: capi-machine-learning-inference-single
+BuildRequires: capi-machine-learning-inference-single-devel
+BuildRequires: capi-machine-learning-service
+BuildRequires: capi-machine-learning-service-devel
+BuildRequires: capi-machine-learning-training
+BuildRequires: capi-machine-learning-training-devel
+BuildRequires: capi-maps-service
+BuildRequires: capi-maps-service-devel
+BuildRequires: capi-media-audio-io
+BuildRequires: capi-media-audio-io-devel
+BuildRequires: capi-media-camera
+BuildRequires: capi-media-camera-devel
+BuildRequires: capi-media-codec
+BuildRequires: capi-media-codec-devel
+BuildRequires: capi-media-controller
+BuildRequires: capi-media-controller-devel
+BuildRequires: capi-media-editor
+BuildRequires: capi-media-editor-devel
+BuildRequires: capi-media-image-util
+BuildRequires: capi-media-image-util-devel
+BuildRequires: capi-media-metadata-editor
+BuildRequires: capi-media-metadata-editor-devel
+BuildRequires: capi-media-metadata-extractor
+BuildRequires: capi-media-metadata-extractor-devel
+BuildRequires: capi-media-player
+BuildRequires: capi-media-player-devel
+BuildRequires: capi-media-radio
+BuildRequires: capi-media-radio-devel
+BuildRequires: capi-media-recorder
+BuildRequires: capi-media-recorder-devel
+BuildRequires: capi-media-screen-mirroring
+BuildRequires: capi-media-screen-mirroring-devel
+BuildRequires: capi-media-sound-manager
+BuildRequires: capi-media-sound-manager-devel
+BuildRequires: capi-media-sound-pool
+BuildRequires: capi-media-sound-pool-devel
+BuildRequires: capi-media-thumbnail-util
+BuildRequires: capi-media-thumbnail-util-devel
+BuildRequires: capi-media-tone-player
+BuildRequires: capi-media-tone-player-devel
+BuildRequires: capi-media-tool
+BuildRequires: capi-media-tool-devel
+BuildRequires: capi-media-vision
+BuildRequires: capi-media-vision-3d
+BuildRequires: capi-media-vision-3d-devel
+BuildRequires: capi-media-vision-barcode
+BuildRequires: capi-media-vision-barcode-devel
+BuildRequires: capi-media-vision-common
+BuildRequires: capi-media-vision-common-devel
+BuildRequires: capi-media-vision-devel
+BuildRequires: capi-media-vision-face
+BuildRequires: capi-media-vision-face-devel
+BuildRequires: capi-media-vision-image
+BuildRequires: capi-media-vision-image-devel
+BuildRequires: capi-media-vision-machine_learning
+BuildRequires: capi-media-vision-machine_learning-devel
+BuildRequires: capi-media-vision-roi_tracker
+BuildRequires: capi-media-vision-roi_tracker-devel
+BuildRequires: capi-media-vision-surveillance
+BuildRequires: capi-media-vision-surveillance-devel
+BuildRequires: capi-media-wav-player
+BuildRequires: capi-media-wav-player-devel
+BuildRequires: capi-media-webrtc
+BuildRequires: capi-media-webrtc-devel
+BuildRequires: capi-mediademuxer
+BuildRequires: capi-mediademuxer-devel
+BuildRequires: capi-mediamuxer
+BuildRequires: capi-mediamuxer-devel
+BuildRequires: capi-messaging-email
+BuildRequires: capi-messaging-email-devel
+BuildRequires: capi-messaging-messages
+BuildRequires: capi-messaging-messages-devel
+BuildRequires: capi-network-asp
+BuildRequires: capi-network-asp-devel
+BuildRequires: capi-network-bluetooth
+BuildRequires: capi-network-bluetooth-devel
+BuildRequires: capi-network-connection
+BuildRequires: capi-network-connection-devel
+BuildRequires: capi-network-http
+BuildRequires: capi-network-http-devel
+BuildRequires: capi-network-inm
+BuildRequires: capi-network-inm-devel
+BuildRequires: capi-network-mtp
+BuildRequires: capi-network-mtp-devel
+BuildRequires: capi-network-nfc
+BuildRequires: capi-network-nfc-devel
+BuildRequires: capi-network-nsd
+BuildRequires: capi-network-nsd-devel
+BuildRequires: capi-network-smartcard
+BuildRequires: capi-network-smartcard-devel
+BuildRequires: capi-network-softap
+BuildRequires: capi-network-softap-devel
+BuildRequires: capi-network-stc
+BuildRequires: capi-network-stc-devel
+BuildRequires: capi-network-tethering
+BuildRequires: capi-network-tethering-devel
+BuildRequires: capi-network-ua
+BuildRequires: capi-network-ua-devel
+BuildRequires: capi-network-wifi-aware
+BuildRequires: capi-network-wifi-aware-devel
+BuildRequires: capi-network-wifi-direct
+BuildRequires: capi-network-wifi-direct-devel
+BuildRequires: capi-network-wifi-manager
+BuildRequires: capi-network-wifi-manager-devel
+BuildRequires: capi-privacy-privilege-manager
+BuildRequires: capi-system-device
+BuildRequires: capi-system-device-devel
+BuildRequires: capi-system-info
+BuildRequires: capi-system-info-devel
+BuildRequires: capi-system-media-key
+BuildRequires: capi-system-media-key-devel
+BuildRequires: capi-system-peripheral-io
+BuildRequires: capi-system-peripheral-io-devel
+BuildRequires: capi-system-resource-monitor
+BuildRequires: capi-system-resource-monitor-devel
+BuildRequires: capi-system-runtime-info
+BuildRequires: capi-system-runtime-info-devel
+BuildRequires: capi-system-sensor
+BuildRequires: capi-system-sensor-devel
+BuildRequires: capi-system-system-settings
+BuildRequires: capi-system-system-settings-devel
+BuildRequires: capi-system-usbhost
+BuildRequires: capi-system-usbhost-devel
+BuildRequires: capi-telephony
+BuildRequires: capi-telephony-devel
+BuildRequires: capi-ui-autofill
+BuildRequires: capi-ui-autofill-common
+BuildRequires: capi-ui-autofill-common-devel
+BuildRequires: capi-ui-autofill-devel
+BuildRequires: capi-ui-autofill-manager
+BuildRequires: capi-ui-autofill-manager-devel
+BuildRequires: capi-ui-autofill-service
+BuildRequires: capi-ui-autofill-service-devel
+BuildRequires: capi-ui-efl-util
+BuildRequires: capi-ui-efl-util-devel
+BuildRequires: capi-ui-inputmethod
+BuildRequires: capi-ui-inputmethod-devel
+BuildRequires: capi-ui-inputmethod-manager
+BuildRequires: capi-ui-inputmethod-manager-devel
+BuildRequires: capi-ui-sticker
+BuildRequires: capi-ui-sticker-devel
+BuildRequires: capi-vpnsvc
+BuildRequires: capi-vpnsvc-devel
+BuildRequires: capi-web-url-download
+BuildRequires: capi-web-url-download-devel
+BuildRequires: chromium-efl
+BuildRequires: chromium-efl-devel
+BuildRequires: cion
+BuildRequires: cion-devel
+BuildRequires: component-based
+BuildRequires: component-based-application
+BuildRequires: component-based-application-devel
+BuildRequires: component-based-devel
+BuildRequires: contacts-service-devel
+BuildRequires: coregl
+BuildRequires: coregl-devel
+BuildRequires: csr-framework-devel
+BuildRequires: data-control
+BuildRequires: data-control-devel
+BuildRequires: dbus-devel
+BuildRequires: dbus-libs
+BuildRequires: device-certificate-manager
+BuildRequires: device-certificate-manager-devel
+BuildRequires: diagnostics
+BuildRequires: diagnostics-devel
+BuildRequires: ecore
+BuildRequires: ecore-buffer
+BuildRequires: ecore-buffer-devel
+BuildRequires: ecore-con
+BuildRequires: ecore-con-devel
+BuildRequires: ecore-core
+BuildRequires: ecore-core-devel
+BuildRequires: ecore-devel
+BuildRequires: ecore-evas
+BuildRequires: ecore-evas-devel
+BuildRequires: ecore-file
+BuildRequires: ecore-file-devel
+BuildRequires: ecore-imf
+BuildRequires: ecore-imf-devel
+BuildRequires: ecore-imf-evas
+BuildRequires: ecore-imf-evas-devel
+BuildRequires: ecore-input
+BuildRequires: ecore-input-devel
+BuildRequires: ecore-input-evas
+BuildRequires: ecore-input-evas-devel
+BuildRequires: ecore-ipc
+BuildRequires: ecore-ipc-devel
+BuildRequires: ecore-wl2
+BuildRequires: ecore-wl2-devel
+BuildRequires: ector
+BuildRequires: ector-devel
+BuildRequires: edje
+BuildRequires: edje-devel
+BuildRequires: eet
+BuildRequires: eet-devel
+BuildRequires: efl
+BuildRequires: efl-devel
+BuildRequires: efl-extension
+BuildRequires: efl-extension-devel
+BuildRequires: efreet
+BuildRequires: efreet-devel
+BuildRequires: eina
+BuildRequires: eina-devel
+BuildRequires: eio
+BuildRequires: eio-devel
+BuildRequires: elementary
+BuildRequires: elementary-devel
+BuildRequires: email-service
+BuildRequires: email-service-devel
+BuildRequires: embryo
+BuildRequires: embryo-devel
+BuildRequires: emile
+BuildRequires: emile-devel
+BuildRequires: eo
+BuildRequires: eo-devel
+BuildRequires: ethumb
+BuildRequires: ethumb-devel
+BuildRequires: evas
+BuildRequires: evas-devel
+BuildRequires: fido-client
+BuildRequires: fido-client-devel
+BuildRequires: fontconfig
+BuildRequires: fontconfig-devel
+BuildRequires: freetype2-devel
+BuildRequires: glib2-devel
+BuildRequires: glib2-devel-static
+BuildRequires: glibc
+BuildRequires: glibc-devel
+BuildRequires: glibc-devel-static
+BuildRequires: glibc-devel-utils
+BuildRequires: glibc-extra
+BuildRequires: glibc-locale
+BuildRequires: glibc-profile
+BuildRequires: harfbuzz-devel
+BuildRequires: iotcon
+BuildRequires: iotcon-devel
+BuildRequires: json-glib-devel
+BuildRequires: libaccount-service
+BuildRequires: libaccount-service-devel
+BuildRequires: libalarm
+BuildRequires: libalarm-devel
+BuildRequires: libasan
+BuildRequires: libaskuser-notification-common
+BuildRequires: libauth-fw-client
+BuildRequires: libauth-fw-client-admin
+BuildRequires: libauth-fw-client-devel
+BuildRequires: libcairo
+BuildRequires: libcairo-gobject
+BuildRequires: libcairo-script-interpreter
+BuildRequires: libcalendar-service
+BuildRequires: libcall-manager
+BuildRequires: libcall-manager-devel
+BuildRequires: libcontacts-service
+BuildRequires: libcore-sync-client
+BuildRequires: libcore-sync-client-devel
+BuildRequires: libcsr-framework-client
+BuildRequires: libcsr-framework-common
+BuildRequires: libcurl
+BuildRequires: libcurl-devel
+BuildRequires: libdlog
+BuildRequires: libdlog-devel
+BuildRequires: libdpm
+BuildRequires: libdpm-devel
+BuildRequires: libeom
+BuildRequires: libeom-devel
+BuildRequires: libexif
+BuildRequires: libexif-devel
+BuildRequires: libfeedback
+BuildRequires: libfeedback-devel
+BuildRequires: libfreetype
+BuildRequires: libgio
+BuildRequires: libglib
+BuildRequires: libgmodule
+BuildRequires: libgobject
+BuildRequires: libgthread
+BuildRequires: libharfbuzz
+BuildRequires: libicu
+BuildRequires: libicu-devel
+BuildRequires: libjson-glib
+BuildRequires: libkey-manager-client
+BuildRequires: libkey-manager-client-devel
+BuildRequires: libkey-manager-common
+BuildRequires: libnsd-dns-sd
+BuildRequires: libnsd-ssdp
+BuildRequires: liboauth
+BuildRequires: liboauth-devel
+BuildRequires: libode
+BuildRequires: libode-devel
+BuildRequires: libopenssl3
+BuildRequires: libopenssl3-devel
+BuildRequires: libpush
+BuildRequires: libpush-devel
+BuildRequires: librua
+BuildRequires: librua-devel
+BuildRequires: libshortcut
+BuildRequires: libshortcut-devel
+BuildRequires: libsqlite
+BuildRequires: libstorage
+BuildRequires: libstorage-devel
+BuildRequires: libtapi
+BuildRequires: libtapi-devel
+BuildRequires: libtbm
+BuildRequires: libtbm-devel
+BuildRequires: libwebauthn-client
+BuildRequires: libwebauthn-client-devel
+BuildRequires: libwebauthn-common
+BuildRequires: libwidget_service
+BuildRequires: libwidget_service-devel
+BuildRequires: libwidget_viewer_evas
+BuildRequires: libwidget_viewer_evas-devel
+BuildRequires: libxcrypt
+BuildRequires: libxcrypt-devel
+BuildRequires: libxml2
+BuildRequires: libxml2-devel
+BuildRequires: linux-glibc-devel
+BuildRequires: message-port
+BuildRequires: message-port-devel
+BuildRequires: minicontrol
+BuildRequires: minicontrol-devel
+BuildRequires: minizip
+BuildRequires: minizip-devel
+BuildRequires: mmi
+BuildRequires: mmi-cli
+BuildRequires: mmi-devel
+BuildRequires: mmi-plugins
+BuildRequires: msg-service
+BuildRequires: msg-service-devel
+BuildRequires: multi-assistant
+BuildRequires: multi-assistant-devel
+BuildRequires: notification
+BuildRequires: notification-devel
+BuildRequires: notification-ex
+BuildRequires: notification-ex-devel
+BuildRequires: oauth2
+BuildRequires: oauth2-devel
+BuildRequires: openal-soft
+BuildRequires: openal-soft-devel
+BuildRequires: openssl3
+BuildRequires: phonenumber-utils
+BuildRequires: phonenumber-utils-devel
+BuildRequires: pkgmgr-client
+BuildRequires: pkgmgr-client-devel
+BuildRequires: pkgmgr-installer
+BuildRequires: pkgmgr-installer-devel
+BuildRequires: privilege-info
+BuildRequires: privilege-info-devel
+BuildRequires: rpc-port
+BuildRequires: rpc-port-devel
+BuildRequires: sqlite
+BuildRequires: sqlite-devel
+BuildRequires: stt
+BuildRequires: stt-devel
+BuildRequires: stt-engine-devel
+BuildRequires: syspopup-caller
+BuildRequires: syspopup-caller-devel
+BuildRequires: tef-libteec
+BuildRequires: tef-libteec-devel
+BuildRequires: tizen-core
+BuildRequires: tizen-core-devel
+BuildRequires: ttrace
+BuildRequires: ttrace-devel
+BuildRequires: tts
+BuildRequires: tts-devel
+BuildRequires: tts-engine-devel
+BuildRequires: tzsh
+BuildRequires: tzsh-devel
+BuildRequires: ui-gadget-1
+BuildRequires: ui-gadget-1-devel
+BuildRequires: update-control
+BuildRequires: update-control-devel
+BuildRequires: vconf-compat
+BuildRequires: vconf-compat-devel
+BuildRequires: vconf-internal-keys
+BuildRequires: vconf-internal-keys-devel
+BuildRequires: voice-control
+BuildRequires: voice-control-devel
+BuildRequires: voice-control-elm
+BuildRequires: voice-control-elm-devel
+BuildRequires: voice-control-engine-devel
+BuildRequires: voice-control-manager-devel
+BuildRequires: voice-control-setting-devel
+BuildRequires: voice-control-widget-devel
+BuildRequires: vulkan-headers
+BuildRequires: vulkan-loader
+BuildRequires: vulkan-loader-devel
+BuildRequires: yaca
+BuildRequires: yaca-devel
+BuildRequires: zlib
+BuildRequires: zlib-devel
--- /dev/null
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
--- /dev/null
+Name: native-dev-rootstrap
+Summary: make and package rootstrap
+Version: 10.0
+Release: 1
+License: Samsung
+Source: %{name}-%{version}.tar.gz
+Source1: %{name}.manifest
+
+BuildRequires: xmlstarlet
+BuildRequires: zip
+BuildRequires: unzip
+BuildRequires: libstdc++
+BuildRequires: libstdc++-devel
+BuildRequires: libgcc
+BuildConflicts: libscl-common
+Requires: zip
+Requires: unzip
+
+BuildRequires: SDL2
+BuildRequires: SDL2-devel
+BuildRequires: app-core-common
+BuildRequires: app-core-common-devel
+BuildRequires: appcore-agent
+BuildRequires: appcore-widget
+BuildRequires: askuser-notification-client
+BuildRequires: askuser-notification-devel
+BuildRequires: attach-panel
+BuildRequires: attach-panel-devel
+BuildRequires: aul
+BuildRequires: aul-devel
+BuildRequires: aul-rsc-mgr
+BuildRequires: aul-rsc-mgr-devel
+BuildRequires: auth-fw
+BuildRequires: badge
+BuildRequires: badge-devel
+BuildRequires: bundle
+BuildRequires: bundle-devel
+BuildRequires: cairo-devel
+BuildRequires: calendar-service-devel
+BuildRequires: capi-appfw-alarm
+BuildRequires: capi-appfw-alarm-devel
+BuildRequires: capi-appfw-app-common
+BuildRequires: capi-appfw-app-common-devel
+BuildRequires: capi-appfw-app-control
+BuildRequires: capi-appfw-app-control-devel
+BuildRequires: capi-appfw-app-manager
+BuildRequires: capi-appfw-app-manager-devel
+BuildRequires: capi-appfw-application
+BuildRequires: capi-appfw-application-devel
+BuildRequires: capi-appfw-component-manager
+BuildRequires: capi-appfw-component-manager-devel
+BuildRequires: capi-appfw-event
+BuildRequires: capi-appfw-event-devel
+BuildRequires: capi-appfw-job-scheduler
+BuildRequires: capi-appfw-job-scheduler-devel
+BuildRequires: capi-appfw-package-manager
+BuildRequires: capi-appfw-package-manager-devel
+BuildRequires: capi-appfw-preference
+BuildRequires: capi-appfw-preference-devel
+BuildRequires: capi-appfw-service-application-devel
+BuildRequires: capi-appfw-widget-application-devel
+BuildRequires: capi-base-common
+BuildRequires: capi-base-common-devel
+BuildRequires: capi-base-utils
+BuildRequires: capi-base-utils-devel
+BuildRequires: capi-content-media-content
+BuildRequires: capi-content-media-content-devel
+BuildRequires: capi-content-mime-type
+BuildRequires: capi-content-mime-type-devel
+BuildRequires: capi-context
+BuildRequires: capi-context-devel
+BuildRequires: capi-geofence-manager
+BuildRequires: capi-geofence-manager-devel
+BuildRequires: capi-location-manager
+BuildRequires: capi-location-manager-devel
+BuildRequires: capi-machine-learning-common
+BuildRequires: capi-machine-learning-common-devel
+BuildRequires: capi-machine-learning-inference
+BuildRequires: capi-machine-learning-inference-devel
+BuildRequires: capi-machine-learning-inference-single
+BuildRequires: capi-machine-learning-inference-single-devel
+BuildRequires: capi-machine-learning-service
+BuildRequires: capi-machine-learning-service-devel
+BuildRequires: capi-machine-learning-training
+BuildRequires: capi-machine-learning-training-devel
+BuildRequires: capi-maps-service
+BuildRequires: capi-maps-service-devel
+BuildRequires: capi-media-audio-io
+BuildRequires: capi-media-audio-io-devel
+BuildRequires: capi-media-camera
+BuildRequires: capi-media-camera-devel
+BuildRequires: capi-media-codec
+BuildRequires: capi-media-codec-devel
+BuildRequires: capi-media-controller
+BuildRequires: capi-media-controller-devel
+BuildRequires: capi-media-editor
+BuildRequires: capi-media-editor-devel
+BuildRequires: capi-media-image-util
+BuildRequires: capi-media-image-util-devel
+BuildRequires: capi-media-metadata-editor
+BuildRequires: capi-media-metadata-editor-devel
+BuildRequires: capi-media-metadata-extractor
+BuildRequires: capi-media-metadata-extractor-devel
+BuildRequires: capi-media-player
+BuildRequires: capi-media-player-devel
+BuildRequires: capi-media-radio
+BuildRequires: capi-media-radio-devel
+BuildRequires: capi-media-recorder
+BuildRequires: capi-media-recorder-devel
+BuildRequires: capi-media-screen-mirroring
+BuildRequires: capi-media-screen-mirroring-devel
+BuildRequires: capi-media-sound-manager
+BuildRequires: capi-media-sound-manager-devel
+BuildRequires: capi-media-sound-pool
+BuildRequires: capi-media-sound-pool-devel
+BuildRequires: capi-media-thumbnail-util
+BuildRequires: capi-media-thumbnail-util-devel
+BuildRequires: capi-media-tone-player
+BuildRequires: capi-media-tone-player-devel
+BuildRequires: capi-media-tool
+BuildRequires: capi-media-tool-devel
+BuildRequires: capi-media-vision
+BuildRequires: capi-media-vision-3d
+BuildRequires: capi-media-vision-3d-devel
+BuildRequires: capi-media-vision-barcode
+BuildRequires: capi-media-vision-barcode-devel
+BuildRequires: capi-media-vision-common
+BuildRequires: capi-media-vision-common-devel
+BuildRequires: capi-media-vision-devel
+BuildRequires: capi-media-vision-face
+BuildRequires: capi-media-vision-face-devel
+BuildRequires: capi-media-vision-image
+BuildRequires: capi-media-vision-image-devel
+BuildRequires: capi-media-vision-machine_learning
+BuildRequires: capi-media-vision-machine_learning-devel
+BuildRequires: capi-media-vision-roi_tracker
+BuildRequires: capi-media-vision-roi_tracker-devel
+BuildRequires: capi-media-vision-surveillance
+BuildRequires: capi-media-vision-surveillance-devel
+BuildRequires: capi-media-wav-player
+BuildRequires: capi-media-wav-player-devel
+BuildRequires: capi-media-webrtc
+BuildRequires: capi-media-webrtc-devel
+BuildRequires: capi-mediademuxer
+BuildRequires: capi-mediademuxer-devel
+BuildRequires: capi-mediamuxer
+BuildRequires: capi-mediamuxer-devel
+BuildRequires: capi-messaging-email
+BuildRequires: capi-messaging-email-devel
+BuildRequires: capi-messaging-messages
+BuildRequires: capi-messaging-messages-devel
+BuildRequires: capi-network-asp
+BuildRequires: capi-network-asp-devel
+BuildRequires: capi-network-bluetooth
+BuildRequires: capi-network-bluetooth-devel
+BuildRequires: capi-network-connection
+BuildRequires: capi-network-connection-devel
+BuildRequires: capi-network-http
+BuildRequires: capi-network-http-devel
+BuildRequires: capi-network-inm
+BuildRequires: capi-network-inm-devel
+BuildRequires: capi-network-mtp
+BuildRequires: capi-network-mtp-devel
+BuildRequires: capi-network-nfc
+BuildRequires: capi-network-nfc-devel
+BuildRequires: capi-network-nsd
+BuildRequires: capi-network-nsd-devel
+BuildRequires: capi-network-smartcard
+BuildRequires: capi-network-smartcard-devel
+BuildRequires: capi-network-softap
+BuildRequires: capi-network-softap-devel
+BuildRequires: capi-network-stc
+BuildRequires: capi-network-stc-devel
+BuildRequires: capi-network-tethering
+BuildRequires: capi-network-tethering-devel
+BuildRequires: capi-network-ua
+BuildRequires: capi-network-ua-devel
+BuildRequires: capi-network-wifi-aware
+BuildRequires: capi-network-wifi-aware-devel
+BuildRequires: capi-network-wifi-direct
+BuildRequires: capi-network-wifi-direct-devel
+BuildRequires: capi-network-wifi-manager
+BuildRequires: capi-network-wifi-manager-devel
+BuildRequires: capi-privacy-privilege-manager
+BuildRequires: capi-system-device
+BuildRequires: capi-system-device-devel
+BuildRequires: capi-system-info
+BuildRequires: capi-system-info-devel
+BuildRequires: capi-system-media-key
+BuildRequires: capi-system-media-key-devel
+BuildRequires: capi-system-peripheral-io
+BuildRequires: capi-system-peripheral-io-devel
+BuildRequires: capi-system-resource-monitor
+BuildRequires: capi-system-resource-monitor-devel
+BuildRequires: capi-system-runtime-info
+BuildRequires: capi-system-runtime-info-devel
+BuildRequires: capi-system-sensor
+BuildRequires: capi-system-sensor-devel
+BuildRequires: capi-system-system-settings
+BuildRequires: capi-system-system-settings-devel
+BuildRequires: capi-system-usbhost
+BuildRequires: capi-system-usbhost-devel
+BuildRequires: capi-telephony
+BuildRequires: capi-telephony-devel
+BuildRequires: capi-ui-autofill
+BuildRequires: capi-ui-autofill-common
+BuildRequires: capi-ui-autofill-common-devel
+BuildRequires: capi-ui-autofill-devel
+BuildRequires: capi-ui-autofill-manager
+BuildRequires: capi-ui-autofill-manager-devel
+BuildRequires: capi-ui-autofill-service
+BuildRequires: capi-ui-autofill-service-devel
+BuildRequires: capi-ui-efl-util
+BuildRequires: capi-ui-efl-util-devel
+BuildRequires: capi-ui-inputmethod
+BuildRequires: capi-ui-inputmethod-devel
+BuildRequires: capi-ui-inputmethod-manager
+BuildRequires: capi-ui-inputmethod-manager-devel
+BuildRequires: capi-ui-sticker
+BuildRequires: capi-ui-sticker-devel
+BuildRequires: capi-vpnsvc
+BuildRequires: capi-vpnsvc-devel
+BuildRequires: capi-web-url-download
+BuildRequires: capi-web-url-download-devel
+BuildRequires: chromium-efl
+BuildRequires: chromium-efl-devel
+BuildRequires: cion
+BuildRequires: cion-devel
+BuildRequires: component-based
+BuildRequires: component-based-application
+BuildRequires: component-based-application-devel
+BuildRequires: component-based-devel
+BuildRequires: contacts-service-devel
+BuildRequires: coregl
+BuildRequires: coregl-devel
+BuildRequires: csr-framework-devel
+BuildRequires: data-control
+BuildRequires: data-control-devel
+BuildRequires: dbus-devel
+BuildRequires: dbus-libs
+BuildRequires: device-certificate-manager
+BuildRequires: device-certificate-manager-devel
+BuildRequires: diagnostics
+BuildRequires: diagnostics-devel
+BuildRequires: ecore
+BuildRequires: ecore-buffer
+BuildRequires: ecore-buffer-devel
+BuildRequires: ecore-con
+BuildRequires: ecore-con-devel
+BuildRequires: ecore-core
+BuildRequires: ecore-core-devel
+BuildRequires: ecore-devel
+BuildRequires: ecore-evas
+BuildRequires: ecore-evas-devel
+BuildRequires: ecore-file
+BuildRequires: ecore-file-devel
+BuildRequires: ecore-imf
+BuildRequires: ecore-imf-devel
+BuildRequires: ecore-imf-evas
+BuildRequires: ecore-imf-evas-devel
+BuildRequires: ecore-input
+BuildRequires: ecore-input-devel
+BuildRequires: ecore-input-evas
+BuildRequires: ecore-input-evas-devel
+BuildRequires: ecore-ipc
+BuildRequires: ecore-ipc-devel
+BuildRequires: ecore-wl2
+BuildRequires: ecore-wl2-devel
+BuildRequires: ector
+BuildRequires: ector-devel
+BuildRequires: edje
+BuildRequires: edje-devel
+BuildRequires: eet
+BuildRequires: eet-devel
+BuildRequires: efl
+BuildRequires: efl-devel
+BuildRequires: efl-extension
+BuildRequires: efl-extension-devel
+BuildRequires: efreet
+BuildRequires: efreet-devel
+BuildRequires: eina
+BuildRequires: eina-devel
+BuildRequires: eio
+BuildRequires: eio-devel
+BuildRequires: elementary
+BuildRequires: elementary-devel
+BuildRequires: email-service
+BuildRequires: email-service-devel
+BuildRequires: embryo
+BuildRequires: embryo-devel
+BuildRequires: emile
+BuildRequires: emile-devel
+BuildRequires: eo
+BuildRequires: eo-devel
+BuildRequires: ethumb
+BuildRequires: ethumb-devel
+BuildRequires: evas
+BuildRequires: evas-devel
+BuildRequires: fido-client
+BuildRequires: fido-client-devel
+BuildRequires: fontconfig
+BuildRequires: fontconfig-devel
+BuildRequires: freetype2-devel
+BuildRequires: glib2-devel
+BuildRequires: glib2-devel-static
+BuildRequires: glibc
+BuildRequires: glibc-devel
+BuildRequires: glibc-devel-static
+BuildRequires: glibc-devel-utils
+BuildRequires: glibc-extra
+BuildRequires: glibc-locale
+BuildRequires: glibc-profile
+BuildRequires: harfbuzz-devel
+BuildRequires: iotcon
+BuildRequires: iotcon-devel
+BuildRequires: json-glib-devel
+BuildRequires: libaccount-service
+BuildRequires: libaccount-service-devel
+BuildRequires: libalarm
+BuildRequires: libalarm-devel
+BuildRequires: libasan
+BuildRequires: libaskuser-notification-common
+BuildRequires: libauth-fw-client
+BuildRequires: libauth-fw-client-admin
+BuildRequires: libauth-fw-client-devel
+BuildRequires: libcairo
+BuildRequires: libcairo-gobject
+BuildRequires: libcairo-script-interpreter
+BuildRequires: libcalendar-service
+BuildRequires: libcall-manager
+BuildRequires: libcall-manager-devel
+BuildRequires: libcontacts-service
+BuildRequires: libcore-sync-client
+BuildRequires: libcore-sync-client-devel
+BuildRequires: libcsr-framework-client
+BuildRequires: libcsr-framework-common
+BuildRequires: libcurl
+BuildRequires: libcurl-devel
+BuildRequires: libdlog
+BuildRequires: libdlog-devel
+BuildRequires: libdpm
+BuildRequires: libdpm-devel
+BuildRequires: libeom
+BuildRequires: libeom-devel
+BuildRequires: libexif
+BuildRequires: libexif-devel
+BuildRequires: libfeedback
+BuildRequires: libfeedback-devel
+BuildRequires: libfreetype
+BuildRequires: libgio
+BuildRequires: libglib
+BuildRequires: libgmodule
+BuildRequires: libgobject
+BuildRequires: libgthread
+BuildRequires: libharfbuzz
+BuildRequires: libicu
+BuildRequires: libicu-devel
+BuildRequires: libjson-glib
+BuildRequires: libkey-manager-client
+BuildRequires: libkey-manager-client-devel
+BuildRequires: libkey-manager-common
+BuildRequires: libnsd-dns-sd
+BuildRequires: libnsd-ssdp
+BuildRequires: liboauth
+BuildRequires: liboauth-devel
+BuildRequires: libode
+BuildRequires: libode-devel
+BuildRequires: libopenssl3
+BuildRequires: libopenssl3-devel
+BuildRequires: libpush
+BuildRequires: libpush-devel
+BuildRequires: librua
+BuildRequires: librua-devel
+BuildRequires: libshortcut
+BuildRequires: libshortcut-devel
+BuildRequires: libsqlite
+BuildRequires: libstorage
+BuildRequires: libstorage-devel
+BuildRequires: libtapi
+BuildRequires: libtapi-devel
+BuildRequires: libtbm
+BuildRequires: libtbm-devel
+BuildRequires: libwebauthn-client
+BuildRequires: libwebauthn-client-devel
+BuildRequires: libwebauthn-common
+BuildRequires: libwidget_service
+BuildRequires: libwidget_service-devel
+BuildRequires: libwidget_viewer_evas
+BuildRequires: libwidget_viewer_evas-devel
+BuildRequires: libxcrypt
+BuildRequires: libxcrypt-devel
+BuildRequires: libxml2
+BuildRequires: libxml2-devel
+BuildRequires: linux-glibc-devel
+BuildRequires: message-port
+BuildRequires: message-port-devel
+BuildRequires: minicontrol
+BuildRequires: minicontrol-devel
+BuildRequires: minizip
+BuildRequires: minizip-devel
+BuildRequires: mmi
+BuildRequires: mmi-cli
+BuildRequires: mmi-devel
+BuildRequires: mmi-plugins
+BuildRequires: msg-service
+BuildRequires: msg-service-devel
+BuildRequires: multi-assistant
+BuildRequires: multi-assistant-devel
+BuildRequires: notification
+BuildRequires: notification-devel
+BuildRequires: notification-ex
+BuildRequires: notification-ex-devel
+BuildRequires: oauth2
+BuildRequires: oauth2-devel
+BuildRequires: openal-soft
+BuildRequires: openal-soft-devel
+BuildRequires: openssl3
+BuildRequires: phonenumber-utils
+BuildRequires: phonenumber-utils-devel
+BuildRequires: pkgmgr-client
+BuildRequires: pkgmgr-client-devel
+BuildRequires: pkgmgr-installer
+BuildRequires: pkgmgr-installer-devel
+BuildRequires: privilege-info
+BuildRequires: privilege-info-devel
+BuildRequires: rpc-port
+BuildRequires: rpc-port-devel
+BuildRequires: sqlite
+BuildRequires: sqlite-devel
+BuildRequires: stt
+BuildRequires: stt-devel
+BuildRequires: stt-engine-devel
+BuildRequires: syspopup-caller
+BuildRequires: syspopup-caller-devel
+BuildRequires: tef-libteec
+BuildRequires: tef-libteec-devel
+BuildRequires: tizen-core
+BuildRequires: tizen-core-devel
+BuildRequires: ttrace
+BuildRequires: ttrace-devel
+BuildRequires: tts
+BuildRequires: tts-devel
+BuildRequires: tts-engine-devel
+BuildRequires: tzsh
+BuildRequires: tzsh-devel
+BuildRequires: ui-gadget-1
+BuildRequires: ui-gadget-1-devel
+BuildRequires: update-control
+BuildRequires: update-control-devel
+BuildRequires: vconf-compat
+BuildRequires: vconf-compat-devel
+BuildRequires: pkgconfig(vconf-internal-keys)
+#BuildRequires: vconf-internal-keys-devel
+BuildRequires: voice-control
+BuildRequires: voice-control-devel
+BuildRequires: voice-control-elm
+BuildRequires: voice-control-elm-devel
+BuildRequires: voice-control-engine-devel
+BuildRequires: voice-control-manager-devel
+BuildRequires: voice-control-setting-devel
+BuildRequires: voice-control-widget-devel
+BuildRequires: vulkan-headers
+BuildRequires: vulkan-loader
+BuildRequires: vulkan-loader-devel
+BuildRequires: yaca
+BuildRequires: yaca-devel
+BuildRequires: zlib
+BuildRequires: zlib-devel
+
+%define debug_package %{nil}
+%define __strip /bin/true
+
+%description
+%{summary}
+
+%prep
+%setup -q
+cp %{SOURCE1} .
+
+%build
+
+install -d output
+
+#64bit
+%ifarch aarch64 x86_64 riscv64
+./script/convert64.sh
+%endif
+
+# Generate Private Rootstrap
+%ifarch %arm
+./make_rootstrap.sh -C rs-config ./rs_resource ./rs_resource_invisible ./rs_resource_rpm -t --internal --local --clean
+%endif
+
+%ifarch aarch64
+./make_rootstrap_64.sh -C rs-config ./rs_resource ./rs_resource_invisible ./rs_resource_rpm -t --internal --local --clean
+%endif
+
+%ifarch x86_64
+./make_rootstrap_64.sh -C rs-config ./rs_resource ./rs_resource_invisible ./rs_resource_rpm -e --internal --local --clean
+%endif
+
+%ifarch riscv64
+./make_rootstrap_64.sh -C rs-config ./rs_resource ./rs_resource_invisible ./rs_resource_rpm -r --internal --local --clean
+%endif
+
+
+if [ $? -ne 0 ]; then
+ echo "Failed to Generate Private Rootstrap"
+ exit 127
+fi
+
+# Package Private Rootstrap
+%ifarch aarch64 x86_64 riscv64
+./package_rootstrap_64.sh -C rs-config --internal --64bit
+%else
+./package_rootstrap.sh -C rs-config --internal
+%endif
+if [ $? -ne 0 ]; then
+ echo "Failed to Package Private Rootstrap"
+ exit 127
+fi
+
+# Move Packaged Rootstrap
+mv .pkg/*.zip output/
+
+# Generate Public Rootstrap
+%ifarch %arm
+./make_rootstrap.sh -C rs-config ./rs_resource ./rs_resource_rpm -t --internal --local --clean
+%endif
+
+%ifarch aarch64
+./make_rootstrap_64.sh -C rs-config ./rs_resource ./rs_resource_rpm -t --internal --local --clean
+%endif
+
+%ifarch x86_64
+./make_rootstrap_64.sh -C rs-config ./rs_resource ./rs_resource_rpm -e --internal --local --clean
+%endif
+
+%ifarch riscv64
+./make_rootstrap_64.sh -C rs-config ./rs_resource ./rs_resource_rpm -r --internal --local --clean
+%endif
+
+
+if [ $? -ne 0 ]; then
+ echo "Failed to Generate Public Rootstrap"
+ exit 127
+fi
+
+# Package Public Rootstrap
+%ifarch aarch64 x86_64 riscv64
+./package_rootstrap_64.sh -C rs-config --public --64bit
+%else
+./package_rootstrap.sh -C rs-config --public
+%endif
+
+if [ $? -ne 0 ]; then
+ echo "Failed to Package Public Rootstrap"
+ exit 127
+fi
+
+# Move Packaged Rootstrap
+mv .pkg/*.zip output/
+
+%install
+install -d %{buildroot}/opt/
+mv -f output/*.zip %{buildroot}/opt/
+
+%post
+unzip /opt/'*.zip' -d /opt/usr
+chmod 755 -R /opt/usr/data/platforms
+
+%clean
+rm -rf %{buildroot}
+
+%files
+/opt/*.zip
--- /dev/null
+# Rootstrap configraution
+export PLATFORM_VERSION="10.0"
+export PLATFORM_PROFILE="tizen"
+
+export BASE_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base/latest/"
+export BASE_URL_POSTFIX_TARGET="/repos/standard/packages/"
+export BASE_URL_POSTFIX_EMULATOR="/repos/standard/packages/"
+export BASE_URL_POSTFIX_RISCV="/repos/standard/packages/"
+
+export BASE_PKG_SVR_TARGET="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_TARGET}"
+export BASE_PKG_SVR_EMULATOR="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_EMULATOR}"
+export BASE_PKG_SVR_RISCV="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_RISCV}"
+
+export SNAPSHOT_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/reference/"
+export SNAPSHOT_URL_POSTFIX_EMULATOR="/repos/standard/packages/"
+export SNAPSHOT_URL_POSTFIX_TARGET="/repos/standard/packages/"
+export SNAPSHOT_URL_POSTFIX_RISCV="/repos/standard/packages/"
+
+export RPM_PKG_SVR_EMULATOR="${SNAPSHOT_URL_PREFIX}${SNAPSHOT_URL_POSTFIX_EMULATOR}"
+export RPM_PKG_SVR_TARGET="${SNAPSHOT_URL_PREFIX}${SNAPSHOT_URL_POSTFIX_TARGET}"
+export RPM_PKG_SVR_RISCV="${SNAPSHOT_URL_PREFIX}${SNAPSHOT_URL_POSTFIX_RISCV}"
+
+# Wget ID/PW for Local Test
+export ID=
+export PW=
--- /dev/null
+# Rootstrap configraution
+export PLATFORM_VERSION="10.0"
+export PLATFORM_PROFILE="tizeniot"
+
+export BASE_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base-Dev/reference/"
+export BASE_URL_POSTFIX_TARGET="/repos/standard/packages/"
+export BASE_URL_POSTFIX_EMULATOR="/repos/standard/packages/"
+export BASE_URL_POSTFIX_RISCV="/repos/standard/packages/"
+
+export BASE_PKG_SVR_TARGET="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_TARGET}"
+export BASE_PKG_SVR_EMULATOR="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_EMULATOR}"
+export BASE_PKG_SVR_RISCV="${BASE_URL_PREFIX}${BASE_URL_POSTFIX_RISCV}"
+
+export SNAPSHOT_URL_PREFIX="https://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified-Dev/reference/"
+export SNAPSHOT_URL_POSTFIX_EMULATOR="/repos/emulator/packages/"
+export SNAPSHOT_URL_POSTFIX_TARGET="/repos/standard/packages/"
+export SNAPSHOT_URL_POSTFIX_RISCV="/repos/standard/packages/"
+
+export RPM_PKG_SVR_EMULATOR="${SNAPSHOT_URL_PREFIX}${SNAPSHOT_URL_POSTFIX_EMULATOR}"
+export RPM_PKG_SVR_TARGET="${SNAPSHOT_URL_PREFIX}${SNAPSHOT_URL_POSTFIX_TARGET}"
+export RPM_PKG_SVR_RISCV="${SNAPSHOT_URL_PREFIX}${SNAPSHOT_URL_POSTFIX_RISCV}"
+
+# Wget ID/PW for Local Test
+export ID=
+export PW=
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="ecore">
+ <emulator>
+ <rpm accept="ecore" arch="i686"/>
+ <rpm accept="ecore-devel" arch="i686"/>
+ <rpm accept="ecore-core" arch="i686"/>
+ <rpm accept="ecore-core-devel" arch="i686"/>
+ <rpm accept="ecore-buffer" arch="i686"/>
+ <rpm accept="ecore-buffer-devel" arch="i686"/>
+ <rpm accept="ecore-con" arch="i686"/>
+ <rpm accept="ecore-con-devel" arch="i686"/>
+ <rpm accept="ecore-evas" arch="i686"/>
+ <rpm accept="ecore-evas-devel" arch="i686"/>
+ <rpm accept="ecore-file" arch="i686"/>
+ <rpm accept="ecore-file-devel" arch="i686"/>
+ <rpm accept="ecore-imf" arch="i686"/>
+ <rpm accept="ecore-imf-devel" arch="i686"/>
+ <rpm accept="ecore-imf-evas" arch="i686"/>
+ <rpm accept="ecore-imf-evas-devel" arch="i686"/>
+ <rpm accept="ecore-input" arch="i686"/>
+ <rpm accept="ecore-input-devel" arch="i686"/>
+ <rpm accept="ecore-input-evas" arch="i686"/>
+ <rpm accept="ecore-input-evas-devel" arch="i686"/>
+ <rpm accept="ecore-ipc" arch="i686"/>
+ <rpm accept="ecore-ipc-devel" arch="i686"/>
+ <rpm accept="ecore-wl2" arch="i686"/>
+ <rpm accept="ecore-wl2-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="ecore" arch="armv7l"/>
+ <rpm accept="ecore-devel" arch="armv7l"/>
+ <rpm accept="ecore-core" arch="armv7l"/>
+ <rpm accept="ecore-core-devel" arch="armv7l"/>
+ <rpm accept="ecore-buffer" arch="armv7l"/>
+ <rpm accept="ecore-buffer-devel" arch="armv7l"/>
+ <rpm accept="ecore-con" arch="armv7l"/>
+ <rpm accept="ecore-con-devel" arch="armv7l"/>
+ <rpm accept="ecore-evas" arch="armv7l"/>
+ <rpm accept="ecore-evas-devel" arch="armv7l"/>
+ <rpm accept="ecore-file" arch="armv7l"/>
+ <rpm accept="ecore-file-devel" arch="armv7l"/>
+ <rpm accept="ecore-imf" arch="armv7l"/>
+ <rpm accept="ecore-imf-devel" arch="armv7l"/>
+ <rpm accept="ecore-imf-evas" arch="armv7l"/>
+ <rpm accept="ecore-imf-evas-devel" arch="armv7l"/>
+ <rpm accept="ecore-input" arch="armv7l"/>
+ <rpm accept="ecore-input-devel" arch="armv7l"/>
+ <rpm accept="ecore-input-evas" arch="armv7l"/>
+ <rpm accept="ecore-input-evas-devel" arch="armv7l"/>
+ <rpm accept="ecore-ipc" arch="armv7l"/>
+ <rpm accept="ecore-ipc-devel" arch="armv7l"/>
+ <rpm accept="ecore-wl2" arch="armv7l"/>
+ <rpm accept="ecore-wl2-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="ecore" arch="riscv32"/>
+ <rpm accept="ecore-devel" arch="riscv32"/>
+ <rpm accept="ecore-core" arch="riscv32"/>
+ <rpm accept="ecore-core-devel" arch="riscv32"/>
+ <rpm accept="ecore-buffer" arch="riscv32"/>
+ <rpm accept="ecore-buffer-devel" arch="riscv32"/>
+ <rpm accept="ecore-con" arch="riscv32"/>
+ <rpm accept="ecore-con-devel" arch="riscv32"/>
+ <rpm accept="ecore-evas" arch="riscv32"/>
+ <rpm accept="ecore-evas-devel" arch="riscv32"/>
+ <rpm accept="ecore-file" arch="riscv32"/>
+ <rpm accept="ecore-file-devel" arch="riscv32"/>
+ <rpm accept="ecore-imf" arch="riscv32"/>
+ <rpm accept="ecore-imf-devel" arch="riscv32"/>
+ <rpm accept="ecore-imf-evas" arch="riscv32"/>
+ <rpm accept="ecore-imf-evas-devel" arch="riscv32"/>
+ <rpm accept="ecore-input" arch="riscv32"/>
+ <rpm accept="ecore-input-devel" arch="riscv32"/>
+ <rpm accept="ecore-input-evas" arch="riscv32"/>
+ <rpm accept="ecore-input-evas-devel" arch="riscv32"/>
+ <rpm accept="ecore-ipc" arch="riscv32"/>
+ <rpm accept="ecore-ipc-devel" arch="riscv32"/>
+ <rpm accept="ecore-wl2" arch="riscv32"/>
+ <rpm accept="ecore-wl2-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/ecore-1</include_path>
+ <include_path>/usr/include/ecore-buffer-1</include_path>
+ <include_path>/usr/include/ecore-con-1</include_path>
+ <include_path>/usr/include/ecore-evas-1</include_path>
+ <include_path>/usr/include/ecore-file-1</include_path>
+ <include_path>/usr/include/ecore-imf-1</include_path>
+ <include_path>/usr/include/ecore-imf-evas-1</include_path>
+ <include_path>/usr/include/ecore-input-1</include_path>
+ <include_path>/usr/include/ecore-input-evas-1</include_path>
+ <include_path>/usr/include/ecore-ipc-1</include_path>
+ <include_path>/usr/include/ecore-wl2-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libecore_buffer.so</library>
+ <library>libecore_con.so</library>
+ <library>libecore_evas.so</library>
+ <library>libecore_file.so</library>
+ <library>libecore_imf_evas.so</library>
+ <library>libecore_imf.so</library>
+ <library>libecore_input_evas.so</library>
+ <library>libecore_input.so</library>
+ <library>libecore_ipc.so</library>
+ <library>libecore_wl2.so</library>
+ <library>libecore.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="edje">
+ <emulator>
+ <rpm accept="edje" arch="i686"/>
+ <rpm accept="edje-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="edje" arch="armv7l"/>
+ <rpm accept="edje-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="edje" arch="riscv32"/>
+ <rpm accept="edje-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+
+ </necessary>
+ <include_path>/usr/include/edje-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libedje.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="eet">
+ <emulator>
+ <rpm accept="eet" arch="i686"/>
+ <rpm accept="eet-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="eet" arch="armv7l"/>
+ <rpm accept="eet-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="eet" arch="riscv32"/>
+ <rpm accept="eet-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/eet-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libeet.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="efl-extension">
+ <email>jm105.lee@samsung.com</email>
+ <email>myoungwoon.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="efl-extension" arch="i686"/>
+ <rpm accept="efl-extension-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="efl-extension" arch="armv7l"/>
+ <rpm accept="efl-extension-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="efl-extension" arch="riscv32"/>
+ <rpm accept="efl-extension-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/efl-extension</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libefl-extension.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="eina">
+ <emulator>
+ <rpm accept="eina" arch="i686"/>
+ <rpm accept="eina-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="eina" arch="armv7l"/>
+ <rpm accept="eina-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="eina" arch="riscv32"/>
+ <rpm accept="eina-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/eina-1</include_path>
+ <include_path>/usr/include/eina-1/eina</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libeina.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="eio">
+ <emulator>
+ <rpm accept="eio" arch="i686"/>
+ <rpm accept="eio-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="eio" arch="armv7l"/>
+ <rpm accept="eio-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="eio" arch="riscv32"/>
+ <rpm accept="eio-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/eio-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libeio.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="elementary">
+ <emulator>
+ <rpm accept="elementary" arch="i686"/>
+ <rpm accept="elementary-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="elementary" arch="armv7l"/>
+ <rpm accept="elementary-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="elementary" arch="riscv32"/>
+ <rpm accept="elementary-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/elementary-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libelementary.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="dbus">
+ <emulator>
+ <rpm accept="dbus-libs" arch="i686"/>
+ <rpm accept="dbus-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="dbus-libs" arch="armv7l"/>
+ <rpm accept="dbus-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="dbus-libs" arch="riscv32"/>
+ <rpm accept="dbus-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/dbus-1.0/dbus/*</file>
+ <file>/usr/lib/dbus-1.0/include/dbus/*</file>
+ </necessary>
+ <include_path>/usr/include/dbus-1.0</include_path>
+ <include_path>/usr/lib/dbus-1.0/include</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="ector">
+ <emulator>
+ <rpm accept="ector" arch="i686"/>
+ <rpm accept="ector-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="ector" arch="armv7l"/>
+ <rpm accept="ector-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="ector" arch="riscv32"/>
+ <rpm accept="ector-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include/ector-1</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="efl-1">
+ <emulator>
+ <rpm accept="efl-devel" arch="i686"/>
+ <rpm accept="efl" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="efl-devel" arch="armv7l"/>
+ <rpm accept="efl" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="efl-devel" arch="riscv32"/>
+ <rpm accept="efl" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/efl-1/Efl.h</file>
+ <file>/usr/include/efl-1/Efl_MVVM_Common.h</file>
+ <file>/usr/include/efl-1/interfaces/*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include/efl-1</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="emile">
+ <emulator>
+ <rpm accept="emile" arch="i686"/>
+ <rpm accept="emile-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="emile" arch="armv7l"/>
+ <rpm accept="emile-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="emile" arch="riscv32"/>
+ <rpm accept="emile-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include/emile-1</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="eo">
+ <emulator>
+ <rpm accept="eo" arch="i686"/>
+ <rpm accept="eo-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="eo" arch="armv7l"/>
+ <rpm accept="eo-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="eo" arch="riscv32"/>
+ <rpm accept="eo-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/eo-1/Eo.h</file>
+ </necessary>
+ <include_path>/usr/include/eo-1</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="evas">
+ <emulator>
+ <rpm accept="evas" arch="i686"/>
+ <rpm accept="evas-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="evas" arch="armv7l"/>
+ <rpm accept="evas-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="evas" arch="riscv32"/>
+ <rpm accept="evas-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+
+ </necessary>
+ <include_path>/usr/include/evas-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libevas.so</library>
+</rootstrap>
+
+
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="efreet">
+ <emulator>
+ <rpm accept="efreet" arch="i686"/>
+ <rpm accept="efreet-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="efreet" arch="armv7l"/>
+ <rpm accept="efreet-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="efreet" arch="riscv32"/>
+ <rpm accept="efreet-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/efreet-1/Efreet_Mime.h</file>
+ <file>/usr/include/efreet-1/Efreet_Trash.h</file>
+ <file>/usr/include/efreet-1/Efreet.h</file>
+ <file>/usr/include/efreet-1/efreet_base.h</file>
+ <file>/usr/include/efreet-1/efreet_desktop.h</file>
+ <file>/usr/include/efreet-1/efreet_icon.h</file>
+ <file>/usr/include/efreet-1/efreet_ini.h</file>
+ <file>/usr/include/efreet-1/efreet_menu.h</file>
+ <file>/usr/include/efreet-1/efreet_uri.h</file>
+ <file>/usr/include/efreet-1/efreet_utils.h</file>
+ <file>/usr/lib/libefreet_mime.so*</file>
+ <file>/usr/lib/libefreet.so*</file>
+ <file>/usr/lib/libefreet_trash.so*</file>
+ </necessary>
+ <include_path>/usr/include/efreet-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libefreet_mime.so</library>
+ <library>libefreet.so</library>
+ <library>libefreet_trash.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="embryo">
+ <emulator>
+ <rpm accept="embryo" arch="i686"/>
+ <rpm accept="embryo-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="embryo" arch="armv7l"/>
+ <rpm accept="embryo-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="embryo" arch="riscv32"/>
+ <rpm accept="embryo-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/embryo-1/Embryo.h</file>
+ <file>/usr/lib/libembryo.so*</file>
+ </necessary>
+ <include_path>/usr/include/embryo-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libembryo.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="eo">
+ <emulator>
+ <rpm accept="eo" arch="i686"/>
+ <rpm accept="eo-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="eo" arch="armv7l"/>
+ <rpm accept="eo-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="eo" arch="riscv32"/>
+ <rpm accept="eo-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/eo-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libeo.so</library>
+</rootstrap>
+
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="ethumb">
+ <emulator>
+ <rpm accept="ethumb" arch="i686"/>
+ <rpm accept="ethumb-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="ethumb" arch="armv7l"/>
+ <rpm accept="ethumb-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="ethumb" arch="riscv32"/>
+ <rpm accept="ethumb-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/ethumb-1/Ethumb.h</file>
+ <file>/usr/include/ethumb-client-1/Ethumb_Client.h</file>
+ <file>/usr/lib/libethumb_client.so*</file>
+ <file>/usr/lib/libethumb.so*</file>
+ </necessary>
+ <include_path>/usr/include/ethumb-1</include_path>
+ <include_path>/usr/include/ethumb-client-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libethumb_client.so</library>
+ <library>libethumb.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="appcore-widget">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="appcore-widget" arch="i686"/>
+ <rpm accept="capi-appfw-widget-application-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="appcore-widget" arch="armv7l"/>
+ <rpm accept="capi-appfw-widget-application-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="appcore-widget" arch="riscv32"/>
+ <rpm accept="capi-appfw-widget-application-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/widget_app.h</file>
+ <file>/usr/include/appfw/widget_app_efl.h</file>
+ <file>/usr/lib/libcapi-appfw-widget-application.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-widget-application.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="attach-panel">
+ <email>yjoo93.park@samsung.com</email>
+ <email>jinny.yoon@samsung.com</email>
+ <emulator>
+ <rpm accept="attach-panel" arch="i686"/>
+ <rpm accept="attach-panel-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="attach-panel" arch="armv7l"/>
+ <rpm accept="attach-panel-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="attach-panel" arch="riscv32"/>
+ <rpm accept="attach-panel-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/attach-panel/attach_panel.h</file>
+ <file>/usr/lib/libattach-panel.so*</file>
+ </necessary>
+ <include_path>/usr/include/attach-panel</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libattach-panel.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="badge">
+ <email>yjoo93.park@samsung.com</email>
+ <email>kyuho.jo@samsung.com</email>
+ <emulator>
+ <rpm accept="badge" arch="i686"/>
+ <rpm accept="badge-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="badge" arch="armv7l"/>
+ <rpm accept="badge-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="badge" arch="riscv32"/>
+ <rpm accept="badge-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/badge/badge_error.h</file>
+ <file>/usr/include/badge/badge.h</file>
+ <file>/usr/lib/libbadge.so*</file>
+ </necessary>
+ <include_path>/usr/include/badge</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libbadge.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="bundle">
+ <email>sm79.lee@samsung.com</email>
+ <email>inkyun.kil@samsung.com</email>
+ <emulator>
+ <rpm accept="bundle" arch="i686"/>
+ <rpm accept="bundle-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="bundle" arch="armv7l"/>
+ <rpm accept="bundle-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="bundle" arch="riscv32"/>
+ <rpm accept="bundle-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/bundle.h</file>
+ <file>/usr/lib/libbundle.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libbundle.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="cairo">
+ <email>hyunjushin@samsung.com</email>
+ <email>mh0310.choi@samsung.com</email>
+ <email>hk57.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="libcairo" arch="i686"/>
+ <rpm accept="libcairo-gobject" arch="i686"/>
+ <rpm accept="libcairo-script-interpreter" arch="i686"/>
+ <rpm accept="cairo-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libcairo" arch="armv7l"/>
+ <rpm accept="libcairo-gobject" arch="armv7l"/>
+ <rpm accept="libcairo-script-interpreter" arch="armv7l"/>
+ <rpm accept="cairo-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libcairo" arch="riscv32"/>
+ <rpm accept="libcairo-gobject" arch="riscv32"/>
+ <rpm accept="libcairo-script-interpreter" arch="riscv32"/>
+ <rpm accept="cairo-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/cairo/cairo-deprecated.h</file>
+ <file>/usr/include/cairo/cairo-evas-gl.h</file>
+ <file>/usr/include/cairo/cairo-features.h</file>
+ <file>/usr/include/cairo/cairo-ft.h</file>
+ <file>/usr/include/cairo/cairo.h</file>
+ <file>/usr/include/cairo/cairo-pdf.h</file>
+ <file>/usr/include/cairo/cairo-ps.h</file>
+ <file>/usr/include/cairo/cairo-script.h</file>
+ <file>/usr/include/cairo/cairo-svg.h</file>
+ <file>/usr/include/cairo/cairo-version.h</file>
+ <file>/usr/lib/libcairo.so*</file>
+ </necessary>
+ <include_path>/usr/include/cairo</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcairo.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="calendar-service">
+ <email>yj99.shin@samsung.com</email>
+ <email>jk.koo@samsung.com</email>
+ <email>iamjs.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="libcalendar-service" arch="i686"/>
+ <rpm accept="calendar-service-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libcalendar-service" arch="armv7l"/>
+ <rpm accept="calendar-service-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libcalendar-service" arch="riscv32"/>
+ <rpm accept="calendar-service-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/calendar-service2/calendar_db.h</file>
+ <file>/usr/include/calendar-service2/calendar_errors.h</file>
+ <file>/usr/include/calendar-service2/calendar_filter.h</file>
+ <file>/usr/include/calendar-service2/calendar.h</file>
+ <file>/usr/include/calendar-service2/calendar_list.h</file>
+ <file>/usr/include/calendar-service2/calendar_query.h</file>
+ <file>/usr/include/calendar-service2/calendar_record.h</file>
+ <file>/usr/include/calendar-service2/calendar_reminder.h</file>
+ <file>/usr/include/calendar-service2/calendar_service.h</file>
+ <file>/usr/include/calendar-service2/calendar_types.h</file>
+ <file>/usr/include/calendar-service2/calendar_vcalendar.h</file>
+ <file>/usr/include/calendar-service2/calendar_view.h</file>
+ <file>/usr/lib/libcalendar-service2.so*</file>
+ </necessary>
+ <include_path>/usr/include/calendar-service2</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcalendar-service2.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-alarm">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-alarm" arch="i686"/>
+ <rpm accept="capi-appfw-alarm-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-alarm" arch="armv7l"/>
+ <rpm accept="capi-appfw-alarm-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-alarm" arch="riscv32"/>
+ <rpm accept="capi-appfw-alarm-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/app_alarm.h</file>
+ <file>/usr/lib/libcapi-appfw-alarm.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-alarm.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-application">
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-app-common" arch="i686"/>
+ <rpm accept="capi-appfw-app-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-app-common" arch="armv7l"/>
+ <rpm accept="capi-appfw-app-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-app-common" arch="riscv32"/>
+ <rpm accept="capi-appfw-app-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/app_common.h</file>
+ <file>/usr/include/appfw/app_types.h</file>
+ <file>/usr/include/appfw/app_resource_manager.h</file>
+ <file>/usr/include/appfw/app_i18n.h</file>
+ <file>/usr/lib/libcapi-appfw-app-common.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-app-common.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-application">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-app-control" arch="i686"/>
+ <rpm accept="capi-appfw-app-control-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-app-control" arch="armv7l"/>
+ <rpm accept="capi-appfw-app-control-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-app-control" arch="riscv32"/>
+ <rpm accept="capi-appfw-app-control-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/app_control.h</file>
+ <file>/usr/include/appfw/app_control_uri.h</file>
+ <file>/usr/lib/libcapi-appfw-app-control.so*</file>
+ <file>/usr/lib/libcapi-appfw-app-control-uri.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-app-control.so</library>
+ <library>libcapi-appfw-app-control-uri.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-app-manager">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <email>mk5004.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-app-manager" arch="i686"/>
+ <rpm accept="capi-appfw-app-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-app-manager" arch="armv7l"/>
+ <rpm accept="capi-appfw-app-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-app-manager" arch="riscv32"/>
+ <rpm accept="capi-appfw-app-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/app_context.h</file>
+ <file>/usr/include/appfw/app_info.h</file>
+ <file>/usr/include/appfw/app_manager.h</file>
+ <file>/usr/lib/libcapi-appfw-app-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-app-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-application">
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-application" arch="i686"/>
+ <rpm accept="capi-appfw-application-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-application" arch="armv7l"/>
+ <rpm accept="capi-appfw-application-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-application" arch="riscv32"/>
+ <rpm accept="capi-appfw-application-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/app.h</file>
+ <file>/usr/lib/libcapi-appfw-application.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-application.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-component-manager">
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-component-manager" arch="i686"/>
+ <rpm accept="capi-appfw-component-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-component-manager" arch="armv7l"/>
+ <rpm accept="capi-appfw-component-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-component-manager" arch="riscv32"/>
+ <rpm accept="capi-appfw-component-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/component_context.h</file>
+ <file>/usr/include/appfw/component_info.h</file>
+ <file>/usr/include/appfw/component_manager.h</file>
+ <file>/usr/lib/libcapi-appfw-component-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-component-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-application">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-event" arch="i686"/>
+ <rpm accept="capi-appfw-event-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-event" arch="armv7l"/>
+ <rpm accept="capi-appfw-event-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-event" arch="riscv32"/>
+ <rpm accept="capi-appfw-event-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/app_event.h</file>
+ <file>/usr/lib/libcapi-appfw-event.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-event.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-job-scheduler">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <email>h.jhun@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-job-scheduler" arch="i686"/>
+ <rpm accept="capi-appfw-job-scheduler-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-job-scheduler" arch="armv7l"/>
+ <rpm accept="capi-appfw-job-scheduler-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-job-scheduler" arch="riscv32"/>
+ <rpm accept="capi-appfw-job-scheduler-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/job_error.h</file>
+ <file>/usr/include/appfw/job_info.h</file>
+ <file>/usr/include/appfw/job_scheduler.h</file>
+ <file>/usr/lib/libcapi-appfw-job-scheduler.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-job-scheduler.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-package-manager">
+ <email>sm79.lee@samsung.com</email>
+ <email>jungh.yeon@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-package-manager" arch="i686"/>
+ <rpm accept="capi-appfw-package-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-package-manager" arch="armv7l"/>
+ <rpm accept="capi-appfw-package-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-package-manager" arch="riscv32"/>
+ <rpm accept="capi-appfw-package-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/package_archive_info.h</file>
+ <file>/usr/include/appfw/package_info.h</file>
+ <file>/usr/include/appfw/package_manager.h</file>
+ <file>/usr/lib/libcapi-appfw-package-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-package-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-application">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-preference" arch="i686"/>
+ <rpm accept="capi-appfw-preference-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-preference" arch="armv7l"/>
+ <rpm accept="capi-appfw-preference-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-preference" arch="riscv32"/>
+ <rpm accept="capi-appfw-preference-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/app_preference.h</file>
+ <file>/usr/lib/libcapi-appfw-preference.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-preference.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-service-application appcore-agent">
+ <email>sm79.lee@samsung.com</email>
+ <email>jongmyeong.ko@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-service-application-devel" arch="i686"/>
+ <rpm accept="appcore-agent" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-service-application-devel" arch="armv7l"/>
+ <rpm accept="appcore-agent" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-service-application-devel" arch="riscv32"/>
+ <rpm accept="appcore-agent" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appcore-agent/service_app.h</file>
+ <file>/usr/lib/libappcore-agent.so*</file>
+ </necessary>
+ <include_path>/usr/include/appcore-agent</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libappcore-agent.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-base-common">
+ <email>hobum.kwon@samsung.com</email>
+ <email>dydot1.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-base-common" arch="i686"/>
+ <rpm accept="capi-base-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-base-common" arch="armv7l"/>
+ <rpm accept="capi-base-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-base-common" arch="riscv32"/>
+ <rpm accept="capi-base-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/tizen_error.h</file>
+ <file>/usr/include/tizen.h</file>
+ <file>/usr/include/tizen_type.h</file>
+ <file>/usr/lib/libcapi-base-common.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-base-common.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-base-utils">
+ <email>hj0426.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-base-utils" arch="i686"/>
+ <rpm accept="capi-base-utils-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-base-utils" arch="armv7l"/>
+ <rpm accept="capi-base-utils-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-base-utils" arch="riscv32"/>
+ <rpm accept="capi-base-utils-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/base/utils_i18n.h</file>
+ <file>/usr/include/base/utils_i18n_alpha_idx.h</file>
+ <file>/usr/include/base/utils_i18n_field_position.h</file>
+ <file>/usr/include/base/utils_i18n_format.h</file>
+ <file>/usr/include/base/utils_i18n_formattable.h</file>
+ <file>/usr/include/base/utils_i18n_measure.h</file>
+ <file>/usr/include/base/utils_i18n_measure_format.h</file>
+ <file>/usr/include/base/utils_i18n_measure_unit.h</file>
+ <file>/usr/include/base/utils_i18n_parse_position.h</file>
+ <file>/usr/include/base/utils_i18n_timezone.h</file>
+ <file>/usr/include/base/utils_i18n_types.h</file>
+ <file>/usr/include/base/utils_i18n_ubrk.h</file>
+ <file>/usr/include/base/utils_i18n_ucalendar.h</file>
+ <file>/usr/include/base/utils_i18n_uchar.h</file>
+ <file>/usr/include/base/utils_i18n_ucollator.h</file>
+ <file>/usr/include/base/utils_i18n_udate.h</file>
+ <file>/usr/include/base/utils_i18n_udatepg.h</file>
+ <file>/usr/include/base/utils_i18n_uenumeration.h</file>
+ <file>/usr/include/base/utils_i18n_ulocale.h</file>
+ <file>/usr/include/base/utils_i18n_unormalization.h</file>
+ <file>/usr/include/base/utils_i18n_unumber.h</file>
+ <file>/usr/include/base/utils_i18n_usearch.h</file>
+ <file>/usr/include/base/utils_i18n_uset.h</file>
+ <file>/usr/include/base/utils_i18n_ustring.h</file>
+ <file>/usr/include/base/utils_i18n_ushape.h</file>
+ <file>/usr/include/base/utils_i18n_utmscale.h</file>
+ <file>/usr/include/base/utils_i18n_uversion.h</file>
+ <file>/usr/include/base/utils_i18n_ubidi.h</file>
+ <file>/usr/include/base/utils_i18n_uchar_iter.h</file>
+ <file>/usr/include/base/utils_i18n_plural_rules.h</file>
+ <file>/usr/include/base/utils_i18n_plural_format.h</file>
+ <file>/usr/include/base/utils_i18n_immutable_idx.h</file>
+ <file>/usr/include/base/utils_i18n_date_interval.h</file>
+ <file>/usr/include/base/utils_i18n_date_interval_format.h</file>
+ <file>/usr/include/base/utils_i18n_simple_date_format.h</file>
+ <file>/usr/include/base/utils_i18n_loc_disp_names.h</file>
+ <file>/usr/include/base/utils_i18n_unumsys.h</file>
+ <file>/usr/include/base/utils_i18n_utext.h</file>
+ <file>/usr/include/base/utils_i18n_uscript.h</file>
+ <file>/usr/include/base/utils_i18n_uidna.h</file>
+ <file>/usr/include/base/utils_i18n_ucnv.h</file>
+ <file>/usr/include/base/utils_i18n_ucnvsel.h</file>
+ <file>/usr/include/base/utils_i18n_ucsdet.h</file>
+ <file>/usr/include/base/utils_i18n_ures.h</file>
+ <file>/usr/lib/libbase-utils-i18n.so*</file>
+ </necessary>
+ <include_path>/usr/include/base</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libbase-utils-i18n.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-content-media-content">
+ <email>heechul.jeon@samsung.com</email>
+ <email>yy9875.kim@samsung.com</email>
+ <email>jiyong.min@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-content-media-content" arch="i686"/>
+ <rpm accept="capi-content-media-content-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-content-media-content" arch="armv7l"/>
+ <rpm accept="capi-content-media-content-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-content-media-content" arch="riscv32"/>
+ <rpm accept="capi-content-media-content-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media-content/media_audio.h</file>
+ <file>/usr/include/media-content/media_book.h</file>
+ <file>/usr/include/media-content/media_bookmark.h</file>
+ <file>/usr/include/media-content/media_content.h</file>
+ <file>/usr/include/media-content/media_content_type.h</file>
+ <file>/usr/include/media-content/media_face.h</file>
+ <file>/usr/include/media-content/media_filter.h</file>
+ <file>/usr/include/media-content/media_folder.h</file>
+ <file>/usr/include/media-content/media_group.h</file>
+ <file>/usr/include/media-content/media_image.h</file>
+ <file>/usr/include/media-content/media_info.h</file>
+ <file>/usr/include/media-content/media_playlist.h</file>
+ <file>/usr/include/media-content/media_tag.h</file>
+ <file>/usr/include/media-content/media_video.h</file>
+ <file>/usr/lib/libcapi-content-media-content.so*</file>
+ </necessary>
+ <include_path>/usr/include/media-content</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-content-media-content.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-content-mime-type">
+ <email>sm79.lee@samsung.com</email>
+ <email>inkyun.kil@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-content-mime-type" arch="i686"/>
+ <rpm accept="capi-content-mime-type-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-content-mime-type" arch="armv7l"/>
+ <rpm accept="capi-content-mime-type-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-content-mime-type" arch="riscv32"/>
+ <rpm accept="capi-content-mime-type-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/content/mime_type.h</file>
+ <file>/usr/lib/libcapi-content-mime-type.so*</file>
+ </necessary>
+ <include_path>/usr/include/content</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-content-mime-type.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-context">
+ <email>somin926.kim@samsung.com</email>
+ <email>muwoong.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-context" arch="i686"/>
+ <rpm accept="capi-context-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-context" arch="armv7l"/>
+ <rpm accept="capi-context-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-context" arch="riscv32"/>
+ <rpm accept="capi-context-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/context-service/context_history.h</file>
+ <file>/usr/include/context-service/context_trigger.h</file>
+ <file>/usr/lib/libcapi-context.so*</file>
+ </necessary>
+ <include_path>/usr/include/context-service</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-context.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-data-control">
+ <email>sm79.lee@samsung.com</email>
+ <email>jongmyeong.ko@samsung.com</email>
+ <email>hhstark.kang@samsung.com</email>
+ <emulator>
+ <rpm accept="data-control" arch="i686"/>
+ <rpm accept="data-control-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="data-control" arch="armv7l"/>
+ <rpm accept="data-control-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="data-control" arch="riscv32"/>
+ <rpm accept="data-control-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/data_control.h</file>
+ <file>/usr/include/appfw/data_control_bulk.h</file>
+ <file>/usr/include/appfw/data_control_noti.h</file>
+ <file>/usr/include/appfw/data_control_map.h</file>
+ <file>/usr/include/appfw/data_control_provider.h</file>
+ <file>/usr/include/appfw/data_control_sql_cursor.h</file>
+ <file>/usr/include/appfw/data_control_sql.h</file>
+ <file>/usr/include/appfw/data_control_types.h</file>
+ <file>/usr/lib/libdata-control.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libdata-control.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-geofence-manager">
+ <emulator>
+ <rpm accept="capi-geofence-manager" arch="i686"/>
+ <rpm accept="capi-geofence-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-geofence-manager" arch="armv7l"/>
+ <rpm accept="capi-geofence-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-geofence-manager" arch="riscv32"/>
+ <rpm accept="capi-geofence-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/geofence/geofence_manager.h</file>
+ <file>/usr/include/geofence/geofence_type.h</file>
+ <file>/usr/lib/libcapi-geofence-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/geofence</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-geofence-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-location-manager">
+ <email>ohoon.kwon@samsung.com</email>
+ <email>youngae.kang@samsung.com</email>
+ <email>kj7.sung@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-location-manager" arch="i686"/>
+ <rpm accept="capi-location-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-location-manager" arch="armv7l"/>
+ <rpm accept="capi-location-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-location-manager" arch="riscv32"/>
+ <rpm accept="capi-location-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/location/location_bounds.h</file>
+ <file>/usr/include/location/locations.h</file>
+ <file>/usr/lib/libcapi-location-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/location</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-location-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-machine-learning-inference">
+ <email>myungjoo.ham@samsung.com</email>
+ <email>jy1210.jung@samsung.com</email>
+ <email>sangjung.woo@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-machine-learning-inference" arch="i686"/>
+ <rpm accept="capi-machine-learning-inference-single" arch="i686"/>
+ <rpm accept="capi-machine-learning-common" arch="i686"/>
+ <rpm accept="capi-machine-learning-inference-devel" arch="i686"/>
+ <rpm accept="capi-machine-learning-inference-single-devel" arch="i686"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-machine-learning-inference" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-inference-single" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-common" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-inference-devel" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-inference-single-devel" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-machine-learning-inference" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-inference-single" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-common" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-inference-devel" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-inference-single-devel" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/nnstreamer/nnstreamer-single.h</file>
+ <file>/usr/include/nnstreamer/nnstreamer.h</file>
+ <file>/usr/include/nnstreamer/ml-api-common.h</file>
+ <file>/usr/lib/libcapi-nnstreamer.so*</file>
+ <file>/usr/lib/libcapi-ml-inference-single.so*</file>
+ <file>/usr/lib/libcapi-ml-common.so*</file>
+ </necessary>
+ <include_path>/usr/include/nnstreamer</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-nnstreamer.so</library>
+ <library>libcapi-ml-inference-single.so</library>
+ <library>libcapi-ml-common.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-machine-learning-service">
+ <email>myungjoo.ham@samsung.com</email>
+ <email>jy1210.jung@samsung.com</email>
+ <email>sangjung.woo@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-machine-learning-service" arch="i686"/>
+ <rpm accept="capi-machine-learning-common" arch="i686"/>
+ <rpm accept="capi-machine-learning-service-devel" arch="i686"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-machine-learning-service" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-common" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-service-devel" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-machine-learning-service" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-common" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-service-devel" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/nnstreamer/ml-api-common.h</file>
+ <file>/usr/include/nnstreamer/ml-api-service.h</file>
+ <file>/usr/lib/libcapi-ml-service.so*</file>
+ <file>/usr/lib/libcapi-ml-common.so*</file>
+ </necessary>
+ <include_path>/usr/include/nnstreamer</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-ml-service.so</library>
+ <library>libcapi-ml-common.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-machine-learning-training">
+ <email>myungjoo.ham@samsung.com</email>
+ <email>jijoong.moon@samsung.com</email>
+ <email>pk.kapoor@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-machine-learning-training" arch="i686"/>
+ <rpm accept="capi-machine-learning-common" arch="i686"/>
+ <rpm accept="capi-machine-learning-training-devel" arch="i686"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-machine-learning-training" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-common" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-training-devel" arch="armv7l"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-machine-learning-training" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-common" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-training-devel" arch="riscv32"/>
+ <rpm accept="capi-machine-learning-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/nnstreamer/ml-api-common.h</file>
+ <file>/usr/include/nntrainer/nntrainer-api-common.h</file>
+ <file>/usr/include/nntrainer/nntrainer.h</file>
+ <file>/usr/lib/libcapi-nntrainer.so*</file>
+ <file>/usr/lib/libcapi-ml-common.so*</file>
+ </necessary>
+ <include_path>/usr/include/nntrainer</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-nntrainer.so</library>
+ <library>libcapi-ml-common.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-maps-service">
+ <emulator>
+ <rpm accept="capi-maps-service" arch="i686"/>
+ <rpm accept="capi-maps-service-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-maps-service" arch="armv7l"/>
+ <rpm accept="capi-maps-service-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-maps-service" arch="riscv32"/>
+ <rpm accept="capi-maps-service-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/maps/maps_types.h</file>
+ <file>/usr/include/maps/maps_service.h</file>
+ <file>/usr/include/maps/maps_address.h</file>
+ <file>/usr/include/maps/maps_area.h</file>
+ <file>/usr/include/maps/maps_coordinates.h</file>
+ <file>/usr/include/maps/maps_error.h</file>
+ <file>/usr/include/maps/maps_place.h</file>
+ <file>/usr/include/maps/maps_place_attribute.h</file>
+ <file>/usr/include/maps/maps_place_category.h</file>
+ <file>/usr/include/maps/maps_place_contact.h</file>
+ <file>/usr/include/maps/maps_place_editorial.h</file>
+ <file>/usr/include/maps/maps_place_filter.h</file>
+ <file>/usr/include/maps/maps_place_image.h</file>
+ <file>/usr/include/maps/maps_place_link_object.h</file>
+ <file>/usr/include/maps/maps_place_media.h</file>
+ <file>/usr/include/maps/maps_place_rating.h</file>
+ <file>/usr/include/maps/maps_place_review.h</file>
+ <file>/usr/include/maps/maps_place_url.h</file>
+ <file>/usr/include/maps/maps_preference.h</file>
+ <file>/usr/include/maps/maps_route.h</file>
+ <file>/usr/include/maps/maps_route_maneuver.h</file>
+ <file>/usr/include/maps/maps_route_segment.h</file>
+ <file>/usr/include/maps/maps_view.h</file>
+ <file>/usr/include/maps/maps_view_object.h</file>
+ <file>/usr/include/maps/maps_view_event_data.h</file>
+ <file>/usr/include/maps/maps_view_snapshot.h</file>
+ <file>/usr/lib/libcapi-maps-service.so*</file>
+ </necessary>
+ <include_path>/usr/include/maps</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-maps-service.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-audio-io">
+ <email>heechul.jeon@samsung.com</email>
+ <email>dh8210.kim@samsung.com</email>
+ <email>sy7787.jeong@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-audio-io" arch="i686"/>
+ <rpm accept="capi-media-audio-io-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-audio-io" arch="armv7l"/>
+ <rpm accept="capi-media-audio-io-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-audio-io" arch="riscv32"/>
+ <rpm accept="capi-media-audio-io-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/audio_io.h</file>
+ <file>/usr/lib/libcapi-media-audio-io.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-audio-io.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-camera">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ht1211.kim@samsung.com</email>
+ <email>jm80.yang@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-camera" arch="i686"/>
+ <rpm accept="capi-media-camera-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-camera" arch="armv7l"/>
+ <rpm accept="capi-media-camera-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-camera" arch="riscv32"/>
+ <rpm accept="capi-media-camera-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/camera.h</file>
+ <file>/usr/lib/libcapi-media-camera.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-camera.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-codec">
+ <email>heechul.jeon@samsung.com</email>
+ <email>jk7704.seo@samsung.com</email>
+ <email>sejun79.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-codec" arch="i686"/>
+ <rpm accept="capi-media-codec-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-codec" arch="armv7l"/>
+ <rpm accept="capi-media-codec-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-codec" arch="riscv32"/>
+ <rpm accept="capi-media-codec-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/media_codec.h</file>
+ <file>/usr/lib/libcapi-media-codec.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-codec.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-controller">
+ <email>heechul.jeon@samsung.com</email>
+ <email>backto.kim@samsung.com</email>
+ <email>jiyong.min@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-controller" arch="i686"/>
+ <rpm accept="capi-media-controller-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-controller" arch="armv7l"/>
+ <rpm accept="capi-media-controller-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-controller" arch="riscv32"/>
+ <rpm accept="capi-media-controller-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/media_controller_client.h</file>
+ <file>/usr/include/media/media_controller_server.h</file>
+ <file>/usr/include/media/media_controller_type.h</file>
+ <file>/usr/include/media/media_controller_playlist.h</file>
+ <file>/usr/include/media/media_controller_metadata.h</file>
+ <file>/usr/lib/libcapi-media-controller.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-controller.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-editor">
+ <email>heechul.jeon@samsung.com</email>
+ <email>haesu.gwon@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-editor" arch="i686"/>
+ <rpm accept="capi-media-editor-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-editor" arch="armv7l"/>
+ <rpm accept="capi-media-editor-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-editor" arch="riscv32"/>
+ <rpm accept="capi-media-editor-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/media_editor.h</file>
+ <file>/usr/lib/libcapi-media-editor.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-editor.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-image-util">
+ <email>heechul.jeon@samsung.com</email>
+ <email>yh8004.kim@samsung.com</email>
+ <email>jiyong.min@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-image-util" arch="i686"/>
+ <rpm accept="capi-media-image-util-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-image-util" arch="armv7l"/>
+ <rpm accept="capi-media-image-util-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-image-util" arch="riscv32"/>
+ <rpm accept="capi-media-image-util-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/image_util.h</file>
+ <file>/usr/include/media/image_util_type.h</file>
+ <file>/usr/include/media/image_util_decode.h</file>
+ <file>/usr/include/media/image_util_encode.h</file>
+ <file>/usr/lib/libcapi-media-image-util.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-image-util.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-metadata-editor">
+ <emulator>
+ <rpm accept="capi-media-metadata-editor" arch="i686"/>
+ <rpm accept="capi-media-metadata-editor-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-metadata-editor" arch="armv7l"/>
+ <rpm accept="capi-media-metadata-editor-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-metadata-editor" arch="riscv32"/>
+ <rpm accept="capi-media-metadata-editor-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/metadata-editor/metadata_editor.h</file>
+ <file>/usr/include/metadata-editor/metadata_editor_type.h</file>
+ <file>/usr/lib/libcapi-media-metadata-editor.so*</file>
+ </necessary>
+ <include_path>/usr/include/metadata-editor</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-metadata-editor.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-metadata-extractor">
+ <email>heechul.jeon@samsung.com</email>
+ <email>yy9875.kim@samsung.com</email>
+ <email>minje.ahn@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-metadata-extractor" arch="i686"/>
+ <rpm accept="capi-media-metadata-extractor-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-metadata-extractor" arch="armv7l"/>
+ <rpm accept="capi-media-metadata-extractor-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-metadata-extractor" arch="riscv32"/>
+ <rpm accept="capi-media-metadata-extractor-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/metadata_extractor.h</file>
+ <file>/usr/include/media/metadata_extractor_type.h</file>
+ <file>/usr/lib/libcapi-media-metadata-extractor.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-metadata-extractor.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-player">
+ <email>heechul.jeon@samsung.com</email>
+ <email>eunhae1.choi@samsung.com</email>
+ <email>gilbok.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-player" arch="i686"/>
+ <rpm accept="capi-media-player-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-player" arch="armv7l"/>
+ <rpm accept="capi-media-player-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-player" arch="riscv32"/>
+ <rpm accept="capi-media-player-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/player.h</file>
+ <file>/usr/lib/libcapi-media-player.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-player.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-radio">
+ <email>heechul.jeon@samsung.com</email>
+ <email>sangjin0924.sim@samsung.com</email>
+ <email>gilbok.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-radio" arch="i686"/>
+ <rpm accept="capi-media-radio-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-radio" arch="armv7l"/>
+ <rpm accept="capi-media-radio-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-radio" arch="riscv32"/>
+ <rpm accept="capi-media-radio-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/radio.h</file>
+ <file>/usr/lib/libcapi-media-radio.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-radio.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-recorder">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ht1211.kim@samsung.com</email>
+ <email>jm80.yang@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-recorder" arch="i686"/>
+ <rpm accept="capi-media-recorder-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-recorder" arch="armv7l"/>
+ <rpm accept="capi-media-recorder-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-recorder" arch="riscv32"/>
+ <rpm accept="capi-media-recorder-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/recorder.h</file>
+ <file>/usr/lib/libcapi-media-recorder.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-recorder.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-screen-mirroring">
+ <email>heechul.jeon@samsung.com</email>
+ <email>zzoon.ko@samsung.com</email>
+ <email>sk1122.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-screen-mirroring" arch="i686"/>
+ <rpm accept="capi-media-screen-mirroring-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-screen-mirroring" arch="armv7l"/>
+ <rpm accept="capi-media-screen-mirroring-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-screen-mirroring" arch="riscv32"/>
+ <rpm accept="capi-media-screen-mirroring-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/scmirroring_sink.h</file>
+ <file>/usr/include/media/scmirroring_type.h</file>
+ <file>/usr/lib/libcapi-media-screen-mirroring.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-screen-mirroring.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-sound-manager">
+ <email>heechul.jeon@samsung.com</email>
+ <email>seungbae.shin@samsung.com</email>
+ <email>sc11.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-sound-manager" arch="i686"/>
+ <rpm accept="capi-media-sound-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-sound-manager" arch="armv7l"/>
+ <rpm accept="capi-media-sound-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-sound-manager" arch="riscv32"/>
+ <rpm accept="capi-media-sound-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/sound_manager.h</file>
+ <file>/usr/lib/libcapi-media-sound-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-sound-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-sound-pool">
+ <email>heechul.jeon@samsung.com</email>
+ <email>seungbae.shin@samsung.com</email>
+ <email>aravind.gara@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-sound-pool" arch="i686"/>
+ <rpm accept="capi-media-sound-pool-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-sound-pool" arch="armv7l"/>
+ <rpm accept="capi-media-sound-pool-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-sound-pool" arch="riscv32"/>
+ <rpm accept="capi-media-sound-pool-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/sound_pool.h</file>
+ <file>/usr/include/media/sound_pool_type.h</file>
+ <file>/usr/lib/libcapi-media-sound-pool.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-sound-pool.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-thumbnail-util">
+ <emulator>
+ <rpm accept="capi-media-thumbnail-util" arch="i686"/>
+ <rpm accept="capi-media-thumbnail-util-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-thumbnail-util" arch="armv7l"/>
+ <rpm accept="capi-media-thumbnail-util-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-thumbnail-util" arch="riscv32"/>
+ <rpm accept="capi-media-thumbnail-util-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/thumbnail_util.h</file>
+ <file>/usr/include/media/thumbnail_util_type.h</file>
+ <file>/usr/lib/libcapi-media-thumbnail-util.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-thumbnail-util.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-tone-player">
+ <email>heechul.jeon@samsung.com</email>
+ <email>dh8210.kim@samsung.com</email>
+ <email>sy7787.jeong@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-tone-player" arch="i686"/>
+ <rpm accept="capi-media-tone-player-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-tone-player" arch="armv7l"/>
+ <rpm accept="capi-media-tone-player-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-tone-player" arch="riscv32"/>
+ <rpm accept="capi-media-tone-player-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/tone_player.h</file>
+ <file>/usr/lib/libcapi-media-tone-player.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-tone-player.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-tool">
+ <email>heechul.jeon@samsung.com</email>
+ <email>jm80.yang@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-tool" arch="i686"/>
+ <rpm accept="capi-media-tool-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-tool" arch="armv7l"/>
+ <rpm accept="capi-media-tool-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-tool" arch="riscv32"/>
+ <rpm accept="capi-media-tool-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/media_format.h</file>
+ <file>/usr/include/media/media_packet.h</file>
+ <file>/usr/include/media/media_packet_pool.h</file>
+ <file>/usr/lib/libcapi-media-tool.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-tool.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-vision-3d">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ty83.chung@samsung.com</email>
+ <email>sangho.g.park@samsung.com</email>
+ <email>hance.park@samsung.com</email>
+ <email>inki.dae@samsung.com</email>
+ <email>k.son@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-vision-common" arch="i686"/>
+ <rpm accept="capi-media-vision-common-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-3d" arch="i686"/>
+ <rpm accept="capi-media-vision-3d-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-vision-common" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-3d" arch="armv7l"/>
+ <rpm accept="capi-media-vision-3d-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-vision-common" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-3d" arch="riscv32"/>
+ <rpm accept="capi-media-vision-3d-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mv_common.h</file>
+ <file>/usr/include/media/mv_3d.h</file>
+ <file>/usr/include/media/mv_3d_type.h</file>
+ <file>/usr/lib/libmv_common*.so*</file>
+ <file>/usr/lib/libmv_3d*.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmv_3d.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-vision-barcode">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ty83.chung@samsung.com</email>
+ <email>sangho.g.park@samsung.com</email>
+ <email>choi.sh@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-vision-barcode" arch="i686"/>
+ <rpm accept="capi-media-vision-barcode-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-common" arch="i686"/>
+ <rpm accept="capi-media-vision-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-vision-barcode" arch="armv7l"/>
+ <rpm accept="capi-media-vision-barcode-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-vision-barcode" arch="riscv32"/>
+ <rpm accept="capi-media-vision-barcode-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mv_common.h</file>
+ <file>/usr/include/media/mv_barcode.h</file>
+ <file>/usr/include/media/mv_barcode_detect.h</file>
+ <file>/usr/include/media/mv_barcode_generate.h</file>
+ <file>/usr/include/media/mv_barcode_type.h</file>
+ <file>/usr/lib/libmv_common*.so*</file>
+ <file>/usr/lib/libmv_barcode*.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmv_barcode_detector.so</library>
+ <library>libmv_barcode_generator.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-vision-face">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ty83.chung@samsung.com</email>
+ <email>sangho.g.park@samsung.com</email>
+ <email>choi.sh@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-vision-face" arch="i686"/>
+ <rpm accept="capi-media-vision-face-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-common" arch="i686"/>
+ <rpm accept="capi-media-vision-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-vision-face" arch="armv7l"/>
+ <rpm accept="capi-media-vision-face-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-vision-face" arch="riscv32"/>
+ <rpm accept="capi-media-vision-face-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mv_common.h</file>
+ <file>/usr/include/media/mv_face.h</file>
+ <file>/usr/include/media/mv_face_type.h</file>
+ <file>/usr/lib/libmv_common*.so*</file>
+ <file>/usr/lib/libmv_face*.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmv_face.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-vision-image">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ty83.chung@samsung.com</email>
+ <email>sangho.g.park@samsung.com</email>
+ <email>choi.sh@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-vision-image" arch="i686"/>
+ <rpm accept="capi-media-vision-image-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-common" arch="i686"/>
+ <rpm accept="capi-media-vision-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-vision-image" arch="armv7l"/>
+ <rpm accept="capi-media-vision-image-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-vision-image" arch="riscv32"/>
+ <rpm accept="capi-media-vision-image-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mv_common.h</file>
+ <file>/usr/include/media/mv_image.h</file>
+ <file>/usr/include/media/mv_image_type.h</file>
+ <file>/usr/lib/libmv_common*.so*</file>
+ <file>/usr/lib/libmv_image.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmv_image.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-vision-machine_learning">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ty83.chung@samsung.com</email>
+ <email>sangho.g.park@samsung.com</email>
+ <email>hance.park@samsung.com</email>
+ <email>inki.dae@samsung.com</email>
+ <email>k.son@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-vision-machine_learning" arch="i686"/>
+ <rpm accept="capi-media-vision-machine_learning-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-common" arch="i686"/>
+ <rpm accept="capi-media-vision-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-vision-machine_learning" arch="armv7l"/>
+ <rpm accept="capi-media-vision-machine_learning-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-vision-machine_learning" arch="riscv32"/>
+ <rpm accept="capi-media-vision-machine_learning-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mv_common.h</file>
+ <file>/usr/include/media/mv_inference.h</file>
+ <file>/usr/include/media/mv_inference_type.h</file>
+ <file>/usr/include/media/mv_face_recognition.h</file>
+ <file>/usr/include/media/mv_face_recognition_type.h</file>
+ <file>/usr/include/media/mv_face_detection.h</file>
+ <file>/usr/include/media/mv_face_detection_type.h</file>
+ <file>/usr/include/media/mv_facial_landmark.h</file>
+ <file>/usr/include/media/mv_facial_landmark_type.h</file>
+ <file>/usr/include/media/mv_image_classification.h</file>
+ <file>/usr/include/media/mv_image_classification_type.h</file>
+ <file>/usr/include/media/mv_object_detection.h</file>
+ <file>/usr/include/media/mv_object_detection_type.h</file>
+ <file>/usr/include/media/mv_pose_landmark.h</file>
+ <file>/usr/include/media/mv_pose_landmark_type.h</file>
+ <file>/usr/lib/libmv_common*.so*</file>
+ <file>/usr/lib/libmv_inference*.so*</file>
+ <file>/usr/lib/libmv_training.so*</file>
+ <file>/usr/lib/libmv_face_recognition.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmv_common.so</library>
+ <library>libmv_inference.so</library>
+ <library>libmv_training.so</library>
+ <library>libmv_face_recognition.so</library>
+ <library>libmv_image_classification.so</library>
+ <library>libmv_object_detection.so</library>
+ <library>libmv_landmark_detection.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-vision-roi_tracker">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ty83.chung@samsung.com</email>
+ <email>sangho.g.park@samsung.com</email>
+ <email>hance.park@samsung.com</email>
+ <email>inki.dae@samsung.com</email>
+ <email>k.son@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-vision-common" arch="i686"/>
+ <rpm accept="capi-media-vision-common-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-roi_tracker" arch="i686"/>
+ <rpm accept="capi-media-vision-roi_tracker-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-vision-common" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-roi_tracker" arch="armv7l"/>
+ <rpm accept="capi-media-vision-roi_tracker-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-vision-common" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-roi_tracker" arch="riscv32"/>
+ <rpm accept="capi-media-vision-roi_tracker-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mv_common.h</file>
+ <file>/usr/include/media/mv_roi_tracker.h</file>
+ <file>/usr/include/media/mv_roi_tracker_type.h</file>
+ <file>/usr/lib/libmv_common*.so*</file>
+ <file>/usr/lib/libmv_roi_tracker*.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmv_roi_tracker.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-vision">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ty83.chung@samsung.com</email>
+ <email>andy.shlee@samsung.com</email>
+ <email>jm80.yang@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-vision" arch="i686"/>
+ <rpm accept="capi-media-vision-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-common" arch="i686"/>
+ <rpm accept="capi-media-vision-common-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-barcode" arch="i686"/>
+ <rpm accept="capi-media-vision-barcode-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-image" arch="i686"/>
+ <rpm accept="capi-media-vision-image-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-machine_learning" arch="i686"/>
+ <rpm accept="capi-media-vision-machine_learning-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-face" arch="i686"/>
+ <rpm accept="capi-media-vision-face-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-surveillance" arch="i686"/>
+ <rpm accept="capi-media-vision-surveillance-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-roi_tracker" arch="i686"/>
+ <rpm accept="capi-media-vision-roi_tracker-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-3d" arch="i686"/>
+ <rpm accept="capi-media-vision-3d-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-vision" arch="armv7l"/>
+ <rpm accept="capi-media-vision-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-barcode" arch="armv7l"/>
+ <rpm accept="capi-media-vision-barcode-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-image" arch="armv7l"/>
+ <rpm accept="capi-media-vision-image-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-machine_learning" arch="armv7l"/>
+ <rpm accept="capi-media-vision-machine_learning-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-face" arch="armv7l"/>
+ <rpm accept="capi-media-vision-face-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-surveillance" arch="armv7l"/>
+ <rpm accept="capi-media-vision-surveillance-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-roi_tracker" arch="armv7l"/>
+ <rpm accept="capi-media-vision-roi_tracker-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-3d" arch="armv7l"/>
+ <rpm accept="capi-media-vision-3d-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-vision" arch="riscv32"/>
+ <rpm accept="capi-media-vision-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-barcode" arch="riscv32"/>
+ <rpm accept="capi-media-vision-barcode-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-image" arch="riscv32"/>
+ <rpm accept="capi-media-vision-image-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-machine_learning" arch="riscv32"/>
+ <rpm accept="capi-media-vision-machine_learning-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-face" arch="riscv32"/>
+ <rpm accept="capi-media-vision-face-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-surveillance" arch="riscv32"/>
+ <rpm accept="capi-media-vision-surveillance-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-roi_tracker" arch="riscv32"/>
+ <rpm accept="capi-media-vision-roi_tracker-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-3d" arch="riscv32"/>
+ <rpm accept="capi-media-vision-3d-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mv_common.h</file>
+ <file>/usr/include/media/mv_barcode_detect.h</file>
+ <file>/usr/include/media/mv_barcode_generate.h</file>
+ <file>/usr/include/media/mv_barcode_type.h</file>
+ <file>/usr/include/media/mv_barcode.h</file>
+ <file>/usr/include/media/mv_face_type.h</file>
+ <file>/usr/include/media/mv_face.h</file>
+ <file>/usr/include/media/mv_face_recognition_type.h</file>
+ <file>/usr/include/media/mv_image.h</file>
+ <file>/usr/include/media/mv_image_type.h</file>
+ <file>/usr/include/media/mv_surveillance.h</file>
+ <file>/usr/include/media/mv_inference.h</file>
+ <file>/usr/include/media/mv_inference_type.h</file>
+ <file>/usr/include/media/mv_roi_tracker_type.h</file>
+ <file>/usr/include/media/mv_roi_tracker.h</file>
+ <file>/usr/include/media/mv_3d.h</file>
+ <file>/usr/include/media/mv_3d_type.h</file>
+ <file>/usr/include/media/mv_face_recognition.h</file>
+ <file>/usr/include/media/mv_face_detection.h</file>
+ <file>/usr/include/media/mv_face_detection_type.h</file>
+ <file>/usr/include/media/mv_facial_landmark.h</file>
+ <file>/usr/include/media/mv_facial_landmark_type.h</file>
+ <file>/usr/include/media/mv_image_classification.h</file>
+ <file>/usr/include/media/mv_image_classification_type.h</file>
+ <file>/usr/include/media/mv_object_detection.h</file>
+ <file>/usr/include/media/mv_object_detection_type.h</file>
+ <file>/usr/include/media/mv_pose_landmark.h</file>
+ <file>/usr/include/media/mv_pose_landmark_type.h</file>
+ <file>/usr/lib/libmv*.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmv_common.so</library>
+ <library>libmv_face.so</library>
+ <library>libmv_image.so</library>
+ <library>libmv_barcode_detector.so</library>
+ <library>libmv_barcode_generator.so</library>
+ <library>libmv_surveillance.so</library>
+ <library>libmv_inference.so</library>
+ <library>libmv_roi_tracker.so</library>
+ <library>libmv_3d.so</library>
+ <library>libmv_face_recognition.so</library>
+ <library>libmv_image_classification.so</library>
+ <library>libmv_object_detection.so</library>
+ <library>libmv_landmark_detection.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-vision-surveillance">
+ <email>heechul.jeon@samsung.com</email>
+ <email>ty83.chung@samsung.com</email>
+ <email>sangho.g.park@samsung.com</email>
+ <email>choi.sh@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-vision-surveillance" arch="i686"/>
+ <rpm accept="capi-media-vision-surveillance-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-face" arch="i686"/>
+ <rpm accept="capi-media-vision-face-devel" arch="i686"/>
+ <rpm accept="capi-media-vision-common" arch="i686"/>
+ <rpm accept="capi-media-vision-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-vision-surveillance" arch="armv7l"/>
+ <rpm accept="capi-media-vision-surveillance-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-face" arch="armv7l"/>
+ <rpm accept="capi-media-vision-face-devel" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common" arch="armv7l"/>
+ <rpm accept="capi-media-vision-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-vision-surveillance" arch="riscv32"/>
+ <rpm accept="capi-media-vision-surveillance-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-face" arch="riscv32"/>
+ <rpm accept="capi-media-vision-face-devel" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common" arch="riscv32"/>
+ <rpm accept="capi-media-vision-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mv_common.h</file>
+ <file>/usr/include/media/mv_face.h</file>
+ <file>/usr/include/media/mv_face_type.h</file>
+ <file>/usr/include/media/mv_surveillance.h</file>
+ <file>/usr/lib/libmv_common*.so*</file>
+ <file>/usr/lib/libmv_face*.so*</file>
+ <file>/usr/lib/libmv_surveillance.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmv_surveillance.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-wav-player">
+ <email>heechul.jeon@samsung.com</email>
+ <email>dh8210.kim@samsung.com</email>
+ <email>sy7787.jeong@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-wav-player" arch="i686"/>
+ <rpm accept="capi-media-wav-player-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-wav-player" arch="armv7l"/>
+ <rpm accept="capi-media-wav-player-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-wav-player" arch="riscv32"/>
+ <rpm accept="capi-media-wav-player-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/wav_player.h</file>
+ <file>/usr/lib/libcapi-media-wav-player.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-wav-player.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-media-webrtc">
+ <email>heechul.jeon@samsung.com</email>
+ <email>sc11.lee@samsung.com</email>
+ <email>backto.kim@samsung.com</email>
+ <email>hyunil46.park@samsung.com</email>
+ <email>yh8004.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-media-webrtc" arch="i686"/>
+ <rpm accept="capi-media-webrtc-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-media-webrtc" arch="armv7l"/>
+ <rpm accept="capi-media-webrtc-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-media-webrtc" arch="riscv32"/>
+ <rpm accept="capi-media-webrtc-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/webrtc.h</file>
+ <file>/usr/lib/libcapi-media-webrtc.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-media-webrtc.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-mediademuxer">
+ <email>heechul.jeon@samsung.com</email>
+ <email>jk7704.seo@samsung.com</email>
+ <email>gilbok.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-mediademuxer" arch="i686"/>
+ <rpm accept="capi-mediademuxer-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-mediademuxer" arch="armv7l"/>
+ <rpm accept="capi-mediademuxer-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-mediademuxer" arch="riscv32"/>
+ <rpm accept="capi-mediademuxer-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mediademuxer.h</file>
+ <file>/usr/lib/libcapi-mediademuxer.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-mediademuxer.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-mediamuxer">
+ <email>heechul.jeon@samsung.com</email>
+ <email>jk7704.seo@samsung.com</email>
+ <email>gilbok.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-mediamuxer" arch="i686"/>
+ <rpm accept="capi-mediamuxer-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-mediamuxer" arch="armv7l"/>
+ <rpm accept="capi-mediamuxer-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-mediamuxer" arch="riscv32"/>
+ <rpm accept="capi-mediamuxer-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/media/mediamuxer.h</file>
+ <file>/usr/lib/libcapi-mediamuxer.so*</file>
+ </necessary>
+ <include_path>/usr/include/media</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-mediamuxer.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-message-port">
+ <email>sm79.lee@samsung.com</email>
+ <email>jongmyeong.ko@samsung.com</email>
+ <emulator>
+ <rpm accept="message-port" arch="i686"/>
+ <rpm accept="message-port-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="message-port" arch="armv7l"/>
+ <rpm accept="message-port-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="message-port" arch="riscv32"/>
+ <rpm accept="message-port-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/message_port.h</file>
+ <file>/usr/lib/libmessage-port.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmessage-port.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-messaging-email">
+ <email>sanghun.chung@samsung.com</email>
+ <email>sh0701.kwon@samsung.com</email>
+ <email>minnsoo.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-messaging-email" arch="i686"/>
+ <rpm accept="capi-messaging-email-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-messaging-email" arch="armv7l"/>
+ <rpm accept="capi-messaging-email-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-messaging-email" arch="riscv32"/>
+ <rpm accept="capi-messaging-email-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/messaging/email_error.h</file>
+ <file>/usr/include/messaging/email.h</file>
+ <file>/usr/include/messaging/email_types.h</file>
+ <file>/usr/lib/libcapi-messaging-email.so*</file>
+ </necessary>
+ <include_path>/usr/include/messaging</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-messaging-email.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-messaging-messages">
+ <email>sanghun.chung@samsung.com</email>
+ <email>sangkoo.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-messaging-messages" arch="i686"/>
+ <rpm accept="capi-messaging-messages-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-messaging-messages" arch="armv7l"/>
+ <rpm accept="capi-messaging-messages-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-messaging-messages" arch="riscv32"/>
+ <rpm accept="capi-messaging-messages-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/messaging/messages_error.h</file>
+ <file>/usr/include/messaging/messages.h</file>
+ <file>/usr/include/messaging/messages_types.h</file>
+ <file>/usr/lib/libcapi-messaging-messages.so*</file>
+ </necessary>
+ <include_path>/usr/include/messaging</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-messaging-messages.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-asp">
+ <email>steve.jun@samsung.com</email>
+ <email>chleun.moon@samsung.com</email>
+ <email>jiung.yu@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-asp" arch="i686"/>
+ <rpm accept="capi-network-asp-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-asp" arch="armv7l"/>
+ <rpm accept="capi-network-asp-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-asp" arch="riscv32"/>
+ <rpm accept="capi-network-asp-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/asp/asp.h</file>
+ <file>/usr/lib/libasp.so*</file>
+ </necessary>
+ <include_path>/usr/include/asp/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libasp.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-bluetooth">
+ <email>steve.jun@samsung.com</email>
+ <email>dh79.pyun@samsung.com</email>
+ <email>tt.woo@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-bluetooth" arch="i686"/>
+ <rpm accept="capi-network-bluetooth-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-bluetooth" arch="armv7l"/>
+ <rpm accept="capi-network-bluetooth-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-bluetooth" arch="riscv32"/>
+ <rpm accept="capi-network-bluetooth-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/bluetooth.h</file>
+ <file>/usr/include/network/bluetooth_type.h</file>
+ <file>/usr/lib/libcapi-network-bluetooth.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-bluetooth.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-connection">
+ <email>steve.jun@samsung.com</email>
+ <email>taesub.kim@samsung.com</email>
+ <email>seonah1.moon@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-connection" arch="i686"/>
+ <rpm accept="capi-network-connection-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-connection" arch="armv7l"/>
+ <rpm accept="capi-network-connection-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-connection" arch="riscv32"/>
+ <rpm accept="capi-network-connection-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/connection_profile.h</file>
+ <file>/usr/include/network/net_connection.h</file>
+ <file>/usr/lib/libcapi-network-connection.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-connection.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-http">
+ <email>steve.jun@samsung.com</email>
+ <email>taesub.kim@samsung.com</email>
+ <email>seonah1.moon@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-http" arch="i686"/>
+ <rpm accept="capi-network-http-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-http" arch="armv7l"/>
+ <rpm accept="capi-network-http-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-http" arch="riscv32"/>
+ <rpm accept="capi-network-http-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/http.h</file>
+ <file>/usr/lib/libcapi-network-http.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-http.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-inm">
+ <email>taesub.kim@samsung.com</email>
+ <email>jiung.yu@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-inm" arch="i686"/>
+ <rpm accept="capi-network-inm-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-inm" arch="armv7l"/>
+ <rpm accept="capi-network-inm-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-inm" arch="riscv32"/>
+ <rpm accept="capi-network-inm-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/inm.h</file>
+ <file>/usr/lib/libcapi-network-inm.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-inm.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-mtp">
+ <email>steve.jun@samsung.com</email>
+ <email>hh.chae@samsung.com</email>
+ <email>jh8801.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-mtp" arch="i686"/>
+ <rpm accept="capi-network-mtp-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-mtp" arch="armv7l"/>
+ <rpm accept="capi-network-mtp-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-mtp" arch="riscv32"/>
+ <rpm accept="capi-network-mtp-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/mtp.h</file>
+ <file>/usr/lib/libcapi-network-mtp.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-mtp.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-nfc">
+ <email>steve.jun@samsung.com</email>
+ <email>jh8801.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-nfc" arch="i686"/>
+ <rpm accept="capi-network-nfc-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-nfc" arch="armv7l"/>
+ <rpm accept="capi-network-nfc-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-nfc" arch="riscv32"/>
+ <rpm accept="capi-network-nfc-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/nfc.h</file>
+ <file>/usr/lib/libcapi-network-nfc.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-nfc.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-nsd">
+ <email>steve.jun@samsung.com</email>
+ <email>chleun.moon@samsung.com</email>
+ <email>jiung.yu@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-nsd" arch="i686"/>
+ <rpm accept="capi-network-nsd-devel" arch="i686"/>
+ <rpm accept="libnsd-dns-sd" arch="i686"/>
+ <rpm accept="libnsd-ssdp" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-nsd" arch="armv7l"/>
+ <rpm accept="capi-network-nsd-devel" arch="armv7l"/>
+ <rpm accept="libnsd-dns-sd" arch="armv7l"/>
+ <rpm accept="libnsd-ssdp" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-nsd" arch="riscv32"/>
+ <rpm accept="capi-network-nsd-devel" arch="riscv32"/>
+ <rpm accept="libnsd-dns-sd" arch="riscv32"/>
+ <rpm accept="libnsd-ssdp" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/nsd/dns-sd.h</file>
+ <file>/usr/include/nsd/ssdp.h</file>
+ <file>/usr/lib/libnsd-dns-sd.so*</file>
+ <file>/usr/lib/libnsd-ssdp.so*</file>
+ </necessary>
+ <include_path>/usr/include/nsd/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libnsd-dns-sd.so</library>
+ <library>libnsd-ssdp.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-smartcard">
+ <email>steve.jun@samsung.com</email>
+ <email>jh8801.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-smartcard" arch="i686"/>
+ <rpm accept="capi-network-smartcard-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-smartcard" arch="armv7l"/>
+ <rpm accept="capi-network-smartcard-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-smartcard" arch="riscv32"/>
+ <rpm accept="capi-network-smartcard-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/smartcard.h</file>
+ <file>/usr/lib/libcapi-network-smartcard.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-smartcard.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-softap">
+ <email>chleun.moon@samsung.com</email>
+ <email>seonah1.moon@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-softap" arch="i686"/>
+ <rpm accept="capi-network-softap-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-softap" arch="armv7l"/>
+ <rpm accept="capi-network-softap-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-softap" arch="riscv32"/>
+ <rpm accept="capi-network-softap-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/softap.h</file>
+ <file>/usr/lib/libcapi-network-softap.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-softap.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-stc">
+ <email>steve.jun@samsung.com</email>
+ <email>jeik01.kim@samsung.com</email>
+ <email>hyunuk.tak@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-stc" arch="i686"/>
+ <rpm accept="capi-network-stc-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-stc" arch="armv7l"/>
+ <rpm accept="capi-network-stc-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-stc" arch="riscv32"/>
+ <rpm accept="capi-network-stc-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/stc.h</file>
+ <file>/usr/lib/libcapi-network-stc.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-stc.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-ua">
+ <email>dh79.pyun@samsung.com</email>
+ <email>hyunuk.tak@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-ua" arch="i686"/>
+ <rpm accept="capi-network-ua-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-ua" arch="armv7l"/>
+ <rpm accept="capi-network-ua-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-ua" arch="riscv32"/>
+ <rpm accept="capi-network-ua-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/user-awareness.h</file>
+ <file>/usr/include/user-awareness-type.h</file>
+ <file>/usr/lib/libcapi-network-ua.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-ua.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-wifi-aware">
+ <email>chleun.moon@samsung.com</email>
+ <email>seonah1.moon@samsung.com</email>
+ <email>jeik01.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-wifi-aware" arch="i686"/>
+ <rpm accept="capi-network-wifi-aware-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-wifi-aware" arch="armv7l"/>
+ <rpm accept="capi-network-wifi-aware-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-wifi-aware" arch="riscv32"/>
+ <rpm accept="capi-network-wifi-aware-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/wifi-aware.h</file>
+ <file>/usr/lib/libcapi-network-wifi-aware.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-wifi-aware.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-wifi-direct">
+ <email>steve.jun@samsung.com</email>
+ <email>jiung.yu@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-wifi-direct" arch="i686"/>
+ <rpm accept="capi-network-wifi-direct-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-wifi-direct" arch="armv7l"/>
+ <rpm accept="capi-network-wifi-direct-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-wifi-direct" arch="riscv32"/>
+ <rpm accept="capi-network-wifi-direct-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/wifi-direct/wifi-direct.h</file>
+ <file>/usr/lib/libwifi-direct.so*</file>
+ </necessary>
+ <include_path>/usr/include/wifi-direct</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libwifi-direct.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-wifi-manager">
+ <email>steve.jun@samsung.com</email>
+ <email>jeik01.kim@samsung.com</email>
+ <email>hyunuk.tak@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-wifi-manager" arch="i686"/>
+ <rpm accept="capi-network-wifi-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-wifi-manager" arch="armv7l"/>
+ <rpm accept="capi-network-wifi-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-wifi-manager" arch="riscv32"/>
+ <rpm accept="capi-network-wifi-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/wifi-manager.h</file>
+ <file>/usr/lib/libcapi-network-wifi-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-wifi-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-privacy-privilege-manager">
+ <email>kd0228.kim@samsung.com</email>
+ <email>z.abramowska@samsung.com</email>
+ <email>p.sawicki2@partner.samsung.com</email>
+ <emulator>
+ <rpm accept="capi-privacy-privilege-manager" arch="i686"/>
+ <rpm accept="askuser-notification-devel" arch="i686"/>
+ <rpm accept="libaskuser-notification-common" arch="i686"/>
+ <rpm accept="askuser-notification-client" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-privacy-privilege-manager" arch="armv7l"/>
+ <rpm accept="askuser-notification-devel" arch="armv7l"/>
+ <rpm accept="libaskuser-notification-common" arch="armv7l"/>
+ <rpm accept="askuser-notification-client" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-privacy-privilege-manager" arch="riscv32"/>
+ <rpm accept="askuser-notification-devel" arch="riscv32"/>
+ <rpm accept="libaskuser-notification-common" arch="riscv32"/>
+ <rpm accept="askuser-notification-client" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/privacy-privilege-manager/privacy_privilege_manager.h</file>
+ <file>/usr/include/privacy-privilege-manager/ppm_error.h</file>
+ <file>/usr/lib/libcapi-privacy-privilege-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/privacy-privilege-manager/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-privacy-privilege-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-device">
+ <email>hyotaek.shim@samsung.com</email>
+ <email>changjoo.lee@samsung.com</email>
+ <email>pr.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-device" arch="i686"/>
+ <rpm accept="capi-system-device-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-device" arch="armv7l"/>
+ <rpm accept="capi-system-device-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-device" arch="riscv32"/>
+ <rpm accept="capi-system-device-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/device/battery.h</file>
+ <file>/usr/include/device/callback.h</file>
+ <file>/usr/include/device/device-error.h</file>
+ <file>/usr/include/device/display.h</file>
+ <file>/usr/include/device/display-enum.h</file>
+ <file>/usr/include/device/haptic.h</file>
+ <file>/usr/include/device/led.h</file>
+ <file>/usr/include/device/power.h</file>
+ <file>/usr/include/device/ir.h</file>
+ <file>/usr/include/device/temperature.h</file>
+ <file>/usr/lib/libcapi-system-device.so*</file>
+ </necessary>
+ <include_path>/usr/include/device</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-device.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-info">
+ <email>knhoon.baik@samsung.com</email>
+ <email>ty317.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-info" arch="i686"/>
+ <rpm accept="capi-system-info-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-info" arch="armv7l"/>
+ <rpm accept="capi-system-info-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-info" arch="riscv32"/>
+ <rpm accept="capi-system-info-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/system/system_info.h</file>
+ <file>/usr/include/system/system_info_type.h</file>
+ <file>/usr/lib/libcapi-system-info.so*</file>
+ </necessary>
+ <include_path>/usr/include/system</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-info.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-media-key">
+ <email>sm79.lee@samsung.com</email>
+ <email>inkyun.kil@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-media-key" arch="i686"/>
+ <rpm accept="capi-system-media-key-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-media-key" arch="armv7l"/>
+ <rpm accept="capi-system-media-key-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-media-key" arch="riscv32"/>
+ <rpm accept="capi-system-media-key-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/system/media_key.h</file>
+ <file>/usr/lib/libcapi-system-media-key.so*</file>
+ </necessary>
+ <include_path>/usr/include/system</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-media-key.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-peripheral-io">
+ <email>knhoon.baik@samsung.com</email>
+ <email>kibak.yoon@samsung.com</email>
+ <email>segwon.han@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-peripheral-io" arch="i686"/>
+ <rpm accept="capi-system-peripheral-io-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-peripheral-io" arch="armv7l"/>
+ <rpm accept="capi-system-peripheral-io-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-peripheral-io" arch="riscv32"/>
+ <rpm accept="capi-system-peripheral-io-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/peripheral_io.h</file>
+ <file>/usr/lib/libcapi-system-peripheral-io.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-peripheral-io.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-resource-monitor">
+ <email>cw00.choi@samsung.com</email>
+ <email>dwoo08.lee@samsung.com</email>
+ <email>sfoon.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-resource-monitor" arch="i686"/>
+ <rpm accept="capi-system-resource-monitor-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-resource-monitor" arch="armv7l"/>
+ <rpm accept="capi-system-resource-monitor-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-resource-monitor" arch="riscv32"/>
+ <rpm accept="capi-system-resource-monitor-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/system/resource-monitor.h</file>
+ <file>/usr/lib/libcapi-system-resource-monitor.so*</file>
+ </necessary>
+ <include_path>/usr/include/system</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-resource-monitor.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-runtime-info">
+ <email>knhoon.baik@samsung.com</email>
+ <email>an.prajwal@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-runtime-info" arch="i686"/>
+ <rpm accept="capi-system-runtime-info-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-runtime-info" arch="armv7l"/>
+ <rpm accept="capi-system-runtime-info-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-runtime-info" arch="riscv32"/>
+ <rpm accept="capi-system-runtime-info-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/system/runtime_info.h</file>
+ <file>/usr/lib/libcapi-system-runtime-info.so*</file>
+ </necessary>
+ <include_path>/usr/include/system</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-runtime-info.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-sensor">
+ <email>hongkuk.son@samsung.com</email>
+ <email>kibak.yoon@samsung.com</email>
+ <email>muwoong.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-sensor" arch="i686"/>
+ <rpm accept="capi-system-sensor-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-sensor" arch="armv7l"/>
+ <rpm accept="capi-system-sensor-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-sensor" arch="riscv32"/>
+ <rpm accept="capi-system-sensor-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/sensor/sensor.h</file>
+ <file>/usr/lib/libcapi-system-sensor.so*</file>
+ </necessary>
+ <include_path>/usr/include/sensor</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-sensor.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-system-settings">
+ <email>mj2004.park@samsung.com</email>
+ <email>hj0426.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-system-settings" arch="i686"/>
+ <rpm accept="capi-system-system-settings-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-system-settings" arch="armv7l"/>
+ <rpm accept="capi-system-system-settings-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-system-settings" arch="riscv32"/>
+ <rpm accept="capi-system-system-settings-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/system/system_settings.h</file>
+ <file>/usr/lib/libcapi-system-system-settings.so*</file>
+ </necessary>
+ <include_path>/usr/include/system</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-system-settings.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-usbhost">
+ <email>hyotaek.shim@samsung.com</email>
+ <email>changjoo.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-usbhost" arch="i686"/>
+ <rpm accept="capi-system-usbhost-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-usbhost" arch="armv7l"/>
+ <rpm accept="capi-system-usbhost-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-usbhost" arch="riscv32"/>
+ <rpm accept="capi-system-usbhost-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/usb_host.h</file>
+ <file>/usr/lib/libcapi-system-usbhost.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-usbhost.so</library>
+</rootstrap>
+
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-telephony">
+ <email>steve.jun@samsung.com</email>
+ <email>jooseok.park@samsung.com</email>
+ <email>wootak.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-telephony" arch="i686"/>
+ <rpm accept="capi-telephony-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-telephony" arch="armv7l"/>
+ <rpm accept="capi-telephony-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-telephony" arch="riscv32"/>
+ <rpm accept="capi-telephony-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/telephony/telephony_call.h</file>
+ <file>/usr/include/telephony/telephony_common.h</file>
+ <file>/usr/include/telephony/telephony.h</file>
+ <file>/usr/include/telephony/telephony_modem.h</file>
+ <file>/usr/include/telephony/telephony_network.h</file>
+ <file>/usr/include/telephony/telephony_sim.h</file>
+ <file>/usr/lib/libcapi-telephony.so*</file>
+ </necessary>
+ <include_path>/usr/include/telephony</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-telephony.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-ui-autofill">
+ <email>sehwan@samsung.com</email>
+ <email>jihoon48.kim@samsung.com</email>
+ <email>inhong1.kim@samsung.com</email>
+ <email>dalton.lee@samsung.com</email>
+ <email>sungwook79.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-ui-autofill" arch="i686"/>
+ <rpm accept="capi-ui-autofill-devel" arch="i686"/>
+ <rpm accept="capi-ui-autofill-common" arch="i686"/>
+ <rpm accept="capi-ui-autofill-common-devel" arch="i686"/>
+ <rpm accept="capi-ui-autofill-service" arch="i686"/>
+ <rpm accept="capi-ui-autofill-service-devel" arch="i686"/>
+ <rpm accept="capi-ui-autofill-manager" arch="i686"/>
+ <rpm accept="capi-ui-autofill-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-ui-autofill" arch="armv7l"/>
+ <rpm accept="capi-ui-autofill-devel" arch="armv7l"/>
+ <rpm accept="capi-ui-autofill-common" arch="armv7l"/>
+ <rpm accept="capi-ui-autofill-common-devel" arch="armv7l"/>
+ <rpm accept="capi-ui-autofill-service" arch="armv7l"/>
+ <rpm accept="capi-ui-autofill-service-devel" arch="armv7l"/>
+ <rpm accept="capi-ui-autofill-manager" arch="armv7l"/>
+ <rpm accept="capi-ui-autofill-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-ui-autofill" arch="riscv32"/>
+ <rpm accept="capi-ui-autofill-devel" arch="riscv32"/>
+ <rpm accept="capi-ui-autofill-common" arch="riscv32"/>
+ <rpm accept="capi-ui-autofill-common-devel" arch="riscv32"/>
+ <rpm accept="capi-ui-autofill-service" arch="riscv32"/>
+ <rpm accept="capi-ui-autofill-service-devel" arch="riscv32"/>
+ <rpm accept="capi-ui-autofill-manager" arch="riscv32"/>
+ <rpm accept="capi-ui-autofill-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/autofill_common.h</file>
+ <file>/usr/include/autofill.h</file>
+ <file>/usr/include/autofill_service.h</file>
+ <file>/usr/include/autofill_error.h</file>
+ <file>/usr/include/autofill_manager.h</file>
+ <file>/usr/lib/libcapi-ui-autofill-common.so*</file>
+ <file>/usr/lib/libcapi-ui-autofill-manager.so*</file>
+ <file>/usr/lib/libcapi-ui-autofill-service.so*</file>
+ <file>/usr/lib/libcapi-ui-autofill.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-ui-autofill.so</library>
+ <library>libcapi-ui-autofill-common.so</library>
+ <library>libcapi-ui-autofill-manager.so</library>
+ <library>libcapi-ui-autofill-service.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-ui-efl-util">
+ <email>lsj119@samsung.com</email>
+ <email>doyoun.kang@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-ui-efl-util" arch="i686"/>
+ <rpm accept="capi-ui-efl-util-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-ui-efl-util" arch="armv7l"/>
+ <rpm accept="capi-ui-efl-util-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-ui-efl-util" arch="riscv32"/>
+ <rpm accept="capi-ui-efl-util-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/ui/efl_util.h</file>
+ <file>/usr/lib/libcapi-ui-efl-util.so*</file>
+ </necessary>
+ <include_path>/usr/include/ui</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-ui-efl-util.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-ui-inputmethod-manager">
+ <email>sehwan@samsung.com</email>
+ <email>sungwook79.park@samsung.com</email>
+ <email>jihoon48.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-ui-inputmethod-manager" arch="i686"/>
+ <rpm accept="capi-ui-inputmethod-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-ui-inputmethod-manager" arch="armv7l"/>
+ <rpm accept="capi-ui-inputmethod-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-ui-inputmethod-manager" arch="riscv32"/>
+ <rpm accept="capi-ui-inputmethod-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/inputmethod_manager.h</file>
+ <file>/usr/lib/libcapi-ui-inputmethod-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-ui-inputmethod-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-ui-inputmethod">
+ <email>sehwan@samsung.com</email>
+ <email>sungwook79.park@samsung.com</email>
+ <email>jihoon48.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-ui-inputmethod" arch="i686"/>
+ <rpm accept="capi-ui-inputmethod-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-ui-inputmethod" arch="armv7l"/>
+ <rpm accept="capi-ui-inputmethod-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-ui-inputmethod" arch="riscv32"/>
+ <rpm accept="capi-ui-inputmethod-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/inputmethod.h</file>
+ <file>/usr/include/inputmethod_keydef.h</file>
+ <file>/usr/include/inputmethod_device_event.h</file>
+ <file>/usr/lib/libcapi-ui-inputmethod.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-ui-inputmethod.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-ui-sticker">
+ <email>sehwan@samsung.com</email>
+ <email>jihoon48.kim@samsung.com</email>
+ <email>inhong1.kim@samsung.com</email>
+ <email>dalton.lee@samsung.com</email>
+ <email>sungwook79.park@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-ui-sticker" arch="i686"/>
+ <rpm accept="capi-ui-sticker-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-ui-sticker" arch="armv7l"/>
+ <rpm accept="capi-ui-sticker-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-ui-sticker" arch="riscv32"/>
+ <rpm accept="capi-ui-sticker-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/sticker_error.h</file>
+ <file>/usr/include/sticker_data.h</file>
+ <file>/usr/include/sticker_consumer.h</file>
+ <file>/usr/include/sticker_provider.h</file>
+ <file>/usr/lib/libcapi-ui-sticker-consumer.so*</file>
+ <file>/usr/lib/libcapi-ui-sticker-provider.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-ui-sticker-consumer.so</library>
+ <library>libcapi-ui-sticker-provider.so</library>
+</rootstrap>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-vpnsvc">
+ <email>steve.jun@samsung.com</email>
+ <email>taesub.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-vpnsvc" arch="i686"/>
+ <rpm accept="capi-vpnsvc-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-vpnsvc" arch="armv7l"/>
+ <rpm accept="capi-vpnsvc-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-vpnsvc" arch="riscv32"/>
+ <rpm accept="capi-vpnsvc-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/vpn_service.h</file>
+ <file>/usr/lib/libcapi-vpnsvc.so*</file>
+ </necessary>
+ <include_path>/usr/include/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-vpnsvc.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-web-url-download">
+ <email>sung.h.cho@samsung.com</email>
+ <email>gloryj.kim@samsung.com</email>
+ <email>ji.guack@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-web-url-download" arch="i686"/>
+ <rpm accept="capi-web-url-download-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-web-url-download" arch="armv7l"/>
+ <rpm accept="capi-web-url-download-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-web-url-download" arch="riscv32"/>
+ <rpm accept="capi-web-url-download-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/web/download.h</file>
+ <file>/usr/lib/libcapi-web-url-download.so*</file>
+ </necessary>
+ <include_path>/usr/include/web</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-web-url-download.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="chromium-efl">
+ <email>sung.h.cho@samsung.com</email>
+ <email>jc0204.park@samsung.com</email>
+ <emulator>
+ <rpm accept="chromium-efl" arch="i686"/>
+ <rpm accept="chromium-efl-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="chromium-efl" arch="armv7l"/>
+ <rpm accept="chromium-efl-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="chromium-efl" arch="riscv32"/>
+ <rpm accept="chromium-efl-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/chromium-ewk/EWebKit.h</file>
+ <file>/usr/include/chromium-ewk/ewk_autofill_profile.h</file>
+ <file>/usr/include/chromium-ewk/ewk_back_forward_list.h</file>
+ <file>/usr/include/chromium-ewk/ewk_back_forward_list_item.h</file>
+ <file>/usr/include/chromium-ewk/ewk_context.h</file>
+ <file>/usr/include/chromium-ewk/ewk_context_menu.h</file>
+ <file>/usr/include/chromium-ewk/ewk_cookie_manager.h</file>
+ <file>/usr/include/chromium-ewk/ewk_error.h</file>
+ <file>/usr/include/chromium-ewk/ewk_intercept_request.h</file>
+ <file>/usr/include/chromium-ewk/ewk_geolocation.h</file>
+ <file>/usr/include/chromium-ewk/ewk_main.h</file>
+ <file>/usr/include/chromium-ewk/ewk_manifest.h</file>
+ <file>/usr/include/chromium-ewk/ewk_policy_decision.h</file>
+ <file>/usr/include/chromium-ewk/ewk_settings.h</file>
+ <file>/usr/include/chromium-ewk/ewk_security_origin.h</file>
+ <file>/usr/include/chromium-ewk/ewk_view.h</file>
+ <file>/usr/lib/libchromium-ewk.so*</file>
+ </necessary>
+ <include_path>/usr/include/chromium-ewk</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libchromium-ewk.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="cion">
+ <email>jh9216.park@samsung.com</email>
+ <email>jusung07.son@samsung.com</email>
+ <email>inkyun.kil@samsung.com</email>
+ <email>hhstark.kang@samsung.com</email>
+ <email>jeremy.jang@samsung.com</email>
+ <email>shine.kang@samsung.com</email>
+ <emulator>
+ <rpm accept="cion" arch="i686"/>
+ <rpm accept="cion-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="cion" arch="armv7l"/>
+ <rpm accept="cion-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="cion" arch="riscv32"/>
+ <rpm accept="cion-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/cion/cion_client.h</file>
+ <file>/usr/include/cion/cion_connection_result.h</file>
+ <file>/usr/include/cion/cion_error.h</file>
+ <file>/usr/include/cion/cion_group.h</file>
+ <file>/usr/include/cion/cion_payload_async_result.h</file>
+ <file>/usr/include/cion/cion_payload.h</file>
+ <file>/usr/include/cion/cion_peer_info.h</file>
+ <file>/usr/include/cion/cion_security.h</file>
+ <file>/usr/include/cion/cion_server.h</file>
+ <file>/usr/include/cion/cion.h</file>
+ <file>/usr/lib/libcion.so*</file>
+ </necessary>
+ <include_path>/usr/include/cion</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcion.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="component-based-application">
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="component-based-application" arch="i686"/>
+ <rpm accept="component-based-application-devel" arch="i686"/>
+ <rpm accept="component-based" arch="i686"/>
+ <rpm accept="component-based-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="component-based-application" arch="armv7l"/>
+ <rpm accept="component-based-application-devel" arch="armv7l"/>
+ <rpm accept="component-based" arch="armv7l"/>
+ <rpm accept="component-based-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="component-based-application" arch="riscv32"/>
+ <rpm accept="component-based-application-devel" arch="riscv32"/>
+ <rpm accept="component-based" arch="riscv32"/>
+ <rpm accept="component-based-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/component_based/base/api/component_common.h</file>
+ <file>/usr/include/component_based/efl_base/api/component_based_app.h</file>
+ <file>/usr/include/component_based/efl_base/api/frame_component.h</file>
+ <file>/usr/include/component_based/efl_base/api/service_component.h</file>
+ <file>/usr/lib/libcomponent-based-application.so*</file>
+ <file>/usr/lib/libcomponent-based-core-base.so*</file>
+ </necessary>
+ <include_path>/usr/include/component_based/base/api</include_path>
+ <include_path>/usr/include/component_based/efl_base/api</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcomponent-based-application.so</library>
+ <library>libcomponent-based-core-base.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="contacts-service">
+ <email>yj99.shin@samsung.com</email>
+ <email>jk.koo@samsung.com</email>
+ <email>iamjs.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="libcontacts-service" arch="i686"/>
+ <rpm accept="contacts-service-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libcontacts-service" arch="armv7l"/>
+ <rpm accept="contacts-service-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libcontacts-service" arch="riscv32"/>
+ <rpm accept="contacts-service-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/contacts-svc/contacts_activity.h</file>
+ <file>/usr/include/contacts-svc/contacts_db.h</file>
+ <file>/usr/include/contacts-svc/contacts_db_status.h</file>
+ <file>/usr/include/contacts-svc/contacts_errors.h</file>
+ <file>/usr/include/contacts-svc/contacts_filter.h</file>
+ <file>/usr/include/contacts-svc/contacts_group.h</file>
+ <file>/usr/include/contacts-svc/contacts.h</file>
+ <file>/usr/include/contacts-svc/contacts_list.h</file>
+ <file>/usr/include/contacts-svc/contacts_person.h</file>
+ <file>/usr/include/contacts-svc/contacts_phone_log.h</file>
+ <file>/usr/include/contacts-svc/contacts_query.h</file>
+ <file>/usr/include/contacts-svc/contacts_record.h</file>
+ <file>/usr/include/contacts-svc/contacts_service.h</file>
+ <file>/usr/include/contacts-svc/contacts_setting.h</file>
+ <file>/usr/include/contacts-svc/contacts_sim.h</file>
+ <file>/usr/include/contacts-svc/contacts_types.h</file>
+ <file>/usr/include/contacts-svc/contacts_vcard.h</file>
+ <file>/usr/include/contacts-svc/contacts_views.h</file>
+ <file>/usr/lib/libcontacts-service2.so*</file>
+ </necessary>
+ <include_path>/usr/include/contacts-svc</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcontacts-service2.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="csr-framework">
+ <email>kyung@samsung.com</email>
+ <email>ds73.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="csr-framework-devel" arch="i686"/>
+ <rpm accept="libcsr-framework-client" arch="i686"/>
+ <rpm accept="libcsr-framework-common" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="csr-framework-devel" arch="armv7l"/>
+ <rpm accept="libcsr-framework-client" arch="armv7l"/>
+ <rpm accept="libcsr-framework-common" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="csr-framework-devel" arch="riscv32"/>
+ <rpm accept="libcsr-framework-client" arch="riscv32"/>
+ <rpm accept="libcsr-framework-common" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/csr/csr-content-screening.h</file>
+ <file>/usr/include/csr/csr-content-screening-types.h</file>
+ <file>/usr/include/csr/csr-engine-manager.h</file>
+ <file>/usr/include/csr/csr-error.h</file>
+ <file>/usr/include/csr/csr-web-protection.h</file>
+ <file>/usr/include/csr/csr-web-protection-types.h</file>
+ <file>/usr/lib/libcsr-client.so*</file>
+ <file>/usr/lib/libcsr-common.so*</file>
+ </necessary>
+ <include_path>/usr/include/csr</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcsr-client.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="device-certificate-manager">
+ <email>ds73.lee@samsung.com</email>
+ <email>j.pelczar@samsung.com</email>
+ <email>d.michaluk@samsung.com</email>
+ <emulator>
+ <rpm accept="device-certificate-manager" arch="i686"/>
+ <rpm accept="device-certificate-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="device-certificate-manager" arch="armv7l"/>
+ <rpm accept="device-certificate-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="device-certificate-manager" arch="riscv32"/>
+ <rpm accept="device-certificate-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/device-certificate-manager/device_certificate_manager.h</file>
+ <file>/usr/lib/libdevice-certificate-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/device-certificate-manager</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libdevice-certificate-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="diagnostics">
+ <email>k.kuchciak@samsung.com</email>
+ <email>k.lewandowsk@samsung.com</email>
+ <emulator>
+ <rpm accept="diagnostics" arch="i686"/>
+ <rpm accept="diagnostics-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="diagnostics" arch="armv7l"/>
+ <rpm accept="diagnostics-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="diagnostics" arch="riscv32"/>
+ <rpm accept="diagnostics-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/diagnostics.h</file>
+ <file>/usr/lib/libdiagnostics.so*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libdiagnostics.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="dpm">
+ <email>jm77.ryu@samsung.com</email>
+ <emulator>
+ <rpm accept="libdpm" arch="i686"/>
+ <rpm accept="libdpm-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libdpm" arch="armv7l"/>
+ <rpm accept="libdpm-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libdpm" arch="riscv32"/>
+ <rpm accept="libdpm-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/dpm/device-policy-manager.h</file>
+ <file>/usr/include/dpm/password.h</file>
+ <file>/usr/include/dpm/restriction.h</file>
+ <file>/usr/include/dpm/security.h</file>
+ <file>/usr/include/dpm/zone.h</file>
+ <file>/usr/lib/libdpm.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libdpm.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>\r
+<rootstrap name="fido-client">\r
+ <emulator>\r
+ <rpm accept="fido-client" arch="i686"/>\r
+ <rpm accept="fido-client-devel" arch="i686"/>\r
+ </emulator>\r
+ <target>\r
+ <rpm accept="fido-client" arch="armv7l"/>\r
+ <rpm accept="fido-client-devel" arch="armv7l"/>\r
+ </target>\r
+ <riscv>\r
+ <rpm accept="fido-client" arch="riscv32"/>\r
+ <rpm accept="fido-client-devel" arch="riscv32"/>\r
+ </riscv>\r
+ <necessary>\r
+ <file>/usr/include/fido.h</file>\r
+ <file>/usr/include/fido_uaf_authenticator.h</file>\r
+ <file>/usr/include/fido_uaf_client.h</file>\r
+ <file>/usr/include/fido_uaf_types.h</file>\r
+ <file>/usr/lib/libfido-client.so*</file>\r
+ </necessary>\r
+ <unnecessary>\r
+ </unnecessary>\r
+ <include_path>/usr/include</include_path>\r
+ <library_path>/usr/lib</library_path>\r
+ <library>libfido-client.so</library>\r
+</rootstrap>\r
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="iotcon">
+ <email>yj99.shin@samsung.com</email>
+ <email>sung.goo.kim@samsung.com</email>
+ <email>yman.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="iotcon" arch="i686"/>
+ <rpm accept="iotcon-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="iotcon" arch="armv7l"/>
+ <rpm accept="iotcon-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="iotcon" arch="riscv32"/>
+ <rpm accept="iotcon-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/iotcon/iotcon-attributes.h</file>
+ <file>/usr/include/iotcon/iotcon-client.h</file>
+ <file>/usr/include/iotcon/iotcon-constant.h</file>
+ <file>/usr/include/iotcon/iotcon-errors.h</file>
+ <file>/usr/include/iotcon/iotcon-list.h</file>
+ <file>/usr/include/iotcon/iotcon-lite-resource.h</file>
+ <file>/usr/include/iotcon/iotcon-observers.h</file>
+ <file>/usr/include/iotcon/iotcon-options.h</file>
+ <file>/usr/include/iotcon/iotcon-query.h</file>
+ <file>/usr/include/iotcon/iotcon-remote-resource.h</file>
+ <file>/usr/include/iotcon/iotcon-representation.h</file>
+ <file>/usr/include/iotcon/iotcon-request.h</file>
+ <file>/usr/include/iotcon/iotcon-resource.h</file>
+ <file>/usr/include/iotcon/iotcon-resource-interfaces.h</file>
+ <file>/usr/include/iotcon/iotcon-resource-types.h</file>
+ <file>/usr/include/iotcon/iotcon-response.h</file>
+ <file>/usr/include/iotcon/iotcon-server.h</file>
+ <file>/usr/include/iotcon/iotcon-types.h</file>
+ <file>/usr/include/iotcon/iotcon.h</file>
+ <file>/usr/lib/libiotcon.so*</file>
+ </necessary>
+ <include_path>/usr/include/iotcon</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libiotcon.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="key-manager">
+ <email>kyung@samsung.com</email>
+ <email>ds73.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="libkey-manager-client-devel" arch="i686"/>
+ <rpm accept="libkey-manager-client" arch="i686"/>
+ <rpm accept="libkey-manager-common" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libkey-manager-client-devel" arch="armv7l"/>
+ <rpm accept="libkey-manager-client" arch="armv7l"/>
+ <rpm accept="libkey-manager-common" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libkey-manager-client-devel" arch="riscv32"/>
+ <rpm accept="libkey-manager-client" arch="riscv32"/>
+ <rpm accept="libkey-manager-common" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/ckm/ckmc/ckmc-error.h</file>
+ <file>/usr/include/ckm/ckmc/ckmc-extended.h</file>
+ <file>/usr/include/ckm/ckmc/ckmc-manager.h</file>
+ <file>/usr/include/ckm/ckmc/ckmc-type.h</file>
+ <file>/usr/lib/libkey-manager-client.so*</file>
+ </necessary>
+ <include_path>/usr/include/ckm</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libkey-manager-client.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libaccount-service">
+ <email>ohoon.kwon@samsung.com</email>
+ <email>jiseob.jang@samsung.com</email>
+ <email>jkjo92@samsung.com</email>
+ <email>ickhee.woo@samsung.com</email>
+ <emulator>
+ <rpm accept="libaccount-service" arch="i686"/>
+ <rpm accept="libaccount-service-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libaccount-service" arch="armv7l"/>
+ <rpm accept="libaccount-service-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libaccount-service" arch="riscv32"/>
+ <rpm accept="libaccount-service-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/account-error.h</file>
+ <file>/usr/include/account.h</file>
+ <file>/usr/include/account-types.h</file>
+ <file>/usr/lib/libaccounts-svc.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libaccounts-svc.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libcore-sync-client">
+ <email>ohoon.kwon@samsung.com</email>
+ <email>jkjo92@samsung.com</email>
+ <email>ickhee.woo@samsung.com</email>
+ <emulator>
+ <rpm accept="libcore-sync-client" arch="i686"/>
+ <rpm accept="libcore-sync-client-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libcore-sync-client" arch="armv7l"/>
+ <rpm accept="libcore-sync-client-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libcore-sync-client" arch="riscv32"/>
+ <rpm accept="libcore-sync-client-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/sync_adapter.h</file>
+ <file>/usr/include/sync_manager.h</file>
+ <file>/usr/include/sync-error.h</file>
+ <file>/usr/lib/libcore-sync-client.so*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcore-sync-client.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libdlog">
+ <email>hyotaek.shim@samsung.com</email>
+ <email>insun.pyo@samsung.com</email>
+ <email>sanghyeok.oh@samsung.com</email>
+ <emulator>
+ <rpm accept="libdlog" arch="i686"/>
+ <rpm accept="libdlog-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libdlog" arch="armv7l"/>
+ <rpm accept="libdlog-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libdlog" arch="riscv32"/>
+ <rpm accept="libdlog-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/dlog/dlog.h</file>
+ <file>/usr/lib/libdlog.so*</file>
+ </necessary>
+ <include_path>/usr/include/dlog</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libdlog.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libeom">
+
+ <!-- rpm package & arch -->
+ <emulator>
+ <rpm accept="libeom" arch="i686"/>
+ <rpm accept="libeom-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libeom" arch="armv7l"/>
+ <rpm accept="libeom-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libeom" arch="riscv32"/>
+ <rpm accept="libeom-devel" arch="riscv32"/>
+ </riscv>
+
+ <!-- file list for SDK -->
+ <necessary>
+ <file>/usr/include/eom/eom.h</file>
+ <file>/usr/lib/libeom.so*</file>
+ </necessary>
+ <unnecessary>
+ <file>/usr/include/eom/eom_internal.h</file>
+ <file>/usr/include/eom/eom-connect.h</file>
+ </unnecessary>
+
+ <!-- build option for SDK -->
+ <include_path>/usr/include/eom</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libeom.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libfeedback">
+ <email>hyotaek.shim@samsung.com</email>
+ <email>pr.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="libfeedback" arch="i686"/>
+ <rpm accept="libfeedback-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libfeedback" arch="armv7l"/>
+ <rpm accept="libfeedback-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libfeedback" arch="riscv32"/>
+ <rpm accept="libfeedback-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/feedback/feedback.h</file>
+ <file>/usr/include/feedback/feedback-ids.h</file>
+ <file>/usr/lib/libfeedback.so*</file>
+ </necessary>
+ <include_path>/usr/include/feedback</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libfeedback.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libpush">
+ <email>younho.park@samsung.com</email>
+ <email>ickhee.woo@samsung.com</email>
+ <emulator>
+ <rpm accept="libpush" arch="i686"/>
+ <rpm accept="libpush-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libpush" arch="armv7l"/>
+ <rpm accept="libpush-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libpush" arch="riscv32"/>
+ <rpm accept="libpush-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/push-service.h</file>
+ <file>/usr/lib/libpush.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libpush.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libshortcut">
+ <email>yjoo93.park@samsung.com</email>
+ <email>kyuho.jo@samsung.com</email>
+ <emulator>
+ <rpm accept="libshortcut" arch="i686"/>
+ <rpm accept="libshortcut-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libshortcut" arch="armv7l"/>
+ <rpm accept="libshortcut-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libshortcut" arch="riscv32"/>
+ <rpm accept="libshortcut-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/shortcut/shortcut_manager.h</file>
+ <file>/usr/include/shortcut/shortcut_error.h</file>
+ <file>/usr/lib/libshortcut.so*</file>
+ </necessary>
+ <include_path>/usr/include/shortcut</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libshortcut.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libstorage">
+ <email>hyotaek.shim@samsung.com</email>
+ <email>pr.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="libstorage" arch="i686"/>
+ <rpm accept="libstorage-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libstorage" arch="armv7l"/>
+ <rpm accept="libstorage-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libstorage" arch="riscv32"/>
+ <rpm accept="libstorage-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/storage/storage-expand.h</file>
+ <file>/usr/include/storage/storage.h</file>
+ <file>/usr/lib/libstorage.so*</file>
+ </necessary>
+ <include_path>/usr/include/storage</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libstorage.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libtbm">
+ <email>lsj119@samsung.com</email>
+ <email>sc1.lim@samsung.com</email>
+ <emulator>
+ <rpm accept="libtbm" arch="i686"/>
+ <rpm accept="libtbm-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libtbm" arch="armv7l"/>
+ <rpm accept="libtbm-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libtbm" arch="riscv32"/>
+ <rpm accept="libtbm-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/tbm_surface.h</file>
+ <file>/usr/include/tbm_type.h</file>
+ <file>/usr/lib/libtbm.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libtbm.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="minicontrol">
+ <email>yjoo93.park@samsung.com</email>
+ <email>kyuho.jo@samsung.com</email>
+ <emulator>
+ <rpm accept="minicontrol" arch="i686"/>
+ <rpm accept="minicontrol-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="minicontrol" arch="armv7l"/>
+ <rpm accept="minicontrol-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="minicontrol" arch="riscv32"/>
+ <rpm accept="minicontrol-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/minicontrol/minicontrol-error.h</file>
+ <file>/usr/include/minicontrol/minicontrol-provider.h</file>
+ <file>/usr/include/minicontrol/minicontrol-viewer.h</file>
+ <file>/usr/include/minicontrol/minicontrol-type.h</file>
+ <file>/usr/lib/libminicontrol-provider.so*</file>
+ <file>/usr/lib/libminicontrol-viewer.so*</file>
+ </necessary>
+ <include_path>/usr/include/minicontrol</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libminicontrol-provider.so</library>
+ <library>libminicontrol-viewer.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="mmi">
+ <email>dalton.lee@samsung.com</email>
+ <email>sejun79.park@samsung.com</email>
+ <email>dyamy.lee@samsung.com</email>
+ <email>sungwook79.park@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <email>sooyeon.kim@samsung.com</email>
+ <email>stom.hwang@samsung.com</email>
+ <emulator>
+ <rpm accept="mmi" arch="i686"/>
+ <rpm accept="mmi-plugins" arch="i686"/>
+ <rpm accept="mmi-cli" arch="i686"/>
+ <rpm accept="mmi-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="mmi" arch="armv7l"/>
+ <rpm accept="mmi-plugins" arch="armv7l"/>
+ <rpm accept="mmi-cli" arch="armv7l"/>
+ <rpm accept="mmi-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="mmi" arch="riscv32"/>
+ <rpm accept="mmi-plugins" arch="riscv32"/>
+ <rpm accept="mmi-cli" arch="riscv32"/>
+ <rpm accept="mmi-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/mmi/mmi.h</file>
+ <file>/usr/include/mmi/mmi-node.h</file>
+ <file>/usr/include/mmi/mmi-node-types.h</file>
+ <file>/usr/include/mmi/mmi-port.h</file>
+ <file>/usr/include/mmi/mmi-error.h</file>
+ <file>/usr/include/mmi/mmi-signal.h</file>
+ <file>/usr/include/mmi/mmi-attribute.h</file>
+ <file>/usr/include/mmi/mmi-primitive-value.h</file>
+ <file>/usr/include/mmi/mmi-data.h</file>
+ <file>/usr/include/mmi/mmi-workflow.h</file>
+ <file>/usr/lib/libmmi.so*</file>
+ <file>/usr/lib/libmmi_manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/mmi</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmmi.so</library>
+ <library>libmmi_manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="multi-assistant">
+ <email>sehwan@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <email>sooyeon.kim@samsung.com</email>
+ <email>stom.hwang@samsung.com</email>
+ <email>seongrae.jo@samsung.com</email>
+ <emulator>
+ <rpm accept="multi-assistant" arch="i686"/>
+ <rpm accept="multi-assistant-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="multi-assistant" arch="armv7l"/>
+ <rpm accept="multi-assistant-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="multi-assistant" arch="riscv32"/>
+ <rpm accept="multi-assistant-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/multi_assistant.h</file>
+ <file>/usr/include/multi_assistant_common.h</file>
+ <file>/usr/lib/libma.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libma.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="notification">
+ <email>yjoo93.park@samsung.com</email>
+ <email>kyuho.jo@samsung.com</email>
+ <emulator>
+ <rpm accept="notification" arch="i686"/>
+ <rpm accept="notification-devel" arch="i686"/>
+ <rpm accept="notification-ex" arch="i686"/>
+ <rpm accept="notification-ex-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="notification" arch="armv7l"/>
+ <rpm accept="notification-devel" arch="armv7l"/>
+ <rpm accept="notification-ex" arch="armv7l"/>
+ <rpm accept="notification-ex-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="notification" arch="riscv32"/>
+ <rpm accept="notification-devel" arch="riscv32"/>
+ <rpm accept="notification-ex" arch="riscv32"/>
+ <rpm accept="notification-ex-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/notification/notification_error.h</file>
+ <file>/usr/include/notification/notification.h</file>
+ <file>/usr/include/notification/notification_status.h</file>
+ <file>/usr/include/notification/notification_type.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_app_control_action.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_button.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_chat_message.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_checkbox.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_entry.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_error.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_event_info.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_group.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_image.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_input_selector.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_item.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_manager.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_progress.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_reporter.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_text.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_time.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_visibility_action.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex_multi_language.h</file>
+ <file>/usr/include/notification-ex/api/notification_ex.h</file>
+
+ <file>/usr/lib/libnotification.so*</file>
+ <file>/usr/lib/libnotification-ex.so*</file>
+ </necessary>
+ <include_path>/usr/include/notification</include_path>
+ <include_path>/usr/include/notification-ex</include_path>
+ <include_path>/usr/include/notification-ex/api</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libnotification.so</library>
+ <library>libnotification-ex.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="oauth2">
+ <emulator>
+ <rpm accept="oauth2" arch="i686"/>
+ <rpm accept="oauth2-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="oauth2" arch="armv7l"/>
+ <rpm accept="oauth2-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="oauth2" arch="riscv32"/>
+ <rpm accept="oauth2-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/oauth2.h</file>
+ <file>/usr/include/oauth2_manager.h</file>
+ <file>/usr/include/oauth2_request.h</file>
+ <file>/usr/include/oauth2_response.h</file>
+ <file>/usr/include/oauth2_error.h</file>
+ <file>/usr/include/oauth2_types.h</file>
+ <file>/usr/lib/liboauth2.so*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>liboauth2.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="phonenumber-utils">
+ <email>yj99.shin@samsung.com</email>
+ <email>jk.koo@samsung.com</email>
+ <email>iamjs.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="phonenumber-utils" arch="i686"/>
+ <rpm accept="phonenumber-utils-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="phonenumber-utils" arch="armv7l"/>
+ <rpm accept="phonenumber-utils-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="phonenumber-utils" arch="riscv32"/>
+ <rpm accept="phonenumber-utils-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/phonenumber-utils/phone_number.h</file>
+ <file>/usr/include/phonenumber-utils/phone_number_errors.h</file>
+ <file>/usr/include/phonenumber-utils/phone_number_types.h</file>
+ <file>/usr/include/phonenumber-utils/phone_number_blocking_rule.h</file>
+ <file>/usr/lib/libphonenumber-utils.so*</file>
+ </necessary>
+ <include_path>/usr/include/phonenumber-utils</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libphonenumber-utils.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="privilege-info">
+ <email>kyung@samsung.com</email>
+ <email>kd0228.kim@samsung.com</email>
+ <email>yunjin-.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="privilege-info" arch="i686"/>
+ <rpm accept="privilege-info-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="privilege-info" arch="armv7l"/>
+ <rpm accept="privilege-info-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="privilege-info" arch="riscv32"/>
+ <rpm accept="privilege-info-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/privilege_information.h</file>
+ <file>/usr/lib/libprivilege-info.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libprivilege-info.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="rpc-port">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="rpc-port" arch="i686"/>
+ <rpm accept="rpc-port-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="rpc-port" arch="armv7l"/>
+ <rpm accept="rpc-port-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="rpc-port" arch="riscv32"/>
+ <rpm accept="rpc-port-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/rpc-port/rpc-port.h</file>
+ <file>/usr/include/rpc-port/rpc-port-parcel.h</file>
+ <file>/usr/lib/librpc-port.so*</file>
+ </necessary>
+ <include_path>/usr/include/rpc-port</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>librpc-port.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="stt">
+ <email>sehwan@samsung.com</email>
+ <email>ky85.kim@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <email>sooyeon.kim@samsung.com</email>
+ <email>stom.hwang@samsung.com</email>
+ <emulator>
+ <rpm accept="stt" arch="i686"/>
+ <rpm accept="stt-devel" arch="i686"/>
+ <rpm accept="stt-engine-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="stt" arch="armv7l"/>
+ <rpm accept="stt-devel" arch="armv7l"/>
+ <rpm accept="stt-engine-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="stt" arch="riscv32"/>
+ <rpm accept="stt-devel" arch="riscv32"/>
+ <rpm accept="stt-engine-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/stt.h</file>
+ <file>/usr/include/stte.h</file>
+ <file>/usr/lib/libstt.so*</file>
+ <file>/usr/lib/libstt_engine.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libstt.so</library>
+ <library>libstt_engine.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="tizen-core">
+ <email>jh9216.park@samsung.com</email>
+ <email>jusung07.son@samsung.com</email>
+ <email>h.jhun@samsung.com</email>
+ <email>changyu.choi@samsung.com</email>
+ <emulator>
+ <rpm accept="tizen-core" arch="i686"/>
+ <rpm accept="tizen-core-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="tizen-core" arch="armv7l"/>
+ <rpm accept="tizen-core-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="tizen-core" arch="riscv32"/>
+ <rpm accept="tizen-core-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/tizen-core/tizen_core.h</file>
+ <file>/usr/include/tizen-core/tizen_core_channel.h</file>
+ <file>/usr/include/tizen-core/tizen_core_event.h</file>
+ <file>/usr/lib/libtizen-core.so*</file>
+ </necessary>
+ <include_path>/usr/include/tizen-core</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libtizen-core.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="trace">
+ <email>kihyuck.shin@samsung.com</email>
+ <email>joon.c.baek@samsung.com</email>
+ <email>eunjieji.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="ttrace" arch="i686"/>
+ <rpm accept="ttrace-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="ttrace" arch="armv7l"/>
+ <rpm accept="ttrace-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="ttrace" arch="riscv32"/>
+ <rpm accept="ttrace-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/trace.h</file>
+ <file>/usr/lib/libttrace.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libttrace.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="tts">
+ <email>sehwan@samsung.com</email>
+ <email>ky85.kim@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <email>sooyeon.kim@samsung.com</email>
+ <email>stom.hwang@samsung.com</email>
+ <emulator>
+ <rpm accept="tts" arch="i686"/>
+ <rpm accept="tts-devel" arch="i686"/>
+ <rpm accept="tts-engine-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="tts" arch="armv7l"/>
+ <rpm accept="tts-devel" arch="armv7l"/>
+ <rpm accept="tts-engine-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="tts" arch="riscv32"/>
+ <rpm accept="tts-devel" arch="riscv32"/>
+ <rpm accept="tts-engine-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/tts.h</file>
+ <file>/usr/include/ttse.h</file>
+ <file>/usr/lib/libtts.so*</file>
+ <file>/usr/lib/libtts_engine.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libtts.so</library>
+ <library>libtts_engine.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="tzsh">
+ <email>gl77.lee@samsung.com</email>
+ <email>doyoun.kang@samsung.com</email>
+ <email>shiin.lee@samsung.com</email>
+ <email>juns.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="tzsh" arch="i686"/>
+ <rpm accept="tzsh-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="tzsh" arch="armv7l"/>
+ <rpm accept="tzsh-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="tzsh" arch="riscv32"/>
+ <rpm accept="tzsh-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/tzsh/tzsh.h</file>
+ <file>/usr/include/tzsh/tzsh_quickpanel.h</file>
+ <file>/usr/include/tzsh/tzsh_softkey.h</file>
+ <file>/usr/lib/libtzsh_common.so*</file>
+ <file>/usr/lib/libtzsh_quickpanel.so*</file>
+ <file>/usr/lib/libtzsh_softkey.so*</file>
+ </necessary>
+ <include_path>/usr/include/tzsh</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libtzsh_common.so</library>
+ <library>libtzsh_quickpanel.so</library>
+ <library>libtzsh_softkey.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="update-control">
+ <email>knhoon.baik@samsung.com</email>
+ <email>sunm.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="update-control" arch="i686"/>
+ <rpm accept="update-control-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="update-control" arch="armv7l"/>
+ <rpm accept="update-control-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="update-control" arch="riscv32"/>
+ <rpm accept="update-control-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/system/update_control.h</file>
+ <file>/usr/lib/libupdate-control.so*</file>
+ </necessary>
+ <include_path>/usr/include/system</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libupdate-control.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="voice-control-elm">
+ <email>sehwan@samsung.com</email>
+ <email>ky85.kim@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <emulator>
+ <rpm accept="voice-control-elm" arch="i686"/>
+ <rpm accept="voice-control-elm-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="voice-control-elm" arch="armv7l"/>
+ <rpm accept="voice-control-elm-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="voice-control-elm" arch="riscv32"/>
+ <rpm accept="voice-control-elm-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/voice_control_elm.h</file>
+ <file>/usr/lib/libvc-elm.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libvc-elm.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="voice-control">
+ <email>sehwan@samsung.com</email>
+ <email>ky85.kim@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <email>sooyeon.kim@samsung.com</email>
+ <email>stom.hwang@samsung.com</email>
+ <email>seongrae.jo@samsung.com</email>
+ <emulator>
+ <rpm accept="voice-control" arch="i686"/>
+ <rpm accept="voice-control-devel" arch="i686"/>
+ <rpm accept="voice-control-manager-devel" arch="i686"/>
+ <rpm accept="voice-control-engine-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="voice-control" arch="armv7l"/>
+ <rpm accept="voice-control-devel" arch="armv7l"/>
+ <rpm accept="voice-control-manager-devel" arch="armv7l"/>
+ <rpm accept="voice-control-engine-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="voice-control" arch="riscv32"/>
+ <rpm accept="voice-control-devel" arch="riscv32"/>
+ <rpm accept="voice-control-manager-devel" arch="riscv32"/>
+ <rpm accept="voice-control-engine-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/voice_control.h</file>
+ <file>/usr/include/voice_control_command.h</file>
+ <file>/usr/include/voice_control_common.h</file>
+ <file>/usr/include/voice_control_manager.h</file>
+ <file>/usr/include/vce.h</file>
+ <file>/usr/lib/libvc.so*</file>
+ <file>/usr/lib/libvc_manager.so*</file>
+ <file>/usr/lib/libvc_engine.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libvc.so</library>
+ <library>libvc_manager.so</library>
+ <library>libvc_engine.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="webauthn">
+ <email>ds73.lee@samsung.com</email>
+ <email>t.swierczek@samsung.com</email>
+ <emulator>
+ <rpm accept="libwebauthn-client-devel" arch="i686"/>
+ <rpm accept="libwebauthn-client" arch="i686"/>
+ <rpm accept="libwebauthn-common" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libwebauthn-client-devel" arch="armv7l"/>
+ <rpm accept="libwebauthn-client" arch="armv7l"/>
+ <rpm accept="libwebauthn-common" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libwebauthn-client-devel" arch="riscv32"/>
+ <rpm accept="libwebauthn-client" arch="riscv32"/>
+ <rpm accept="libwebauthn-common" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/webauthn.h</file>
+ <file>/usr/include/webauthn-types.h</file>
+ <file>/usr/lib/libwebauthn-client.so*</file>
+ <file>/usr/lib/libwebauthn-common.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libwebauthn-client.so</library>
+ <library>libwebauthn-common.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="widget-service">
+ <email>sm79.lee@samsung.com</email>
+ <email>darrenh.jung@samsung.com</email>
+ <email>hhstark.kang@samsung.com</email>
+ <emulator>
+ <rpm accept="libwidget_service" arch="i686"/>
+ <rpm accept="libwidget_service-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libwidget_service" arch="armv7l"/>
+ <rpm accept="libwidget_service-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libwidget_service" arch="riscv32"/>
+ <rpm accept="libwidget_service-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/widget_service/widget_errno.h</file>
+ <file>/usr/include/widget_service/widget_service.h</file>
+ <file>/usr/lib/libwidget_service.so*</file>
+ </necessary>
+ <include_path>/usr/include/widget_service</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libwidget_service.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="widget-viewer-evas">
+ <email>yjoo93.park@samsung.com</email>
+ <email>kyuho.jo@samsung.com</email>
+ <emulator>
+ <rpm accept="libwidget_viewer_evas" arch="i686"/>
+ <rpm accept="libwidget_viewer_evas-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libwidget_viewer_evas" arch="armv7l"/>
+ <rpm accept="libwidget_viewer_evas-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libwidget_viewer_evas" arch="riscv32"/>
+ <rpm accept="libwidget_viewer_evas-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/widget_viewer_evas/widget_viewer_evas.h</file>
+ <file>/usr/lib/libwidget_viewer_evas.so*</file>
+ </necessary>
+ <include_path>/usr/include/widget_viewer_evas</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libwidget_viewer_evas.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="yaca">
+ <email>kyung@samsung.com</email>
+ <email>ds73.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="yaca-devel" arch="i686"/>
+ <rpm accept="yaca" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="yaca-devel" arch="armv7l"/>
+ <rpm accept="yaca" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="yaca-devel" arch="riscv32"/>
+ <rpm accept="yaca" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/yaca/yaca_crypto.h</file>
+ <file>/usr/include/yaca/yaca_digest.h</file>
+ <file>/usr/include/yaca/yaca_encrypt.h</file>
+ <file>/usr/include/yaca/yaca_error.h</file>
+ <file>/usr/include/yaca/yaca_key.h</file>
+ <file>/usr/include/yaca/yaca_rsa.h</file>
+ <file>/usr/include/yaca/yaca_seal.h</file>
+ <file>/usr/include/yaca/yaca_sign.h</file>
+ <file>/usr/include/yaca/yaca_simple.h</file>
+ <file>/usr/include/yaca/yaca_types.h</file>
+ <file>/usr/lib/libyaca.so*</file>
+ </necessary>
+ <include_path>/usr/include/yaca</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libyaca.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="SDL2">
+ <email>hyunjushin@samsung.com</email>
+ <email>sidein@samsung.com</email>
+ <email>huiyu.eun@samsung.com</email>
+ <emulator>
+ <rpm accept="SDL2" arch="i686"/>
+ <rpm accept="SDL2-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="SDL2" arch="armv7l"/>
+ <rpm accept="SDL2-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="SDL2" arch="riscv32"/>
+ <rpm accept="SDL2-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/SDL2/begin_code.h</file>
+ <file>/usr/include/SDL2/close_code.h</file>
+ <file>/usr/include/SDL2/SDL.h </file>
+ <file>/usr/include/SDL2/SDL_assert.h </file>
+ <file>/usr/include/SDL2/SDL_atomic.h </file>
+ <file>/usr/include/SDL2/SDL_audio.h </file>
+ <file>/usr/include/SDL2/SDL_bits.h </file>
+ <file>/usr/include/SDL2/SDL_blendmode.h</file>
+ <file>/usr/include/SDL2/SDL_clipboard.h</file>
+ <file>/usr/include/SDL2/SDL_config.h </file>
+ <file>/usr/include/SDL2/SDL_cpuinfo.h </file>
+ <file>/usr/include/SDL2/SDL_egl.h </file>
+ <file>/usr/include/SDL2/SDL_endian.h </file>
+ <file>/usr/include/SDL2/SDL_error.h </file>
+ <file>/usr/include/SDL2/SDL_events.h </file>
+ <file>/usr/include/SDL2/SDL_filesystem.h</file>
+ <file>/usr/include/SDL2/SDL_gamecontroller.h</file>
+ <file>/usr/include/SDL2/SDL_gesture.h </file>
+ <file>/usr/include/SDL2/SDL_haptic.h </file>
+ <file>/usr/include/SDL2/SDL_hints.h </file>
+ <file>/usr/include/SDL2/SDL_joystick.h </file>
+ <file>/usr/include/SDL2/SDL_keyboard.h </file>
+ <file>/usr/include/SDL2/SDL_keycode.h </file>
+ <file>/usr/include/SDL2/SDL_loadso.h </file>
+ <file>/usr/include/SDL2/SDL_log.h </file>
+ <file>/usr/include/SDL2/SDL_main.h </file>
+ <file>/usr/include/SDL2/SDL_messagebox.h </file>
+ <file>/usr/include/SDL2/SDL_mouse.h </file>
+ <file>/usr/include/SDL2/SDL_mutex.h </file>
+ <file>/usr/include/SDL2/SDL_name.h </file>
+ <file>/usr/include/SDL2/SDL_opengl.h </file>
+ <file>/usr/include/SDL2/SDL_opengl_glext.h </file>
+ <file>/usr/include/SDL2/SDL_opengles.h </file>
+ <file>/usr/include/SDL2/SDL_opengles2.h </file>
+ <file>/usr/include/SDL2/SDL_opengles2_gl2.h </file>
+ <file>/usr/include/SDL2/SDL_opengles2_gl2ext.h </file>
+ <file>/usr/include/SDL2/SDL_opengles2_gl2platform.h</file>
+ <file>/usr/include/SDL2/SDL_opengles2_khrplatform.h</file>
+ <file>/usr/include/SDL2/SDL_pixels.h </file>
+ <file>/usr/include/SDL2/SDL_platform.h </file>
+ <file>/usr/include/SDL2/SDL_power.h </file>
+ <file>/usr/include/SDL2/SDL_quit.h </file>
+ <file>/usr/include/SDL2/SDL_rect.h </file>
+ <file>/usr/include/SDL2/SDL_render.h </file>
+ <file>/usr/include/SDL2/SDL_revision.h </file>
+ <file>/usr/include/SDL2/SDL_rwops.h </file>
+ <file>/usr/include/SDL2/SDL_scancode.h </file>
+ <file>/usr/include/SDL2/SDL_shape.h </file>
+ <file>/usr/include/SDL2/SDL_stdinc.h</file>
+ <file>/usr/include/SDL2/SDL_surface.h</file>
+ <file>/usr/include/SDL2/SDL_system.h</file>
+ <file>/usr/include/SDL2/SDL_syswm.h</file>
+ <file>/usr/include/SDL2/SDL_test.h</file>
+ <file>/usr/include/SDL2/SDL_test_assert.h</file>
+ <file>/usr/include/SDL2/SDL_test_common.h</file>
+ <file>/usr/include/SDL2/SDL_test_compare.h</file>
+ <file>/usr/include/SDL2/SDL_test_crc32.h</file>
+ <file>/usr/include/SDL2/SDL_test_font.h</file>
+ <file>/usr/include/SDL2/SDL_test_fuzzer.h</file>
+ <file>/usr/include/SDL2/SDL_test_harness.h</file>
+ <file>/usr/include/SDL2/SDL_test_images.h</file>
+ <file>/usr/include/SDL2/SDL_test_log.h</file>
+ <file>/usr/include/SDL2/SDL_test_md5.h</file>
+ <file>/usr/include/SDL2/SDL_test_random.h</file>
+ <file>/usr/include/SDL2/SDL_thread.h</file>
+ <file>/usr/include/SDL2/SDL_timer.h</file>
+ <file>/usr/include/SDL2/SDL_touch.h</file>
+ <file>/usr/include/SDL2/SDL_types.h</file>
+ <file>/usr/include/SDL2/SDL_version.h</file>
+ <file>/usr/include/SDL2/SDL_video.h</file>
+ <file>/usr/include/SDL2/SDL_vulkan.h</file>
+ <file>/usr/lib/libSDL2.so*</file>
+ <file>/usr/lib/libSDL2-2.0.so.0*</file>
+ <file>/usr/lib/libSDL2main.a</file>
+ </necessary>
+ <include_path>/usr/include/SDL2</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="gcc">
+<email>jehyung.lee@samsung.com</email>
+<email>dongkyun.s@samsung.com</email>
+<email>chan45.lee@samsung.com</email>
+<email>jh4u.jeong@samsung.com</email>
+<email>sangmin7.seo@samsung.com</email>
+ <emulator>
+ <rpm accept="libasan" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libasan" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libasan" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="glibc">
+<email>jehyung.lee@samsung.com</email>
+<email>sangbae90.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="glibc" arch="i686"/>
+ <rpm accept="glibc-devel" arch="i686"/>
+ <rpm accept="glibc-devel-static" arch="i686"/>
+ <rpm accept="glibc-devel-utils" arch="i686"/>
+ <rpm accept="glibc-extra" arch="i686"/>
+ <rpm accept="glibc-locale" arch="i686"/>
+ <rpm accept="glibc-profile" arch="i686"/>
+ <rpm accept="libxcrypt" arch="i686"/>
+ <rpm accept="libxcrypt-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="glibc" arch="armv7l"/>
+ <rpm accept="glibc-devel" arch="armv7l"/>
+ <rpm accept="glibc-devel-static" arch="armv7l"/>
+ <rpm accept="glibc-devel-utils" arch="armv7l"/>
+ <rpm accept="glibc-extra" arch="armv7l"/>
+ <rpm accept="glibc-locale" arch="armv7l"/>
+ <rpm accept="glibc-profile" arch="armv7l"/>
+ <rpm accept="libxcrypt" arch="armv7l"/>
+ <rpm accept="libxcrypt-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="glibc" arch="riscv32"/>
+ <rpm accept="glibc-devel" arch="riscv32"/>
+ <rpm accept="glibc-devel-static" arch="riscv32"/>
+ <rpm accept="glibc-devel-utils" arch="riscv32"/>
+ <rpm accept="glibc-extra" arch="riscv32"/>
+ <rpm accept="glibc-locale" arch="riscv32"/>
+ <rpm accept="glibc-profile" arch="riscv32"/>
+ <rpm accept="libxcrypt" arch="riscv32"/>
+ <rpm accept="libxcrypt-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libBrokenLocale.so</library>
+ <library>libanl.so</library>
+ <library>libcrypt.so</library>
+ <library>libc.so</library>
+ <library>libdl.so</library>
+ <library>libm.so</library>
+ <library>libnss_compat.so</library>
+ <library>libnss_dns.so</library>
+ <library>libnss_files.so</library>
+ <library>libnss_hesiod.so</library>
+ <library>libpthread.so</library>
+ <library>libresolv.so</library>
+ <library>librt.so</library>
+ <library>libthread_db.so</library>
+ <library>libutil.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="kernel-headers-linux">
+ <emulator>
+ <rpm accept="linux-glibc-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="linux-glibc-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="linux-glibc-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include</include_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libcurl">
+ <emulator>
+ <rpm accept="libcurl" arch="i686"/>
+ <rpm accept="libcurl-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libcurl" arch="armv7l"/>
+ <rpm accept="libcurl-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libcurl" arch="riscv32"/>
+ <rpm accept="libcurl-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/curl/curl.h</file>
+ <file>/usr/include/curl/curlver.h</file>
+ <file>/usr/include/curl/easy.h</file>
+ <file>/usr/include/curl/header.h</file>
+ <file>/usr/include/curl/mprintf.h</file>
+ <file>/usr/include/curl/multi.h</file>
+ <file>/usr/include/curl/options.h</file>
+ <file>/usr/include/curl/stdcheaders.h</file>
+ <file>/usr/include/curl/system.h</file>
+ <file>/usr/include/curl/typecheck-gcc.h</file>
+ <file>/usr/include/curl/urlapi.h</file>
+ <file>/usr/include/curl/websockets.h</file>
+ <file>/usr/lib/libcurl.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcurl.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libicu">
+ <emulator>
+ <rpm accept="libicu" arch="i686"/>
+ <rpm accept="libicu-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libicu" arch="armv7l"/>
+ <rpm accept="libicu-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libicu" arch="riscv32"/>
+ <rpm accept="libicu-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/unicode/platform.h</file>
+ <file>/usr/include/unicode/ptypes.h</file>
+ <file>/usr/include/unicode/uconfig.h</file>
+ <file>/usr/include/unicode/umachine.h</file>
+ <file>/usr/include/unicode/urename.h</file>
+ <file>/usr/include/unicode/uscript.h</file>
+ <file>/usr/include/unicode/utf.h</file>
+ <file>/usr/include/unicode/utf16.h</file>
+ <file>/usr/include/unicode/utf8.h</file>
+ <file>/usr/include/unicode/utf_old.h</file>
+ <file>/usr/include/unicode/utypes.h</file>
+ <file>/usr/include/unicode/uvernum.h</file>
+ <file>/usr/include/unicode/uversion.h</file>
+ <file>/usr/lib/libicudata.so*</file>
+ <file>/usr/lib/libicui18n.so*</file>
+ <file>/usr/lib/libicuio.so*</file>
+ <file>/usr/lib/libicutest.so*</file>
+ <file>/usr/lib/libicutu.so*</file>
+ <file>/usr/lib/libicuuc.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libicudata.so</library>
+ <library>libicui18n.so</library>
+ <library>libicuio.so</library>
+ <library>libicutest.so</library>
+ <library>libicutu.so</library>
+ <library>libicuuc.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libxml2">
+ <emulator>
+ <rpm accept="libxml2" arch="i686"/>
+ <rpm accept="libxml2-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libxml2" arch="armv7l"/>
+ <rpm accept="libxml2-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libxml2" arch="riscv32"/>
+ <rpm accept="libxml2-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/libxml2</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libxml2.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="minizip">
+ <emulator>
+ <rpm accept="minizip" arch="i686"/>
+ <rpm accept="minizip-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="minizip" arch="armv7l"/>
+ <rpm accept="minizip-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="minizip" arch="riscv32"/>
+ <rpm accept="minizip-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/minizip/crypt.h</file>
+ <file>/usr/include/minizip/ioapi.h</file>
+ <file>/usr/include/minizip/mztools.h</file>
+ <file>/usr/include/minizip/unzip.h</file>
+ <file>/usr/include/minizip/zip.h</file>
+ <file>/usr/lib/libminizip.so*</file>
+ </necessary>
+ <include_path>/usr/include/minizip</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libminizip.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="openssl">
+ <emulator>
+ <rpm accept="openssl3" arch="i686"/>
+ <rpm accept="libopenssl3" arch="i686"/>
+ <rpm accept="libopenssl3-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="openssl3" arch="armv7l"/>
+ <rpm accept="libopenssl3" arch="armv7l"/>
+ <rpm accept="libopenssl3-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="openssl3" arch="riscv32"/>
+ <rpm accept="libopenssl3" arch="riscv32"/>
+ <rpm accept="libopenssl3-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcrypto.so</library>
+ <library>libssl.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="sqlite">
+ <emulator>
+ <rpm accept="libsqlite" arch="i686"/>
+ <rpm accept="sqlite" arch="i686"/>
+ <rpm accept="sqlite-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libsqlite" arch="armv7l"/>
+ <rpm accept="sqlite" arch="armv7l"/>
+ <rpm accept="sqlite-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libsqlite" arch="riscv32"/>
+ <rpm accept="sqlite" arch="riscv32"/>
+ <rpm accept="sqlite-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/sqlite3ext.h</file>
+ <file>/usr/include/sqlite3.h</file>
+ <file>/usr/lib/libsqlite3.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libsqlite3.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="zlib">
+ <emulator>
+ <rpm accept="zlib" arch="i686"/>
+ <rpm accept="zlib-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="zlib" arch="armv7l"/>
+ <rpm accept="zlib-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="zlib" arch="riscv32"/>
+ <rpm accept="zlib-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/zconf.h</file>
+ <file>/usr/include/zlib.h</file>
+ <file>/usr/lib/libz.so*</file>
+ <file>/lib/libz.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libz.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="coregl">
+ <email>sidein@samsung.com</email>
+ <email>huiyu.eun@samsung.com</email>
+ <email>dkdk.ryu@samsung.com</email>
+ <emulator>
+ <rpm accept="coregl" arch="i686"/>
+ <rpm accept="coregl-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="coregl" arch="armv7l"/>
+ <rpm accept="coregl-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="coregl" arch="riscv32"/>
+ <rpm accept="coregl-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/GLES/*</file>
+ <file>/usr/include/GLES2/*</file>
+ <file>/usr/include/GLES3/*</file>
+ <file>/usr/include/KHR/*</file>
+ <file>/usr/lib/libGLESv1_CM.so*</file>
+ <file>/usr/lib/libGLESv2.so*</file>
+ </necessary>
+ <include_path>/usr/include/</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="fontconfig">
+ <emulator>
+ <rpm accept="fontconfig" arch="i686"/>
+ <rpm accept="fontconfig-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="fontconfig" arch="armv7l"/>
+ <rpm accept="fontconfig-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="fontconfig" arch="riscv32"/>
+ <rpm accept="fontconfig-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/fontconfig/fcfreetype.h</file>
+ <file>/usr/include/fontconfig/fcprivate.h</file>
+ <file>/usr/include/fontconfig/fontconfig.h</file>
+ <file>/usr/lib/libfontconfig.so*</file>
+ </necessary>
+ <include_path>/usr/include/fontconfig</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libfontconfig.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="freetype">
+ <emulator>
+ <rpm accept="libfreetype" arch="i686"/>
+ <rpm accept="freetype2-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libfreetype" arch="armv7l"/>
+ <rpm accept="freetype2-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libfreetype" arch="riscv32"/>
+ <rpm accept="freetype2-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/freetype2</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libfreetype.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="glib2.0">
+ <emulator>
+ <rpm accept="glib2-devel" arch="i686"/>
+ <rpm accept="glib2-devel-static" arch="i686"/>
+ <rpm accept="libgio" arch="i686"/>
+ <rpm accept="libglib" arch="i686"/>
+ <rpm accept="libgmodule" arch="i686"/>
+ <rpm accept="libgobject" arch="i686"/>
+ <rpm accept="libgthread" arch="i686"/>
+ </emulator>
+
+ <target>
+ <rpm accept="glib2-devel" arch="armv7l"/>
+ <rpm accept="glib2-devel-static" arch="armv7l"/>
+ <rpm accept="libgio" arch="armv7l"/>
+ <rpm accept="libglib" arch="armv7l"/>
+ <rpm accept="libgmodule" arch="armv7l"/>
+ <rpm accept="libgobject" arch="armv7l"/>
+ <rpm accept="libgthread" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="glib2-devel" arch="riscv32"/>
+ <rpm accept="glib2-devel-static" arch="riscv32"/>
+ <rpm accept="libgio" arch="riscv32"/>
+ <rpm accept="libglib" arch="riscv32"/>
+ <rpm accept="libgmodule" arch="riscv32"/>
+ <rpm accept="libgobject" arch="riscv32"/>
+ <rpm accept="libgthread" arch="riscv32"/>
+ </riscv>
+
+ <necessary>
+ <file>*</file>
+ </necessary>
+
+ <include_path>/usr/include/gio-unix-2.0</include_path>
+ <include_path>/usr/include/glib-2.0</include_path>
+ <include_path>/usr/lib/glib-2.0/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libgio-2.0.so</library>
+ <library>libglib-2.0.so</library>
+ <library>libgmodule-2.0.so</library>
+ <library>libgobject-2.0.so</library>
+ <library>libgthread-2.0.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="harfbuzz">
+ <emulator>
+ <rpm accept="libharfbuzz" arch="i686"/>
+ <rpm accept="harfbuzz-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libharfbuzz" arch="armv7l"/>
+ <rpm accept="harfbuzz-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libharfbuzz" arch="riscv32"/>
+ <rpm accept="harfbuzz-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/harfbuzz</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libharfbuzz.so</library>
+ <library>libharfbuzz-icu.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="json-glib">
+ <emulator>
+ <rpm accept="libjson-glib" arch="i686"/>
+ <rpm accept="json-glib-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libjson-glib" arch="armv7l"/>
+ <rpm accept="json-glib-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libjson-glib" arch="riscv32"/>
+ <rpm accept="json-glib-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/json-glib-1.0</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libjson-glib-1.0.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="kernel-headers-linux">
+ <emulator>
+ <rpm accept="kernel-mobile-i386-emulator-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="kernel-headers" arch="armv7l"/>
+ </target>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <unnecessary>
+ </unnecessary>
+ <include_path>/usr/include</include_path>
+ <include_path>/usr/src/kernels/3.12.18-5.14-mobile-i386-emulator/include</include_path>
+ <include_path>/usr/src/kernels/3.12.18-5.14-mobile-i386-emulator/arch/x86/include/uapi</include_path>
+ <include_path>/usr/src/kernels/3.12.18-5.14-mobile-i386-emulator/include/uapi/</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libexif">
+ <emulator>
+ <rpm accept="libexif" arch="i686"/>
+ <rpm accept="libexif-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libexif" arch="armv7l"/>
+ <rpm accept="libexif-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libexif" arch="riscv32"/>
+ <rpm accept="libexif-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/libexif/exif-byte-order.h</file>
+ <file>/usr/include/libexif/exif-content.h</file>
+ <file>/usr/include/libexif/exif-data.h</file>
+ <file>/usr/include/libexif/exif-data-type.h</file>
+ <file>/usr/include/libexif/exif-entry.h</file>
+ <file>/usr/include/libexif/exif-format.h</file>
+ <file>/usr/include/libexif/exif-ifd.h</file>
+ <file>/usr/include/libexif/exif-loader.h</file>
+ <file>/usr/include/libexif/exif-log.h</file>
+ <file>/usr/include/libexif/exif-mem.h</file>
+ <file>/usr/include/libexif/exif-mnote-data.h</file>
+ <file>/usr/include/libexif/exif-tag.h</file>
+ <file>/usr/include/libexif/exif-utils.h</file>
+ <file>/usr/include/libexif/_stdint.h</file>
+ <file>/usr/lib/libexif.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libexif.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="liboauth">
+ <emulator>
+ <rpm accept="liboauth" arch="i686"/>
+ <rpm accept="liboauth-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="liboauth" arch="armv7l"/>
+ <rpm accept="liboauth-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="liboauth" arch="riscv32"/>
+ <rpm accept="liboauth-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/oauth.h</file>
+ <file>/usr/lib/liboauth.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>liboauth.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="openal-soft">
+ <emulator>
+ <rpm accept="openal-soft" arch="i686"/>
+ <rpm accept="openal-soft-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="openal-soft" arch="armv7l"/>
+ <rpm accept="openal-soft-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="openal-soft" arch="riscv32"/>
+ <rpm accept="openal-soft-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/AL/alc.h</file>
+ <file>/usr/include/AL/alext.h</file>
+ <file>/usr/include/AL/al.h</file>
+ <file>/usr/include/AL/efx-creative.h</file>
+ <file>/usr/include/AL/efx.h</file>
+ <file>/usr/lib/libopenal.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libopenal.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="tef">
+ <emulator>
+ <rpm accept="tef-libteec" arch="i686"/> <!-- libteec shared library -->
+ <rpm accept="tef-libteec-devel" arch="i686"/> <!-- libteec header file -->
+ </emulator>
+
+ <target>
+ <rpm accept="tef-libteec" arch="armv7l"/> <!-- libteec shared library -->
+ <rpm accept="tef-libteec-devel" arch="armv7l"/> <!-- libteec header file -->
+ </target>
+ <riscv>
+ <rpm accept="tef-libteec" arch="riscv32"/> <!-- libteec shared library -->
+ <rpm accept="tef-libteec-devel" arch="riscv32"/> <!-- libteec header file -->
+ </riscv>
+
+ <necessary>
+ <file>/usr/include/tef/tee_client_api.h</file> <!-- TEE client API -->
+ <file>/usr/lib/libteec.so*</file>
+ </necessary>
+
+ <include_path>/usr/include/tef</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libteec.so</library> <!-- TEE client library -->
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="vulkan-loader">
+ <email>lsj119@samsung.com</email>
+ <email>sc1.lim@samsung.com</email>
+ <email>joonbum.ko@samsung.com</email>
+ <emulator>
+ <rpm accept="vulkan-loader" arch="i686"/>
+ <rpm accept="vulkan-loader-devel" arch="i686"/>
+ <rpm accept="vulkan-headers" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="vulkan-loader" arch="armv7l"/>
+ <rpm accept="vulkan-loader-devel" arch="armv7l"/>
+ <rpm accept="vulkan-headers" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="vulkan-loader" arch="riscv32"/>
+ <rpm accept="vulkan-loader-devel" arch="riscv32"/>
+ <rpm accept="vulkan-headers" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/vulkan</include_path>
+ <library_path>/usr/lib</library_path>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="appcore-common">
+ <email>sm79.lee@samsung.com</email>
+ <email>jiwoong.im@samsung.com</email>
+ <emulator>
+ <rpm accept="app-core-common" arch="i686"/>
+ <rpm accept="app-core-common-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="app-core-common" arch="armv7l"/>
+ <rpm accept="app-core-common-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="app-core-common" arch="riscv32"/>
+ <rpm accept="app-core-common-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appcore/appcore-common.h</file>
+ <file>/usr/lib/libappcore-common.so*</file>
+ </necessary>
+ <include_path>/usr/include/appcore/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libappcore-common.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="appcore-widget">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="appcore-widget" arch="i686"/>
+ <rpm accept="capi-appfw-widget-application-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="appcore-widget" arch="armv7l"/>
+ <rpm accept="capi-appfw-widget-application-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="appcore-widget" arch="riscv32"/>
+ <rpm accept="capi-appfw-widget-application-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/widget_app.h</file>
+ <file>/usr/include/appfw/widget_app_efl.h</file>
+ <file>/usr/lib/libcapi-appfw-widget-application.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-widget-application.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="aul">
+ <email>sm79.lee@samsung.com</email>
+ <email>h.jhun@samsung.com</email>
+ <emulator>
+ <rpm accept="aul" arch="i686"/>
+ <rpm accept="aul-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="aul" arch="armv7l"/>
+ <rpm accept="aul-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="aul" arch="riscv32"/>
+ <rpm accept="aul-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/aul/aul.h</file>
+ <file>/usr/include/aul/aul_app_com.h</file>
+ <file>/usr/include/aul/aul_cmd.h</file>
+ <file>/usr/include/aul/aul_key.h</file>
+ <file>/usr/include/aul/aul_proc.h</file>
+ <file>/usr/include/aul/aul_sock.h</file>
+ <file>/usr/include/aul/aul_svc.h</file>
+ <file>/usr/lib/libaul.so*</file>
+ </necessary>
+ <include_path>/usr/include/aul/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libaul.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="aul-rsc-mgr">
+ <email>jh9126.park@samsung.com</email>
+ <email>h.jhun@samsung.com</email>
+ <email>changyu.choi@samsung.com</email>
+ <emulator>
+ <rpm accept="aul-rsc-mgr" arch="i686"/>
+ <rpm accept="aul-rsc-mgr-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="aul-rsc-mgr" arch="armv7l"/>
+ <rpm accept="aul-rsc-mgr-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="aul-rsc-mgr" arch="riscv32"/>
+ <rpm accept="aul-rsc-mgr-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/aul/rsc-mgr/aul_rsc_mgr.h</file>
+ <file>/usr/lib/libaul-rsc-mgr.so*</file>
+ </necessary>
+ <include_path>/usr/include/aul/rsc-mgr/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libaul-rsc-mgr.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="auth-fw">
+<!-- email -->
+ <email>jooseong.lee@samsung.com</email>
+ <email>ds73.lee@samsung.com</email>
+
+<!-- rpm package & arch -->
+ <emulator>
+ <rpm accept="auth-fw" arch="i686"/>
+ <rpm accept="libauth-fw-client" arch="i686"/>
+ <rpm accept="libauth-fw-client-admin" arch="i686"/>
+ <rpm accept="libauth-fw-client-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="auth-fw" arch="armv7l"/>
+ <rpm accept="libauth-fw-client" arch="armv7l"/>
+ <rpm accept="libauth-fw-client-admin" arch="armv7l"/>
+ <rpm accept="libauth-fw-client-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="auth-fw" arch="riscv32"/>
+ <rpm accept="libauth-fw-client" arch="riscv32"/>
+ <rpm accept="libauth-fw-client-admin" arch="riscv32"/>
+ <rpm accept="libauth-fw-client-devel" arch="riscv32"/>
+ </riscv>
+
+<!-- file list to copy for SDK -->
+ <necessary>
+ <file>/usr/include/auth-fw/*.h</file>
+ <file>/usr/lib/libauth-fw-client.so*</file>
+ <file>/usr/lib/libauth-fw-client-admin.so*</file>
+ <file>/usr/lib/libauth-fw-commons.so*</file>
+ </necessary>
+
+<!-- Build Option for SDK -->
+ <include_path>/usr/include/auth-fw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libauth-fw-client.so</library>
+ <library>libauth-fw-client-admin.so</library>
+ <library>libauth-fw-commons.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="badge">
+ <email>sm79.lee@samsung.com</email>
+ <email>seungha.son@samsung.com</email>
+ <emulator>
+ <rpm accept="badge" arch="i686"/>
+ <rpm accept="badge-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="badge" arch="armv7l"/>
+ <rpm accept="badge-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="badge" arch="riscv32"/>
+ <rpm accept="badge-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/badge/badge_internal.h</file>
+ <file>/usr/lib/libbadge.so*</file>
+ </necessary>
+ <include_path>/usr/include/badge</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libbadge.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="bundle">
+ <email>sm79.lee@samsung.com</email>
+ <email>mk5004.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="bundle" arch="i686"/>
+ <rpm accept="bundle-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="bundle" arch="armv7l"/>
+ <rpm accept="bundle-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="bundle" arch="riscv32"/>
+ <rpm accept="bundle-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/bundle_internal.h</file>
+ <file>/usr/include/bundle.h</file>
+ <file>/usr/lib/libbundle.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libbundle.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-appfw-alarm">
+ <email>jh9216.park@samsung.com</email>
+ <email>inkyun.kil@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-appfw-alarm" arch="i686"/>
+ <rpm accept="capi-appfw-alarm-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-appfw-alarm" arch="armv7l"/>
+ <rpm accept="capi-appfw-alarm-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-appfw-alarm" arch="riscv32"/>
+ <rpm accept="capi-appfw-alarm-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/appfw/app_alarm_internal.h</file>
+ <file>/usr/lib/libcapi-appfw-alarm.so*</file>
+ </necessary>
+ <include_path>/usr/include/appfw</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-appfw-alarm.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-softap">
+ <emulator>
+ <rpm accept="capi-network-softap" arch="i686"/>
+ <rpm accept="capi-network-softap-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-softap" arch="armv7l"/>
+ <rpm accept="capi-network-softap-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-softap" arch="riscv32"/>
+ <rpm accept="capi-network-softap-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/softap.h</file>
+ <file>/usr/lib/libcapi-network-softap.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-softap.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-stc">
+ <email>steve.jun@samsung.com</email>
+ <email>jeik01.kim@samsung.com</email>
+ <email>hyunuk.tak@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-stc" arch="i686"/>
+ <rpm accept="capi-network-stc-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-stc" arch="armv7l"/>
+ <rpm accept="capi-network-stc-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-stc" arch="riscv32"/>
+ <rpm accept="capi-network-stc-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/stc_internal.h</file>
+ <file>/usr/include/network/stc_mgr_internal.h</file>
+ <file>/usr/include/network/stc_stat_internal.h</file>
+ <file>/usr/include/network/stc_rstn_internal.h</file>
+ <file>/usr/include/network/stc_fw_internal.h</file>
+ <file>/usr/include/network/stc_ipt_internal.h</file>
+ <file>/usr/lib/libcapi-network-stc.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-stc.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-tethering">
+ <email>steve.jun@samsung.com</email>
+ <email>jeik01.kim@samsung.com</email>
+ <email>taesub.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-tethering" arch="i686"/>
+ <rpm accept="capi-network-tethering-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-tethering" arch="armv7l"/>
+ <rpm accept="capi-network-tethering-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-tethering" arch="riscv32"/>
+ <rpm accept="capi-network-tethering-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/tethering.h</file>
+ <file>/usr/lib/libcapi-network-tethering.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-tethering.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="dpm">
+ <email>jm77.ryu@samsung.com</email>
+ <emulator>
+ <rpm accept="libdpm" arch="i686"/>
+ <rpm accept="libdpm-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libdpm" arch="armv7l"/>
+ <rpm accept="libdpm-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libdpm" arch="riscv32"/>
+ <rpm accept="libdpm-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/dpm/*.h</file>
+ <file>/usr/lib/libdpm.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libdpm.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="email-service">
+<!-- email -->
+ <email>sanghun,chung@samsung.com</email>
+ <email>minnsoo.kim@samsung.com</email>
+
+<!-- rpm package & arch -->
+ <emulator>
+ <rpm accept="email-service" arch="i686"/>
+ <rpm accept="email-service-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="email-service" arch="armv7l"/>
+ <rpm accept="email-service-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="email-service" arch="riscv32"/>
+ <rpm accept="email-service-devel" arch="riscv32"/>
+ </riscv>
+
+<!-- file list to copy for SDK -->
+ <necessary>
+ <file>/usr/include/email-service/*.h</file>
+ <file>/usr/lib/libemail-api.so*</file>
+ </necessary>
+
+<!-- Build Option for SDK -->
+ <include_path>/usr/include/email-service</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libemail-api.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libalarm">
+ <email>sm79.lee@samsung.com</email>
+ <email>jiwoong.im@samsung.com</email>
+ <emulator>
+ <rpm accept="libalarm" arch="i686"/>
+ <rpm accept="libalarm-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libalarm" arch="armv7l"/>
+ <rpm accept="libalarm-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libalarm" arch="riscv32"/>
+ <rpm accept="libalarm-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/alarm.h</file>
+ <file>/usr/lib/libalarm.so*</file>
+ </necessary>
+ <include_path>/usr/include/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libalarm.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libcall-manager">
+ <email>steve.jun@samsung.com</email>
+ <email>jooseok.park@samsung.com</email>
+ <email>wootak.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="libcall-manager" arch="i686"/>
+ <rpm accept="libcall-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libcall-manager" arch="armv7l"/>
+ <rpm accept="libcall-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libcall-manager" arch="riscv32"/>
+ <rpm accept="libcall-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/call-manager/call-manager-extension.h</file>
+ <file>/usr/include/call-manager/call-manager.h</file>
+ <file>/usr/lib/libcall-manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/call-manager</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcall-manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="email-service">
+<!-- email -->
+ <email>sh.cat.lee@samsung.com</email>
+
+<!-- rpm package & arch -->
+ <emulator>
+ <rpm accept="libicu" arch="i686"/>
+ <rpm accept="libicu-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libicu" arch="armv7l"/>
+ <rpm accept="libicu-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libicu" arch="riscv32"/>
+ <rpm accept="libicu-devel" arch="riscv32"/>
+ </riscv>
+
+<!-- file list to copy for SDK -->
+ <necessary>
+ <file>*</file>
+ </necessary>
+
+<!-- Build Option for SDK -->
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libicudata.so</library>
+ <library>libicui18n.so</library>
+ <library>libicuio.so</library>
+ <library>libicutu.so</library>
+ <library>libicuuc.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="librua">
+ <email>sm79.lee@samsung.com</email>
+ <email>hhstark.kang@samsung.com</email>
+ <emulator>
+ <rpm accept="librua" arch="i686"/>
+ <rpm accept="librua-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="librua" arch="armv7l"/>
+ <rpm accept="librua-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="librua" arch="riscv32"/>
+ <rpm accept="librua-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/rua/rua.h</file>
+ <file>/usr/include/rua/rua_context.h</file>
+ <file>/usr/include/rua/rua_info.h</file>
+ <file>/usr/include/rua/rua_manager.h</file>
+ <file>/usr/include/rua/rua_stat.h</file>
+ <file>/usr/include/rua/rua_types.h</file>
+ <file>/usr/lib/librua.so*</file>
+ </necessary>
+ <include_path>/usr/include/rua/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>librua.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libshortcut">
+ <email>sm79.lee@samsung.com</email>
+ <email>mk5004.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="libshortcut" arch="i686"/>
+ <rpm accept="libshortcut-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libshortcut" arch="armv7l"/>
+ <rpm accept="libshortcut-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libshortcut" arch="riscv32"/>
+ <rpm accept="libshortcut-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/shortcut/shortcut.h</file>
+ <file>/usr/include/shortcut/shortcut_manager.h</file>
+ <file>/usr/include/shortcut/shortcut_error.h</file>
+ <file>/usr/lib/libshortcut.so*</file>
+ </necessary>
+ <include_path>/usr/include/shortcut</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libshortcut.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libtapi">
+ <email>steve.jun@samsung.com</email>
+ <email>jooseok.park@samsung.com</email>
+ <email>wootak.jung@samsung.com</email>
+ <emulator>
+ <rpm accept="libtapi" arch="i686"/>
+ <rpm accept="libtapi-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libtapi" arch="armv7l"/>
+ <rpm accept="libtapi-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libtapi" arch="riscv32"/>
+ <rpm accept="libtapi-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/telephony-client/ITapiCall.h</file>
+ <file>/usr/include/telephony-client/ITapiModem.h</file>
+ <file>/usr/include/telephony-client/ITapiNetText.h</file>
+ <file>/usr/include/telephony-client/ITapiNetwork.h</file>
+ <file>/usr/include/telephony-client/ITapiOem.h</file>
+ <file>/usr/include/telephony-client/ITapiPhonebook.h </file>
+ <file>/usr/include/telephony-client/ITapiSat.h</file>
+ <file>/usr/include/telephony-client/ITapiSim.h</file>
+ <file>/usr/include/telephony-client/ITapiSs.h</file>
+ <file>/usr/include/telephony-client/TapiUtility.h</file>
+ <file>/usr/include/telephony-client/TelCall.h</file>
+ <file>/usr/include/telephony-client/TelMisc.h</file>
+ <file>/usr/include/telephony-client/TelNetwork.h</file>
+ <file>/usr/include/telephony-client/TelOem.h</file>
+ <file>/usr/include/telephony-client/TelPower.h</file>
+ <file>/usr/include/telephony-client/TelSat.h</file>
+ <file>/usr/include/telephony-client/TelSatEnvelope.h</file>
+ <file>/usr/include/telephony-client/TelSatObj.h</file>
+ <file>/usr/include/telephony-client/TelSatProactvCmd.h</file>
+ <file>/usr/include/telephony-client/TelSim.h</file>
+ <file>/usr/include/telephony-client/TelSms.h</file>
+ <file>/usr/include/telephony-client/TelSs.h</file>
+ <file>/usr/include/telephony-client/tapi_event.h</file>
+ <file>/usr/include/telephony-client/tapi_type.h</file>
+ <file>/usr/include/telephony-client/tapi_common.h</file>
+ <file>/usr/lib/libSLP-tapi.so*</file>
+ </necessary>
+ <include_path>/usr/include/telephony-client</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libSLP-tapi.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="msg-service">
+<!-- email -->
+ <email>jk.koo@samsung.com</email>
+ <email>iamjs.kim@samsung.com</email>
+
+<!-- rpm package & arch -->
+ <emulator>
+ <rpm accept="msg-service" arch="i686"/>
+ <rpm accept="msg-service-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="msg-service" arch="armv7l"/>
+ <rpm accept="msg-service-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="msg-service" arch="riscv32"/>
+ <rpm accept="msg-service-devel" arch="riscv32"/>
+ </riscv>
+
+<!-- file list to copy for SDK -->
+ <necessary>
+ <file>/usr/include/msg-service/*.h</file>
+ <file>/usr/lib/libmsg_mapi.so*</file>
+ </necessary>
+
+<!-- Build Option for SDK -->
+ <include_path>/usr/include/msg-service</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libmsg_mapi.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="notification">
+ <email>sm79.lee@samsung.com</email>
+ <email>mk5004.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="notification" arch="i686"/>
+ <rpm accept="notification-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="notification" arch="armv7l"/>
+ <rpm accept="notification-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="notification" arch="riscv32"/>
+ <rpm accept="notification-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/notification/notification_error.h</file>
+ <file>/usr/include/notification/notification.h</file>
+ <file>/usr/include/notification/notification_status.h</file>
+ <file>/usr/include/notification/notification_type.h</file>
+ <file>/usr/include/notification/notification_ongoing.h</file>
+ <file>/usr/include/notification/notification_setting_internal.h</file>
+ <file>/usr/lib/libnotification.so*</file>
+ </necessary>
+ <include_path>/usr/include/notification</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libnotification.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="ode">
+ <email>jm77.ryu@samsung.com</email>
+ <emulator>
+ <rpm accept="libode" arch="i686"/>
+ <rpm accept="libode-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libode" arch="armv7l"/>
+ <rpm accept="libode-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libode" arch="riscv32"/>
+ <rpm accept="libode-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/ode/*.h</file>
+ <file>/usr/lib/libode.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libode.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="pkgmgr">
+ <email>jongmyeong.ko@samsung.com</email>
+ <emulator>
+ <rpm accept="pkgmgr-client" arch="i686" />
+ <rpm accept="pkgmgr-client-devel" arch="i686" />
+ <rpm accept="pkgmgr-installer" arch="i686" />
+ <rpm accept="pkgmgr-installer-devel" arch="i686" />
+ </emulator>
+ <target>
+ <rpm accept="pkgmgr-client" arch="armv7l" />
+ <rpm accept="pkgmgr-client-devel" arch="armv7l" />
+ <rpm accept="pkgmgr-installer" arch="armv7l" />
+ <rpm accept="pkgmgr-installer-devel" arch="armv7l" />
+ </target>
+ <riscv>
+ <rpm accept="pkgmgr-client" arch="riscv32" />
+ <rpm accept="pkgmgr-client-devel" arch="riscv32" />
+ <rpm accept="pkgmgr-installer" arch="riscv32" />
+ <rpm accept="pkgmgr-installer-devel" arch="riscv32" />
+ </riscv>
+ <necessary>
+ <file>/usr/include/package-manager.h</file>
+ <file>/usr/include/pkgmgr/pkgmgr_installer.h</file>
+ <file>/usr/lib/libpkgmgr-client.so*</file>
+ <file>/usr/lib/libpkgmgr_installer.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <include_path>/usr/include/pkgmgr</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libpkgmgr-client.so</library>
+ <library>libpkgmgr_installer.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="private-api">
+<!-- email -->
+ <email>xxxx@samsung.com</email>
+
+<!-- rpm package & arch -->
+ <emulator>
+ </emulator>
+ <target>
+ </target>
+ <riscv>
+ </riscv>
+
+<!-- file list to copy for SDK -->
+ <necessary>
+ <file>*</file>
+ </necessary>
+
+<!-- Build Option for SDK -->
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>liblibrary.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="syspopup">
+ <email>sm79.lee@samsung.com</email>
+ <email>h.jhun@samsung.com</email>
+ <emulator>
+ <rpm accept="syspopup-caller" arch="i686"/>
+ <rpm accept="syspopup-caller-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="syspopup-caller" arch="armv7l"/>
+ <rpm accept="syspopup-caller-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="syspopup-caller" arch="riscv32"/>
+ <rpm accept="syspopup-caller-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/syspopup_caller.h</file>
+ <file>/usr/lib/libsyspopup_caller.so*</file>
+ </necessary>
+ <include_path>/usr/include/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libsyspopup_caller.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="tizen-core">
+ <email>jh9216.park@samsung.com</email>
+ <email>jusung07.son@samsung.com</email>
+ <email>h.jhun@samsung.com</email>
+ <email>changyu.choi@samsung.com</email>
+ <emulator>
+ <rpm accept="tizen-core" arch="i686"/>
+ <rpm accept="tizen-core-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="tizen-core" arch="armv7l"/>
+ <rpm accept="tizen-core-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="tizen-core" arch="riscv32"/>
+ <rpm accept="tizen-core-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/tizen-core/tizen_core_internal.h</file>
+ <file>/usr/include/tizen-core/tizen_core_event_internal.h</file>
+ <file>/usr/lib/libtizen-core.so*</file>
+ </necessary>
+ <include_path>/usr/include/tizen-core</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libtizen-core.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="tzsh">
+ <email>lsj119@samsung.com</email>
+ <email>gl77.lee@samsung.com</email>
+ <email>juyeonne.lee@samsung.com</email>
+ <email>doyoun.kang@samsung.com</email>
+ <email>shiin.lee@samsung.com</email>
+ <email>minjjj.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="tzsh" arch="i686"/>
+ <rpm accept="tzsh-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="tzsh" arch="armv7l"/>
+ <rpm accept="tzsh-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="tzsh" arch="riscv32"/>
+ <rpm accept="tzsh-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>*</file>
+ </necessary>
+ <include_path>/usr/include/tzsh</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libtzsh_common.so</library>
+ <library>libtzsh_indicator_service.so</library>
+ <library>libtzsh_lockscreen_service.so</library>
+ <library>libtzsh_quickpanel_service.so</library>
+ <library>libtzsh_quickpanel.so</library>
+ <library>libtzsh_softkey_service.so</library>
+ <library>libtzsh_softkey.so</library>
+ <library>libtzsh_server.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="ui-gadget-1">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="ui-gadget-1" arch="i686"/>
+ <rpm accept="ui-gadget-1-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="ui-gadget-1" arch="armv7l"/>
+ <rpm accept="ui-gadget-1-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="ui-gadget-1" arch="riscv32"/>
+ <rpm accept="ui-gadget-1-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/ug-1/ui-gadget.h</file>
+ <file>/usr/include/ug-1/ui-gadget-module.h</file>
+ <file>/usr/lib/libui-gadget-1.so*</file>
+ <file>/usr/lib/libui-gadget-1-efl-engine.so</file>
+ </necessary>
+ <include_path>/usr/include/ug-1</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libui-gadget-1.so</library>
+ <library>libui-gadget-1-efl-engine.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="vconf">
+ <email>sm79.lee@samsung.com</email>
+ <email>jh9216.park@samsung.com</email>
+ <emulator>
+ <rpm accept="vconf-compat" arch="i686"/>
+ <rpm accept="vconf-compat-devel" arch="i686"/>
+ <rpm accept="vconf-internal-keys" arch="i686"/>
+ <rpm accept="vconf-internal-keys-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="vconf-compat" arch="armv7l"/>
+ <rpm accept="vconf-compat-devel" arch="armv7l"/>
+ <rpm accept="vconf-internal-keys" arch="armv7l"/>
+ <rpm accept="vconf-internal-keys-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="vconf-compat" arch="riscv32"/>
+ <rpm accept="vconf-compat-devel" arch="riscv32"/>
+ <rpm accept="vconf-internal-keys" arch="riscv32"/>
+ <rpm accept="vconf-internal-keys-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/vconf/vconf.h</file>
+ <file>/usr/include/vconf/vconf-keys.h</file>
+ <file>/usr/include/vconf/vconf-internal-keys.h</file>
+ <file>/usr/include/vconf/vconf-internal-*.h</file>
+ <file>/usr/lib/libvconf.so*</file>
+ </necessary>
+ <include_path>/usr/include/vconf</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libvconf.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="voice-control-manager">
+ <email>sehwan@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <email>sooyeon.kim@samsung.com</email>
+ <email>stom.hwang@samsung.com</email>
+ <emulator>
+ <rpm accept="voice-control" arch="i686"/>
+ <rpm accept="voice-control-manager-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="voice-control" arch="armv7l"/>
+ <rpm accept="voice-control-manager-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="voice-control" arch="riscv32"/>
+ <rpm accept="voice-control-manager-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/voice_control_manager.h</file>
+ <file>/usr/lib/libvc_manager.so*</file>
+ </necessary>
+ <include_path>/usr/include/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libvc_manager.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="voice-control-setting">
+ <email>sehwan@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <email>sooyeon.kim@samsung.com</email>
+ <email>stom.hwang@samsung.com</email>
+ <emulator>
+ <rpm accept="voice-control" arch="i686"/>
+ <rpm accept="voice-control-setting-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="voice-control" arch="armv7l"/>
+ <rpm accept="voice-control-setting-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="voice-control" arch="riscv32"/>
+ <rpm accept="voice-control-setting-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/voice_control_setting.h</file>
+ <file>/usr/lib/libvc_setting.so*</file>
+ </necessary>
+ <include_path>/usr/include/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libvc_setting.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="voice-control-widget">
+ <email>sehwan@samsung.com</email>
+ <email>wn.jang@samsung.com</email>
+ <email>sooyeon.kim@samsung.com</email>
+ <email>stom.hwang@samsung.com</email>
+ <emulator>
+ <rpm accept="voice-control" arch="i686"/>
+ <rpm accept="voice-control-widget-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="voice-control" arch="armv7l"/>
+ <rpm accept="voice-control-widget-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="voice-control" arch="riscv32"/>
+ <rpm accept="voice-control-widget-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/voice_control_widget.h</file>
+ <file>/usr/lib/libvc_widget.so*</file>
+ </necessary>
+ <include_path>/usr/include/</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libvc_widget.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libgcc">
+ <email>seok.oh@samsung.com</email>
+ <emulator>
+ <rpm accept="libgcc" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libgcc" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libgcc" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/lib/libgcc_s.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libgcc_s.so.1</library>
+</rootstrap>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="libstdc">
+ <email>seok.oh@samsung.com</email>
+ <emulator>
+ <rpm accept="libstdc++" arch="i686"/>
+ <rpm accept="libstdc++-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="libstdc++" arch="armv7l"/>
+ <rpm accept="libstdc++-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="libstdc++" arch="riscv32"/>
+ <rpm accept="libstdc++-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/lib/libstdc++.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libstdc++.so</library>
+ <library>libstdc++.a</library>
+</rootstrap>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-network-zigbee">
+ <email>steve.jun@samsung.com</email>
+ <email>sareome.kim@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-network-zigbee" arch="i686"/>
+ <rpm accept="capi-network-zigbee-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-network-zigbee" arch="armv7l"/>
+ <rpm accept="capi-network-zigbee-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-network-zigbee" arch="riscv32"/>
+ <rpm accept="capi-network-zigbee-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/network/zigbee.h</file>
+ <file>/usr/include/network/zigbee-zdo-type.h</file>
+ <file>/usr/include/network/zigbee-zcl-type.h</file>
+ <file>/usr/lib/libcapi-network-zigbee.so*</file>
+ </necessary>
+ <include_path>/usr/include/network</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-network-zigbee.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="capi-system-peripheral-io">
+ <email>knhoon.baik@samsung.com</email>
+ <email>kibak.yoon@samsung.com</email>
+ <email>segwon.han@samsung.com</email>
+ <emulator>
+ <rpm accept="capi-system-peripheral-io" arch="i686"/>
+ <rpm accept="capi-system-peripheral-io-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="capi-system-peripheral-io" arch="armv7l"/>
+ <rpm accept="capi-system-peripheral-io-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="capi-system-peripheral-io" arch="riscv32"/>
+ <rpm accept="capi-system-peripheral-io-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/peripheral_io.h</file>
+ <file>/usr/lib/libcapi-system-peripheral-io.so*</file>
+ </necessary>
+ <include_path>/usr/include</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libcapi-system-peripheral-io.so</library>
+</rootstrap>
--- /dev/null
+<?xml version="1.0"?>
+<rootstrap name="update-control">
+ <email>knhoon.baik@samsung.com</email>
+ <email>sunm.lee@samsung.com</email>
+ <emulator>
+ <rpm accept="update-control" arch="i686"/>
+ <rpm accept="update-control-devel" arch="i686"/>
+ </emulator>
+ <target>
+ <rpm accept="update-control" arch="armv7l"/>
+ <rpm accept="update-control-devel" arch="armv7l"/>
+ </target>
+ <riscv>
+ <rpm accept="update-control" arch="riscv32"/>
+ <rpm accept="update-control-devel" arch="riscv32"/>
+ </riscv>
+ <necessary>
+ <file>/usr/include/system/update_control.h</file>
+ <file>/usr/lib/libupdate-control.so*</file>
+ </necessary>
+ <include_path>/usr/include/system</include_path>
+ <library_path>/usr/lib</library_path>
+ <library>libupdate-control.so</library>
+</rootstrap>
--- /dev/null
+#!/usr/bin/python2
+
+import sys, os, re
+
+efldirs = "ecore-1 e_dbus-1 edje-1 eet-1 efreet-1 eina-1 eio-1 elementary-1 embryo-1 ethumb-1 evas-1"
+exceptions = "_eina_crc eina_array_grow eina_log_color_disable_get eina_log_domain_registered_level_get eina_log_level_get eina_log_print eina_value_inner_alloc eina_value_inner_free eina_value_struct_member_find eina_value_type_check"
+
+def processEAPI(fp, line, buf, update):
+ funcname = None
+
+ # parse funcname
+ for idx, token in enumerate(line.split()):
+ if "(" in token:
+ if "(" == token[0]:
+ funcname = last
+ else:
+ funcname = token[:token.find("(")]
+ break
+ last = token
+ while "*" == funcname[0]:
+ funcname = funcname[1:]
+
+ # handle blacklist API
+ if not funcname in whitelist:
+ if update:
+ buf[-1] = "//" + buf[-1]
+ eol = True
+ while eol:
+ line = "//" + line
+ buf.append(line)
+ if ";" in line:
+ eol = False
+ else:
+ line = fp.readline()
+ print(file, funcname, "X")
+ # handle whitelist API
+ else:
+ buf.append(line)
+ print(file, funcname, "O")
+
+##############
+# Main Start #
+##############
+
+# check whether path is given
+if len(sys.argv) < 2:
+ print("error: path is not specified.")
+ sys.exit()
+
+# build whitelist
+script_path=os.path.realpath(__file__)
+fp = open(os.path.dirname(script_path) + "/whitelist", "r")
+whitelist = set()
+while True:
+ line = fp.readline()
+ if not line: break
+ whitelist.add(line.replace("\n",""))
+fp.close()
+for exp in exceptions.split():
+ whitelist.add(exp)
+
+# traverse header files
+for efldir in efldirs.split():
+ for subdir, dirs, files in os.walk(sys.argv[1] + "/usr/include/" + efldir):
+ for file in files:
+ filepath = subdir + os.sep + file
+
+ buf = list()
+ fp = open(filepath, "r")
+ while True:
+ line = fp.readline()
+ if not line: break
+
+ # handle EAPI
+ if not line[0] == "#" and re.search("\s*EAPI.*\(.*", line):
+ processEAPI(fp, line, buf, False)
+
+ elif not line[0] == "#" and "EAPI" in line and not ";" in line and not line.lstrip()[0] == "*" and not line.lstrip()[1] == "*":
+ buf.append(line)
+ line = fp.readline()
+ processEAPI(fp, line, buf, True)
+
+ # handle other lines
+ else:
+ buf.append(line)
+ fp.close()
+
+ # write header file
+ fp = open(filepath, "w")
+ for line in buf:
+ fp.write(line)
+ fp.close()
--- /dev/null
+#!/usr/bin/python2
+import sys, os, re
+
+# use space as delimiter
+glibdirs = "glib-2.0"
+
+# g_dbus api matcher
+re_func = re.compile("(?P<rtype>\w*[\t ]*[*]{0,3})[\t ]*(?P<api>[_]?g_(test_)?[d]?bus_[\w\d]+)[\t ]+(?P<param>\()")
+re_func_end = re.compile("[)]{1}.*[;]{1}")
+
+# special case matcher
+# G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref)
+re_def_auto_ptr = re.compile("G_DEFINE_AUTOPTR_CLEANUP_FUNC\(.*(?P<api>[_]?g_(test_)?[d]?bus_[\w\d]+)+[\w\s]*\)")
+
+def api_filter(relative_path):
+ # traverse header files
+ for glibdir in glibdirs.split():
+ glibpath = relative_path + "/usr/include/" + glibdir
+ if not os.path.isdir(glibpath):
+ print(glibpath, 'is not valid path')
+ continue
+ print(glibpath)
+ for subdir, dirs, files in os.walk(glibpath):
+ for file in files:
+ filepath = subdir + os.sep + file
+
+ buf = list()
+ fp = open(filepath, "rt")
+ if not fp:
+ print('file open error', filepath)
+ continue
+ lines = fp.readlines()
+ fp.close()
+
+ found_func = False
+ nline = False
+
+ for line in lines:
+ if nline:
+ if not line:
+ nline = False
+ continue
+ # find end of multi-line macro
+ if not line.strip() or line.strip()[-1] != '\\':
+ nline = False
+ buf.append(line)
+ continue
+
+ if not line:
+ continue
+
+ line_dup = line.strip()
+ if not line_dup:
+ buf.append(line)
+ continue
+
+ if found_func:
+ buf.append('//{0}'.format(line))
+ # find end of func
+ if re.search("[)].*[;]", line_dup):
+ found_func = False
+ continue
+ # ignore comment or macro
+ if line_dup[0] in ['#', '*', '/']:
+ buf.append(line)
+ # find macro : '#define + \'
+ if line_dup[-1] == '\\':
+ nline = True
+ continue
+
+ # find g_dbus_* function
+ result = re_func.search(line_dup)
+ if not result:
+ # G_DEFINE_AUTOPTR_CLEANUP_FUNC(GDBusNodeInfo, g_dbus_node_info_unref)
+ result = re_def_auto_ptr.search(line_dup)
+ if result:
+ buf.append('//{0}'.format(line))
+ print('{0: <30} {1: <45}\tX'.format(file, '(G_DEFINE*) ' + result.group('api')))
+ else:
+ buf.append(line)
+ continue
+
+ if not result.group('api') or not result.group('api').strip():
+ print('error:un reachable', result.groupdict())
+ continue
+
+ # ignore private api _g_dbus_xxx
+ if result.group('api').strip()[0] == '_':
+ buf.append(line)
+ continue
+
+ found_func = True
+
+ if result.start('param') == -1:
+ print('un reachable:can not find open parenthesis')
+ # find end of func
+ if re_func_end.search(line_dup[result.start('param'):]):
+ found_func = False
+
+ # check prefix macro
+ if len(buf) > 0 and buf[-1].find('GLIB_AVAILABLE_IN') == 0:
+ buf[-1] = '//' + buf[-1]
+ buf.append('//{0}'.format(line))
+
+ print('{0: <30} {1: <45}\tX'.format(file, result.group('api')))
+
+ # re-write header file
+ for i in range(3):
+ fp = open(filepath, "wt")
+ if not fp:
+ print('file open error. failed to re-write', filepath)
+ print('retry re-write', i)
+ continue
+ fp.writelines(buf)
+ fp.close()
+ break
+
+# main
+if __name__ == "__main__":
+ # check whether path is given
+ args = ''
+ if sys.argv[0].find('python') == 0:
+ args = sys.argv[1:]
+ else:
+ args = sys.argv
+ if len(args) < 2:
+ print("error: path is not specified.")
+ sys.exit()
+ api_filter(args[1])
+
--- /dev/null
+#/bin/bash
+
+# xml Converter
+git checkout ./rs_resource ./rs_resource_invisible
+find ./ \( -name "*-rs.xml" ! -iname "setup-rs.xml" \) \
+-exec xmlstarlet ed -L -u //rootstrap/emulator/rpm/@arch -v "i686" {} \; \
+-exec xmlstarlet ed -L -u //rootstrap/target/rpm/@arch -v "armv7l" {} \; \
+-exec xmlstarlet ed -L -u //rootstrap/library_path -v "/usr/lib" {} \; \
+-exec sed -i "s@<file>/usr/lib64/@<file>/usr/lib/@" {} \; \
+-exec sed -i "s@<file>/lib64/@<file>/lib32/@" {} \; \
+-exec sed -i "s@<include_path>/usr/lib64/@<include_path>/usr/lib32/@" {} \;
+
+# rs-config
+BASE_URL_POSTFIX_TARGET="/repos/standard/packages/"
+BASE_URL_POSTFIX_EMULATOR="/repos/standard/packages/"
+
+sed -i "s@BASE_URL_POSTFIX_TARGET=.*@BASE_URL_POSTFIX_TARGET=\"${BASE_URL_POSTFIX_TARGET}\"@" rs-config
+sed -i "s@BASE_URL_POSTFIX_EMULATOR=.*@BASE_URL_POSTFIX_EMULATOR=\"${BASE_URL_POSTFIX_EMULATOR}\"@" rs-config
+
+SNAPSHOT_URL_POSTFIX_EMULATOR="/repos/emulator/packages/"
+SNAPSHOT_URL_POSTFIX_TARGET="/repos/standard/packages/"
+
+sed -i "s@SNAPSHOT_URL_POSTFIX_EMULATOR=.*@SNAPSHOT_URL_POSTFIX_EMULATOR=\"${SNAPSHOT_URL_POSTFIX_EMULATOR}\"@" rs-config
+sed -i "s@SNAPSHOT_URL_POSTFIX_TARGET=.*@SNAPSHOT_URL_POSTFIX_TARGET=\"${SNAPSHOT_URL_POSTFIX_TARGET}\"@" rs-config
+
+# Post Script
+#git checkout ./make_rootstrap.sh
+#sed -i "s/asm-arm64/asm-arm/g" make_rootstrap.sh
+#sed -i "s/asm-ia64/asm-x86/g" make_rootstrap.sh
+
+#git checkout ./script/rootstrap_gen_1.0.sh
+#POSTLINKER_PATH=${PWD_BACKUP}"/script/postlinker"
+#3sed -i "s@POSTLINKER_PATH=.*postlinker.*\$@POSTLINKER_PATH=\$\{PWD_BACKUP\}/script/postlinker@" ./script/rootstrap_gen_1.0.sh
+#sed -i "s@/usr/lib64@/usr/lib@" ./script/rootstrap_gen_1.0.sh
--- /dev/null
+#/bin/bash
+
+# xml Converter
+git checkout ./rs_resource ./rs_resource_invisible
+find ./ \( -name "*-rs.xml" ! -iname "setup-rs.xml" \) \
+-exec xmlstarlet ed -L -u //rootstrap/emulator/rpm/@arch -v "x86_64" {} \; \
+-exec xmlstarlet ed -L -u //rootstrap/target/rpm/@arch -v "aarch64" {} \; \
+-exec xmlstarlet ed -L -u //rootstrap/riscv/rpm/@arch -v "riscv64" {} \; \
+-exec xmlstarlet ed -L -u //rootstrap/library_path -v "/usr/lib64" {} \; \
+-exec sed -i "s@<file>/usr/lib/@<file>/usr/lib64/@" {} \; \
+-exec sed -i "s@<file>/lib/@<file>/lib64/@" {} \; \
+-exec sed -i "s@<include_path>/usr/lib/@<include_path>/usr/lib64/@" {} \;
+
+# rs-config
+BASE_URL_POSTFIX_TARGET="/repos/standard/packages/"
+BASE_URL_POSTFIX_EMULATOR="/repos/standard/packages/"
+BASE_URL_POSTFIX_RISCV="/repos/standard/packages/"
+
+sed -i "s@BASE_URL_POSTFIX_TARGET=.*@BASE_URL_POSTFIX_TARGET=\"${BASE_URL_POSTFIX_TARGET}\"@" rs-config
+sed -i "s@BASE_URL_POSTFIX_EMULATOR=.*@BASE_URL_POSTFIX_EMULATOR=\"${BASE_URL_POSTFIX_EMULATOR}\"@" rs-config
+sed -i "s@BASE_URL_POSTFIX_RISCV=.*@BASE_URL_POSTFIX_RISCV=\"${BASE_URL_POSTFIX_RISCV}\"@" rs-config
+
+SNAPSHOT_URL_POSTFIX_EMULATOR="/repos/emulator/packages/"
+SNAPSHOT_URL_POSTFIX_TARGET="/repos/standard/packages/"
+SNAPSHOT_URL_POSTFIX_RISCV="/repos/standard/packages/"
+
+sed -i "s@SNAPSHOT_URL_POSTFIX_EMULATOR=.*@SNAPSHOT_URL_POSTFIX_EMULATOR=\"${SNAPSHOT_URL_POSTFIX_EMULATOR}\"@" rs-config
+sed -i "s@SNAPSHOT_URL_POSTFIX_TARGET=.*@SNAPSHOT_URL_POSTFIX_TARGET=\"${SNAPSHOT_URL_POSTFIX_TARGET}\"@" rs-config
+sed -i "s@SNAPSHOT_URL_POSTFIX_RISCV=.*@SNAPSHOT_URL_POSTFIX_RISCV=\"${SNAPSHOT_URL_POSTFIX_RISCV}\"@" rs-config
+
+# Post Script
+#git checkout ./make_rootstrap_64.sh
+#sed -i "s/asm-arm/asm-arm64/g" make_rootstrap_64.sh
+sed -i "s/asm-x86/asm-ia64/g" make_rootstrap_64.sh
+
+#git checkout ./script/rootstrap_gen_1.0_64.sh
+#POSTLINKER_PATH=${PWD_BACKUP}"/script/postlinker"
+#sed -i "s@POSTLINKER_PATH=.*postlinker.*\$@POSTLINKER_PATH=\$\{PWD_BACKUP\}/script/postlinker_64@" ./script/rootstrap_gen_1.0_64.sh
+#sed -i "s@/usr/lib@/usr/lib64@" ./script/rootstrap_gen_1.0_64.sh
--- /dev/null
+#!/bin/bash
+
+# 폴더 리스트를 인자로 받습니다.
+folder_list=("$@")
+
+# 폴더 리스트를 공백을 기준으로 분리합니다.
+IFS=' ' read -ra folders <<< "$folder_list"
+
+# 각 폴더에서.xml 파일 경로를 추출합니다.
+xml_files=()
+for folder in "$@"; do
+ xml_files+=($(find "$folder" -name "*.xml"))
+done
+
+function do_op() {
+ local xml_file="$1"
+ extracted_content=$(sed -n '/<target>/,/<\/target>/p' "$xml_file")
+ echo "${extracted_content}"
+ modified_content=$(echo "${extracted_content}" | sed 's/<target>/<riscv>/g' | sed 's/<\/target>/<\/riscv>/g' | sed 's/armv7l/riscv32/g')
+ echo "${modified_content}"
+ sed -i '/<\/target>/r/dev/stdin' "$xml_file"<<<"$modified_content"
+}
+
+# 추출한.xml 파일 경로를 하나씩 do_op 함수에 전달합니다.
+for files in "${xml_files[@]}"; do
+ echo "$files"
+ do_op "$files"
+done
\ No newline at end of file
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+
+#define ELF_FORMAT 0x464c457f
+
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+typedef int int32_t;
+
+typedef uint16_t Elf32_Half;
+typedef uint32_t Elf32_Word;
+typedef int32_t Elf32_Sword;
+typedef uint32_t Elf32_Addr;
+typedef uint32_t Elf32_Off;
+typedef uint16_t Elf32_Section;
+
+#define EI_NIDENT (16)
+
+typedef struct
+{
+ unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */
+ Elf32_Half e_type; /* Object file type */
+ Elf32_Half e_machine; /* Architecture */
+ Elf32_Word e_version; /* Object file version */
+ Elf32_Addr e_entry; /* Entry point virtual address */
+ Elf32_Off e_phoff; /* Program header table file offset */
+ Elf32_Off e_shoff; /* Section header table file offset */
+ Elf32_Word e_flags; /* Processor-specific flags */
+ Elf32_Half e_ehsize; /* ELF header size in bytes */
+ Elf32_Half e_phentsize; /* Program header table entry size */
+ Elf32_Half e_phnum; /* Program header table entry count */
+ Elf32_Half e_shentsize; /* Section header table entry size */
+ Elf32_Half e_shnum; /* Section header table entry count */
+ Elf32_Half e_shstrndx; /* Section header string table index */
+} Elf32_Ehdr;
+
+/* Program segment header. */
+
+typedef struct
+{
+ Elf32_Word p_type; /* Segment type */
+ Elf32_Off p_offset; /* Segment file offset */
+ Elf32_Addr p_vaddr; /* Segment virtual address */
+ Elf32_Addr p_paddr; /* Segment physical address */
+ Elf32_Word p_filesz; /* Segment size in file */
+ Elf32_Word p_memsz; /* Segment size in memory */
+ Elf32_Word p_flags; /* Segment flags */
+ Elf32_Word p_align; /* Segment alignment */
+} Elf32_Phdr;
+
+/* Dynamic section entry. */
+
+typedef struct
+{
+ Elf32_Sword d_tag; /* Dynamic entry type */
+ union
+ {
+ Elf32_Word d_val; /* Integer value */
+ Elf32_Addr d_ptr; /* Address value */
+ } d_un;
+} Elf32_Dyn;
+
+/* Symbol table entry. */
+
+typedef struct
+{
+ Elf32_Word st_name; /* Symbol name (string tbl index) */
+ Elf32_Addr st_value; /* Symbol value */
+ Elf32_Word st_size; /* Symbol size */
+ unsigned char st_info; /* Symbol type and binding */
+ unsigned char st_other; /* No defined meaning, 0 */
+ Elf32_Section st_shndx; /* Section index */
+} Elf32_Sym;
+
+#define PT_DYNAMIC 2 /* Dynamic linking information */
+#define DT_NULL 0 /* Marks end of dynamic section */
+#define DT_NEEDED 1 /* Name of needed library */
+#define DT_HASH 4 /* Address of symbol hash table */
+#define DT_SYMTAB 6 /* Address of symbol table */
+#define DT_SYMENT 11 /* Size of one symbol table entry */
+#define DT_GARBAGE 0xffffffff /* End of processor-specific */
+#define DT_GNU_HASH 0x6ffffef5 /* GNU-style hash table. */
+
+/* Special section index. */
+
+#define SHN_UNDEF 0 /* No section, undefined symbol. */
+#define STT_NOTYPE 0 /* Symbol type is unspecified */
+#define STT_OBJECT 1 /* Symbol is a data object */
+#define STT_FUNC 2 /* Symbol is a code object */
+
+int PostLinker(char* fileName);
+
+int main(int argc, char* argv[])
+{
+ int i;
+ for(i=1; i<argc; i++)
+ PostLinker(argv[i]);
+}
+int PostLinker(char* fileName)
+{
+ Elf32_Ehdr elfHeader;
+ Elf32_Phdr *pSegmentEntries;
+ Elf32_Dyn *DynEntries;
+ Elf32_Sym *pMapSymbolTable;
+ int totalSymbolCnt;
+ int i;
+ int pos;
+
+ FILE *fp;
+ int done, done2;
+ int symbolOff = 0;
+ int symEntrySize = 0;
+ int hashOff = 0;
+ int Len;
+
+ fp = NULL;
+ fp = fopen(fileName, "r+");
+
+ if (fp == NULL)
+ {
+ printf("error[%s] : file open\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ /* Get ELF Header Information */
+ if(!fread((void*)&elfHeader, sizeof(Elf32_Ehdr), 1, fp))
+ {
+ printf("error[%s] : file read <header>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ if(*(int*)(elfHeader.e_ident) != ELF_FORMAT)
+ {
+ printf("error[%s] : no ELF format\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+ pSegmentEntries = NULL;
+ DynEntries = NULL;
+
+ /* Memory Allocation for Segment and Section entries */
+ pSegmentEntries = (Elf32_Phdr *)malloc(elfHeader.e_phentsize * elfHeader.e_phnum);
+
+ /* Get Segment Header Information using ELF Header */
+ fseek(fp, elfHeader.e_phoff, SEEK_SET);
+ if(!fread(pSegmentEntries, elfHeader.e_phentsize * elfHeader.e_phnum, 1, fp))
+ printf("error[%s] : file read <pSegmentEntries>\n", fileName );
+
+ /* Get Dynamic segment Information using Segment Header */
+ for(i=0; i<elfHeader.e_phnum; i++)
+ {
+ if(pSegmentEntries[i].p_type == PT_DYNAMIC)
+ {
+ fseek(fp, pSegmentEntries[i].p_offset, SEEK_SET);
+ DynEntries = (Elf32_Dyn*)malloc(pSegmentEntries[i].p_memsz);
+ if(DynEntries == NULL)
+ {
+ printf("error[%s] : memory allocation <DynEntries>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+ if(!fread(DynEntries, pSegmentEntries[i].p_memsz, 1, fp))
+ {
+ printf("error[%s] : file read <DynEntries>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+ pos = i;
+ break;
+ }
+ }
+
+ for(i=0; DynEntries[i].d_tag != DT_NULL ; i++)
+ {
+ switch(DynEntries[i].d_tag)
+ {
+ case DT_NEEDED:
+ done = DT_GARBAGE;
+ DynEntries[i].d_tag = DT_GARBAGE;
+ break;
+ case DT_SYMTAB: symbolOff = DynEntries[i].d_un.d_val; break;
+ case DT_SYMENT: symEntrySize = DynEntries[i].d_un.d_val; break;
+ case DT_HASH: hashOff = DynEntries[i].d_un.d_val; break;
+ case DT_GNU_HASH: hashOff = DynEntries[i].d_un.d_val; break;
+ default: break;
+ }
+ }
+
+ fseek(fp, hashOff+4,SEEK_SET);
+ if(!fread(&totalSymbolCnt, sizeof(Elf32_Word), 1, fp))
+ printf("error[%s] : file read <symEntryCnt>\n", fileName);
+
+ pMapSymbolTable = (Elf32_Sym*)malloc(totalSymbolCnt * sizeof(Elf32_Sym));
+ fseek(fp, symbolOff,SEEK_SET);
+ if(!fread(pMapSymbolTable, symEntrySize * totalSymbolCnt, 1, fp))
+ printf("error[%s] : file read <pMapSymbolTable>\n", fileName);
+
+ done2 = 0;
+ for(i=1; i<totalSymbolCnt; i++)
+ {
+ if(pMapSymbolTable[i].st_shndx == SHN_UNDEF
+ && pMapSymbolTable[i].st_value == 0
+ && ((pMapSymbolTable[i].st_info&0xF) == STT_FUNC ||( pMapSymbolTable[i].st_info&0xF) == STT_OBJECT || (pMapSymbolTable[i].st_info&0xF) == STT_NOTYPE))
+ {
+ if(pMapSymbolTable[i].st_name == 0)
+ {
+ done2 = 0;
+ }
+ pMapSymbolTable[i].st_name = 0;
+ pMapSymbolTable[i].st_value = 0;
+ pMapSymbolTable[i].st_size = 0;
+ pMapSymbolTable[i].st_info = 0;
+ pMapSymbolTable[i].st_shndx = 0;
+ done2 = 1;
+ }
+ }
+
+ if (!done)
+ {
+// printf("DT_NEEDED field is already removed : %s\n", fileName);
+// return 1;
+ }
+ if (!done2)
+ {
+ printf("Undefined symbols are already removed : %s\n", fileName);
+ return 1;
+ }
+
+ fseek(fp, pSegmentEntries[pos].p_offset, SEEK_SET);
+ if(!fwrite(DynEntries, pSegmentEntries[pos].p_memsz, 1, fp))
+ {
+ printf("error[%s] : file write <DynEntries>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+ fseek(fp, symbolOff,SEEK_SET);
+ if(!fwrite(pMapSymbolTable, symEntrySize * totalSymbolCnt, 1, fp))
+ {
+ printf("error[%s] : file write <pMapSymbolTable>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ fclose(fp);
+ printf("Success : %s\n", fileName);
+ return 1;
+}
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <elf.h>
+
+#define ELF_FORMAT 0x464c457f
+#define DT_GARBAGE 0xffffffff /* End of processor-specific */
+
+int PostLinker64(char* fileName);
+
+int main(int argc, char* argv[])
+{
+ int i;
+ for(i=1; i<argc; i++)
+ PostLinker64(argv[i]);
+}
+
+int PostLinker64(char* fileName)
+{
+ Elf64_Ehdr elfHeader;
+ Elf64_Phdr *pSegmentEntries;
+ Elf64_Dyn *DynEntries;
+ Elf64_Sym *pMapSymbolTable;
+ int totalSymbolCnt;
+ int i;
+ int pos;
+
+ FILE *fp;
+ int done, done2;
+ int symbolOff = 0;
+ int symEntrySize = 0;
+ int hashOff = 0;
+ int Len;
+
+ fp = NULL;
+ fp = fopen(fileName, "r+");
+
+ if (fp == NULL)
+ {
+ printf("error[%s] : file open\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ /* Get ELF Header Information */
+ if(!fread((void*)&elfHeader, sizeof(Elf64_Ehdr), 1, fp))
+ {
+ printf("error[%s] : file read <header>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ if(*(int*)(elfHeader.e_ident) != ELF_FORMAT)
+ {
+ printf("error[%s] : no ELF format\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ if (elfHeader.e_ident[EI_CLASS] != 2 )
+ {
+ printf("error[%s] : EI_CLASS is not 64-bit format\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ pSegmentEntries = NULL;
+ DynEntries = NULL;
+
+ /* Memory Allocation for Segment and Section entries */
+ pSegmentEntries = (Elf64_Phdr *)malloc(elfHeader.e_phentsize * elfHeader.e_phnum);
+
+ /* Get Segment Header Information using ELF Header */
+ fseek(fp, elfHeader.e_phoff, SEEK_SET);
+ if(!fread(pSegmentEntries, elfHeader.e_phentsize * elfHeader.e_phnum, 1, fp))
+ printf("error[%s] : file read <pSegmentEntries>\n", fileName );
+
+ /* Get Dynamic segment Information using Segment Header */
+ for(i=0; i<elfHeader.e_phnum; i++)
+ {
+ if(pSegmentEntries[i].p_type == PT_DYNAMIC)
+ {
+ fseek(fp, pSegmentEntries[i].p_offset, SEEK_SET);
+ DynEntries = (Elf64_Dyn*)malloc(pSegmentEntries[i].p_memsz);
+ if(DynEntries == NULL)
+ {
+ printf("error[%s] : memory allocation <DynEntries>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+ if(!fread(DynEntries, pSegmentEntries[i].p_memsz, 1, fp))
+ {
+ printf("error[%s] : file read <DynEntries>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+ pos = i;
+ break;
+ }
+ }
+
+ for(i=0; DynEntries[i].d_tag != DT_NULL ; i++)
+ {
+ switch(DynEntries[i].d_tag)
+ {
+ case DT_NEEDED:
+ done = DT_GARBAGE;
+ DynEntries[i].d_tag = DT_GARBAGE;
+ break;
+ case DT_SYMTAB: symbolOff = DynEntries[i].d_un.d_val; break;
+ case DT_SYMENT: symEntrySize = DynEntries[i].d_un.d_val; break;
+ case DT_HASH: hashOff = DynEntries[i].d_un.d_val; break;
+ case DT_GNU_HASH: hashOff = DynEntries[i].d_un.d_val; break;
+ default: break;
+ }
+ }
+
+ fseek(fp, hashOff+4,SEEK_SET);
+ if(!fread(&totalSymbolCnt, sizeof(Elf64_Word), 1, fp))
+ printf("error[%s] : file read <symEntryCnt>\n", fileName);
+
+ pMapSymbolTable = (Elf64_Sym*)malloc(totalSymbolCnt * sizeof(Elf64_Sym));
+ fseek(fp, symbolOff,SEEK_SET);
+ if(!fread(pMapSymbolTable, symEntrySize * totalSymbolCnt, 1, fp))
+ printf("error[%s] : file read <pMapSymbolTable>\n", fileName);
+
+ done2 = 0;
+ for(i=1; i<totalSymbolCnt; i++)
+ {
+ if(pMapSymbolTable[i].st_shndx == SHN_UNDEF
+ && pMapSymbolTable[i].st_value == 0
+ && ((pMapSymbolTable[i].st_info&0xF) == STT_FUNC ||( pMapSymbolTable[i].st_info&0xF) == STT_OBJECT || (pMapSymbolTable[i].st_info&0xF) == STT_NOTYPE))
+ {
+ if(pMapSymbolTable[i].st_name == 0)
+ {
+ done2 = 0;
+ }
+
+ pMapSymbolTable[i].st_name = 0;
+ pMapSymbolTable[i].st_value = 0;
+ pMapSymbolTable[i].st_size = 0;
+ pMapSymbolTable[i].st_info = 0;
+ pMapSymbolTable[i].st_shndx = 0;
+ done2 = 1;
+ }
+ }
+
+ if (!done2)
+ {
+ printf("Undefined symbols are already removed : %s\n", fileName);
+ return 1;
+ }
+
+ fseek(fp, pSegmentEntries[pos].p_offset, SEEK_SET);
+ if(!fwrite(DynEntries, pSegmentEntries[pos].p_memsz, 1, fp))
+ {
+ printf("error[%s] : file write <DynEntries>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ fseek(fp, symbolOff,SEEK_SET);
+ if(!fwrite(pMapSymbolTable, symEntrySize * totalSymbolCnt, 1, fp))
+ {
+ printf("error[%s] : file write <pMapSymbolTable>\n", fileName);
+ exit(EXIT_FAILURE);
+ }
+
+ fclose(fp);
+ printf("Success : %s\n", fileName);
+ return 1;
+}
--- /dev/null
+#!/bin/bash
+SCRIPT_NAME=$(basename $0)
+SCRIPT_VER="0.0.1"
+
+ERROR_USAGE=100
+ERROR_PREREQUISITE=101
+ERROR_NOT_EXIST_FILE=200
+ERROR_NOT_EXIST_XML=201
+ERROR_NOT_EXIST_POSTLINK=202
+ERROR_FAILED_DOWNLOAD_RPM=300
+
+WGET_CMD="wget -nd -nc -q -r -l1 "
+ERRMSG_CONTACT_AUTHOR="E-MAIL ADDRESS : "
+ERR_AUTHOR=""
+
+###############################################################################
+# function log
+###############################################################################
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+###############################################################################
+# function check_error
+# $1 : Error code(integer)
+# $2 : Error Message
+# $3 : Error Xml File)
+# Example : check_error $? "Fail to function"
+###############################################################################
+function check_error()
+{
+ if [ "$1" -ne "0" ]; then
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ERROR : $2 - exit code ($1) \n" 1>&2
+ exit $1
+ fi
+}
+
+### $1 : xml file path ####################################################################
+function get_author(){
+ for na in $(xmlstarlet sel -t -m "//email" -o "" -v "text()" -o " " -n ${1})
+ do
+ if [[ -z $ERR_AUTHOR ]]; then
+ ERR_AUTHOR=$ERR_AUTHOR"$na"
+ else
+ ERR_AUTHOR=$ERR_AUTHOR", $na"
+ fi
+ done
+
+ if [ ${#ERR_AUTHOR} -ne 0 ]; then
+ log "$ERRMSG_CONTACT_AUTHOR File : ${1}, $ERR_AUTHOR" 1>&2
+
+ if [ -e ${LOGFILE} ] ; then
+ log "[ERROR] Filename: ${1}, Contact: $ERR_AUTHOR" 1>&2 | tee -a $LOGFILE
+ fi
+ fi
+
+ ERR_AUTHOR=""
+}
+
+function print_usage_exit()
+{
+echo "$SCRIPT_NAME is rootstrap generator using xml"
+echo "Usage: $SCRIPT_NAME [<OPTION>]... [<FILE>]..."
+echo ""
+echo " -t,--type rootstrap type emulator, target."
+echo " -l,--list xml file or directory list."
+echo " -u,--url rpm package url."
+echo " -b,--base base rpm package url (optional)"
+echo ""
+echo "Example 1"
+echo ">$SCRIPT_NAME -t \"emulator\" -u \"http://168.219.209.58:82/Tizen:/2.4:/Mobile/emulator\" -b \"http://168.219.209.55/download/snapshots/2.4-base/common/latest/repos/emulator/packages/\" -l \"./\""
+echo ""
+echo "Example 2"
+echo ">$SCRIPT_NAME -t \"emulator\" -u \"http://168.219.209.58:82/Tizen:/2.4:/Mobile/emulator\" -b \"http://168.219.209.55/download/snapshots/2.4-base/common/latest/repos/emulator/packages/\" -l \"./NativeAPI/appcore-widget-rs.xml ./EFL\""
+echo ""
+exit $1
+}
+
+function local_prepare_rpm()
+{
+ log "***************** $FUNCNAME *****************"
+
+ for i in $(xmlstarlet sel -t -m "//${ROOTSTRAP_TYPE}/rpm" -v "concat(@accept, ',', @arch )" -o " " ${1});
+ do
+ ACCEPT=`echo $i | cut -d "," -f 1`
+ ARCH=`echo $i | cut -d "," -f 2`
+ log "+ local prepare rpm package [$ACCEPT][$ARCH]";
+ if [[ -z ${ACCEPT} ]] || [[ -z ${ARCH} ]]
+ then
+ log "ACCEPT=${ACCEPT}, ARCH=${ARCH} Skipping..."
+ continue;
+ fi
+
+ log "+ Start prepare locally ..."
+ N_FILE_LIST=`rpm -ql ${ACCEPT}`
+ for nfile in ${N_FILE_LIST};do
+ log "Copy ${nfile} ..."
+ if [ -r ${nfile} ] && [ ! -f ${TMP}/${nfile} ];then
+ if [ -L ${nfile} ]; then
+ pushd `dirname ${nfile}`
+ echo ${nfile} | cpio -pdm -L --quiet ${TMP}
+ popd
+ else
+ echo ${nfile} | cpio -pdm --quiet ${TMP}
+ fi #is symbolic link
+ fi # file exits
+ done
+ done
+}
+
+
+## download_rpm $1 : XML file
+function download_rpm()
+{
+ log "***************** $FUNCNAME *****************"
+ DOWNLOAD_COUNT=0;
+
+ for i in $(xmlstarlet sel -t -m "//${ROOTSTRAP_TYPE}/rpm" -v "concat(@accept, ',', @arch )" -o " " ${1});
+ do
+ ACCEPT=`echo $i | cut -d "," -f 1`
+ ARCH=`echo $i | cut -d "," -f 2`
+ log "+ download rpm package [$ACCEPT][$ARCH]";
+ if [[ -z ${ACCEPT} ]] || [[ -z ${ARCH} ]]
+ then
+ log "ACCEPT=${ACCEPT}, ARCH=${ARCH} Skipping..."
+ continue;
+ fi
+
+ log "+ find ${RPM_Directory}/$2 -name '${ACCEPT}-[0-9]*${ARCH}*rpm'"
+ if [[ -z $(find ${RPM_Directory}/${ROOTSTRAP_TYPE} -name "${ACCEPT}-[0-9]*${ARCH}*rpm") ]]
+ then
+ log "+ Not Exist in .rpm cache.."
+ if [[ ${1} == *"baserpm"* ]] && [[ -n ${BASE_PKG_URL} ]]
+ then
+ RPM_DOWN_SVR=${BASE_PKG_URL}/${ARCH}
+ else
+ RPM_DOWN_SVR=${URL}/${ARCH}
+ fi
+
+ log "+ Start download from [${RPM_DOWN_SVR}]"
+ log "+ CMD [${WGET_CMD} -A ${ACCEPT}-[0-9]*rpm -P ${RPM_Directory}/${ROOTSTRAP_TYPE} ${RPM_DOWN_SVR};]"
+ ${WGET_CMD} -A "${ACCEPT}-[0-9]*rpm" -P ${RPM_Directory}/${ROOTSTRAP_TYPE} ${RPM_DOWN_SVR};
+ #check_error $? "Fail to wget ${ACCEPT} pkg from ${RPM_DOWN_SVR}"
+ if [ $? -ne "0" ]; then
+ log "Not Exist [${1}]" 1>&2
+ mv "${1}" "${1}_back"
+ fi
+ fi
+
+ ln -s ${RPM_Directory}/${ROOTSTRAP_TYPE}/${ACCEPT}-[0-9]*${ARCH}*rpm ${TMP}
+ let "DOWNLOAD_COUNT+=1"
+ done
+
+ #Erro Check
+ FILE_COUNT=$(ls ${TMP} | wc -l)
+ if [ $DOWNLOAD_COUNT -gt $FILE_COUNT ]
+ then
+ #check_error $ERROR_FAILED_DOWNLOAD_RPM "Fail to download rpm from ${1}. Expect number of DOWNLOAD files are [$DOWNLOAD_COUNT]. but actually count [$FILE_COUNT]"
+ log "Fail to download rpm from ${1}.\nExpect number of DOWNLOAD files are [$DOWNLOAD_COUNT].\nbut actually count [$FILE_COUNT]" 1>&2
+ get_author ${1}
+ return $ERROR_FAILED_DOWNLOAD_RPM
+ fi
+
+ BROKEN_COUNT=$(find -L ${TMP} -type l | sort -d | wc -l)
+ BROKEN_LIST=$(find -L ${TMP} -type l | sort -d)
+ if [ $BROKEN_COUNT -gt 0 ]
+ then
+ log "Fail to download rpm from ${1}.\nExpect number of DOWNLOAD files are [$DOWNLOAD_COUNT].\nbut actually BROKEN FILE [$BROKEN_COUNT], BROKEN LIST are ${BROKEN_LIST}" 1>&2
+ get_author ${1}
+ #check_error $ERROR_FAILED_DOWNLOAD_RPM "Fail to download rpm from ${1}. Expect number of DOWNLOAD files are [$DOWNLOAD_COUNT]. but actually BROKEN FILE [$BROKEN_COUNT], BROKEN LIST are ${BROKEN_LIST}"
+ return $ERROR_FAILED_DOWNLOAD_RPM
+ fi
+}
+
+function unpack_rpm()
+{
+ log "***************** $FUNCNAME *****************"
+(
+ cd ${TMP}
+ for pkg in $(ls *.rpm)
+ do
+ log "+ unpack_rpm $pkg"
+ rpm2cpio $pkg | cpio -idm >/dev/null 2>&1
+ done
+)
+}
+
+function unnecessary_files()
+{
+ log "***************** $FUNCNAME *****************"
+ #remove dir
+ for i in $(xmlstarlet sel -t -m "//unnecessary/file[@type]" -o "." -v "text()" -o " " ${1});
+ do
+ if [ -n ${i} ]
+ then
+ log "+ remove dir [${TMP}/$i]";
+ rm -rf ${TMP}/${i}
+ fi
+ done;
+
+ #remove file
+ for i in $(xmlstarlet sel -t -m "//unnecessary/file[not(@type)]" -o "." -v "text()" -o " " ${1});
+ do
+ if [ -n ${i} ]
+ then
+ log "+ remove file [${TMP}/$i]";
+ rm -rf ${TMP}/${i}
+ fi
+ done;
+
+ log ""
+
+}
+
+function copy_header_and_so() # $1 : SRCDIR, $2 : DESTDIR, $3 xml
+{
+ log "***************** $FUNCNAME *****************"
+ ALL=$(xmlstarlet sel -t -m "//necessary[count(file)=1]" -v "./file/text()" ${3})
+ log "+ source directory : $1"
+ log "+ destination directory : $2"
+ log "+ xml source file : $3"
+
+ TEMP_SRC_DIR="${1}";
+ TEMP_DEST_DIR="${2}";
+ COPY_ERROR=0;
+ if [[ "${ALL}" == "*" ]] || [ "$INTERNAL" = true ]
+ then
+ (
+ log "+ copy ALL file (h, a, o, so)"
+ cd ${1}
+ find . \( -name "*.h" -o -name "*.a" -o -name "*.o" -o -name "*.so" -o -name "*.so\.[0-9]*" -o -name "*.hpp" -o -name "*.ipp" -o -name "*.x" -o -name "*.def" -o -name "*.so.*" \) \
+ -exec echo "+ copy file [{}]" \; \
+ -exec cp -L -R --parents {} ${2} \;
+ )
+ else
+ log "+ copy necessary files .."
+ for i in $(xmlstarlet sel -t -m "//necessary/file" -o "." -v "text()" -o " " -n ${3})
+ do
+ #(
+ cd ${1}
+ log "+ copy file from [${i}]"
+ cp -L -R --parents ${i} ${2}
+ if [ "$?" -ne "0" ]; then
+ get_author "../${3}"
+ let "COPY_ERROR+=1"
+ fi
+ cd -
+ #)
+ done
+ fi
+
+ if [ "$COPY_ERROR" -ne "0" ]; then
+ log "Error Occurred Copy file .... " 1>&2
+ exit $ERROR_NOT_EXIST_FILE
+ fi
+#######
+# Pc
+#######
+ if [ -d "${TEMP_SRC_DIR}/usr/lib/pkgconfig" ]
+ then
+ (
+ cd ${TEMP_SRC_DIR}
+ cp -P -R --parents "./usr/lib/pkgconfig" "${TEMP_DEST_DIR}" ;
+ )
+ fi
+
+}
+
+function check_prerequisite()
+{
+ RET=$(which xmlstarlet)
+ if [ -z "${RET}" ]
+ then
+ check_error $ERROR_PREREQUISITE "Error prerequisite : \n\n sudo apt-get install xmlstarlet \n\n";
+ fi
+}
+
+
+###########################################################################################
+#script start
+
+echo ""
+echo "# Start Script"
+check_prerequisite
+
+OPTS=`getopt -o -t:u:b:l:i:p:wh --long type:,url:,base:,list:,id:,pw:,log:,internal,local,withlogin,help -n 'rootstrap_gen_1.0' -- "$@"`
+if [ $? != 0 ] ; then log "Failed parsing options." >&2 ; exit 1 ; fi
+
+echo "# PARAMETER : $SCRIPT_NAME $OPTS"
+eval set -- "$OPTS"
+
+ROOTSTRAP_TYPE=""
+RPM_PKG_URL=""
+BASE_PKG_URL=""
+XML_INPUT_LIST=""
+INTERNAL=false
+LOCAL=false
+
+while true; do
+ case "$1" in
+ -t | --type ) ROOTSTRAP_TYPE="$2"; shift;shift ;;
+ -u | --url ) RPM_PKG_URL="$2"; shift;shift ;;
+ -b | --base ) BASE_PKG_URL="$2"; shift;shift ;;
+ -l | --list ) XML_INPUT_LIST="$2 "; shift; shift ;;
+ -i | --id ) SPIN_ID="$2"; shift; shift ;;
+ -p | --pw ) SPIN_PW="$2"; shift; shift ;;
+ --log ) LOGFILE="$2"; shift; shift ;;
+ --internal ) INTERNAL=true; shift;;
+ --local ) LOCAL=true; shift;;
+ -w | --withlogin )
+ if [ -z ${SPIN_ID}] || [ -z ${SPIN_PW} ]
+ then
+ spin_login;
+ WGET_CMD="${WGET_CMD} --user=${SPIN_ID} --password=${SPIN_PW}"
+ log "WGET_CMD = ${WGET_CMD}"
+ else
+ log "WGET_CMD = ${WGET_CMD}"
+ fi
+ shift;;
+ -h | --help ) print_usage_exit $ERROR_USAGE; shift; shift ;;
+ -- ) shift; break ;;
+ * )
+ if [ -d "$1" ] || [ -f "$1" ]; then
+ XML_INPUT_LIST+="${1} "
+ else
+ print_usage_exit $ERROR_USAGE;
+ fi
+ shift;;
+ esac
+done
+
+if [ "$LOCAL" = false ]; then
+ echo "OPT_LOCAL=FALSE"
+else
+ echo "OPT_LOCAL=TURE"
+fi
+
+if [ -n "${SPIN_ID}" ] && [ -n "${SPIN_PW}" ]
+then
+ WGET_CMD="${WGET_CMD} --user=${SPIN_ID} --password=${SPIN_PW}"
+ log "WGET_CMD = ${WGET_CMD}"
+fi
+
+#echo "# ROOTSTRAP_TYPE = $ROOTSTRAP_TYPE"
+#echo "# RPM_PKG_URL = $RPM_PKG_URL"
+#echo "# BASE_PKG_URL = $BASE_PKG_URL"
+#echo "# XML_INPUT_LIST = $XML_INPUT_LIST"
+
+#ROOTSTRAP_TYPE=$1; #rootstrap type - target, emulator
+if [ -z $ROOTSTRAP_TYPE ]
+then
+ print_usage_exit $ERROR_USAGE
+fi
+
+#RPM_PKG_URL=$2; #rpm download url
+if [ -z $RPM_PKG_URL ]
+then
+ print_usage_exit $ERROR_USAGE
+fi
+URL=$RPM_PKG_URL
+
+PWD_BACKUP=`pwd`
+DEST=${PWD_BACKUP}/.${ROOTSTRAP_TYPE}
+TMP=${PWD_BACKUP}/".tmp"
+RPM_Directory=${PWD_BACKUP}/".rpm"
+POSTLINKER_PATH=${PWD_BACKUP}"/script/postlinker"
+
+if [ ! -e $POSTLINKER_PATH ]
+then
+ log "postlinker file does not exist"
+ exit 1
+fi
+
+if [ ! -e "${RPM_Directory}/${ROOTSTRAP_TYPE}" ]
+then
+ log "Not Exist ${RPM_Directory}/${ROOTSTRAP_TYPE}"
+ mkdir -p "${RPM_Directory}/${ROOTSTRAP_TYPE}"
+fi
+
+
+log "################# Start Generate Rootstrap #################"
+log "# ROOTSTRAP_TYPE=$ROOTSTRAP_TYPE"
+log "# DOWNLOAD_URL=$URL"
+log "# BASE_PKG_URL(Optional)=$BASE_PKG_URL"
+log "# POSTLINKER_PATH=$POSTLINKER_PATH"
+log "# XML_INPUT_LIST = $XML_INPUT_LIST"
+log "# TMP = $TMP"
+log "# DEST = $DEST"
+log "# RPM_Directory = $RPM_Directory"
+log "############################################################"
+
+##################################################################
+# Generate XML_LIST
+##################################################################
+# 1. ignorelist
+if [ -e ".ignorelist" ]
+then
+ IGNORE_LIST=$(cat .ignorelist);
+ for ignore in $IGNORE_LIST
+ do
+ INAME_OPT+=" ! -name ${ignore} "
+ done
+ #echo "[INAME_OPT = $INAME_OPT]"
+fi
+
+# 2. get xml list
+for xml_input in $XML_INPUT_LIST
+do
+ if [ -d "$xml_input" ] #dirctory
+ then
+ XML_LIST+=$(find -L $xml_input \( -name "*-rs.xml" ${INAME_OPT} \) )$'\n'
+ elif [ -e "$xml_input" ]
+ then
+ XML_LIST+="$xml_input"$'\n'
+ fi
+done
+
+# 3. delete empty line
+XML_LIST=$(echo "$XML_LIST" | sed '/^$/d')
+if [ "$XML_LIST" == "" ]
+then
+ check_error $ERROR_NOT_EXIST_XML "It does not found *-rs.xml"
+fi
+
+#init - DEST
+if [ ! -e ${DEST} ]
+then
+ mkdir ${DEST};
+fi
+
+PROCESS_CNT=0;
+
+TOTAL_CNT=$(echo "${XML_LIST}" | wc -l)
+log "> XML_LIST count is ${TOTAL_CNT}"
+
+##################################################################
+# Generate Rootstrap Resource
+##################################################################
+for item in $XML_LIST
+do
+ #init - TMP
+ rm -rf ${TMP} ; mkdir ${TMP}
+
+ let "PROCESS_CNT+=1"
+ log "[${PROCESS_CNT}/${TOTAL_CNT}]Processing : ${item}" 1>&2
+
+ if [[ -z $(xmlstarlet sel -t -c "//${ROOTSTRAP_TYPE}" $item) ]]
+ then
+ log "+ ${1} Target Info does not described in $item. Skipping ...."
+ continue;
+ fi
+
+if [ "$LOCAL" = false ]; then
+ #download rpm
+ download_rpm $item
+ if [ "$?" -ne "0" ]
+ then
+ continue;
+ fi
+
+ #unpack rpm
+ unpack_rpm $item
+else
+ local_prepare_rpm $item
+fi
+
+ #remove unnessary header, so
+ unnecessary_files $item
+
+ #copy only header & so to dest
+ copy_header_and_so ${TMP} ${DEST} ${item}
+
+ #get build option from xml
+ #get_build_option $item
+done #finish copy header & library
+
+#if [ "{$LOCAL}" = true ]; then
+# cp -L -R --parents /usr/lib/libstdc++*.* ${DEST}
+# cp -L -R --parents /usr/lib/libgcc*.* ${DEST}
+# ln -sf libgcc_s.so.1 ${DEST}/usr/lib/libgcc_s.so
+#fi
+
+##################################################################
+#postlink for delete needed field from Library
+##################################################################
+log "************* Post link *******************"
+log "# POSTLINKER_PATH=$POSTLINKER_PATH"
+for i in $(find ${DEST}/usr/lib -name "*.so" -o -name "*.so.*")
+do
+ ${POSTLINKER_PATH} $i >/dev/null 1>&2
+done
+log "Deleted needed field of so file"
+
+
+log "######################## END [$SECONDS] Sec ##############################" 1>&2
+exit 0
--- /dev/null
+#!/bin/bash
+SCRIPT_NAME=$(basename $0)
+SCRIPT_VER="0.0.1"
+
+ERROR_USAGE=100
+ERROR_PREREQUISITE=101
+ERROR_NOT_EXIST_FILE=200
+ERROR_NOT_EXIST_XML=201
+ERROR_NOT_EXIST_POSTLINK=202
+ERROR_FAILED_DOWNLOAD_RPM=300
+
+WGET_CMD="wget -nd -nc -q -r -l1 "
+ERRMSG_CONTACT_AUTHOR="E-MAIL ADDRESS : "
+ERR_AUTHOR=""
+
+###############################################################################
+# function log
+###############################################################################
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+###############################################################################
+# function check_error
+# $1 : Error code(integer)
+# $2 : Error Message
+# $3 : Error Xml File)
+# Example : check_error $? "Fail to function"
+###############################################################################
+function check_error()
+{
+ if [ "$1" -ne "0" ]; then
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ERROR : $2 - exit code ($1) \n" 1>&2
+ exit $1
+ fi
+}
+
+### $1 : xml file path ####################################################################
+function get_author(){
+ for na in $(xmlstarlet sel -t -m "//email" -o "" -v "text()" -o " " -n ${1})
+ do
+ if [[ -z $ERR_AUTHOR ]]; then
+ ERR_AUTHOR=$ERR_AUTHOR"$na"
+ else
+ ERR_AUTHOR=$ERR_AUTHOR", $na"
+ fi
+ done
+
+ if [ ${#ERR_AUTHOR} -ne 0 ]; then
+ log "$ERRMSG_CONTACT_AUTHOR File : ${1}, $ERR_AUTHOR" 1>&2
+
+ if [ -e ${LOGFILE} ] ; then
+ log "[ERROR] Filename: ${1}, Contact: $ERR_AUTHOR" 1>&2 | tee -a $LOGFILE
+ fi
+ fi
+
+ ERR_AUTHOR=""
+}
+
+function print_usage_exit()
+{
+echo "$SCRIPT_NAME is rootstrap generator using xml"
+echo "Usage: $SCRIPT_NAME [<OPTION>]... [<FILE>]..."
+echo ""
+echo " -t,--type rootstrap type emulator, target, riscv."
+echo " -l,--list xml file or directory list."
+echo " -u,--url rpm package url."
+echo " -b,--base base rpm package url (optional)"
+echo ""
+echo "Example 1"
+echo ">$SCRIPT_NAME -t \"emulator\" -u \"http://168.219.209.58:82/Tizen:/2.4:/Mobile/emulator\" -b \"http://168.219.209.55/download/snapshots/2.4-base/common/latest/repos/emulator/packages/\" -l \"./\""
+echo ""
+echo "Example 2"
+echo ">$SCRIPT_NAME -t \"emulator\" -u \"http://168.219.209.58:82/Tizen:/2.4:/Mobile/emulator\" -b \"http://168.219.209.55/download/snapshots/2.4-base/common/latest/repos/emulator/packages/\" -l \"./NativeAPI/appcore-widget-rs.xml ./EFL\""
+echo ""
+exit $1
+}
+
+function local_prepare_rpm()
+{
+ log "***************** $FUNCNAME *****************"
+
+ for i in $(xmlstarlet sel -t -m "//${ROOTSTRAP_TYPE}/rpm" -v "concat(@accept, ',', @arch )" -o " " ${1});
+ do
+ ACCEPT=`echo $i | cut -d "," -f 1`
+ ARCH=`echo $i | cut -d "," -f 2`
+ log "+ local prepare rpm package [$ACCEPT][$ARCH]";
+ if [[ -z ${ACCEPT} ]] || [[ -z ${ARCH} ]]
+ then
+ log "ACCEPT=${ACCEPT}, ARCH=${ARCH} Skipping..."
+ continue;
+ fi
+
+ log "+ Start prepare locally ..."
+ N_FILE_LIST=`rpm -ql ${ACCEPT}`
+ for nfile in ${N_FILE_LIST};do
+ log "Copy ${nfile} ..."
+ if [ -r ${nfile} ] && [ ! -f ${TMP}/${nfile} ];then
+ if [ -L ${nfile} ]; then
+ pushd `dirname ${nfile}`
+ echo ${nfile} | cpio -pdm -L --quiet ${TMP}
+ popd
+ else
+ echo ${nfile} | cpio -pdm --quiet ${TMP}
+ fi #is symbolic link
+ fi # file exits
+ done
+ done
+}
+
+## download_rpm $1 : XML file
+function download_rpm()
+{
+ log "***************** $FUNCNAME *****************"
+ DOWNLOAD_COUNT=0;
+
+ for i in $(xmlstarlet sel -t -m "//${ROOTSTRAP_TYPE}/rpm" -v "concat(@accept, ',', @arch )" -o " " ${1});
+ do
+ ACCEPT=`echo $i | cut -d "," -f 1`
+ ARCH=`echo $i | cut -d "," -f 2`
+ log "+ download rpm package [$ACCEPT][$ARCH]";
+ if [[ -z ${ACCEPT} ]] || [[ -z ${ARCH} ]]
+ then
+ log "ACCEPT=${ACCEPT}, ARCH=${ARCH} Skipping..."
+ continue;
+ fi
+
+ log "+ find ${RPM_Directory}/$2 -name '${ACCEPT}-[0-9]*${ARCH}*rpm'"
+ if [[ -z $(find ${RPM_Directory}/${ROOTSTRAP_TYPE} -name "${ACCEPT}-[0-9]*${ARCH}*rpm") ]]
+ then
+ log "+ Not Exist in .rpm cache.."
+ if [[ ${1} == *"baserpm"* ]] && [[ -n ${BASE_PKG_URL} ]]
+ then
+ RPM_DOWN_SVR=${BASE_PKG_URL}/${ARCH}
+ else
+ RPM_DOWN_SVR=${URL}/${ARCH}
+ fi
+
+ log "+ Start download from [${RPM_DOWN_SVR}]"
+ log "+ CMD [${WGET_CMD} -A ${ACCEPT}-[0-9]*rpm -P ${RPM_Directory}/${ROOTSTRAP_TYPE} ${RPM_DOWN_SVR};]"
+ ${WGET_CMD} -A "${ACCEPT}-[0-9]*rpm" -P ${RPM_Directory}/${ROOTSTRAP_TYPE} ${RPM_DOWN_SVR};
+ #check_error $? "Fail to wget ${ACCEPT} pkg from ${RPM_DOWN_SVR}"
+ if [ $? -ne "0" ]; then
+ log "Not Exist [${1}]" 1>&2
+ #mv "${1}" "${1}_back"
+ fi
+ fi
+
+ ln -s ${RPM_Directory}/${ROOTSTRAP_TYPE}/${ACCEPT}-[0-9]*${ARCH}*rpm ${TMP}
+ let "DOWNLOAD_COUNT+=1"
+ done
+
+ #Erro Check
+ FILE_COUNT=$(ls ${TMP} | wc -l)
+ if [ $DOWNLOAD_COUNT -gt $FILE_COUNT ]
+ then
+ #check_error $ERROR_FAILED_DOWNLOAD_RPM "Fail to download rpm from ${1}. Expect number of DOWNLOAD files are [$DOWNLOAD_COUNT]. but actually count [$FILE_COUNT]"
+ log "Fail to download rpm from ${1}.\nExpect number of DOWNLOAD files are [$DOWNLOAD_COUNT].\nbut actually count [$FILE_COUNT]" 1>&2
+ get_author ${1}
+ #return $ERROR_FAILED_DOWNLOAD_RPM
+ fi
+
+ BROKEN_COUNT=$(find -L ${TMP} -type l | sort -d | wc -l)
+ BROKEN_LIST=$(find -L ${TMP} -type l | sort -d)
+ if [ $BROKEN_COUNT -gt 0 ]
+ then
+ log "Fail to download rpm from ${1}.\nExpect number of DOWNLOAD files are [$DOWNLOAD_COUNT].\nbut actually BROKEN FILE [$BROKEN_COUNT], BROKEN LIST are ${BROKEN_LIST}" 1>&2
+ get_author ${1}
+ #check_error $ERROR_FAILED_DOWNLOAD_RPM "Fail to download rpm from ${1}. Expect number of DOWNLOAD files are [$DOWNLOAD_COUNT]. but actually BROKEN FILE [$BROKEN_COUNT], BROKEN LIST are ${BROKEN_LIST}"
+ #return $ERROR_FAILED_DOWNLOAD_RPM
+ fi
+}
+
+function unpack_rpm()
+{
+ log "***************** $FUNCNAME *****************"
+(
+ cd ${TMP}
+ for pkg in $(ls *.rpm)
+ do
+ log "+ unpack_rpm $pkg"
+ rpm2cpio $pkg | cpio -idm >/dev/null 2>&1
+ done
+)
+}
+
+function unnecessary_files()
+{
+ log "***************** $FUNCNAME *****************"
+ #remove dir
+ for i in $(xmlstarlet sel -t -m "//unnecessary/file[@type]" -o "." -v "text()" -o " " ${1});
+ do
+ if [ -n ${i} ]
+ then
+ log "+ remove dir [${TMP}/$i]";
+ rm -rf ${TMP}/${i}
+ fi
+ done;
+
+ #remove file
+ for i in $(xmlstarlet sel -t -m "//unnecessary/file[not(@type)]" -o "." -v "text()" -o " " ${1});
+ do
+ if [ -n ${i} ]
+ then
+ log "+ remove file [${TMP}/$i]";
+ rm -rf ${TMP}/${i}
+ fi
+ done;
+
+ log ""
+
+}
+
+function copy_header_and_so() # $1 : SRCDIR, $2 : DESTDIR, $3 xml
+{
+ log "***************** $FUNCNAME *****************"
+ ALL=$(xmlstarlet sel -t -m "//necessary[count(file)=1]" -v "./file/text()" ${3})
+ log "+ source directory : $1"
+ log "+ destination directory : $2"
+ log "+ xml source file : $3"
+
+ TEMP_SRC_DIR="${1}";
+ TEMP_DEST_DIR="${2}";
+ COPY_ERROR=0;
+ if [[ "${ALL}" == "*" ]] || [ "$INTERNAL" = true ]
+ then
+ (
+ log "+ copy ALL file (h, a, o, so)"
+ cd ${1}
+ find . \( -name "*.h" -o -name "*.a" -o -name "*.o" -o -name "*.so" -o -name "*.so\.[0-9]*" -o -name "*.hpp" -o -name "*.ipp" -o -name "*.x" -o -name "*.def" -o -name "*.so.*" \) \
+ -exec echo "+ copy file [{}]" \; \
+ -exec cp -L -R --parents {} ${2} \;
+ )
+ else
+ log "+ copy necessary files .."
+ for i in $(xmlstarlet sel -t -m "//necessary/file" -o "." -v "text()" -o " " -n ${3})
+ do
+ #(
+ cd ${1}
+ log "+ copy file from [${i}]"
+ cp -L -R --parents ${i} ${2}
+ if [ "$?" -ne "0" ]; then
+ get_author "../${3}"
+ let "COPY_ERROR+=1"
+ fi
+ cd -
+ #)
+ done
+ fi
+
+ if [ "$COPY_ERROR" -ne "0" ]; then
+ log "Error Occurred Copy file .... " 1>&2
+ #exit $ERROR_NOT_EXIST_FILE
+ fi
+#######
+# Pc
+#######
+ if [ -d "${TEMP_SRC_DIR}/usr/lib64/pkgconfig" ]
+ then
+ (
+ cd ${TEMP_SRC_DIR}
+ cp -P -R --parents "./usr/lib64/pkgconfig" "${TEMP_DEST_DIR}" ;
+ )
+ fi
+
+}
+
+function check_prerequisite()
+{
+ RET=$(which xmlstarlet)
+ if [ -z "${RET}" ]
+ then
+ check_error $ERROR_PREREQUISITE "Error prerequisite : \n\n sudo apt-get install xmlstarlet \n\n";
+ fi
+}
+
+
+###########################################################################################
+#script start
+check_prerequisite
+
+OPTS=`getopt -o -t:u:b:l:i:p:wh --long type:,url:,base:,list:,id:,pw,log:,internal,local,withlogin,help -n 'rootstrap_gen_1.0_64' -- "$@"`
+if [ $? != 0 ] ; then log "Failed parsing options." >&2 ; exit 1 ; fi
+
+log ""
+log "# PARAMETER : $SCRIPT_NAME $OPTS"
+eval set -- "$OPTS"
+
+ROOTSTRAP_TYPE=""
+RPM_PKG_URL=""
+BASE_PKG_URL=""
+XML_INPUT_LIST=""
+INTERNAL=false
+LOCAL=false
+
+while true; do
+ case "$1" in
+ -t | --type ) ROOTSTRAP_TYPE="$2"; shift;shift ;;
+ -u | --url ) RPM_PKG_URL="$2"; shift;shift ;;
+ -b | --base ) BASE_PKG_URL="$2"; shift;shift ;;
+ -l | --list ) XML_INPUT_LIST="$2 "; shift; shift ;;
+ -i | --id ) SPIN_ID="$2"; shift; shift ;;
+ -p | --pw ) SPIN_PW="$2"; shift; shift ;;
+ --log ) LOGFILE="$2"; shift; shift ;;
+ --internal ) INTERNAL=true; shift;;
+ --local ) LOCAL=true; shift;;
+ -w | --withlogin )
+ if [ -z ${SPIN_ID}] || [ -z ${SPIN_PW} ]
+ then
+ spin_login;
+ WGET_CMD="${WGET_CMD} --user=${SPIN_ID} --password=${SPIN_PW}"
+ log "WGET_CMD = ${WGET_CMD}"
+ else
+ log "WGET_CMD = ${WGET_CMD}"
+ fi
+ shift;;
+
+ -h | --help ) print_usage_exit $ERROR_USAGE; shift; shift ;;
+ -- ) shift; break ;;
+ * )
+ if [ -d "$1" ] || [ -f "$1" ]; then
+ XML_INPUT_LIST+="${1} "
+ else
+ print_usage_exit $ERROR_USAGE;
+ fi
+ shift;;
+ esac
+done
+
+if [ "$LOCAL" = false ]; then
+ echo "OPT_LOCAL=FALSE"
+else
+ echo "OPT_LOCAL=TURE"
+fi
+
+if [ -n "${SPIN_ID}" ] && [ -n "${SPIN_PW}" ]
+then
+ WGET_CMD="${WGET_CMD} --user=${SPIN_ID} --password=${SPIN_PW}"
+ log "WGET_CMD = ${WGET_CMD}"
+fi
+
+#echo "# ROOTSTRAP_TYPE = $ROOTSTRAP_TYPE"
+#echo "# RPM_PKG_URL = $RPM_PKG_URL"
+#echo "# BASE_PKG_URL = $BASE_PKG_URL"
+#echo "# XML_INPUT_LIST = $XML_INPUT_LIST"
+
+#ROOTSTRAP_TYPE=$1; #rootstrap type - target, emulator, riscv
+if [ -z $ROOTSTRAP_TYPE ]
+then
+ print_usage_exit $ERROR_USAGE
+fi
+
+#RPM_PKG_URL=$2; #rpm download url
+if [ -z $RPM_PKG_URL ]
+then
+ print_usage_exit $ERROR_USAGE
+fi
+URL=$RPM_PKG_URL
+
+PWD_BACKUP=`pwd`
+DEST=${PWD_BACKUP}/.${ROOTSTRAP_TYPE}
+TMP=${PWD_BACKUP}/".tmp"
+RPM_Directory=${PWD_BACKUP}/".rpm"
+POSTLINKER_PATH=${PWD_BACKUP}/script/postlinker_64
+
+if [ ! -e $POSTLINKER_PATH ]
+then
+ log "postlinker file does not exist"
+ exit 1
+fi
+
+if [ ! -e "${RPM_Directory}/${ROOTSTRAP_TYPE}" ]
+then
+ log "Not Exist ${RPM_Directory}/${ROOTSTRAP_TYPE}"
+ mkdir -p "${RPM_Directory}/${ROOTSTRAP_TYPE}"
+fi
+
+
+log "################# Start Generate Rootstrap #################"
+log "# ROOTSTRAP_TYPE=$ROOTSTRAP_TYPE"
+log "# DOWNLOAD_URL=$URL"
+log "# BASE_PKG_URL(Optional)=$BASE_PKG_URL"
+log "# POSTLINKER_PATH=$POSTLINKER_PATH"
+log "# XML_INPUT_LIST = $XML_INPUT_LIST"
+log "# TMP = $TMP"
+log "# DEST = $DEST"
+log "# RPM_Directory = $RPM_Directory"
+log "############################################################"
+
+##################################################################
+# Generate XML_LIST
+##################################################################
+# 1. ignorelist
+if [ -e ".ignorelist" ]
+then
+ IGNORE_LIST=$(cat .ignorelist);
+ for ignore in $IGNORE_LIST
+ do
+ INAME_OPT+=" ! -name ${ignore} "
+ done
+ #echo "[INAME_OPT = $INAME_OPT]"
+fi
+
+# 2. get xml list
+for xml_input in $XML_INPUT_LIST
+do
+ if [ -d "$xml_input" ] #dirctory
+ then
+ XML_LIST+=$(find -L $xml_input \( -name "*-rs.xml" ${INAME_OPT} \) )$'\n'
+ elif [ -e "$xml_input" ]
+ then
+ XML_LIST+="$xml_input"$'\n'
+ fi
+done
+
+# 3. delete empty line
+XML_LIST=$(echo "$XML_LIST" | sed '/^$/d')
+if [ "$XML_LIST" == "" ]
+then
+ check_error $ERROR_NOT_EXIST_XML "It does not found *-rs.xml"
+fi
+
+#init - DEST
+if [ ! -e ${DEST} ]
+then
+ mkdir ${DEST};
+fi
+
+PROCESS_CNT=0;
+
+TOTAL_CNT=$(echo "${XML_LIST}" | wc -l)
+log "> XML_LIST count is ${TOTAL_CNT}"
+
+##################################################################
+# Generate Rootstrap Resource
+##################################################################
+for item in $XML_LIST
+do
+ #init - TMP
+ rm -rf ${TMP} ; mkdir ${TMP}
+
+ let "PROCESS_CNT+=1"
+ log "[${PROCESS_CNT}/${TOTAL_CNT}]Processing : ${item}" 1>&2
+
+ if [[ -z $(xmlstarlet sel -t -c "//${ROOTSTRAP_TYPE}" $item) ]]
+ then
+ log "+ ${1} Target Info does not described in $item. Skipping ...."
+ continue;
+ fi
+
+if [ "$LOCAL" = false ]; then
+ #download rpm
+ download_rpm $item
+ if [ "$?" -ne "0" ]
+ then
+ continue;
+ fi
+
+ #unpack rpm
+ unpack_rpm $item
+else
+ local_prepare_rpm $item
+fi
+
+ #remove unnessary header, so
+ unnecessary_files $item
+
+ #copy only header & so to dest
+ copy_header_and_so ${TMP} ${DEST} ${item}
+
+ #get build option from xml
+ #get_build_option $item
+done #finish copy header & library
+
+##################################################################
+#postlink for delete needed field from Library
+##################################################################
+log "************* Post link *******************"
+log "# POSTLINKER_PATH=$POSTLINKER_PATH"
+for i in $(find ${DEST}/usr/lib64 -name "*.so" -o -name "*.so.*")
+do
+ ${POSTLINKER_PATH} $i >/dev/null 1>&2
+done
+log "Deleted needed field of so file"
+
+log "######################## END [$SECONDS] Sec ##############################" 1>&2
+exit 0
--- /dev/null
+#!/bin/bash
+
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+function print_usage_exit()
+{
+echo "$SCRIPT_NAME is rootstrap info generator using xml"
+echo "Usage: $SCRIPT_NAME [<OPTION>]..."
+echo ""
+echo " -t,--type rootstrap type emulator, target."
+echo " -l,--list xml file or directory list."
+echo " -i,--info IDE rootstrap info file to get Build Option"
+echo " -p,--profile tizen"
+echo " -v,--version 10.0"
+echo ""
+echo "Example 1"
+echo ">$SCRIPT_NAME -t \"emulator\" -i \".info\/mobile-2.3-emulator.core.dev.xml\" -p \"mobile\" -v \"2.3\""
+echo ""
+
+exit $1
+}
+
+function get_build_option()
+{
+ BUILD_OPT_INC_PATH+=$(xmlstarlet sel -t -m "/rootstrap" -m "include_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_PATH+=$(xmlstarlet sel -t -m "/rootstrap" -m "library_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_NAME+=$(xmlstarlet sel -t -m "/rootstrap" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+ #BUILD_OPT_CLI_RS_LIBRARIES+=$(xmlstarlet sel -t -m "/rootstrap" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+}
+
+function generate_info()
+{
+log "# $FUNCNAME------"
+(
+echo '<PackageInfo>
+<DevPackage name="Native_API" is_framework="true" is_virtual="false">
+</DevPackage>
+</PackageInfo>'| tee $INFO_FILENAME >/dev/null 2>&1
+)
+
+for i in $BUILD_OPT_INC_PATH
+do
+ xmlstarlet ed -L -s "/PackageInfo/DevPackage" -t elem -n "include_path" -v "$i" $INFO_FILENAME
+done;
+
+for i in $BUILD_OPT_LIB_PATH
+do
+ xmlstarlet ed -L -s "/PackageInfo/DevPackage" -t elem -n "library_path" -v "$i" $INFO_FILENAME
+done;
+
+for i in $BUILD_OPT_LIB_NAME
+do
+ if [ "$i" == "liblibrary.so" ]; then
+ log "AFTER CONTINUE: $i"
+ continue;
+ fi
+ xmlstarlet ed -L -s "/PackageInfo/DevPackage" -t elem -n "library" -v "$i" $INFO_FILENAME
+done;
+
+xmlstarlet ed -L -s "/PackageInfo/DevPackage" -t elem -n "description" -v "Native_API Libraries" $INFO_FILENAME
+}
+
+###########################################################################################
+
+#script start
+BUILD_OPT_INC_PATH=""
+BUILD_OPT_LIB_PATH=""
+BUILD_OPT_LIB_NAME=""
+
+SCRIPT_NAME=$(basename ${0})
+SCRIPT_VER="0.0.1"
+SCRIPT_PATH=$(dirname ${0})
+
+OPTS=`getopt -o -t:l:p:v:i:h --long type:,list:,profile:,version:,info:,help,internal -- "$@"`
+if [ $? != 0 ] ; then log "Failed parsing options." >&2 ; exit 1 ; fi
+
+log ""
+log "# PARAMETER : $SCRIPT_NAME $OPTS"
+eval set -- "$OPTS"
+
+ROOTSTRAP_TYPE=""
+XML_INPUT_LIST=""
+
+while true; do
+case "$1" in
+-t | --type ) ROOTSTRAP_TYPE="$2"; shift;shift ;;
+-l | --list ) XML_INPUT_LIST="$2 "; shift; shift ;;
+-p | --profile ) PLATFORM_PROFILE="$2"; shift; shift ;;
+-v | --version ) PLATFORM_VERSION="$2"; shift; shift ;;
+-i | --info ) INFO_FILENAME="$2"; shift; shift ;;
+--internal ) INTERNAL=true; shift ;;
+-h | --help ) exit; shift; shift ;;
+-- ) shift; break ;;
+* )
+ if [ -d "$1" ] || [ -f "$1" ]; then
+ XML_INPUT_LIST+="${1} "
+ else
+ print_usage_exit -1;
+ fi
+ shift;;
+esac
+done
+
+log "# ROOTSTRAP_TYPE = $ROOTSTRAP_TYPE"
+log "# XML_INPUT_LIST = $XML_INPUT_LIST"
+log "# PLATFORM_PROFILE = $PLATFORM_PROFILE"
+log "# PLATFORM_VERSION = $PLATFORM_VERSION"
+log "# INFO_FILENAME = $INFO_FILENAME"
+log ""
+
+if [ -z "$PLATFORM_PROFILE" ] || [ -z "$PLATFORM_VERSION" ]
+then
+ source "$SCRIPT_PATH/../.rs-config"
+fi
+
+##################################################################
+# Generate XML_LIST
+##################################################################
+# 1. ignorelist
+if [ -e ".ignorelist" ]
+then
+ IGNORE_LIST=$(cat .ignorelist);
+ for ignore in $IGNORE_LIST
+ do
+ INAME_OPT+=" ! -name ${ignore} "
+ done
+ log "[INAME_OPT = $INAME_OPT]"
+fi
+
+# 2. get xml list
+for xml_input in $XML_INPUT_LIST
+do
+ if [ -d "$xml_input" ] #dirctory
+ then
+ XML_LIST+=$(find -L $xml_input \( -name "*-rs.xml" ${INAME_OPT} \) )$'\n'
+ elif [ -e "$xml_input" ]
+ then
+ XML_LIST+="$xml_input"$'\n'
+ fi
+done
+
+# 3. delete empty line
+XML_LIST=$(echo "$XML_LIST" | sed '/^$/d')
+if [ "$XML_LIST" == "" ]
+then
+ log "It does not found *-rs.xml"
+ exit 1
+fi
+#echo "$XML_LIST"
+
+
+PWD_BACKUP=`pwd`
+
+INFO_DEST=${PWD_BACKUP}/".info"
+PLUGIN_DEST=${PWD_BACKUP}/".plugin"
+
+log "################# Start Generate Rootstrap Info #################"
+
+PROCESS_CNT=0;
+
+TOTAL_CNT=$(echo "${XML_LIST}" | wc -l)
+
+#get build option from xml
+for item in $XML_LIST
+do
+ get_build_option $item
+done
+
+#generate rootstrap plugin & info
+if [ ! -e ${INFO_DEST} ]
+then
+ mkdir ${INFO_DEST};
+fi
+
+BUILD_OPT_INC_PATH=`echo "$BUILD_OPT_INC_PATH" | sort -d -u`;
+BUILD_OPT_LIB_PATH=`echo "$BUILD_OPT_LIB_PATH" | sort -d -u`;
+BUILD_OPT_LIB_NAME=`echo "$BUILD_OPT_LIB_NAME" | sort -d -u`;
+
+log "> BUILD_OPT_INC_PATH=$BUILD_OPT_INC_PATH"
+log "> BUILD_OPT_LIB_PATH=$BUILD_OPT_LIB_PATH"
+log "> BUILD_OPT_LIB_NAME=$BUILD_OPT_LIB_NAME"
+
+if [[ "${ROOTSTRAP_TYPE}" == "emulator" ]]
+then
+
+#emulator
+TYPE="emulator"
+ARCH="i386"
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.dev.xml"
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.dev.xml"
+#fi
+
+generate_info
+
+
+elif [[ "${ROOTSTRAP_TYPE}" == "target" ]]
+then
+#device
+TYPE="device"
+ARCH="armel"
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.dev.xml"
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.dev.xml"
+#fi
+
+generate_info
+
+fi
+
+log "> TYPE = $TYPE"
+log "> ARCH = $ARCH"
+log "> RS_PATH = $RS_PATH"
+log "> DEV_PACKAGE_CONFIG_PATH = $DEV_PACKAGE_CONFIG_PATH"
+log "> INFO_FILENAME = $INFO_FILENAME"
+log "######################## END [$SECONDS] Sec ##############################"
+
+exit 0
--- /dev/null
+#!/bin/bash
+
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+function print_usage_exit()
+{
+echo "$SCRIPT_NAME is rootstrap info generator using xml"
+echo "Usage: $SCRIPT_NAME [<OPTION>]..."
+echo ""
+echo " -t,--type rootstrap type emulator, target, riscv."
+echo " -l,--list xml file or directory list."
+echo " -i,--info IDE rootstrap info file to get Build Option"
+echo " -p,--profile tizen"
+echo " -v,--version 10.0"
+echo ""
+echo "Example 1"
+echo ">$SCRIPT_NAME -t \"emulator\" -i \".info\/mobile-2.3-emulator.core.dev.xml\" -p \"mobile\" -v \"2.3\""
+echo ""
+
+exit $1
+}
+
+function get_build_option()
+{
+ BUILD_OPT_INC_PATH+=$(xmlstarlet sel -t -m "/rootstrap" -m "include_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_PATH+=$(xmlstarlet sel -t -m "/rootstrap" -m "library_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_NAME+=$(xmlstarlet sel -t -m "/rootstrap" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+ #BUILD_OPT_CLI_RS_LIBRARIES+=$(xmlstarlet sel -t -m "/rootstrap" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+}
+
+function generate_info()
+{
+log "# $FUNCNAME------"
+(
+echo '<PackageInfo>
+<DevPackage name="Native_API" is_framework="true" is_virtual="false">
+</DevPackage>
+</PackageInfo>'| tee $INFO_FILENAME >/dev/null 2>&1
+)
+
+for i in $BUILD_OPT_INC_PATH
+do
+ xmlstarlet ed -L -s "/PackageInfo/DevPackage" -t elem -n "include_path" -v "$i" $INFO_FILENAME
+done;
+
+for i in $BUILD_OPT_LIB_PATH
+do
+ xmlstarlet ed -L -s "/PackageInfo/DevPackage" -t elem -n "library_path" -v "$i" $INFO_FILENAME
+done;
+
+for i in $BUILD_OPT_LIB_NAME
+do
+ if [ "$i" == "liblibrary.so" ]; then
+ log "AFTER CONTINUE: $i"
+ continue;
+ fi
+ xmlstarlet ed -L -s "/PackageInfo/DevPackage" -t elem -n "library" -v "$i" $INFO_FILENAME
+done;
+
+xmlstarlet ed -L -s "/PackageInfo/DevPackage" -t elem -n "description" -v "Native_API Libraries" $INFO_FILENAME
+}
+
+###########################################################################################
+
+#script start
+BUILD_OPT_INC_PATH=""
+BUILD_OPT_LIB_PATH=""
+BUILD_OPT_LIB_NAME=""
+
+SCRIPT_NAME=$(basename ${0})
+SCRIPT_VER="0.0.1"
+SCRIPT_PATH=$(dirname ${0})
+
+OPTS=`getopt -o -t:l:p:v:i:h --long type:,list:,profile:,version:,info:,help,internal -- "$@"`
+if [ $? != 0 ] ; then log "Failed parsing options." >&2 ; exit 1 ; fi
+
+log ""
+log "# PARAMETER : $SCRIPT_NAME $OPTS"
+eval set -- "$OPTS"
+
+ROOTSTRAP_TYPE=""
+XML_INPUT_LIST=""
+
+while true; do
+case "$1" in
+-t | --type ) ROOTSTRAP_TYPE="$2"; shift;shift ;;
+-l | --list ) XML_INPUT_LIST="$2 "; shift; shift ;;
+-p | --profile ) PLATFORM_PROFILE="$2"; shift; shift ;;
+-v | --version ) PLATFORM_VERSION="$2"; shift; shift ;;
+-i | --info ) INFO_FILENAME="$2"; shift; shift ;;
+--internal ) INTERNAL=true; shift ;;
+-h | --help ) exit; shift; shift ;;
+-- ) shift; break ;;
+* )
+ if [ -d "$1" ] || [ -f "$1" ]; then
+ XML_INPUT_LIST+="${1} "
+ else
+ print_usage_exit -1;
+ fi
+ shift;;
+esac
+done
+
+log "# ROOTSTRAP_TYPE = $ROOTSTRAP_TYPE"
+log "# XML_INPUT_LIST = $XML_INPUT_LIST"
+log "# PLATFORM_PROFILE = $PLATFORM_PROFILE"
+log "# PLATFORM_VERSION = $PLATFORM_VERSION"
+log "# INFO_FILENAME = $INFO_FILENAME"
+log ""
+
+if [ -z "$PLATFORM_PROFILE" ] || [ -z "$PLATFORM_VERSION" ]
+then
+ source "$SCRIPT_PATH/../.rs-config"
+fi
+
+##################################################################
+# Generate XML_LIST
+##################################################################
+# 1. ignorelist
+if [ -e ".ignorelist" ]
+then
+ IGNORE_LIST=$(cat .ignorelist);
+ for ignore in $IGNORE_LIST
+ do
+ INAME_OPT+=" ! -name ${ignore} "
+ done
+ log "[INAME_OPT = $INAME_OPT]"
+fi
+
+# 2. get xml list
+for xml_input in $XML_INPUT_LIST
+do
+ if [ -d "$xml_input" ] #dirctory
+ then
+ XML_LIST+=$(find -L $xml_input \( -name "*-rs.xml" ${INAME_OPT} \) )$'\n'
+ elif [ -e "$xml_input" ]
+ then
+ XML_LIST+="$xml_input"$'\n'
+ fi
+done
+
+# 3. delete empty line
+XML_LIST=$(echo "$XML_LIST" | sed '/^$/d')
+if [ "$XML_LIST" == "" ]
+then
+ log "It does not found *-rs.xml"
+ exit 1
+fi
+#echo "$XML_LIST"
+
+
+PWD_BACKUP=`pwd`
+
+INFO_DEST=${PWD_BACKUP}/".info"
+PLUGIN_DEST=${PWD_BACKUP}/".plugin"
+
+log "################# Start Generate Rootstrap Info #################"
+
+PROCESS_CNT=0;
+
+TOTAL_CNT=$(echo "${XML_LIST}" | wc -l)
+
+#get build option from xml
+for item in $XML_LIST
+do
+ get_build_option $item
+done
+
+#generate rootstrap plugin & info
+if [ ! -e ${INFO_DEST} ]
+then
+ mkdir ${INFO_DEST};
+fi
+
+BUILD_OPT_INC_PATH=`echo "$BUILD_OPT_INC_PATH" | sort -d -u`;
+BUILD_OPT_LIB_PATH=`echo "$BUILD_OPT_LIB_PATH" | sort -d -u`;
+BUILD_OPT_LIB_NAME=`echo "$BUILD_OPT_LIB_NAME" | sort -d -u`;
+
+log "> BUILD_OPT_INC_PATH=$BUILD_OPT_INC_PATH"
+log "> BUILD_OPT_LIB_PATH=$BUILD_OPT_LIB_PATH"
+log "> BUILD_OPT_LIB_NAME=$BUILD_OPT_LIB_NAME"
+
+if [[ "${ROOTSTRAP_TYPE}" == "emulator" ]]
+then
+
+#emulator
+TYPE="emulator64"
+#ARCH="i386"
+ARCH="x86_64"
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.dev.xml"
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.dev.xml"
+#fi
+
+generate_info
+
+
+elif [[ "${ROOTSTRAP_TYPE}" == "target" ]]
+then
+#device
+TYPE="device64"
+#ARCH="armel"
+ARCH="aarch64"
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.dev.xml"
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.dev.xml"
+#fi
+
+generate_info
+
+elif [[ "${ROOTSTRAP_TYPE}" == "riscv" ]]
+then
+#device
+TYPE="riscv64"
+#ARCH="armel"
+ARCH="riscv64"
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.dev.xml"
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#INFO_FILENAME=${INFO_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.dev.xml"
+#fi
+
+generate_info
+
+fi
+
+log "> TYPE = $TYPE"
+log "> ARCH = $ARCH"
+log "> RS_PATH = $RS_PATH"
+log "> DEV_PACKAGE_CONFIG_PATH = $DEV_PACKAGE_CONFIG_PATH"
+log "> INFO_FILENAME = $INFO_FILENAME"
+log "######################## END [$SECONDS] Sec ##############################"
+
+exit 0
--- /dev/null
+#!/bin/bash
+# Version 1.0.1
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+function print_usage_exit()
+{
+echo "$SCRIPT_NAME is rootstrap generator using xml"
+echo "Usage: $SCRIPT_NAME [<OPTION>]..."
+echo ""
+echo " -t,--type rootstrap type emulator, target."
+echo " -i,--info IDE rootstrap info file to get Build Option"
+echo " -p,--profile tizen"
+echo " -v,--version 10.0"
+echo ""
+echo "Example 1"
+echo ">$SCRIPT_NAME -t \"emulator\" -i \".info\/mobile-2.3-emulator.core.dev.xml\" -p \"mobile\" -v \"2.3\""
+echo ""
+
+exit $1
+}
+function get_build_option()
+{
+ BUILD_OPT_INC_PATH+=$(xmlstarlet sel -t -m "/rootstrap" -m "include_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_PATH+=$(xmlstarlet sel -t -m "/rootstrap" -m "library_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_NAME+=$(xmlstarlet sel -t -m "/rootstrap" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+ BUILD_OPT_CLI_RS_LIBRARIES+=$(xmlstarlet sel -t -m "/rootstrap" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+}
+
+function get_build_option_from_infofile()
+{
+ BUILD_OPT_INC_PATH+=$(xmlstarlet sel -t -m "/PackageInfo/DevPackage" -m "include_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_PATH+=$(xmlstarlet sel -t -m "/PackageInfo/DevPackage" -m "library_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_NAME+=$(xmlstarlet sel -t -m "/PackageInfo/DevPackage" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+ BUILD_OPT_CLI_RS_LIBRARIES+=$(xmlstarlet sel -t -m "/PackageInfo/DevPackage" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+
+ BUILD_OPT_INC_PATH=`echo "$BUILD_OPT_INC_PATH" | sort -d -u`;
+ BUILD_OPT_LIB_PATH=`echo "$BUILD_OPT_LIB_PATH" | sort -d -u`;
+ BUILD_OPT_LIB_NAME=`echo "$BUILD_OPT_LIB_NAME" | sort -d -u`;
+ BUILD_OPT_CLI_RS_LIBRARIES=`echo "$BUILD_OPT_CLI_RS_LIBRARIES" | sort -d -u | sed 's/^lib/-l/g' | sed 's/.so$/ /g'`;
+}
+
+function generate_plugin()
+{
+log "# $FUNCNAME------"
+(
+echo '<extension point="rootstrapDefinition">
+</extension>'| tee $PLUGIN_FILENAME >/dev/null 2>&1
+)
+
+xmlstarlet ed -L -s "/extension" -t elem -n "rootstrap" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "id" -v "$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "name" -v "Tizen ${TYPE[*]^} $PLATFORM_VERSION" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "version" -v "${PLATFORM_PROFILE[*]^} $PLATFORM_VERSION" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "architecture" -v "$ARCH" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "path" -v "$RS_PATH" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "supportToolchainType" -v "tizen.core" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "DEV_PACKAGE_CONFIG_PATH" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "$DEV_PACKAGE_CONFIG_PATH" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "LINKER_MISCELLANEOUS_OPTION" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "COMPILER_MISCELLANEOUS_OPTION" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "" $PLUGIN_FILENAME
+
+# OLD tool options
+#xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "RS_LIBRARIES" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "$RS_LIB_OPT" $PLUGIN_FILENAME
+
+#xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "EDJE_CC" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/common/efl-tool/efl-tools/bin/edje_cc" $PLUGIN_FILENAME
+# end OLD tool option - should be deprecated
+GCC_VERSION="9.2"
+LLVM_VERSION="10.0"
+
+# FIXME: TO BE ADDED LATER
+#if [[ "${PLATFORM_VERSION}" = "8.0"* ]]
+#then
+# GCC_VERSION="13.1.0"
+# LLVM_VERSION="15.0.7"
+#fi
+
+if [[ "${PLATFORM_VERSION}" = "10.0"* ]]
+then
+ GCC_VERSION="14.1"
+ LLVM_VERSION="10.0"
+fi
+
+# Deprecated LLVM version
+#xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "toolchain" -v "" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/toolchain[last()]" -t attr -n "name" -v "llvm" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/toolchain[last()]" -t attr -n "version" -v "${LLVM_VERSION}" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "toolchain" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/toolchain[last()]" -t attr -n "name" -v "gcc" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/toolchain[last()]" -t attr -n "version" -v "${GCC_VERSION}" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "tool" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/tool[last()]" -t attr -n "name" -v "EDJE_CC" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/tool[last()]" -t attr -n "version" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/tool[last()]" -t attr -n "path" -v "#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/common/efl-tool/efl-tools/bin/edje_cc" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/tool[last()]" -t attr -n "path" -v "#{SBI_HOME}/../../platforms/tizen-7.0/common/efl-tool/efl-tools/bin/edje_cc" $PLUGIN_FILENAME
+
+if [ "$INTERNAL" = true ]; then
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "TYPE" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "private" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "DEFAULT" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "false" $PLUGIN_FILENAME
+fi
+
+}
+###########################################################################################
+
+#script start
+BUILD_OPT_INC_PATH=""
+BUILD_OPT_LIB_PATH=""
+BUILD_OPT_LIB_NAME=""
+BUILD_OPT_CLI_RS_LIBRARIES=""
+
+
+SCRIPT_NAME=$(basename ${0})
+SCRIPT_VER="0.0.1"
+SCRIPT_PATH=$(dirname ${0})
+
+INFO_FILE=$1; #OLD
+
+OPTS=`getopt -o -t:i:p:v:h --long type:,info:,profile:,version:,help,internal -- "$@"`
+if [ $? != 0 ] ; then log "Failed parsing options." >&2 ; exit 1 ; fi
+
+log "$SCRIPT_NAME PARAMETER : $OPTS"
+eval set -- "$OPTS"
+
+ROOTSTRAP_TYPE=""
+
+while true; do
+case "$1" in
+-t | --type ) ROOTSTRAP_TYPE="$2"; shift;shift ;;
+-i | --info ) INFO_FILE="$2"; shift; shift ;;
+-p | --profile ) PLATFORM_PROFILE="$2"; shift; shift ;;
+-v | --version ) PLATFORM_VERSION="$2"; shift; shift ;;
+-h | --help ) exit; shift; shift ;;
+--internal ) INTERNAL=true; shift ;;
+-- ) shift; break ;;
+* ) #print_usage_exit -1;
+ break ;;
+esac
+done
+
+log "INFO_FILE = $INFO_FILE"
+log "ROOTSTRAP_TYPE = $ROOTSTRAP_TYPE"
+log "PLATFORM_PROFILE = $PLATFORM_PROFILE"
+log "PLATFORM_VERSION = $PLATFORM_VERSION"
+
+if [ -z "$PLATFORM_PROFILE" ] || [ -z "$PLATFORM_VERSION" ] #to support old version
+then
+ source "$SCRIPT_PATH/../.rs-config"
+fi
+
+if [[ -z ${INFO_FILE} ]] || [[ ! -e ${INFO_FILE} ]]
+then
+ print_usage_exit
+fi
+
+
+PWD_BACKUP=`pwd`
+
+INFO_DEST=${PWD_BACKUP}/".info"
+PLUGIN_DEST=${PWD_BACKUP}/".plugin"
+
+log "################# Start Generate Rootstrap Plugin#################"
+
+#0. get build option from info file
+get_build_option_from_infofile $INFO_FILE
+
+#generate rootstrap plugin
+if [ ! -e ${PLUGIN_DEST} ]
+then
+ mkdir ${PLUGIN_DEST};
+fi
+
+
+
+TEST=""
+for i in $BUILD_OPT_CLI_RS_LIBRARIES
+do
+ TEST+="$i ";
+done;
+
+RS_LIB_OPT=`echo "$TEST" | sed 's/ $//g'`;
+
+#echo "BUILD_OPT_INC_PATH=$BUILD_OPT_INC_PATH"
+#echo "BUILD_OPT_LIB_PATH=$BUILD_OPT_LIB_PATH"
+#echo "BUILD_OPT_LIB_NAME=$BUILD_OPT_LIB_NAME"
+#echo "RS_LIB_OPT=$RS_LIB_OPT"
+log "${INFO_FILE}"
+
+if [[ "${INFO_FILE}" == *"emulator.core.dev.xml"* ]] || [[ "${INFO_FILE}" == *"emulator.core.private.dev.xml"* ]]
+then
+
+#emulator
+TYPE="emulator"
+ARCH="i586"
+
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.xml"
+
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.xml"
+#fi
+
+log "TYPE = $TYPE"
+log "ARCH = $ARCH"
+log "RS_PATH = $RS_PATH"
+log "DEV_PACKAGE_CONFIG_PATH = $DEV_PACKAGE_CONFIG_PATH"
+log "PLUGIN_FILENAME = $PLUGIN_FILENAME"
+
+if [ -e ${PLUGIN_FILENAME} ]
+then
+ rm ${PLUGIN_FILENAME};
+fi
+
+generate_plugin
+fi
+
+if [[ "{$INFO_FILE}" == *"device.core.dev.xml"* ]] || [[ "$INFO_FILE" == *"device.core.private.dev.xml"* ]]
+then
+
+#device
+TYPE="device"
+ARCH="armel"
+
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.xml"
+
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.xml"
+#fi
+
+log "TYPE = $TYPE"
+log "ARCH = $ARCH"
+log "RS_PATH = $RS_PATH"
+log "DEV_PACKAGE_CONFIG_PATH = $DEV_PACKAGE_CONFIG_PATH"
+log "PLUGIN_FILENAME = $PLUGIN_FILENAME"
+
+if [ -e ${PLUGIN_FILENAME} ]
+then
+ rm ${PLUGIN_FILENAME};
+fi
+
+generate_plugin
+
+else
+log "No File : $INFO_FILE"
+fi
+
+#log "######################## END [$SECONDS] Sec ##############################" 1>&2
+
+exit 0
--- /dev/null
+#!/bin/bash
+# Version 1.0.1
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+function print_usage_exit()
+{
+echo "$SCRIPT_NAME is rootstrap generator using xml"
+echo "Usage: $SCRIPT_NAME [<OPTION>]..."
+echo ""
+echo " -t,--type rootstrap type emulator, target, riscv."
+echo " -i,--info IDE rootstrap info file to get Build Option"
+echo " -p,--profile tizen"
+echo " -v,--version 10.0"
+echo ""
+echo "Example 1"
+echo ">$SCRIPT_NAME -t \"emulator\" -i \".info\/mobile-2.3-emulator.core.dev.xml\" -p \"mobile\" -v \"2.3\""
+echo ""
+
+exit $1
+}
+function get_build_option()
+{
+ BUILD_OPT_INC_PATH+=$(xmlstarlet sel -t -m "/rootstrap" -m "include_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_PATH+=$(xmlstarlet sel -t -m "/rootstrap" -m "library_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_NAME+=$(xmlstarlet sel -t -m "/rootstrap" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+ BUILD_OPT_CLI_RS_LIBRARIES+=$(xmlstarlet sel -t -m "/rootstrap" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+}
+
+function get_build_option_from_infofile()
+{
+ BUILD_OPT_INC_PATH+=$(xmlstarlet sel -t -m "/PackageInfo/DevPackage" -m "include_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_PATH+=$(xmlstarlet sel -t -m "/PackageInfo/DevPackage" -m "library_path" -v "text()" -o "" -n ${1})$'\n';
+ BUILD_OPT_LIB_NAME+=$(xmlstarlet sel -t -m "/PackageInfo/DevPackage" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+ BUILD_OPT_CLI_RS_LIBRARIES+=$(xmlstarlet sel -t -m "/PackageInfo/DevPackage" -m "library" -v "text()" -o "" -n ${1})$'\n'$'\n';
+
+ BUILD_OPT_INC_PATH=`echo "$BUILD_OPT_INC_PATH" | sort -d -u`;
+ BUILD_OPT_LIB_PATH=`echo "$BUILD_OPT_LIB_PATH" | sort -d -u`;
+ BUILD_OPT_LIB_NAME=`echo "$BUILD_OPT_LIB_NAME" | sort -d -u`;
+ BUILD_OPT_CLI_RS_LIBRARIES=`echo "$BUILD_OPT_CLI_RS_LIBRARIES" | sort -d -u | sed 's/^lib/-l/g' | sed 's/.so$/ /g'`;
+}
+
+function generate_plugin()
+{
+log "# $FUNCNAME------"
+(
+echo '<extension point="rootstrapDefinition">
+</extension>'| tee $PLUGIN_FILENAME >/dev/null 2>&1
+)
+
+xmlstarlet ed -L -s "/extension" -t elem -n "rootstrap" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "id" -v "$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "name" -v "Tizen ${TYPE[*]^} $PLATFORM_VERSION" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "version" -v "${PLATFORM_PROFILE[*]^} $PLATFORM_VERSION" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "architecture" -v "$ARCH" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "path" -v "$RS_PATH" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap" -t attr -n "supportToolchainType" -v "tizen.core" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "DEV_PACKAGE_CONFIG_PATH" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "$DEV_PACKAGE_CONFIG_PATH" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "LINKER_MISCELLANEOUS_OPTION" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "COMPILER_MISCELLANEOUS_OPTION" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "" $PLUGIN_FILENAME
+
+# OLD tool options
+#xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "RS_LIBRARIES" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "$RS_LIB_OPT" $PLUGIN_FILENAME
+
+#xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "EDJE_CC" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/common/efl-tool/efl-tools/bin/edje_cc" $PLUGIN_FILENAME
+# end OLD tool option - should be deprecated
+ GCC_VERSION="9.2"
+ LLVM_VERSION="10.0"
+
+# FIXME: TO BE ADDED LATER
+#if [[ "${PLATFORM_VERSION}" = "8.0"* ]]
+#then
+# GCC_VERSION="13.1.0"
+# LLVM_VERSION="15.0.7"
+#fi
+
+if [[ "${PLATFORM_VERSION}" = "10.0"* ]]
+then
+ GCC_VERSION="14.1"
+ LLVM_VERSION="10.0"
+fi
+
+# Deprecated LLVM version
+#xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "toolchain" -v "" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/toolchain[last()]" -t attr -n "name" -v "llvm" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/toolchain[last()]" -t attr -n "version" -v "${LLVM_VERSION}" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "toolchain" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/toolchain[last()]" -t attr -n "name" -v "gcc" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/toolchain[last()]" -t attr -n "version" -v "${GCC_VERSION}" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "tool" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/tool[last()]" -t attr -n "name" -v "EDJE_CC" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/tool[last()]" -t attr -n "version" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/tool[last()]" -t attr -n "path" -v "#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/common/efl-tool/efl-tools/bin/edje_cc" $PLUGIN_FILENAME
+#xmlstarlet ed -L -s "/extension/rootstrap/tool[last()]" -t attr -n "path" -v "#{SBI_HOME}/../../platforms/tizen-7.0/common/efl-tool/efl-tools/bin/edje_cc" $PLUGIN_FILENAME
+
+if [ "$INTERNAL" = true ]; then
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "TYPE" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "private" $PLUGIN_FILENAME
+
+xmlstarlet ed -L -s "/extension/rootstrap" -t elem -n "property" -v "" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "key" -v "DEFAULT" $PLUGIN_FILENAME
+xmlstarlet ed -L -s "/extension/rootstrap/property[last()]" -t attr -n "value" -v "false" $PLUGIN_FILENAME
+fi
+
+}
+###########################################################################################
+
+#script start
+BUILD_OPT_INC_PATH=""
+BUILD_OPT_LIB_PATH=""
+BUILD_OPT_LIB_NAME=""
+BUILD_OPT_CLI_RS_LIBRARIES=""
+
+
+SCRIPT_NAME=$(basename ${0})
+SCRIPT_VER="0.0.1"
+SCRIPT_PATH=$(dirname ${0})
+
+INFO_FILE=$1; #OLD
+
+OPTS=`getopt -o -t:i:p:v:h --long type:,info:,profile:,version:,help,internal -- "$@"`
+if [ $? != 0 ] ; then log "Failed parsing options." >&2 ; exit 1 ; fi
+
+log "$SCRIPT_NAME PARAMETER : $OPTS"
+eval set -- "$OPTS"
+
+ROOTSTRAP_TYPE=""
+
+while true; do
+case "$1" in
+-t | --type ) ROOTSTRAP_TYPE="$2"; shift;shift ;;
+-i | --info ) INFO_FILE="$2"; shift; shift ;;
+-p | --profile ) PLATFORM_PROFILE="$2"; shift; shift ;;
+-v | --version ) PLATFORM_VERSION="$2"; shift; shift ;;
+-h | --help ) exit; shift; shift ;;
+--internal ) INTERNAL=true; shift ;;
+-- ) shift; break ;;
+* ) #print_usage_exit -1;
+ break ;;
+esac
+done
+
+log "INFO_FILE = $INFO_FILE"
+log "ROOTSTRAP_TYPE = $ROOTSTRAP_TYPE"
+log "PLATFORM_PROFILE = $PLATFORM_PROFILE"
+log "PLATFORM_VERSION = $PLATFORM_VERSION"
+
+if [ -z "$PLATFORM_PROFILE" ] || [ -z "$PLATFORM_VERSION" ] #to support old version
+then
+ source "$SCRIPT_PATH/../.rs-config"
+fi
+
+if [[ -z ${INFO_FILE} ]] || [[ ! -e ${INFO_FILE} ]]
+then
+ print_usage_exit
+fi
+
+
+PWD_BACKUP=`pwd`
+
+INFO_DEST=${PWD_BACKUP}/".info"
+PLUGIN_DEST=${PWD_BACKUP}/".plugin"
+
+log "################# Start Generate Rootstrap Plugin#################"
+
+#0. get build option from info file
+get_build_option_from_infofile $INFO_FILE
+
+#generate rootstrap plugin
+if [ ! -e ${PLUGIN_DEST} ]
+then
+ mkdir ${PLUGIN_DEST};
+fi
+
+
+
+TEST=""
+for i in $BUILD_OPT_CLI_RS_LIBRARIES
+do
+ TEST+="$i ";
+done;
+
+RS_LIB_OPT=`echo "$TEST" | sed 's/ $//g'`;
+
+#echo "BUILD_OPT_INC_PATH=$BUILD_OPT_INC_PATH"
+#echo "BUILD_OPT_LIB_PATH=$BUILD_OPT_LIB_PATH"
+#echo "BUILD_OPT_LIB_NAME=$BUILD_OPT_LIB_NAME"
+#echo "RS_LIB_OPT=$RS_LIB_OPT"
+log "${INFO_FILE}"
+
+if [[ "${INFO_FILE}" == *"emulator64.core.dev.xml"* ]] || [[ "${INFO_FILE}" == *"emulator64.core.private.dev.xml"* ]]
+then
+
+#emulator
+TYPE="emulator64"
+ARCH="x86_64"
+
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.xml"
+
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.xml"
+#fi
+
+log "TYPE = $TYPE"
+log "ARCH = $ARCH"
+log "RS_PATH = $RS_PATH"
+log "DEV_PACKAGE_CONFIG_PATH = $DEV_PACKAGE_CONFIG_PATH"
+log "PLUGIN_FILENAME = $PLUGIN_FILENAME"
+
+if [ -e ${PLUGIN_FILENAME} ]
+then
+ rm ${PLUGIN_FILENAME};
+fi
+
+generate_plugin
+fi
+
+if [[ "${INFO_FILE}" == *"riscv64.core.dev.xml"* ]] || [[ "${INFO_FILE}" == *"riscv64.core.private.dev.xml"* ]]
+then
+
+#emulator
+TYPE="riscv64"
+ARCH="riscv64"
+
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.xml"
+
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.xml"
+#fi
+
+log "TYPE = $TYPE"
+log "ARCH = $ARCH"
+log "RS_PATH = $RS_PATH"
+log "DEV_PACKAGE_CONFIG_PATH = $DEV_PACKAGE_CONFIG_PATH"
+log "PLUGIN_FILENAME = $PLUGIN_FILENAME"
+
+if [ -e ${PLUGIN_FILENAME} ]
+then
+ rm ${PLUGIN_FILENAME};
+fi
+
+generate_plugin
+fi
+
+if [[ "{$INFO_FILE}" == *"device64.core.dev.xml"* ]] || [[ "$INFO_FILE" == *"device64.core.private.dev.xml"* ]]
+then
+
+#device
+TYPE="device64"
+ARCH="aarch64"
+
+RS_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core"
+DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.dev.xml"
+PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.xml"
+
+
+#if [ "$INTERNAL" = true ]; then
+#DEV_PACKAGE_CONFIG_PATH="#{SBI_HOME}/../../platforms/tizen-${PLATFORM_VERSION}/${PLATFORM_PROFILE}/rootstraps/info/${PLATFORM_PROFILE}-${PLATFORM_VERSION}-${TYPE}.core.private.dev.xml"
+#PLUGIN_FILENAME=${PLUGIN_DEST}/"$PLATFORM_PROFILE-$PLATFORM_VERSION-${TYPE}.core.private.xml"
+#fi
+
+log "TYPE = $TYPE"
+log "ARCH = $ARCH"
+log "RS_PATH = $RS_PATH"
+log "DEV_PACKAGE_CONFIG_PATH = $DEV_PACKAGE_CONFIG_PATH"
+log "PLUGIN_FILENAME = $PLUGIN_FILENAME"
+
+if [ -e ${PLUGIN_FILENAME} ]
+then
+ rm ${PLUGIN_FILENAME};
+fi
+
+generate_plugin
+
+else
+log "No File : $INFO_FILE"
+fi
+
+#log "######################## END [$SECONDS] Sec ##############################" 1>&2
+
+exit 0
--- /dev/null
+#!/bin/bash
+################################################################################
+# This Script is rootstrap verify
+# 1. necessary include file test
+# 2. necessary include file dependency test
+# 3. necessary library test
+# 4. necessary library broken test
+# 5. unused library remove
+################################################################################
+SCRIPT_NAME=$(basename $0)
+SCRIPT_VER="0.0.1"
+
+function log()
+{
+ printf "[${SCRIPT_NAME}:${BASH_LINENO[0]}] ${@}\n"
+}
+
+################################################################################
+#
+# function
+# check_error()
+# $1 : Error code (integer)
+# $2 : Error Message
+#
+# check_error $? "Fail Messages."
+#
+################################################################################
+function check_error()
+{
+ if [ "$1" -ne "0" ]; then
+ printf "\n[${SCRIPT_NAME}:${BASH_LINENO[0]}] ERROR : $2 - exit code ($1) \n\n" 1>&2
+ exit $1
+ fi
+}
+
+function print_usage_exit()
+{
+ echo ""
+ echo ""
+ echo "$SCRIPT_NAME ($SCRIPT_VER) is script to verify rootstrap"
+ echo "$SCRIPT_NAME : usage : $SCRIPT_NAME [ infofile ] [rootstrap dir] [-e | -t][--force]"
+ echo ""
+ echo " >$SCRIPT_NAME info/mobile-2.3-emulator.core.dev.xml mobile-2.3-emulator.core"
+ echo " >$SCRIPT_NAME .info/mobile-2.3.1-emulator.core.dev.xml .emulator"
+ echo " >$SCRIPT_NAME .info/mobile-2.3.1-emulator.core.dev.xml .emulator -e"
+ echo " >$SCRIPT_NAME .info/mobile-2.3.1-device.core.dev.xml .target -t"
+ echo " >$SCRIPT_NAME .info/mobile-2.3.1-emulator.core.dev.xml .emulator --force"
+ echo ""
+ echo ""
+ exit $1
+}
+
+
+################################################################################
+# 1. necessary include file test
+# 1.1 get api_header_list
+# 1.2 find header file
+#
+# Input :
+# API_HEADER_LIST_FILELIST
+# Output :
+# ${API_HEADER_LIST_FILEPATH}.result
+# NO_HEADER_COUNT
+################################################################################
+DEF_HEADER_EXT="^(.*)((\.h)|(\.hpp)|(\.x))$"
+
+API_HEADER_LIST_FILELIST=("./NATIVE_api_header_list" "./DALI_api_header_list" "./EFL_api_header_list")
+BAD_API_HEADER_LIST=()
+
+LOCAL_ROOTPATH=".emulator"
+NO_HEADER_COUNT=0;
+
+rm *.result
+
+for API_HEADER_LIST_FILEPATH in ${API_HEADER_LIST_FILELIST[@]}
+do
+ echo "Run... $API_HEADER_LIST_FILEPATH"
+ if [ ! -e ${API_HEADER_LIST_FILEPATH} ]
+ then
+ check_error -1 "${API_HEADER_LIST_FILEPATH} is NOT Exist"
+ fi
+
+ while read line
+ do
+ if [[ ${line} =~ ^$ ]]
+ then
+ continue
+ fi
+
+ line=`echo ${line} | sed -e 's/[[:space:]]//g' | sed -e 's/\"//g'`
+
+ if [[ ${line} =~ ${DEF_HEADER_EXT} ]]
+ then
+ #echo "${line}"
+ TEST_FILEPATH=`find ${LOCAL_ROOTPATH} -name "${line}" -print | head -n 1 `
+
+ if [[ ! -e ${TEST_FILEPATH[0]} ]]
+ then
+ #echo "Good : ${line}, ${TEST_FILEPATH}"
+ #else
+ #echo "BAD : ${line}"
+ BAD_API_HEADER_LIST+=("${line}")
+ fi
+
+ else
+ echo "File Name [${line}] is NOT header file format. SKIP..."
+ continue;
+ #check_error -1 "${line} File Name is NOT header file format."
+ fi
+
+ done < ${API_HEADER_LIST_FILEPATH}
+
+
+ #echo "BAD_API_HEADER_LIST"
+ printf '%s\n' "${BAD_API_HEADER_LIST[@]}" >> ${API_HEADER_LIST_FILEPATH}".result" 2>&1
+ echo "Error Count ${#BAD_API_HEADER_LIST[@]}"
+ let "NO_HEADER_COUNT+=${#BAD_API_HEADER_LIST[@]}"
+done
+
+echo "non-existent file count... Total ${NO_HEADER_COUNT}."
+
+exit 0
--- /dev/null
+#!/bin/bash
+INPUT_FILE=${1}
+if [[ ! -e ${INPUT_FILE} ]]
+then
+ echo "File not Exist..."
+ exit -1;
+fi
+
+version_file=${INPUT_FILE}
+PKG_VERSION=`cat $version_file | tr -d " " | grep Version: | sed "s/Version://g" | uniq`
+PKG_MAJOR_VERSION=`echo $PKG_VERSION | awk '{split($0,input,"."); print input[1] "." input[2] "."}'`
+BUILD_NUM=`echo $PKG_VERSION | awk '{split($0,input,"."); print input[3]}'`
+NEW_BUILD_NUM=`echo $(( $BUILD_NUM + 1 ))`
+NEW_PKG_VERSION=${PKG_MAJOR_VERSION}${NEW_BUILD_NUM}
+sed -e "s/Version :.*/Version : ${NEW_PKG_VERSION}/g" $version_file > "${version_file}_temp"
+mv ${version_file}_temp ${version_file}
+
+echo "$NEW_PKG_VERSION"
--- /dev/null
+ecore_animator_add
+ecore_animator_del
+ecore_animator_frametime_set
+ecore_animator_freeze
+ecore_animator_pos_map
+ecore_animator_pos_map_n
+ecore_animator_thaw
+ecore_animator_timeline_add
+ecore_animator_custom_source_tick_begin_callback_set
+ecore_animator_custom_source_tick_end_callback_set
+ecore_animator_custom_tick
+ecore_animator_frametime_get
+ecore_animator_source_get
+ecore_animator_source_set
+ecore_buffer_consumer_buffer_dequeue
+ecore_buffer_consumer_buffer_enqueued_cb_set
+ecore_buffer_consumer_buffer_release
+ecore_buffer_consumer_free
+ecore_buffer_consumer_new
+ecore_buffer_consumer_provider_add_cb_set
+ecore_buffer_consumer_provider_del_cb_set
+ecore_buffer_consumer_queue_is_empty
+ecore_buffer_flags_get
+ecore_buffer_format_get
+ecore_buffer_free
+ecore_buffer_free_callback_add
+ecore_buffer_free_callback_remove
+ecore_buffer_init
+ecore_buffer_new
+ecore_buffer_new_with_tbm_surface
+ecore_buffer_provider_buffer_acquirable_check
+ecore_buffer_provider_buffer_acquire
+ecore_buffer_provider_buffer_enqueue
+ecore_buffer_provider_buffer_released_cb_set
+ecore_buffer_provider_consumer_add_cb_set
+ecore_buffer_provider_consumer_del_cb_set
+ecore_buffer_provider_free
+ecore_buffer_provider_new
+ecore_buffer_queue_init
+ecore_buffer_queue_shutdown
+ecore_buffer_register
+ecore_buffer_shutdown
+ecore_buffer_size_get
+ecore_buffer_tbm_surface_get
+ecore_buffer_unregister
+ecore_compose_get
+ecore_event_init
+ecore_event_modifier_mask
+ecore_event_shutdown
+ecore_event_update_modifier
+ecore_event_add
+ecore_event_handler_add
+ecore_event_handler_data_set
+ecore_event_handler_del
+ecore_event_handler_data_get
+ecore_event_current_event_get
+ecore_event_current_type_get
+ecore_event_del
+ecore_event_type_new
+ecore_event_filter_add
+ecore_event_filter_del
+ecore_imf_context_add
+ecore_imf_context_autocapital_type_get
+ecore_imf_context_autocapital_type_set
+ecore_imf_context_available_ids_by_canvas_type_get
+ecore_imf_context_available_ids_get
+ecore_imf_context_bidi_direction_get
+ecore_imf_context_bidi_direction_set
+ecore_imf_context_candidate_panel_geometry_get
+ecore_imf_context_client_canvas_get
+ecore_imf_context_client_canvas_set
+ecore_imf_context_client_window_get
+ecore_imf_context_client_window_set
+ecore_imf_context_commit_event_add
+ecore_imf_context_control_panel_hide
+ecore_imf_context_control_panel_show
+ecore_imf_context_cursor_location_set
+ecore_imf_context_cursor_position_set
+ecore_imf_context_data_get
+ecore_imf_context_data_set
+ecore_imf_context_default_id_by_canvas_type_get
+ecore_imf_context_default_id_get
+ecore_imf_context_del
+ecore_imf_context_delete_surrounding_event_add
+ecore_imf_context_event_callback_add
+ecore_imf_context_event_callback_call
+ecore_imf_context_event_callback_del
+ecore_imf_context_filter_event
+ecore_imf_context_focus_in
+ecore_imf_context_focus_out
+ecore_imf_context_hide
+ecore_imf_context_info_by_id_get
+ecore_imf_context_info_get
+ecore_imf_context_input_hint_get
+ecore_imf_context_input_hint_set
+ecore_imf_context_input_mode_get
+ecore_imf_context_input_mode_set
+ecore_imf_context_input_panel_caps_lock_mode_get
+ecore_imf_context_input_panel_caps_lock_mode_set
+ecore_imf_context_input_panel_enabled_get
+ecore_imf_context_input_panel_enabled_set
+ecore_imf_context_input_panel_event_callback_add
+ecore_imf_context_input_panel_event_callback_call
+ecore_imf_context_input_panel_event_callback_clear
+ecore_imf_context_input_panel_event_callback_del
+ecore_imf_context_input_panel_geometry_get
+ecore_imf_context_input_panel_hide
+ecore_imf_context_input_panel_imdata_get
+ecore_imf_context_input_panel_imdata_set
+ecore_imf_context_input_panel_language_get
+ecore_imf_context_input_panel_language_locale_get
+ecore_imf_context_input_panel_language_set
+ecore_imf_context_input_panel_layout_get
+ecore_imf_context_input_panel_layout_set
+ecore_imf_context_input_panel_layout_variation_get
+ecore_imf_context_input_panel_layout_variation_set
+ecore_imf_context_input_panel_return_key_disabled_get
+ecore_imf_context_input_panel_return_key_disabled_set
+ecore_imf_context_input_panel_return_key_type_get
+ecore_imf_context_input_panel_return_key_type_set
+ecore_imf_context_input_panel_show
+ecore_imf_context_input_panel_show_on_demand_get
+ecore_imf_context_input_panel_show_on_demand_set
+ecore_imf_context_input_panel_state_get
+ecore_imf_context_new
+ecore_imf_context_prediction_allow_get
+ecore_imf_context_prediction_allow_set
+ecore_imf_context_preedit_changed_event_add
+ecore_imf_context_preedit_end_event_add
+ecore_imf_context_preedit_start_event_add
+ecore_imf_context_preedit_string_get
+ecore_imf_context_preedit_string_with_attributes_get
+ecore_imf_context_reset
+ecore_imf_context_retrieve_selection_callback_set
+ecore_imf_context_retrieve_surrounding_callback_set
+ecore_imf_context_selection_get
+ecore_imf_context_show
+ecore_imf_context_surrounding_get
+ecore_imf_context_use_preedit_set
+ecore_imf_evas_event_key_down_wrap
+ecore_imf_evas_event_key_up_wrap
+ecore_imf_evas_event_mouse_down_wrap
+ecore_imf_evas_event_mouse_in_wrap
+ecore_imf_evas_event_mouse_move_wrap
+ecore_imf_evas_event_mouse_out_wrap
+ecore_imf_evas_event_mouse_up_wrap
+ecore_imf_evas_event_mouse_wheel_wrap
+ecore_imf_init
+ecore_imf_input_panel_hide
+ecore_imf_module_register
+ecore_imf_shutdown
+ecore_input_joystick_init
+ecore_input_joystick_shutdown
+ecore_idle_enterer_add
+ecore_idle_enterer_before_add
+ecore_idle_enterer_del
+ecore_idle_exiter_add
+ecore_idle_exiter_del
+ecore_idler_add
+ecore_idler_del
+ecore_job_add
+ecore_job_del
+ecore_main_fd_handler_active_get
+ecore_main_fd_handler_active_set
+ecore_main_fd_handler_add
+ecore_main_fd_handler_del
+ecore_main_fd_handler_fd_get
+ecore_main_fd_handler_file_add
+ecore_main_fd_handler_prepare_callback_set
+ecore_main_loop_begin
+ecore_main_loop_glib_always_integrate_disable
+ecore_main_loop_glib_integrate
+ecore_main_loop_iterate
+ecore_main_loop_quit
+ecore_main_loop_select_func_get
+ecore_main_loop_select_func_set
+ecore_main_loop_thread_safe_call_async
+ecore_main_loop_thread_safe_call_sync
+ecore_thread_main_loop_begin
+ecore_thread_main_loop_end
+ecore_fork_reset
+ecore_fork_reset_callback_add
+ecore_fork_reset_callback_del
+ecore_pipe_add
+ecore_pipe_del
+ecore_pipe_freeze
+ecore_pipe_read_close
+ecore_pipe_wait
+ecore_pipe_write
+ecore_pipe_write_close
+ecore_pipe_thaw
+ecore_poller_add
+ecore_poller_del
+ecore_poller_poll_interval_get
+ecore_poller_poll_interval_set
+ecore_poller_poller_interval_get
+ecore_poller_poller_interval_set
+ecore_thread_active_get
+ecore_thread_available_get
+ecore_thread_reschedule
+ecore_thread_cancel
+ecore_thread_check
+ecore_thread_run
+ecore_thread_feedback
+ecore_thread_feedback_run
+ecore_thread_global_data_add
+ecore_thread_global_data_del
+ecore_thread_global_data_find
+ecore_thread_global_data_set
+ecore_thread_global_data_wait
+ecore_thread_local_data_add
+ecore_thread_local_data_del
+ecore_thread_local_data_find
+ecore_thread_local_data_set
+ecore_thread_max_get
+ecore_thread_max_set
+ecore_thread_max_reset
+ecore_thread_pending_feedback_get
+ecore_thread_pending_get
+ecore_thread_pending_total_get
+ecore_time_get
+ecore_time_unix_get
+ecore_loop_time_get
+ecore_timer_add
+ecore_timer_loop_add
+ecore_timer_del
+ecore_timer_delay
+ecore_timer_dump
+ecore_timer_freeze
+ecore_timer_interval_get
+ecore_timer_interval_set
+ecore_timer_pending_get
+ecore_timer_precision_set
+ecore_timer_reset
+ecore_timer_precision_get
+ecore_timer_thaw
+edje_object_add
+edje_object_preload
+edje_color_class_del
+edje_color_class_get
+edje_color_class_list
+edje_color_class_set
+edje_object_color_class_del
+edje_object_color_class_get
+edje_object_color_class_set
+edje_text_class_del
+edje_text_class_get
+edje_text_class_list
+edje_text_class_set
+edje_object_text_class_get
+edje_object_text_class_set
+edje_file_collection_list
+edje_file_collection_list_free
+edje_file_data_get
+edje_file_group_exists
+edje_object_file_get
+edje_object_file_set
+edje_object_data_get
+edje_object_load_error_get
+edje_load_error_str
+edje_frametime_get
+edje_frametime_set
+edje_freeze
+edje_thaw
+edje_object_play_get
+edje_object_play_set
+edje_object_animation_get
+edje_object_part_state_get
+edje_object_animation_set
+edje_object_base_scale_get
+edje_object_thaw
+edje_object_freeze
+edje_object_size_min_calc
+edje_object_size_max_get
+edje_object_size_min_get
+edje_object_update_hints_get
+edje_object_update_hints_set
+edje_object_calc_force
+edje_object_size_min_restricted_calc
+edje_object_parts_extends_calc
+edje_object_perspective_get
+edje_object_perspective_set
+edje_evas_global_perspective_get
+edje_perspective_free
+edje_perspective_global_get
+edje_perspective_global_set
+edje_perspective_new
+edje_perspective_set
+edje_message_signal_process
+edje_object_message_handler_set
+edje_object_message_send
+edje_object_message_signal_process
+edje_object_part_box_append
+edje_object_part_box_insert_at
+edje_object_part_box_insert_before
+edje_object_part_box_prepend
+edje_object_part_box_remove
+edje_object_part_box_remove_all
+edje_object_part_box_remove_at
+edje_box_layout_register
+edje_object_part_drag_dir_get
+edje_object_part_drag_page
+edje_object_part_drag_page_get
+edje_object_part_drag_page_set
+edje_object_part_drag_size_get
+edje_object_part_drag_size_set
+edje_object_part_drag_step
+edje_object_part_drag_step_get
+edje_object_part_drag_step_set
+edje_object_part_drag_value_get
+edje_object_part_drag_value_set
+edje_object_part_swallow
+edje_object_part_swallow_get
+edje_object_part_unswallow
+edje_extern_object_aspect_set
+edje_extern_object_max_size_set
+edje_extern_object_min_size_set
+edje_object_part_exists
+edje_object_part_geometry_get
+edje_object_part_object_get
+edje_object_access_part_list_get
+edje_object_part_text_set
+edje_object_part_text_get
+edje_object_part_text_style_user_peek
+edje_object_part_text_style_user_pop
+edje_object_part_text_style_user_push
+edje_object_part_text_unescaped_get
+edje_object_part_text_unescaped_set
+edje_object_part_text_insert
+edje_object_part_text_append
+edje_object_text_change_cb_set
+edje_object_part_text_anchor_list_get
+edje_object_part_text_anchor_geometry_get
+edje_object_part_text_item_list_get
+edje_object_part_text_item_geometry_get
+edje_object_part_text_user_insert
+edje_object_part_table_child_get
+edje_object_part_table_clear
+edje_object_part_table_col_row_size_get
+edje_object_part_table_pack
+edje_object_part_table_unpack
+edje_scale_get
+edje_scale_set
+edje_object_scale_get
+edje_object_scale_set
+edje_object_signal_callback_add
+edje_object_signal_callback_del
+edje_object_signal_callback_del_full
+edje_object_signal_callback_extra_data_get
+edje_object_signal_emit
+edje_object_part_text_escaped_set
+eina_accessor_container_get
+eina_accessor_data_get
+eina_accessor_free
+eina_accessor_lock
+eina_accessor_over
+eina_accessor_unlock
+eina_array_accessor_new
+eina_array_flush
+eina_array_free
+eina_array_iterator_new
+eina_array_new
+eina_array_remove
+eina_array_step_set
+eina_unicode_strcmp
+eina_unicode_strcpy
+eina_unicode_strdup
+eina_unicode_strlen
+eina_unicode_strncpy
+eina_unicode_strndup
+eina_unicode_strnlen
+eina_unicode_strstr
+eina_unicode_unicode_to_utf8
+eina_unicode_utf8_get_len
+eina_unicode_utf8_get_next
+eina_unicode_utf8_get_prev
+eina_unicode_utf8_to_unicode
+eina_unicode_escape
+eina_ustrbuf_append
+eina_ustrbuf_free
+eina_ustrbuf_insert
+eina_ustrbuf_insert_n
+eina_ustrbuf_manage_new
+eina_ustrbuf_new
+eina_ustrbuf_remove
+eina_ustrbuf_append_char
+eina_ustrbuf_append_escaped
+eina_ustrbuf_append_length
+eina_ustrbuf_append_n
+eina_ustrbuf_insert_char
+eina_ustrbuf_insert_escaped
+eina_ustrbuf_insert_length
+eina_ustrbuf_manage_new_length
+eina_ustrbuf_reset
+eina_ustrbuf_length_get
+eina_ustrbuf_string_free
+eina_ustrbuf_string_get
+eina_ustrbuf_string_steal
+eina_ustringshare_add
+eina_ustringshare_del
+eina_ustringshare_ref
+eina_ustringshare_strlen
+eina_ustringshare_add_length
+eina_ustringshare_dump
+eina_strbuf_append_vprintf
+eina_strbuf_insert_char
+eina_strbuf_insert_length
+eina_strbuf_insert_vprintf
+eina_strbuf_ltrim
+eina_strbuf_manage_new_length
+eina_strbuf_rtrim
+eina_strbuf_trim
+eina_strbuf_append
+eina_strbuf_append_char
+eina_strbuf_append_escaped
+eina_strbuf_append_length
+eina_strbuf_append_n
+eina_strbuf_append_printf
+eina_strbuf_free
+eina_strbuf_insert
+eina_strbuf_insert_escaped
+eina_strbuf_insert_n
+eina_strbuf_insert_printf
+eina_strbuf_length_get
+eina_strbuf_manage_new
+eina_strbuf_new
+eina_strbuf_remove
+eina_strbuf_replace
+eina_strbuf_replace_all
+eina_strbuf_reset
+eina_strbuf_string_free
+eina_strbuf_string_get
+eina_strbuf_string_steal
+eina_tmpstr_add
+eina_tmpstr_add_length
+eina_tmpstr_del
+eina_tmpstr_strlen
+eina_binbuf_append_length
+eina_binbuf_free
+eina_binbuf_length_get
+eina_binbuf_new
+eina_binbuf_remove
+eina_binbuf_reset
+eina_binbuf_string_get
+eina_binbuf_string_steal
+eina_binbuf_append_char
+eina_binbuf_insert_char
+eina_binbuf_insert_length
+eina_binbuf_manage_new_length
+eina_binbuf_string_free
+eina_binshare_add_length
+eina_binshare_del
+eina_binshare_dump
+eina_binshare_length
+eina_binshare_ref
+eina_convert_atod
+eina_convert_atofp
+eina_convert_dtoa
+eina_convert_fptoa
+eina_convert_itoa
+eina_convert_xtoa
+eina_counter_dump
+eina_counter_free
+eina_counter_new
+eina_counter_start
+eina_counter_stop
+eina_hash_add
+eina_hash_add_by_hash
+eina_hash_del
+eina_hash_del_by_data
+eina_hash_del_by_hash
+eina_hash_del_by_key
+eina_hash_del_by_key_hash
+eina_hash_direct_add
+eina_hash_direct_add_by_hash
+eina_hash_find
+eina_hash_find_by_hash
+eina_hash_foreach
+eina_hash_free
+eina_hash_free_buckets
+eina_hash_free_cb_set
+eina_hash_int32_new
+eina_hash_int64_new
+eina_hash_iterator_data_new
+eina_hash_iterator_key_new
+eina_hash_iterator_tuple_new
+eina_hash_modify
+eina_hash_modify_by_hash
+eina_hash_move
+eina_hash_new
+eina_hash_pointer_new
+eina_hash_population
+eina_hash_set
+eina_hash_string_djb2_new
+eina_hash_string_small_new
+eina_hash_string_superfast_new
+eina_hash_stringshared_new
+eina_hash_superfast
+eina_inarray_accessor_new
+eina_inarray_alloc_at
+eina_inarray_count
+eina_inarray_flush
+eina_inarray_foreach
+eina_inarray_foreach_remove
+eina_inarray_free
+eina_inarray_grow
+eina_inarray_insert
+eina_inarray_insert_at
+eina_inarray_insert_sorted
+eina_inarray_iterator_new
+eina_inarray_iterator_reversed_new
+eina_inarray_new
+eina_inarray_nth
+eina_inarray_pop
+eina_inarray_push
+eina_inarray_remove
+eina_inarray_remove_at
+eina_inarray_replace_at
+eina_inarray_reverse
+eina_inarray_search
+eina_inarray_search_sorted
+eina_inarray_sort
+eina_inarray_step_set
+eina_inlist_accessor_new
+eina_inlist_append
+eina_inlist_append_relative
+eina_inlist_count
+eina_inlist_demote
+eina_inlist_find
+eina_inlist_iterator_new
+eina_inlist_prepend
+eina_inlist_prepend_relative
+eina_inlist_promote
+eina_inlist_remove
+eina_inlist_sort
+eina_inlist_sorted_insert
+eina_inlist_sorted_state_free
+eina_inlist_sorted_state_init
+eina_inlist_sorted_state_insert
+eina_inlist_sorted_state_new
+eina_iterator_container_get
+eina_iterator_foreach
+eina_iterator_free
+eina_iterator_lock
+eina_iterator_next
+eina_iterator_unlock
+eina_lalloc_element_add
+eina_lalloc_elements_add
+eina_lalloc_free
+eina_lalloc_new
+eina_list_accessor_new
+eina_list_append
+eina_list_append_relative
+eina_list_append_relative_list
+eina_list_data_find
+eina_list_data_find_list
+eina_list_demote_list
+eina_list_free
+eina_list_iterator_new
+eina_list_merge
+eina_list_move
+eina_list_nth
+eina_list_nth_list
+eina_list_prepend
+eina_list_prepend_relative
+eina_list_prepend_relative_list
+eina_list_promote_list
+eina_list_remove
+eina_list_remove_list
+eina_list_reverse
+eina_list_reverse_clone
+eina_list_search_sorted
+eina_list_search_sorted_list
+eina_list_search_sorted_near_list
+eina_list_search_unsorted
+eina_list_search_unsorted_list
+eina_list_sort
+eina_list_sorted_insert
+eina_list_sorted_merge
+eina_list_clone
+eina_list_iterator_reversed_new
+eina_list_move_list
+eina_list_split_list
+eina_matrixsparse_cell_clear
+eina_matrixsparse_cell_data_get
+eina_matrixsparse_cell_data_replace
+eina_matrixsparse_cell_data_set
+eina_matrixsparse_cell_idx_clear
+eina_matrixsparse_cell_idx_get
+eina_matrixsparse_cell_position_get
+eina_matrixsparse_column_idx_clear
+eina_matrixsparse_data_idx_get
+eina_matrixsparse_data_idx_replace
+eina_matrixsparse_data_idx_set
+eina_matrixsparse_free
+eina_matrixsparse_iterator_complete_new
+eina_matrixsparse_iterator_new
+eina_matrixsparse_new
+eina_matrixsparse_row_idx_clear
+eina_matrixsparse_size_get
+eina_matrixsparse_size_set
+eina_module_arch_list_get
+eina_module_environment_path_get
+eina_module_file_get
+eina_module_free
+eina_module_list_free
+eina_module_list_get
+eina_module_list_load
+eina_module_list_unload
+eina_module_load
+eina_module_new
+eina_module_symbol_get
+eina_module_symbol_path_get
+eina_module_unload
+eina_module_find
+eina_rbtree_delete
+eina_rbtree_inline_insert
+eina_rbtree_inline_remove
+eina_rbtree_iterator_infix
+eina_rbtree_iterator_postfix
+eina_rbtree_iterator_prefix
+eina_rectangle_free
+eina_rectangle_new
+eina_rectangle_pool_count
+eina_rectangle_pool_data_get
+eina_rectangle_pool_data_set
+eina_rectangle_pool_free
+eina_rectangle_pool_geometry_get
+eina_rectangle_pool_get
+eina_rectangle_pool_new
+eina_rectangle_pool_release
+eina_rectangle_pool_request
+eina_rectangle_pool_packing_set
+eina_simple_xml_node_dump
+eina_simple_xml_node_load
+eina_simple_xml_node_root_free
+eina_simple_xml_parse
+eina_simple_xml_attribute_free
+eina_simple_xml_attribute_new
+eina_simple_xml_attributes_parse
+eina_simple_xml_node_cdata_free
+eina_simple_xml_node_cdata_new
+eina_simple_xml_node_comment_free
+eina_simple_xml_node_comment_new
+eina_simple_xml_node_data_free
+eina_simple_xml_node_data_new
+eina_simple_xml_node_doctype_child_free
+eina_simple_xml_node_doctype_child_new
+eina_simple_xml_node_doctype_free
+eina_simple_xml_node_doctype_new
+eina_simple_xml_node_processing_free
+eina_simple_xml_node_processing_new
+eina_simple_xml_node_tag_free
+eina_simple_xml_node_tag_new
+eina_simple_xml_tag_attributes_find
+eina_str_convert
+eina_str_escape
+eina_str_has_extension
+eina_str_has_prefix
+eina_str_has_suffix
+eina_str_join_len
+eina_str_split
+eina_str_split_full
+eina_str_tolower
+eina_str_toupper
+eina_strlcat
+eina_strlcpy
+eina_stringshare_add
+eina_stringshare_add_length
+eina_stringshare_del
+eina_stringshare_dump
+eina_stringshare_nprintf
+eina_stringshare_printf
+eina_stringshare_ref
+eina_stringshare_strlen
+eina_stringshare_vprintf
+eina_tile_grid_slicer_iterator_new
+eina_tiler_clear
+eina_tiler_free
+eina_tiler_iterator_new
+eina_tiler_new
+eina_tiler_rect_add
+eina_tiler_rect_del
+eina_tiler_tile_size_set
+eina_xattr_double_get
+eina_xattr_double_set
+eina_xattr_fd_ls
+eina_xattr_get
+eina_xattr_int_get
+eina_xattr_int_set
+eina_xattr_ls
+eina_xattr_set
+eina_xattr_string_get
+eina_xattr_string_set
+eina_xattr_value_fd_ls
+eina_xattr_value_ls
+elm_atspi_accessible_name_set
+elm_atspi_accessible_name_get
+elm_atspi_accessible_description_set
+elm_atspi_accessible_description_get
+elm_atspi_accessible_role_set
+elm_atspi_accessible_role_get
+elm_atspi_accessible_relationship_append
+elm_atspi_accessible_relationship_remove
+elm_atspi_accessible_translation_domain_set
+elm_atspi_accessible_translation_domain_get
+elm_calendar_first_day_of_week_set
+elm_calendar_first_day_of_week_get
+elm_calendar_selectable_set
+elm_calendar_selectable_get
+elm_calendar_interval_get
+elm_calendar_interval_set
+elm_calendar_weekdays_names_set
+elm_calendar_weekdays_names_get
+elm_calendar_select_mode_set
+elm_calendar_select_mode_get
+elm_calendar_min_max_year_set
+elm_calendar_min_max_year_get
+elm_calendar_marks_get
+elm_calendar_format_function_set
+elm_calendar_selected_time_set
+elm_calendar_selected_time_get
+elm_calendar_mark_add
+elm_calendar_marks_clear
+elm_calendar_marks_draw
+elm_calendar_displayed_time_get
+elm_calendar_mark_del
+elm_calendar_add
+elm_cnp_selection_set
+elm_cnp_selection_get
+elm_object_cnp_selection_clear
+elm_cnp_selection_loss_callback_set
+elm_drop_target_add
+elm_drop_target_del
+elm_drag_start
+elm_drag_cancel
+elm_drag_action_set
+elm_drag_item_container_add
+elm_drag_item_container_del
+elm_drop_item_container_add
+elm_drop_item_container_del
+elm_bg_add
+elm_bg_color_get
+elm_bg_color_set
+elm_bg_file_get
+elm_bg_file_set
+elm_bg_load_size_set
+elm_bg_option_get
+elm_bg_option_set
+elm_box_add
+elm_box_align_get
+elm_box_align_set
+elm_box_children_get
+elm_box_clear
+elm_box_homogeneous_get
+elm_box_homogeneous_set
+elm_box_horizontal_get
+elm_box_horizontal_set
+elm_box_layout_set
+elm_box_layout_transition
+elm_box_pack_after
+elm_box_pack_before
+elm_box_pack_end
+elm_box_pack_start
+elm_box_padding_get
+elm_box_padding_set
+elm_box_recalculate
+elm_box_transition_free
+elm_box_transition_new
+elm_box_unpack
+elm_box_unpack_all
+elm_button_add
+elm_button_autorepeat_gap_timeout_get
+elm_button_autorepeat_gap_timeout_set
+elm_button_autorepeat_get
+elm_button_autorepeat_initial_timeout_get
+elm_button_autorepeat_initial_timeout_set
+elm_button_autorepeat_set
+elm_check_add
+elm_check_state_get
+elm_check_state_pointer_set
+elm_check_state_set
+elm_colorselector_add
+elm_colorselector_color_get
+elm_colorselector_color_set
+elm_colorselector_mode_get
+elm_colorselector_mode_set
+elm_colorselector_palette_clear
+elm_colorselector_palette_color_add
+elm_colorselector_palette_item_color_get
+elm_colorselector_palette_item_color_set
+elm_colorselector_palette_items_get
+elm_colorselector_palette_name_get
+elm_colorselector_palette_name_set
+elm_config_accel_preference_get
+elm_config_accel_preference_set
+elm_config_accel_preference_override_get
+elm_config_accel_preference_override_set
+elm_config_all_flush
+elm_config_cache_edje_collection_cache_size_get
+elm_config_cache_edje_collection_cache_size_set
+elm_config_cache_edje_file_cache_size_get
+elm_config_cache_edje_file_cache_size_set
+elm_config_cache_flush_enabled_get
+elm_config_cache_flush_enabled_set
+elm_config_cache_flush_interval_get
+elm_config_cache_flush_interval_set
+elm_config_cache_font_cache_size_get
+elm_config_cache_font_cache_size_set
+elm_config_cache_image_cache_size_get
+elm_config_cache_image_cache_size_set
+elm_config_color_classes_list_free
+elm_config_color_classes_list_get
+elm_config_color_overlay_apply
+elm_config_color_overlay_list_get
+elm_config_color_overlay_set
+elm_config_color_overlay_unset
+elm_config_cursor_engine_only_get
+elm_config_cursor_engine_only_set
+elm_config_engine_get
+elm_config_engine_set
+elm_config_finger_size_get
+elm_config_finger_size_set
+elm_config_focus_highlight_animate_get
+elm_config_focus_highlight_animate_set
+elm_config_focus_highlight_enabled_get
+elm_config_focus_highlight_enabled_set
+elm_config_font_overlay_apply
+elm_config_font_overlay_list_get
+elm_config_font_overlay_set
+elm_config_font_overlay_unset
+elm_config_glayer_double_tap_timeout_get
+elm_config_glayer_double_tap_timeout_set
+elm_config_glayer_long_tap_start_timeout_get
+elm_config_glayer_long_tap_start_timeout_set
+elm_config_indicator_service_get
+elm_config_longpress_timeout_get
+elm_config_longpress_timeout_set
+elm_config_mirrored_get
+elm_config_mirrored_set
+elm_config_password_show_last_get
+elm_config_password_show_last_set
+elm_config_password_show_last_timeout_get
+elm_config_password_show_last_timeout_set
+elm_config_preferred_engine_get
+elm_config_preferred_engine_set
+elm_config_profile_dir_free
+elm_config_profile_dir_get
+elm_config_profile_get
+elm_config_profile_list_free
+elm_config_profile_list_get
+elm_config_profile_set
+elm_config_reload
+elm_config_scale_get
+elm_config_scale_set
+elm_config_scroll_bounce_enabled_get
+elm_config_scroll_bounce_enabled_set
+elm_config_scroll_bounce_friction_get
+elm_config_scroll_bounce_friction_set
+elm_config_scroll_bring_in_scroll_friction_get
+elm_config_scroll_bring_in_scroll_friction_set
+elm_config_scroll_item_align_enabled_get
+elm_config_scroll_item_align_enabled_set
+elm_config_scroll_item_valign_get
+elm_config_scroll_item_valign_set
+elm_config_scroll_page_scroll_friction_get
+elm_config_scroll_page_scroll_friction_set
+elm_config_scroll_thumbscroll_acceleration_threshold_get
+elm_config_scroll_thumbscroll_acceleration_threshold_set
+elm_config_scroll_thumbscroll_acceleration_time_limit_get
+elm_config_scroll_thumbscroll_acceleration_time_limit_set
+elm_config_scroll_thumbscroll_acceleration_weight_get
+elm_config_scroll_thumbscroll_acceleration_weight_set
+elm_config_scroll_thumbscroll_border_friction_get
+elm_config_scroll_thumbscroll_border_friction_set
+elm_config_scroll_thumbscroll_enabled_get
+elm_config_scroll_thumbscroll_enabled_set
+elm_config_scroll_thumbscroll_flick_distance_tolerance_get
+elm_config_scroll_thumbscroll_flick_distance_tolerance_set
+elm_config_scroll_thumbscroll_friction_get
+elm_config_scroll_thumbscroll_friction_set
+elm_config_scroll_thumbscroll_friction_standard_get
+elm_config_scroll_thumbscroll_friction_standard_set
+elm_config_scroll_thumbscroll_hold_threshold_get
+elm_config_scroll_thumbscroll_hold_threshold_set
+elm_config_scroll_thumbscroll_min_friction_get
+elm_config_scroll_thumbscroll_min_friction_set
+elm_config_scroll_thumbscroll_momentum_threshold_get
+elm_config_scroll_thumbscroll_momentum_threshold_set
+elm_config_scroll_thumbscroll_sensitivity_friction_get
+elm_config_scroll_thumbscroll_sensitivity_friction_set
+elm_config_scroll_thumbscroll_threshold_get
+elm_config_scroll_thumbscroll_threshold_set
+elm_config_scroll_zoom_friction_get
+elm_config_scroll_zoom_friction_set
+elm_config_selection_unfocused_clear_get
+elm_config_selection_unfocused_clear_set
+elm_config_softcursor_mode_get
+elm_config_softcursor_mode_set
+elm_config_text_classes_list_free
+elm_config_text_classes_list_get
+elm_config_tooltip_delay_get
+elm_config_tooltip_delay_set
+elm_conformant_add
+elm_ctxpopup_add
+elm_ctxpopup_direction_available_get
+elm_ctxpopup_auto_hide_disabled_set
+elm_ctxpopup_clear
+elm_ctxpopup_direction_get
+elm_ctxpopup_direction_priority_get
+elm_ctxpopup_direction_priority_set
+elm_ctxpopup_dismiss
+elm_ctxpopup_horizontal_get
+elm_ctxpopup_horizontal_set
+elm_ctxpopup_hover_parent_get
+elm_ctxpopup_hover_parent_set
+elm_ctxpopup_item_append
+elm_datetime_add
+elm_datetime_field_limit_get
+elm_datetime_field_limit_set
+elm_datetime_field_visible_get
+elm_datetime_field_visible_set
+elm_datetime_format_get
+elm_datetime_format_set
+elm_datetime_value_get
+elm_datetime_value_max_get
+elm_datetime_value_max_set
+elm_datetime_value_min_get
+elm_datetime_value_min_set
+elm_datetime_value_set
+elm_app_name_set
+elm_app_name_get
+elm_app_base_scale_set
+elm_app_base_scale_get
+elm_app_bin_dir_get
+elm_app_compile_bin_dir_set
+elm_app_compile_data_dir_set
+elm_app_compile_lib_dir_set
+elm_app_compile_locale_set
+elm_app_data_dir_get
+elm_app_info_set
+elm_app_lib_dir_get
+elm_app_locale_dir_get
+elm_app_prefix_dir_get
+elm_cache_all_flush
+elm_coords_finger_size_adjust
+elm_entry_add
+elm_entry_anchor_hover_end
+elm_entry_anchor_hover_parent_get
+elm_entry_anchor_hover_parent_set
+elm_entry_anchor_hover_style_get
+elm_entry_anchor_hover_style_set
+elm_entry_autocapital_type_get
+elm_entry_autocapital_type_set
+elm_entry_autosave_get
+elm_entry_autosave_set
+elm_entry_calc_force
+elm_entry_cnp_mode_get
+elm_entry_cnp_mode_set
+elm_entry_context_menu_clear
+elm_entry_context_menu_disabled_get
+elm_entry_context_menu_disabled_set
+elm_entry_context_menu_item_add
+elm_entry_cursor_begin_set
+elm_entry_cursor_content_get
+elm_entry_cursor_down
+elm_entry_cursor_end_set
+elm_entry_cursor_geometry_get
+elm_entry_cursor_is_format_get
+elm_entry_cursor_is_visible_format_get
+elm_entry_cursor_line_begin_set
+elm_entry_cursor_line_end_set
+elm_entry_cursor_next
+elm_entry_cursor_pos_get
+elm_entry_cursor_pos_set
+elm_entry_cursor_prev
+elm_entry_cursor_selection_begin
+elm_entry_cursor_selection_end
+elm_entry_cursor_up
+elm_entry_editable_get
+elm_entry_editable_set
+elm_entry_entry_append
+elm_entry_entry_get
+elm_entry_entry_insert
+elm_entry_entry_set
+elm_entry_file_get
+elm_entry_file_save
+elm_entry_file_set
+elm_entry_filter_accept_set
+elm_entry_filter_limit_size
+elm_entry_icon_visible_set
+elm_entry_imf_context_get
+elm_entry_imf_context_reset
+elm_entry_input_hint_get
+elm_entry_input_hint_set
+elm_entry_input_panel_enabled_get
+elm_entry_input_panel_enabled_set
+elm_entry_input_panel_hide
+elm_entry_input_panel_imdata_get
+elm_entry_input_panel_imdata_set
+elm_entry_input_panel_language_get
+elm_entry_input_panel_language_set
+elm_entry_input_panel_layout_get
+elm_entry_input_panel_layout_set
+elm_entry_input_panel_layout_variation_get
+elm_entry_input_panel_layout_variation_set
+elm_entry_input_panel_return_key_autoenabled_set
+elm_entry_input_panel_return_key_disabled_get
+elm_entry_input_panel_return_key_disabled_set
+elm_entry_input_panel_return_key_type_get
+elm_entry_input_panel_return_key_type_set
+elm_entry_input_panel_show
+elm_entry_input_panel_show_on_demand_get
+elm_entry_input_panel_show_on_demand_set
+elm_entry_is_empty
+elm_entry_item_provider_append
+elm_entry_item_provider_prepend
+elm_entry_item_provider_remove
+elm_entry_line_wrap_get
+elm_entry_line_wrap_set
+elm_entry_markup_filter_append
+elm_entry_markup_filter_prepend
+elm_entry_markup_filter_remove
+elm_entry_markup_to_utf8
+elm_entry_password_get
+elm_entry_password_set
+elm_entry_prediction_allow_get
+elm_entry_prediction_allow_set
+elm_entry_scrollable_get
+elm_entry_scrollable_set
+elm_entry_select_all
+elm_entry_select_region_set
+elm_entry_select_none
+elm_entry_selection_copy
+elm_entry_selection_cut
+elm_entry_selection_get
+elm_entry_selection_paste
+elm_entry_single_line_get
+elm_entry_single_line_set
+elm_entry_text_style_user_peek
+elm_entry_text_style_user_pop
+elm_entry_text_style_user_push
+elm_entry_textblock_get
+elm_entry_utf8_to_markup
+elm_flip_add
+elm_flip_front_visible_get
+elm_flip_go
+elm_flip_go_to
+elm_flip_interaction_direction_enabled_get
+elm_flip_interaction_direction_enabled_set
+elm_flip_interaction_direction_hitsize_get
+elm_flip_interaction_direction_hitsize_set
+elm_flip_interaction_get
+elm_flip_interaction_set
+elm_flip_perspective_set
+elm_flipselector_first_interval_set
+elm_flipselector_first_interval_get
+elm_flipselector_items_get
+elm_flipselector_first_item_get
+elm_flipselector_last_item_get
+elm_flipselector_selected_item_get
+elm_flipselector_item_prepend
+elm_flipselector_flip_next
+elm_flipselector_item_append
+elm_flipselector_flip_prev
+elm_flipselector_add
+elm_flipselector_item_selected_set
+elm_flipselector_item_selected_get
+elm_flipselector_item_prev_get
+elm_flipselector_item_next_get
+elm_font_available_hash_add
+elm_font_available_hash_del
+elm_font_fontconfig_name_free
+elm_font_fontconfig_name_get
+elm_font_properties_free
+elm_font_properties_get
+elm_gengrid_add
+elm_gengrid_align_get
+elm_gengrid_align_set
+elm_gengrid_at_xy_item_get
+elm_gengrid_clear
+elm_gengrid_filled_get
+elm_gengrid_filled_set
+elm_gengrid_first_item_get
+elm_gengrid_group_item_size_get
+elm_gengrid_group_item_size_set
+elm_gengrid_highlight_mode_get
+elm_gengrid_highlight_mode_set
+elm_gengrid_horizontal_get
+elm_gengrid_horizontal_set
+elm_gengrid_item_append
+elm_gengrid_item_all_contents_unset
+elm_gengrid_item_bring_in
+elm_gengrid_item_class_free
+elm_gengrid_item_class_new
+elm_gengrid_item_class_ref
+elm_gengrid_item_class_unref
+elm_gengrid_item_cursor_engine_only_get
+elm_gengrid_item_cursor_engine_only_set
+elm_gengrid_item_cursor_get
+elm_gengrid_item_cursor_set
+elm_gengrid_item_cursor_style_get
+elm_gengrid_item_cursor_style_set
+elm_gengrid_item_cursor_unset
+elm_gengrid_item_index_get
+elm_gengrid_item_insert_after
+elm_gengrid_item_insert_before
+elm_gengrid_item_item_class_get
+elm_gengrid_item_item_class_update
+elm_gengrid_item_next_get
+elm_gengrid_item_pos_get
+elm_gengrid_item_prepend
+elm_gengrid_item_prev_get
+elm_gengrid_item_select_mode_get
+elm_gengrid_item_select_mode_set
+elm_gengrid_item_selected_get
+elm_gengrid_item_selected_set
+elm_gengrid_item_show
+elm_gengrid_item_size_get
+elm_gengrid_item_size_set
+elm_gengrid_item_sorted_insert
+elm_gengrid_item_tooltip_content_cb_set
+elm_gengrid_item_tooltip_style_get
+elm_gengrid_item_tooltip_style_set
+elm_gengrid_item_tooltip_text_set
+elm_gengrid_item_tooltip_unset
+elm_gengrid_item_tooltip_window_mode_get
+elm_gengrid_item_tooltip_window_mode_set
+elm_gengrid_item_update
+elm_gengrid_item_fields_update
+elm_gengrid_items_count
+elm_gengrid_last_item_get
+elm_gengrid_multi_select_get
+elm_gengrid_multi_select_set
+elm_gengrid_page_show
+elm_gengrid_realized_items_get
+elm_gengrid_realized_items_update
+elm_gengrid_reorder_mode_get
+elm_gengrid_reorder_mode_set
+elm_gengrid_select_mode_get
+elm_gengrid_select_mode_set
+elm_gengrid_selected_item_get
+elm_gengrid_selected_items_get
+elm_genlist_add
+elm_genlist_at_xy_item_get
+elm_genlist_block_count_get
+elm_genlist_block_count_set
+elm_genlist_clear
+elm_genlist_first_item_get
+elm_genlist_highlight_mode_get
+elm_genlist_highlight_mode_set
+elm_genlist_homogeneous_get
+elm_genlist_homogeneous_set
+elm_genlist_item_all_contents_unset
+elm_genlist_item_append
+elm_genlist_item_bring_in
+elm_genlist_item_class_free
+elm_genlist_item_class_new
+elm_genlist_item_class_ref
+elm_genlist_item_class_unref
+elm_genlist_item_cursor_get
+elm_genlist_item_cursor_set
+elm_genlist_item_cursor_style_get
+elm_genlist_item_cursor_style_set
+elm_genlist_item_cursor_unset
+elm_genlist_item_cursor_engine_only_set
+elm_genlist_item_cursor_engine_only_get
+elm_genlist_item_demote
+elm_genlist_item_expanded_depth_get
+elm_genlist_item_expanded_get
+elm_genlist_item_expanded_set
+elm_genlist_item_fields_update
+elm_genlist_item_index_get
+elm_genlist_item_insert_after
+elm_genlist_item_insert_before
+elm_genlist_item_item_class_get
+elm_genlist_item_item_class_update
+elm_genlist_item_next_get
+elm_genlist_item_parent_get
+elm_genlist_item_prepend
+elm_genlist_item_prev_get
+elm_genlist_item_promote
+elm_genlist_item_select_mode_get
+elm_genlist_item_select_mode_set
+elm_genlist_item_selected_get
+elm_genlist_item_selected_set
+elm_genlist_item_show
+elm_genlist_item_sorted_insert
+elm_genlist_item_subitems_clear
+elm_genlist_item_tooltip_content_cb_set
+elm_genlist_item_tooltip_style_get
+elm_genlist_item_tooltip_style_set
+elm_genlist_item_tooltip_text_set
+elm_genlist_item_tooltip_unset
+elm_genlist_item_tooltip_window_mode_get
+elm_genlist_item_tooltip_window_mode_set
+elm_genlist_item_type_get
+elm_genlist_item_update
+elm_genlist_items_count
+elm_genlist_last_item_get
+elm_genlist_longpress_timeout_get
+elm_genlist_longpress_timeout_set
+elm_genlist_mode_get
+elm_genlist_mode_set
+elm_genlist_multi_select_get
+elm_genlist_multi_select_set
+elm_genlist_nth_item_get
+elm_genlist_realized_items_get
+elm_genlist_realized_items_update
+elm_genlist_reorder_mode_get
+elm_genlist_reorder_mode_set
+elm_genlist_select_mode_get
+elm_genlist_select_mode_set
+elm_genlist_selected_item_get
+elm_genlist_selected_items_get
+elm_gesture_layer_add
+elm_gesture_layer_attach
+elm_gesture_layer_cb_set
+elm_gesture_layer_continues_enable_get
+elm_gesture_layer_continues_enable_set
+elm_gesture_layer_double_tap_timeout_get
+elm_gesture_layer_double_tap_timeout_set
+elm_gesture_layer_flick_time_limit_ms_get
+elm_gesture_layer_flick_time_limit_ms_set
+elm_gesture_layer_hold_events_get
+elm_gesture_layer_hold_events_set
+elm_gesture_layer_line_angular_tolerance_get
+elm_gesture_layer_line_angular_tolerance_set
+elm_gesture_layer_line_distance_tolerance_get
+elm_gesture_layer_line_distance_tolerance_set
+elm_gesture_layer_line_min_length_get
+elm_gesture_layer_line_min_length_set
+elm_gesture_layer_long_tap_start_timeout_get
+elm_gesture_layer_long_tap_start_timeout_set
+elm_gesture_layer_rotate_angular_tolerance_get
+elm_gesture_layer_rotate_angular_tolerance_set
+elm_gesture_layer_rotate_step_get
+elm_gesture_layer_rotate_step_set
+elm_gesture_layer_tap_finger_size_get
+elm_gesture_layer_tap_finger_size_set
+elm_gesture_layer_zoom_distance_tolerance_get
+elm_gesture_layer_zoom_distance_tolerance_set
+elm_gesture_layer_zoom_finger_factor_get
+elm_gesture_layer_zoom_finger_factor_set
+elm_gesture_layer_zoom_step_get
+elm_gesture_layer_zoom_step_set
+elm_gesture_layer_zoom_wheel_factor_get
+elm_gesture_layer_zoom_wheel_factor_set
+elm_glview_add
+elm_glview_changed_set
+elm_glview_del_func_set
+elm_glview_gl_api_get
+elm_glview_init_func_set
+elm_glview_mode_set
+elm_glview_render_func_set
+elm_glview_render_policy_set
+elm_glview_resize_func_set
+elm_glview_resize_policy_set
+elm_glview_rotation_get
+elm_glview_size_get
+elm_glview_size_set
+elm_glview_version_add
+elm_glview_evas_gl_get
+elm_grid_add
+elm_grid_children_get
+elm_grid_clear
+elm_grid_pack
+elm_grid_pack_get
+elm_grid_pack_set
+elm_grid_size_get
+elm_grid_size_set
+elm_grid_unpack
+elm_hoversel_add
+elm_hoversel_horizontal_set
+elm_hoversel_horizontal_get
+elm_hoversel_hover_parent_set
+elm_hoversel_hover_parent_get
+elm_hoversel_expanded_get
+elm_hoversel_items_get
+elm_hoversel_hover_begin
+elm_hoversel_clear
+elm_hoversel_hover_end
+elm_hoversel_item_add
+elm_hoversel_item_icon_set
+elm_hoversel_item_icon_get
+elm_icon_add
+elm_icon_order_lookup_get
+elm_icon_order_lookup_set
+elm_icon_standard_get
+elm_icon_standard_set
+elm_icon_thumb_set
+elm_image_add
+elm_image_animated_available_get
+elm_image_animated_get
+elm_image_animated_play_get
+elm_image_animated_play_set
+elm_image_animated_set
+elm_image_aspect_fixed_get
+elm_image_aspect_fixed_set
+elm_image_editable_get
+elm_image_editable_set
+elm_image_file_get
+elm_image_file_set
+elm_image_fill_outside_get
+elm_image_fill_outside_set
+elm_image_memfile_set
+elm_image_no_scale_get
+elm_image_no_scale_set
+elm_image_object_get
+elm_image_object_size_get
+elm_image_orient_get
+elm_image_orient_set
+elm_image_preload_disabled_set
+elm_image_prescale_get
+elm_image_prescale_set
+elm_image_resizable_get
+elm_image_resizable_set
+elm_image_smooth_get
+elm_image_smooth_set
+elm_index_add
+elm_index_autohide_disabled_get
+elm_index_autohide_disabled_set
+elm_index_delay_change_time_get
+elm_index_delay_change_time_set
+elm_index_horizontal_get
+elm_index_horizontal_set
+elm_index_indicator_disabled_get
+elm_index_indicator_disabled_set
+elm_index_item_append
+elm_index_item_clear
+elm_index_item_find
+elm_index_item_insert_after
+elm_index_item_insert_before
+elm_index_item_letter_get
+elm_index_item_level_get
+elm_index_item_level_set
+elm_index_item_prepend
+elm_index_item_selected_set
+elm_index_item_sorted_insert
+elm_index_level_go
+elm_index_omit_enabled_get
+elm_index_omit_enabled_set
+elm_index_selected_item_get
+elm_label_add
+elm_label_ellipsis_get
+elm_label_ellipsis_set
+elm_label_line_wrap_get
+elm_label_line_wrap_set
+elm_label_slide_duration_get
+elm_label_slide_duration_set
+elm_label_slide_go
+elm_label_slide_mode_get
+elm_label_slide_mode_set
+elm_label_wrap_width_get
+elm_label_wrap_width_set
+elm_layout_add
+elm_layout_box_append
+elm_layout_box_insert_at
+elm_layout_box_insert_before
+elm_layout_box_prepend
+elm_layout_box_remove
+elm_layout_box_remove_all
+elm_layout_content_get
+elm_layout_content_set
+elm_layout_content_unset
+elm_layout_data_get
+elm_layout_edje_get
+elm_layout_edje_object_can_access_get
+elm_layout_edje_object_can_access_set
+elm_layout_file_set
+elm_layout_freeze
+elm_layout_part_cursor_engine_only_get
+elm_layout_part_cursor_engine_only_set
+elm_layout_part_cursor_get
+elm_layout_part_cursor_set
+elm_layout_part_cursor_style_get
+elm_layout_part_cursor_style_set
+elm_layout_part_cursor_unset
+elm_layout_signal_callback_add
+elm_layout_signal_callback_del
+elm_layout_signal_emit
+elm_layout_sizing_eval
+elm_layout_table_clear
+elm_layout_table_pack
+elm_layout_table_unpack
+elm_layout_text_get
+elm_layout_text_set
+elm_layout_thaw
+elm_layout_theme_set
+elm_list_add
+elm_list_at_xy_item_get
+elm_list_clear
+elm_list_first_item_get
+elm_list_go
+elm_list_horizontal_get
+elm_list_horizontal_set
+elm_list_item_append
+elm_list_item_bring_in
+elm_list_item_insert_after
+elm_list_item_insert_before
+elm_list_item_next
+elm_list_item_object_get
+elm_list_item_prepend
+elm_list_item_prev
+elm_list_item_selected_get
+elm_list_item_selected_set
+elm_list_item_separator_get
+elm_list_item_separator_set
+elm_list_item_show
+elm_list_item_sorted_insert
+elm_list_items_get
+elm_list_last_item_get
+elm_list_mode_get
+elm_list_mode_set
+elm_list_multi_select_get
+elm_list_multi_select_set
+elm_list_select_mode_get
+elm_list_select_mode_set
+elm_list_selected_item_get
+elm_list_selected_items_get
+elm_map_add
+elm_map_canvas_to_region_convert
+elm_map_name_add
+elm_map_name_address_get
+elm_map_name_del
+elm_map_name_region_get
+elm_map_name_search
+elm_map_overlay_add
+elm_map_overlay_bubble_add
+elm_map_overlay_bubble_content_append
+elm_map_overlay_bubble_content_clear
+elm_map_overlay_bubble_follow
+elm_map_overlay_circle_add
+elm_map_overlay_class_add
+elm_map_overlay_class_append
+elm_map_overlay_class_remove
+elm_map_overlay_class_zoom_max_get
+elm_map_overlay_class_zoom_max_set
+elm_map_overlay_color_get
+elm_map_overlay_color_set
+elm_map_overlay_content_get
+elm_map_overlay_content_set
+elm_map_overlay_data_get
+elm_map_overlay_data_set
+elm_map_overlay_del
+elm_map_overlay_del_cb_set
+elm_map_overlay_displayed_zoom_min_get
+elm_map_overlay_displayed_zoom_min_set
+elm_map_overlay_get_cb_set
+elm_map_overlay_group_members_get
+elm_map_overlay_hide_get
+elm_map_overlay_hide_set
+elm_map_overlay_icon_get
+elm_map_overlay_icon_set
+elm_map_overlay_line_add
+elm_map_overlay_paused_get
+elm_map_overlay_paused_set
+elm_map_overlay_polygon_add
+elm_map_overlay_polygon_region_add
+elm_map_overlay_region_get
+elm_map_overlay_region_set
+elm_map_overlay_route_add
+elm_map_overlay_scale_add
+elm_map_overlay_show
+elm_map_overlay_type_get
+elm_map_overlay_visible_get
+elm_map_overlays_get
+elm_map_overlays_show
+elm_map_paused_get
+elm_map_paused_set
+elm_map_region_bring_in
+elm_map_region_get
+elm_map_region_show
+elm_map_region_to_canvas_convert
+elm_map_rotate_get
+elm_map_rotate_set
+elm_map_route_add
+elm_map_route_del
+elm_map_route_distance_get
+elm_map_route_node_get
+elm_map_route_waypoint_get
+elm_map_source_get
+elm_map_source_set
+elm_map_sources_get
+elm_map_tile_load_status_get
+elm_map_track_add
+elm_map_track_remove
+elm_map_user_agent_get
+elm_map_user_agent_set
+elm_map_wheel_disabled_get
+elm_map_wheel_disabled_set
+elm_map_zoom_get
+elm_map_zoom_max_get
+elm_map_zoom_max_set
+elm_map_zoom_min_get
+elm_map_zoom_min_set
+elm_map_zoom_mode_get
+elm_map_zoom_mode_set
+elm_map_zoom_set
+elm_mapbuf_add
+elm_mapbuf_alpha_get
+elm_mapbuf_alpha_set
+elm_mapbuf_enabled_get
+elm_mapbuf_enabled_set
+elm_mapbuf_point_color_set
+elm_mapbuf_point_color_get
+elm_mapbuf_smooth_get
+elm_mapbuf_smooth_set
+elm_multibuttonentry_add
+elm_multibuttonentry_clear
+elm_multibuttonentry_editable_get
+elm_multibuttonentry_editable_set
+elm_multibuttonentry_entry_get
+elm_multibuttonentry_expanded_get
+elm_multibuttonentry_expanded_set
+elm_multibuttonentry_first_item_get
+elm_multibuttonentry_item_append
+elm_multibuttonentry_item_filter_append
+elm_multibuttonentry_item_filter_prepend
+elm_multibuttonentry_item_filter_remove
+elm_multibuttonentry_item_insert_after
+elm_multibuttonentry_item_insert_before
+elm_multibuttonentry_item_next_get
+elm_multibuttonentry_item_prepend
+elm_multibuttonentry_item_prev_get
+elm_multibuttonentry_item_selected_get
+elm_multibuttonentry_item_selected_set
+elm_multibuttonentry_items_get
+elm_multibuttonentry_last_item_get
+elm_multibuttonentry_selected_item_get
+elm_naviframe_add
+elm_naviframe_bottom_item_get
+elm_naviframe_content_preserve_on_pop_get
+elm_naviframe_content_preserve_on_pop_set
+elm_naviframe_event_enabled_get
+elm_naviframe_event_enabled_set
+elm_naviframe_item_insert_after
+elm_naviframe_item_insert_before
+elm_naviframe_item_pop
+elm_naviframe_item_pop_cb_set
+elm_naviframe_item_pop_to
+elm_naviframe_item_promote
+elm_naviframe_item_push
+elm_naviframe_item_simple_promote
+elm_naviframe_item_style_get
+elm_naviframe_item_style_set
+elm_naviframe_item_title_enabled_get
+elm_naviframe_item_title_enabled_set
+elm_naviframe_items_get
+elm_naviframe_prev_btn_auto_pushed_get
+elm_naviframe_prev_btn_auto_pushed_set
+elm_naviframe_top_item_get
+elm_notify_add
+elm_notify_align_get
+elm_notify_align_set
+elm_notify_allow_events_get
+elm_notify_allow_events_set
+elm_notify_dismiss
+elm_notify_parent_get
+elm_notify_parent_set
+elm_notify_timeout_get
+elm_notify_timeout_set
+elm_object_access_info_set
+elm_object_cursor_get
+elm_object_cursor_set
+elm_object_cursor_style_get
+elm_object_cursor_style_set
+elm_object_cursor_theme_search_enabled_get
+elm_object_cursor_theme_search_enabled_set
+elm_object_cursor_unset
+elm_object_disabled_get
+elm_object_disabled_set
+elm_object_domain_part_text_translatable_set
+elm_object_domain_translatable_part_text_set
+elm_object_event_callback_add
+elm_object_event_callback_del
+elm_object_focus_allow_get
+elm_object_focus_allow_set
+elm_object_focus_custom_chain_append
+elm_object_focus_custom_chain_get
+elm_object_focus_custom_chain_prepend
+elm_object_focus_custom_chain_set
+elm_object_focus_custom_chain_unset
+elm_object_focus_get
+elm_object_focus_next
+elm_object_focus_next_object_get
+elm_object_focus_next_object_set
+elm_object_focus_set
+elm_object_focused_object_get
+elm_object_mirrored_automatic_get
+elm_object_mirrored_automatic_set
+elm_object_mirrored_get
+elm_object_mirrored_set
+elm_object_name_find
+elm_object_orientation_mode_disabled_get
+elm_object_orientation_mode_disabled_set
+elm_object_parent_widget_get
+elm_object_part_content_get
+elm_object_part_content_set
+elm_object_part_content_unset
+elm_object_part_text_get
+elm_object_part_text_set
+elm_object_scale_get
+elm_object_scale_set
+elm_object_scroll_freeze_get
+elm_object_scroll_freeze_pop
+elm_object_scroll_freeze_push
+elm_object_scroll_hold_get
+elm_object_scroll_hold_pop
+elm_object_scroll_hold_push
+elm_object_scroll_lock_x_get
+elm_object_scroll_lock_x_set
+elm_object_scroll_lock_y_get
+elm_object_scroll_lock_y_set
+elm_object_signal_callback_add
+elm_object_signal_callback_del
+elm_object_signal_emit
+elm_object_style_get
+elm_object_style_set
+elm_object_theme_get
+elm_object_theme_set
+elm_object_tooltip_content_cb_set
+elm_object_tooltip_hide
+elm_object_tooltip_show
+elm_object_tooltip_style_get
+elm_object_tooltip_style_set
+elm_object_tooltip_text_set
+elm_object_tooltip_unset
+elm_object_tooltip_window_mode_get
+elm_object_tooltip_window_mode_set
+elm_object_top_widget_get
+elm_object_translatable_part_text_get
+elm_object_tree_dot_dump
+elm_object_tree_dump
+elm_object_tree_focus_allow_get
+elm_object_tree_focus_allow_set
+elm_object_widget_check
+elm_object_widget_type_get
+elm_object_item_access_info_set
+elm_object_item_access_object_get
+elm_object_item_access_order_get
+elm_object_item_access_order_set
+elm_object_item_access_order_unset
+elm_object_item_access_register
+elm_object_item_access_unregister
+elm_object_item_cursor_engine_only_get
+elm_object_item_cursor_engine_only_set
+elm_object_item_cursor_get
+elm_object_item_cursor_set
+elm_object_item_cursor_style_get
+elm_object_item_cursor_style_set
+elm_object_item_cursor_unset
+elm_object_item_data_get
+elm_object_item_data_set
+elm_object_item_del
+elm_object_item_del_cb_set
+elm_object_item_disabled_get
+elm_object_item_disabled_set
+elm_object_item_domain_part_text_translatable_set
+elm_object_item_domain_translatable_part_text_set
+elm_object_item_part_content_get
+elm_object_item_part_content_set
+elm_object_item_part_content_unset
+elm_object_item_part_text_get
+elm_object_item_part_text_set
+elm_object_item_signal_callback_add
+elm_object_item_signal_callback_del
+elm_object_item_signal_emit
+elm_object_item_style_get
+elm_object_item_style_set
+elm_object_item_tooltip_content_cb_set
+elm_object_item_tooltip_style_get
+elm_object_item_tooltip_style_set
+elm_object_item_tooltip_text_set
+elm_object_item_tooltip_unset
+elm_object_item_tooltip_window_mode_get
+elm_object_item_tooltip_window_mode_set
+elm_object_item_track
+elm_object_item_track_get
+elm_object_item_translatable_part_text_get
+elm_object_item_untrack
+elm_object_item_widget_get
+elm_panel_add
+elm_panel_hidden_get
+elm_panel_hidden_set
+elm_panel_orient_get
+elm_panel_orient_set
+elm_panel_scrollable_set
+elm_panel_toggle
+elm_panes_add
+elm_panes_content_left_size_get
+elm_panes_content_left_size_set
+elm_panes_content_right_size_get
+elm_panes_content_right_size_set
+elm_panes_fixed_get
+elm_panes_fixed_set
+elm_panes_horizontal_get
+elm_panes_horizontal_set
+elm_photocam_add
+elm_photocam_file_get
+elm_photocam_file_set
+elm_photocam_gesture_enabled_get
+elm_photocam_gesture_enabled_set
+elm_photocam_image_region_bring_in
+elm_photocam_image_region_get
+elm_photocam_image_region_show
+elm_photocam_image_size_get
+elm_photocam_internal_image_get
+elm_photocam_paused_get
+elm_photocam_paused_set
+elm_photocam_zoom_get
+elm_photocam_zoom_mode_get
+elm_photocam_zoom_mode_set
+elm_photocam_zoom_set
+elm_plug_add
+elm_plug_connect
+elm_plug_image_object_get
+elm_popup_add
+elm_popup_align_get
+elm_popup_align_set
+elm_popup_allow_events_get
+elm_popup_allow_events_set
+elm_popup_content_text_wrap_type_get
+elm_popup_content_text_wrap_type_set
+elm_popup_dismiss
+elm_popup_item_append
+elm_popup_orient_get
+elm_popup_orient_set
+elm_popup_timeout_get
+elm_popup_timeout_set
+elm_popup_scrollable_get
+elm_popup_scrollable_set
+elm_progressbar_add
+elm_progressbar_horizontal_get
+elm_progressbar_horizontal_set
+elm_progressbar_inverted_get
+elm_progressbar_inverted_set
+elm_progressbar_pulse
+elm_progressbar_pulse_get
+elm_progressbar_pulse_set
+elm_progressbar_span_size_get
+elm_progressbar_span_size_set
+elm_progressbar_unit_format_function_set
+elm_progressbar_unit_format_get
+elm_progressbar_unit_format_set
+elm_progressbar_value_get
+elm_progressbar_value_set
+elm_radio_add
+elm_radio_group_add
+elm_radio_selected_object_get
+elm_radio_state_value_get
+elm_radio_state_value_set
+elm_radio_value_get
+elm_radio_value_pointer_set
+elm_radio_value_set
+elm_scroller_add
+elm_scroller_bounce_get
+elm_scroller_bounce_set
+elm_scroller_child_size_get
+elm_scroller_content_min_limit
+elm_scroller_current_page_get
+elm_scroller_gravity_get
+elm_scroller_gravity_set
+elm_scroller_last_page_get
+elm_scroller_loop_set
+elm_scroller_movement_block_get
+elm_scroller_movement_block_set
+elm_scroller_page_bring_in
+elm_scroller_page_relative_get
+elm_scroller_page_relative_set
+elm_scroller_page_scroll_limit_get
+elm_scroller_page_scroll_limit_set
+elm_scroller_page_show
+elm_scroller_page_size_get
+elm_scroller_page_size_set
+elm_scroller_policy_get
+elm_scroller_policy_set
+elm_scroller_propagate_events_get
+elm_scroller_propagate_events_set
+elm_scroller_region_bring_in
+elm_scroller_region_get
+elm_scroller_region_show
+elm_scroller_single_direction_get
+elm_scroller_single_direction_set
+elm_segment_control_add
+elm_segment_control_item_add
+elm_segment_control_item_count_get
+elm_segment_control_item_del_at
+elm_segment_control_item_get
+elm_segment_control_item_icon_get
+elm_segment_control_item_index_get
+elm_segment_control_item_insert_at
+elm_segment_control_item_label_get
+elm_segment_control_item_object_get
+elm_segment_control_item_selected_get
+elm_segment_control_item_selected_set
+elm_slider_add
+elm_slider_horizontal_get
+elm_slider_horizontal_set
+elm_slider_indicator_format_function_set
+elm_slider_indicator_format_get
+elm_slider_indicator_format_set
+elm_slider_indicator_show_get
+elm_slider_indicator_show_set
+elm_slider_inverted_get
+elm_slider_inverted_set
+elm_slider_min_max_get
+elm_slider_min_max_set
+elm_slider_span_size_get
+elm_slider_span_size_set
+elm_slider_step_get
+elm_slider_step_set
+elm_slider_unit_format_get
+elm_slider_unit_format_set
+elm_slider_units_format_function_set
+elm_slider_value_get
+elm_slider_value_set
+elm_slider_indicator_visible_mode_set
+elm_slider_indicator_visible_mode_get
+elm_spinner_add
+elm_spinner_base_get
+elm_spinner_base_set
+elm_spinner_editable_get
+elm_spinner_editable_set
+elm_spinner_interval_get
+elm_spinner_interval_set
+elm_spinner_label_format_get
+elm_spinner_label_format_set
+elm_spinner_min_max_get
+elm_spinner_min_max_set
+elm_spinner_round_get
+elm_spinner_round_set
+elm_spinner_special_value_add
+elm_spinner_special_value_del
+elm_spinner_special_value_get
+elm_spinner_step_get
+elm_spinner_step_set
+elm_spinner_value_get
+elm_spinner_value_set
+elm_spinner_wrap_get
+elm_spinner_wrap_set
+elm_table_add
+elm_table_clear
+elm_table_homogeneous_get
+elm_table_homogeneous_set
+elm_table_pack
+elm_table_pack_get
+elm_table_pack_set
+elm_table_padding_get
+elm_table_padding_set
+elm_table_unpack
+elm_theme_copy
+elm_theme_data_get
+elm_theme_default_get
+elm_theme_extension_add
+elm_theme_extension_del
+elm_theme_extension_list_get
+elm_theme_flush
+elm_theme_free
+elm_theme_full_flush
+elm_theme_get
+elm_theme_list_get
+elm_theme_list_item_path_get
+elm_theme_name_available_list_free
+elm_theme_name_available_list_new
+elm_theme_new
+elm_theme_overlay_add
+elm_theme_overlay_del
+elm_theme_overlay_list_get
+elm_theme_ref_get
+elm_theme_ref_set
+elm_theme_set
+elm_toolbar_add
+elm_toolbar_align_get
+elm_toolbar_align_set
+elm_toolbar_first_item_get
+elm_toolbar_homogeneous_get
+elm_toolbar_homogeneous_set
+elm_toolbar_horizontal_get
+elm_toolbar_horizontal_set
+elm_toolbar_icon_order_lookup_get
+elm_toolbar_icon_order_lookup_set
+elm_toolbar_icon_size_get
+elm_toolbar_icon_size_set
+elm_toolbar_item_append
+elm_toolbar_item_bring_in
+elm_toolbar_item_find_by_label
+elm_toolbar_item_icon_file_set
+elm_toolbar_item_icon_get
+elm_toolbar_item_icon_memfile_set
+elm_toolbar_item_icon_object_get
+elm_toolbar_item_icon_set
+elm_toolbar_item_insert_after
+elm_toolbar_item_insert_before
+elm_toolbar_item_next_get
+elm_toolbar_item_object_get
+elm_toolbar_item_prepend
+elm_toolbar_item_prev_get
+elm_toolbar_item_priority_get
+elm_toolbar_item_priority_set
+elm_toolbar_item_selected_get
+elm_toolbar_item_selected_set
+elm_toolbar_item_separator_get
+elm_toolbar_item_separator_set
+elm_toolbar_item_show
+elm_toolbar_item_state_add
+elm_toolbar_item_state_del
+elm_toolbar_item_state_get
+elm_toolbar_item_state_next
+elm_toolbar_item_state_prev
+elm_toolbar_item_state_set
+elm_toolbar_item_state_unset
+elm_toolbar_items_count
+elm_toolbar_last_item_get
+elm_toolbar_menu_parent_get
+elm_toolbar_menu_parent_set
+elm_toolbar_more_item_get
+elm_toolbar_reorder_mode_get
+elm_toolbar_reorder_mode_set
+elm_toolbar_select_mode_get
+elm_toolbar_select_mode_set
+elm_toolbar_selected_item_get
+elm_toolbar_shrink_mode_get
+elm_toolbar_shrink_mode_set
+elm_toolbar_standard_priority_get
+elm_toolbar_standard_priority_set
+elm_toolbar_transverse_expanded_get
+elm_toolbar_transverse_expanded_set
+elm_transit_add
+elm_transit_auto_reverse_get
+elm_transit_auto_reverse_set
+elm_transit_chain_transit_add
+elm_transit_chain_transit_del
+elm_transit_chain_transits_get
+elm_transit_del
+elm_transit_del_cb_set
+elm_transit_duration_get
+elm_transit_duration_set
+elm_transit_effect_add
+elm_transit_effect_blend_add
+elm_transit_effect_color_add
+elm_transit_effect_del
+elm_transit_effect_fade_add
+elm_transit_effect_flip_add
+elm_transit_effect_image_animation_add
+elm_transit_effect_resizable_flip_add
+elm_transit_effect_resizing_add
+elm_transit_effect_rotation_add
+elm_transit_effect_translation_add
+elm_transit_effect_wipe_add
+elm_transit_effect_zoom_add
+elm_transit_event_enabled_get
+elm_transit_event_enabled_set
+elm_transit_go
+elm_transit_object_add
+elm_transit_object_remove
+elm_transit_objects_final_state_keep_get
+elm_transit_objects_final_state_keep_set
+elm_transit_objects_get
+elm_transit_paused_get
+elm_transit_paused_set
+elm_transit_progress_value_get
+elm_transit_repeat_times_get
+elm_transit_repeat_times_set
+elm_transit_smooth_get
+elm_transit_smooth_set
+elm_transit_tween_mode_factor_get
+elm_transit_tween_mode_factor_n_set
+elm_transit_tween_mode_factor_set
+elm_transit_tween_mode_get
+elm_transit_tween_mode_set
+elm_win_activate
+elm_win_add
+elm_win_alpha_get
+elm_win_alpha_set
+elm_win_aspect_get
+elm_win_aspect_set
+elm_win_autodel_get
+elm_win_autodel_set
+elm_win_borderless_get
+elm_win_borderless_set
+elm_win_center
+elm_win_conformant_get
+elm_win_conformant_set
+elm_win_demand_attention_get
+elm_win_demand_attention_set
+elm_win_floating_mode_get
+elm_win_floating_mode_set
+elm_win_focus_get
+elm_win_focus_highlight_enabled_get
+elm_win_focus_highlight_enabled_set
+elm_win_focus_highlight_style_get
+elm_win_focus_highlight_style_set
+elm_win_fullscreen_get
+elm_win_fullscreen_set
+elm_win_icon_name_get
+elm_win_icon_name_set
+elm_win_icon_object_get
+elm_win_icon_object_set
+elm_win_iconified_get
+elm_win_iconified_set
+elm_win_illume_command_send
+elm_win_indicator_mode_get
+elm_win_indicator_mode_set
+elm_win_indicator_opacity_get
+elm_win_indicator_opacity_set
+elm_win_inlined_image_object_get
+elm_win_inwin_activate
+elm_win_inwin_add
+elm_win_inwin_content_get
+elm_win_inwin_content_set
+elm_win_inwin_content_unset
+elm_win_keyboard_mode_get
+elm_win_keyboard_mode_set
+elm_win_keyboard_win_get
+elm_win_keyboard_win_set
+elm_win_layer_get
+elm_win_layer_set
+elm_win_lower
+elm_win_maximized_get
+elm_win_maximized_set
+elm_win_modal_get
+elm_win_modal_set
+elm_win_norender_get
+elm_win_norender_pop
+elm_win_norender_push
+elm_win_override_get
+elm_win_override_set
+elm_win_profile_get
+elm_win_profile_set
+elm_win_profiles_set
+elm_win_prop_focus_skip_set
+elm_win_quickpanel_get
+elm_win_quickpanel_priority_major_get
+elm_win_quickpanel_priority_major_set
+elm_win_quickpanel_priority_minor_get
+elm_win_quickpanel_priority_minor_set
+elm_win_quickpanel_set
+elm_win_quickpanel_zone_get
+elm_win_quickpanel_zone_set
+elm_win_raise
+elm_win_render
+elm_win_resize_object_add
+elm_win_resize_object_del
+elm_win_role_get
+elm_win_role_set
+elm_win_rotation_get
+elm_win_rotation_set
+elm_win_rotation_with_resize_set
+elm_win_screen_constrain_get
+elm_win_screen_constrain_set
+elm_win_screen_dpi_get
+elm_win_screen_position_get
+elm_win_screen_size_get
+elm_win_shaped_get
+elm_win_shaped_set
+elm_win_size_base_get
+elm_win_size_base_set
+elm_win_size_step_get
+elm_win_size_step_set
+elm_win_socket_listen
+elm_win_sticky_get
+elm_win_sticky_set
+elm_win_title_get
+elm_win_title_set
+elm_win_trap_set
+elm_win_type_get
+elm_win_urgent_get
+elm_win_urgent_set
+elm_win_util_standard_add
+elm_win_withdrawn_get
+elm_win_withdrawn_set
+elm_win_wm_rotation_available_rotations_get
+elm_win_wm_rotation_available_rotations_set
+elm_win_wm_rotation_manual_rotation_done
+elm_win_wm_rotation_manual_rotation_done_get
+elm_win_wm_rotation_manual_rotation_done_set
+elm_win_wm_rotation_preferred_rotation_get
+elm_win_wm_rotation_preferred_rotation_set
+elm_win_wm_rotation_supported_get
+elm_win_window_id_get
+elm_exit
+elm_init
+elm_language_set
+elm_policy_get
+elm_policy_set
+elm_quicklaunch_cleanup
+elm_quicklaunch_exe_path_get
+elm_quicklaunch_fallback
+elm_quicklaunch_fork
+elm_quicklaunch_init
+elm_quicklaunch_mode_get
+elm_quicklaunch_mode_set
+elm_quicklaunch_prepare
+elm_quicklaunch_seed
+elm_quicklaunch_shutdown
+elm_quicklaunch_sub_init
+elm_quicklaunch_sub_shutdown
+elm_run
+elm_shutdown
+evas_color_argb_premul
+evas_color_argb_unpremul
+evas_color_hsv_to_rgb
+evas_color_rgb_to_hsv
+evas_coord_screen_x_to_world
+evas_coord_screen_y_to_world
+evas_coord_world_x_to_screen
+evas_coord_world_y_to_screen
+evas_damage_rectangle_add
+evas_data_argb_premul
+evas_data_argb_unpremul
+evas_data_attach_get
+evas_data_attach_set
+evas_engine_info_get
+evas_engine_info_set
+evas_event_callback_add
+evas_event_callback_del
+evas_event_callback_del_full
+evas_event_callback_priority_add
+evas_event_default_flags_get
+evas_event_default_flags_set
+evas_event_freeze
+evas_event_freeze_get
+evas_event_thaw
+evas_event_thaw_eval
+evas_focus_in
+evas_focus_out
+evas_focus_state_get
+evas_free
+evas_gl_api_get
+evas_gl_config_free
+evas_gl_config_new
+evas_gl_context_api_get
+evas_gl_context_create
+evas_gl_context_destroy
+evas_gl_context_version_create
+evas_gl_current_context_get
+evas_gl_current_surface_get
+evas_gl_error_get
+evas_gl_free
+evas_gl_make_current
+evas_gl_native_surface_get
+evas_gl_new
+evas_gl_pbuffer_surface_create
+evas_gl_proc_address_get
+evas_gl_rotation_get
+evas_gl_string_query
+evas_gl_surface_create
+evas_gl_surface_destroy
+evas_gl_surface_query
+evas_key_lock_add
+evas_key_lock_del
+evas_key_lock_get
+evas_key_lock_is_set
+evas_key_lock_off
+evas_key_lock_on
+evas_key_modifier_add
+evas_key_modifier_del
+evas_key_modifier_get
+evas_key_modifier_is_set
+evas_key_modifier_mask_get
+evas_key_modifier_off
+evas_key_modifier_on
+evas_load_error_str
+evas_map_alpha_get
+evas_map_alpha_set
+evas_map_count_get
+evas_map_dup
+evas_map_free
+evas_map_new
+evas_map_point_color_get
+evas_map_point_color_set
+evas_map_point_coord_get
+evas_map_point_coord_set
+evas_map_point_image_uv_get
+evas_map_point_image_uv_set
+evas_map_point_precise_coord_get
+evas_map_point_precise_coord_get
+evas_map_smooth_get
+evas_map_smooth_set
+evas_map_util_3d_lighting
+evas_map_util_3d_perspective
+evas_map_util_3d_rotate
+evas_map_util_clockwise_get
+evas_map_util_points_color_set
+evas_map_util_points_populate_from_geometry
+evas_map_util_points_populate_from_object
+evas_map_util_points_populate_from_object_full
+evas_map_util_quat_rotate
+evas_map_util_rotate
+evas_map_util_zoom
+evas_new
+evas_nochange_pop
+evas_nochange_push
+evas_norender
+evas_object_above_get
+evas_object_anti_alias_get
+evas_object_anti_alias_set
+evas_object_below_get
+evas_object_box_accessor_new
+evas_object_box_add
+evas_object_box_add_to
+evas_object_box_align_get
+evas_object_box_align_set
+evas_object_box_append
+evas_object_box_children_get
+evas_object_box_insert_after
+evas_object_box_insert_at
+evas_object_box_insert_before
+evas_object_box_iterator_new
+evas_object_box_layout_flow_horizontal
+evas_object_box_layout_flow_vertical
+evas_object_box_layout_homogeneous_horizontal
+evas_object_box_layout_homogeneous_max_size_horizontal
+evas_object_box_layout_homogeneous_max_size_vertical
+evas_object_box_layout_homogeneous_vertical
+evas_object_box_layout_horizontal
+evas_object_box_layout_set
+evas_object_box_layout_stack
+evas_object_box_layout_vertical
+evas_object_box_option_property_get
+evas_object_box_option_property_id_get
+evas_object_box_option_property_name_get
+evas_object_box_option_property_set
+evas_object_box_option_property_vget
+evas_object_box_option_property_vset
+evas_object_box_padding_get
+evas_object_box_padding_set
+evas_object_box_prepend
+evas_object_box_remove
+evas_object_box_remove_all
+evas_object_box_remove_at
+evas_object_box_smart_class_get
+evas_object_box_smart_set
+evas_object_clip_get
+evas_object_clip_set
+evas_object_clip_unset
+evas_object_clipees_get
+evas_object_color_get
+evas_object_color_set
+evas_object_data_del
+evas_object_data_get
+evas_object_data_set
+evas_object_del
+evas_object_evas_get
+evas_object_event_callback_add
+evas_object_event_callback_del
+evas_object_event_callback_del_full
+evas_object_event_callback_priority_add
+evas_object_focus_get
+evas_object_focus_set
+evas_object_freeze_events_get
+evas_object_freeze_events_set
+evas_object_geometry_get
+evas_object_grid_accessor_new
+evas_object_grid_add
+evas_object_grid_add_to
+evas_object_grid_children_get
+evas_object_grid_clear
+evas_object_grid_iterator_new
+evas_object_grid_mirrored_get
+evas_object_grid_mirrored_set
+evas_object_grid_pack
+evas_object_grid_pack_get
+evas_object_grid_size_get
+evas_object_grid_size_set
+evas_object_grid_unpack
+evas_object_hide
+evas_object_image_add
+evas_object_image_alpha_get
+evas_object_image_alpha_mask_set
+evas_object_image_alpha_set
+evas_object_image_animated_frame_count_get
+evas_object_image_animated_frame_duration_get
+evas_object_image_animated_frame_set
+evas_object_image_animated_get
+evas_object_image_animated_loop_count_get
+evas_object_image_animated_loop_type_get
+evas_object_image_border_center_fill_get
+evas_object_image_border_center_fill_set
+evas_object_image_border_get
+evas_object_image_border_scale_get
+evas_object_image_border_scale_set
+evas_object_image_border_set
+evas_object_image_colorspace_get
+evas_object_image_colorspace_set
+evas_object_image_content_hint_get
+evas_object_image_content_hint_set
+evas_object_image_data_convert
+evas_object_image_data_copy_set
+evas_object_image_data_get
+evas_object_image_data_set
+evas_object_image_data_update_add
+evas_object_image_extension_can_load_fast_get
+evas_object_image_extension_can_load_get
+evas_object_image_file_get
+evas_object_image_file_set
+evas_object_image_fill_get
+evas_object_image_fill_set
+evas_object_image_fill_spread_get
+evas_object_image_fill_spread_set
+evas_object_image_filled_add
+evas_object_image_filled_get
+evas_object_image_filled_set
+evas_object_image_load_dpi_get
+evas_object_image_load_dpi_set
+evas_object_image_load_error_get
+evas_object_image_load_orientation_get
+evas_object_image_load_orientation_set
+evas_object_image_load_region_get
+evas_object_image_load_region_set
+evas_object_image_load_scale_down_get
+evas_object_image_load_scale_down_set
+evas_object_image_load_size_get
+evas_object_image_load_size_set
+evas_object_image_memfile_set
+evas_object_image_native_surface_get
+evas_object_image_native_surface_set
+evas_object_image_pixels_dirty_get
+evas_object_image_pixels_dirty_set
+evas_object_image_pixels_get_callback_set
+evas_object_image_pixels_import
+evas_object_image_preload
+evas_object_image_region_support_get
+evas_object_image_reload
+evas_object_image_save
+evas_object_image_scale_hint_get
+evas_object_image_scale_hint_set
+evas_object_image_size_get
+evas_object_image_size_set
+evas_object_image_smooth_scale_get
+evas_object_image_smooth_scale_set
+evas_object_image_source_clip_get
+evas_object_image_source_clip_set
+evas_object_image_source_get
+evas_object_image_source_set
+evas_object_image_source_unset
+evas_object_image_source_visible_get
+evas_object_image_source_visible_set
+evas_object_image_stride_get
+evas_object_image_video_surface_get
+evas_object_image_video_surface_set
+evas_object_key_grab
+evas_object_key_ungrab
+evas_object_layer_get
+evas_object_layer_set
+evas_object_line_add
+evas_object_line_xy_get
+evas_object_line_xy_set
+evas_object_lower
+evas_object_map_enable_get
+evas_object_map_enable_set
+evas_object_map_get
+evas_object_map_set
+evas_object_move
+evas_object_name_get
+evas_object_name_set
+evas_object_pass_events_get
+evas_object_pass_events_set
+evas_object_pointer_mode_get
+evas_object_pointer_mode_set
+evas_object_polygon_add
+evas_object_polygon_point_add
+evas_object_polygon_points_clear
+evas_object_precise_is_inside_get
+evas_object_precise_is_inside_set
+evas_object_propagate_events_get
+evas_object_propagate_events_set
+evas_object_raise
+evas_object_rectangle_add
+evas_object_ref
+evas_object_ref_get
+evas_object_render_op_get
+evas_object_render_op_set
+evas_object_repeat_events_get
+evas_object_repeat_events_set
+evas_object_resize
+evas_object_scale_get
+evas_object_scale_set
+evas_object_show
+evas_object_size_hint_align_get
+evas_object_size_hint_align_set
+evas_object_size_hint_aspect_get
+evas_object_size_hint_aspect_set
+evas_object_size_hint_display_mode_get
+evas_object_size_hint_display_mode_set
+evas_object_size_hint_max_get
+evas_object_size_hint_max_set
+evas_object_size_hint_min_get
+evas_object_size_hint_min_set
+evas_object_size_hint_padding_get
+evas_object_size_hint_padding_set
+evas_object_size_hint_weight_get
+evas_object_size_hint_weight_set
+evas_object_smart_add
+evas_object_smart_callback_add
+evas_object_smart_callback_call
+evas_object_smart_callback_del
+evas_object_smart_callback_del_full
+evas_object_smart_callbacks_descriptions_get
+evas_object_smart_callbacks_descriptions_set
+evas_object_smart_changed
+evas_object_smart_data_get
+evas_object_smart_data_set
+evas_object_smart_member_add
+evas_object_smart_member_del
+evas_object_smart_members_get
+evas_object_smart_parent_get
+evas_object_smart_type_check
+evas_object_stack_above
+evas_object_stack_below
+evas_object_static_clip_get
+evas_object_static_clip_set
+evas_object_table_accessor_new
+evas_object_table_add
+evas_object_table_add_to
+evas_object_table_align_get
+evas_object_table_align_set
+evas_object_table_child_get
+evas_object_table_children_get
+evas_object_table_clear
+evas_object_table_col_row_size_get
+evas_object_table_homogeneous_get
+evas_object_table_homogeneous_set
+evas_object_table_iterator_new
+evas_object_table_mirrored_get
+evas_object_table_mirrored_set
+evas_object_table_pack
+evas_object_table_pack_get
+evas_object_table_padding_get
+evas_object_table_padding_set
+evas_object_table_unpack
+evas_object_text_add
+evas_object_text_bidi_delimiters_get
+evas_object_text_bidi_delimiters_set
+evas_object_text_char_pos_get
+evas_object_text_direction_get
+evas_object_text_ellipsis_get
+evas_object_text_ellipsis_set
+evas_object_text_filter_program_set
+evas_object_text_filter_source_set
+evas_object_text_font_get
+evas_object_text_font_set
+evas_object_text_font_source_get
+evas_object_text_font_source_set
+evas_object_text_glow_color_get
+evas_object_text_glow_color_set
+evas_object_text_glow2_color_get
+evas_object_text_glow2_color_set
+evas_object_text_last_up_to_pos
+evas_object_text_outline_color_get
+evas_object_text_outline_color_set
+evas_object_text_shadow_color_get
+evas_object_text_shadow_color_set
+evas_object_text_style_get
+evas_object_text_style_pad_get
+evas_object_text_style_set
+evas_object_text_text_get
+evas_object_text_text_set
+evas_object_textblock_add
+evas_object_textblock_bidi_delimiters_get
+evas_object_textblock_bidi_delimiters_set
+evas_object_textblock_clear
+evas_object_textblock_cursor_get
+evas_object_textblock_cursor_new
+evas_object_textblock_legacy_newline_get
+evas_object_textblock_legacy_newline_set
+evas_object_textblock_line_number_geometry_get
+evas_object_textblock_replace_char_get
+evas_object_textblock_replace_char_set
+evas_object_textblock_size_formatted_get
+evas_object_textblock_size_native_get
+evas_object_textblock_style_get
+evas_object_textblock_style_set
+evas_object_textblock_style_user_peek
+evas_object_textblock_style_user_pop
+evas_object_textblock_style_user_push
+evas_object_textblock_text_markup_get
+evas_object_textblock_text_markup_prepend
+evas_object_textblock_text_markup_set
+evas_object_textblock_valign_get
+evas_object_textblock_valign_set
+evas_object_type_get
+evas_object_unref
+evas_object_visible_get
+evas_obscured_clear
+evas_obscured_rectangle_add
+evas_output_framespace_get
+evas_output_framespace_set
+evas_output_method_get
+evas_output_method_set
+evas_output_size_get
+evas_output_size_set
+evas_output_viewport_get
+evas_output_viewport_set
+evas_pointer_button_down_mask_get
+evas_pointer_canvas_xy_get
+evas_pointer_inside_get
+evas_pointer_output_xy_get
+evas_post_event_callback_push
+evas_post_event_callback_remove
+evas_post_event_callback_remove_full
+evas_render
+evas_render_dump
+evas_render_idle_flush
+evas_render_method_list
+evas_render_method_list_free
+evas_render_method_lookup
+evas_render_updates
+evas_render_updates_free
+evas_smart_objects_calculate
+evas_smart_objects_calculate_count_get
+evas_string_char_len_get
+evas_string_char_next_get
+evas_string_char_prev_get
+evas_textblock_cursor_at_format_set
+evas_textblock_cursor_char_coord_set
+evas_textblock_cursor_char_delete
+evas_textblock_cursor_char_geometry_get
+evas_textblock_cursor_char_next
+evas_textblock_cursor_char_prev
+evas_textblock_cursor_compare
+evas_textblock_cursor_content_get
+evas_textblock_cursor_copy
+evas_textblock_cursor_eol_get
+evas_textblock_cursor_format_append
+evas_textblock_cursor_format_get
+evas_textblock_cursor_format_is_visible_get
+evas_textblock_cursor_format_next
+evas_textblock_cursor_format_prepend
+evas_textblock_cursor_format_prev
+evas_textblock_cursor_free
+evas_textblock_cursor_geometry_bidi_get
+evas_textblock_cursor_geometry_get
+evas_textblock_cursor_is_format
+evas_textblock_cursor_line_char_first
+evas_textblock_cursor_line_char_last
+evas_textblock_cursor_line_coord_set
+evas_textblock_cursor_line_geometry_get
+evas_textblock_cursor_line_set
+evas_textblock_cursor_paragraph_char_first
+evas_textblock_cursor_paragraph_char_last
+evas_textblock_cursor_paragraph_first
+evas_textblock_cursor_paragraph_last
+evas_textblock_cursor_paragraph_next
+evas_textblock_cursor_paragraph_prev
+evas_textblock_cursor_paragraph_text_get
+evas_textblock_cursor_paragraph_text_length_get
+evas_textblock_cursor_pen_geometry_get
+evas_textblock_cursor_pos_get
+evas_textblock_cursor_pos_set
+evas_textblock_cursor_range_delete
+evas_textblock_cursor_range_formats_get
+evas_textblock_cursor_range_geometry_get
+evas_textblock_cursor_range_text_get
+evas_textblock_cursor_set_at_format
+evas_textblock_cursor_text_append
+evas_textblock_cursor_text_prepend
+evas_textblock_cursor_visible_range_get
+evas_textblock_cursor_word_end
+evas_textblock_cursor_word_start
+evas_textblock_escape_string_get
+evas_textblock_escape_string_range_get
+evas_textblock_node_format_first_get
+evas_textblock_node_format_last_get
+evas_textblock_node_format_list_get
+evas_textblock_node_format_next_get
+evas_textblock_node_format_prev_get
+evas_textblock_node_format_remove_pair
+evas_textblock_node_format_text_get
+evas_textblock_string_escape_get
+evas_textblock_style_free
+evas_textblock_style_get
+evas_textblock_style_new
+evas_textblock_style_set
+evas_textblock_text_markup_to_utf8
+evas_textblock_text_utf8_to_markup
+ecore_con_client_connected_get
+ecore_con_client_data_get
+ecore_con_client_data_set
+ecore_con_client_del
+ecore_con_client_fd_get
+ecore_con_client_flush
+ecore_con_client_ip_get
+ecore_con_client_port_get
+ecore_con_client_send
+ecore_con_client_server_get
+ecore_con_client_timeout_get
+ecore_con_client_timeout_set
+ecore_con_client_uptime_get
+ecore_con_eet
+ecore_con_eet_client_connect_callback_add
+ecore_con_eet_client_connect_callback_del
+ecore_con_eet_client_disconnect_callback_add
+ecore_con_eet_client_disconnect_callback_del
+ecore_con_eet_client_new
+ecore_con_eet_data_callback_add
+ecore_con_eet_data_callback_del
+ecore_con_eet_data_get
+ecore_con_eet_data_set
+ecore_con_eet_raw_data_callback_add
+ecore_con_eet_raw_data_callback_del
+ecore_con_eet_raw_send
+ecore_con_eet_register
+ecore_con_eet_reply
+ecore_con_eet_send
+ecore_con_eet_server_connect_callback_add
+ecore_con_eet_server_connect_callback_del
+ecore_con_eet_server_disconnect_callback_add
+ecore_con_eet_server_disconnect_callback_del
+ecore_con_eet_server_free
+ecore_con_eet_server_new
+ECORE_CON_EVENT_CLIENT_ADD
+ECORE_CON_EVENT_CLIENT_DATA
+ECORE_CON_EVENT_CLIENT_DEL
+ECORE_CON_EVENT_CLIENT_ERROR
+ECORE_CON_EVENT_CLIENT_UPGRADE
+ECORE_CON_EVENT_CLIENT_WRITE
+ECORE_CON_EVENT_PROXY_BIND
+ECORE_CON_EVENT_SERVER_ADD
+ECORE_CON_EVENT_SERVER_DATA
+ECORE_CON_EVENT_SERVER_DEL
+ECORE_CON_EVENT_SERVER_ERROR
+ECORE_CON_EVENT_SERVER_UPGRADE
+ECORE_CON_EVENT_SERVER_WRITE
+ECORE_CON_EVENT_URL_COMPLETE
+ECORE_CON_EVENT_URL_DATA
+ECORE_CON_EVENT_URL_PROGRESS
+ecore_con_init
+ecore_con_lookup
+ecore_con_server_add
+ecore_con_server_client_limit_set
+ecore_con_server_clients_get
+ecore_con_server_connect
+ecore_con_server_connected_get
+ecore_con_server_data_get
+ecore_con_server_data_set
+ecore_con_server_del
+ecore_con_server_fd_get
+ecore_con_server_flush
+ecore_con_server_ip_get
+ecore_con_server_name_get
+ecore_con_server_port_get
+ecore_con_server_send
+ecore_con_server_timeout_get
+ecore_con_server_timeout_set
+ecore_con_server_uptime_get
+ecore_con_shutdown
+ecore_con_socks4_remote_add
+ecore_con_socks4_remote_del
+ecore_con_socks4_remote_exists
+ecore_con_socks5_remote_add
+ecore_con_socks5_remote_del
+ecore_con_socks5_remote_exists
+ecore_con_socks_apply_always
+ecore_con_socks_apply_once
+ecore_con_socks_bind_get
+ecore_con_socks_bind_set
+ecore_con_socks_lookup_get
+ecore_con_socks_lookup_set
+ecore_con_socks_remote_del
+ecore_con_socks_version_get
+ecore_con_ssl_available_get
+ecore_con_ssl_client_upgrade
+ecore_con_ssl_server_cafile_add
+ecore_con_ssl_server_cert_add
+ecore_con_ssl_server_crl_add
+ecore_con_ssl_server_privkey_add
+ecore_con_ssl_server_upgrade
+ecore_con_ssl_server_verify
+ecore_con_ssl_server_verify_basic
+ecore_con_ssl_server_verify_name_get
+ecore_con_ssl_server_verify_name_set
+ecore_con_url_additional_header_add
+ecore_con_url_additional_headers_clear
+ecore_con_url_cookies_clear
+ecore_con_url_cookies_file_add
+ecore_con_url_cookies_ignore_old_session_set
+ecore_con_url_cookies_init
+ecore_con_url_cookies_jar_file_set
+ecore_con_url_cookies_jar_write
+ecore_con_url_cookies_session_clear
+ecore_con_url_custom_new
+ecore_con_url_data_get
+ecore_con_url_data_set
+ecore_con_url_fd_set
+ecore_con_url_free
+ecore_con_url_ftp_upload
+ecore_con_url_ftp_use_epsv_set
+ecore_con_url_get
+ecore_con_url_head
+ecore_con_url_httpauth_set
+ecore_con_url_http_version_set
+ecore_con_url_init
+ecore_con_url_new
+ecore_con_url_pipeline_get
+ecore_con_url_pipeline_set
+ecore_con_url_post
+ecore_con_url_proxy_password_set
+ecore_con_url_proxy_set
+ecore_con_url_proxy_username_set
+ecore_con_url_received_bytes_get
+ecore_con_url_response_headers_get
+ecore_con_url_shutdown
+ecore_con_url_ssl_ca_set
+ecore_con_url_ssl_verify_peer_set
+ecore_con_url_status_code_get
+ecore_con_url_time
+ecore_con_url_timeout_set
+ecore_con_url_url_get
+ecore_con_url_url_set
+ecore_con_url_verbose_set
+ecore_evas_activate
+ecore_evas_alpha_get
+ecore_evas_alpha_set
+ecore_evas_app_comp_sync_get
+ecore_evas_app_comp_sync_set
+ecore_evas_aspect_get
+ecore_evas_aspect_set
+ecore_evas_aux_hint_del
+ecore_evas_aux_hint_id_get
+ecore_evas_aux_hints_allowed_get
+ecore_evas_aux_hints_supported_get
+ecore_evas_aux_hint_val_get
+ecore_evas_aux_hint_val_set
+ecore_evas_borderless_get
+ecore_evas_borderless_set
+ecore_evas_buffer_allocfunc_new
+ecore_evas_buffer_ecore_evas_parent_get
+ecore_evas_buffer_new
+ecore_evas_buffer_pixels_get
+ecore_evas_callback_delete_request_set
+ecore_evas_callback_destroy_set
+ecore_evas_callback_focus_in_set
+ecore_evas_callback_focus_out_set
+ecore_evas_callback_hide_set
+ecore_evas_callback_mouse_in_set
+ecore_evas_callback_mouse_out_set
+ecore_evas_callback_move_set
+ecore_evas_callback_msg_handle_set
+ecore_evas_callback_msg_parent_handle_set
+ecore_evas_callback_post_render_set
+ecore_evas_callback_pre_free_set
+ecore_evas_callback_pre_render_set
+ecore_evas_callback_resize_set
+ecore_evas_callback_show_set
+ecore_evas_callback_state_change_set
+ecore_evas_callback_sticky_set
+ecore_evas_callback_unsticky_set
+ecore_evas_comp_sync_get
+ecore_evas_comp_sync_set
+ecore_evas_cursor_get
+ecore_evas_cursor_set
+ecore_evas_cursor_unset
+ecore_evas_data_get
+ecore_evas_data_set
+ecore_evas_draw_frame_get
+ecore_evas_draw_frame_set
+ecore_evas_ecore_evas_get
+ecore_evas_focus_get
+ecore_evas_focus_set
+ecore_evas_focus_skip_get
+ecore_evas_focus_skip_set
+ecore_evas_free
+ecore_evas_fullscreen_get
+ecore_evas_fullscreen_set
+ecore_evas_geometry_get
+ecore_evas_get
+ecore_evas_hide
+ecore_evas_iconified_get
+ecore_evas_iconified_set
+ecore_evas_ignore_events_get
+ecore_evas_ignore_events_set
+ecore_evas_init
+ecore_evas_input_event_register
+ecore_evas_input_event_unregister
+ecore_evas_layer_get
+ecore_evas_layer_set
+ecore_evas_lower
+ecore_evas_manual_render
+ecore_evas_manual_render_get
+ecore_evas_manual_render_set
+ecore_evas_maximized_get
+ecore_evas_maximized_set
+ecore_evas_move
+ecore_evas_move_resize
+ecore_evas_msg_parent_send
+ecore_evas_msg_send
+ecore_evas_name_class_get
+ecore_evas_name_class_set
+ecore_evas_pointer_warp
+ecore_evas_pointer_xy_get
+ecore_evas_raise
+ecore_evas_request_geometry_get
+ecore_evas_resize
+ecore_evas_rotation_get
+ecore_evas_rotation_set
+ecore_evas_rotation_with_resize_set
+ecore_evas_screen_dpi_get
+ecore_evas_screen_geometry_get
+ecore_evas_show
+ecore_evas_shutdown
+ecore_evas_size_base_get
+ecore_evas_size_base_set
+ecore_evas_size_max_get
+ecore_evas_size_max_set
+ecore_evas_size_min_get
+ecore_evas_size_min_set
+ecore_evas_size_step_get
+ecore_evas_size_step_set
+ecore_evas_title_get
+ecore_evas_title_set
+ecore_evas_transparent_get
+ecore_evas_transparent_set
+ecore_evas_visibility_get
+ecore_evas_window_get
+ecore_evas_window_profile_supported_get
+ecore_evas_withdrawn_get
+ecore_evas_withdrawn_set
+ecore_evas_wm_rotation_available_rotations_get
+ecore_evas_wm_rotation_available_rotations_set
+ecore_evas_wm_rotation_manual_rotation_done
+ecore_evas_wm_rotation_manual_rotation_done_get
+ecore_evas_wm_rotation_manual_rotation_done_set
+ecore_evas_wm_rotation_preferred_rotation_get
+ecore_evas_wm_rotation_preferred_rotation_set
+ecore_evas_wm_rotation_supported_get
+ecore_file_app_exe_get
+ecore_file_app_installed
+ecore_file_app_list
+ecore_file_can_exec
+ecore_file_can_read
+ecore_file_can_write
+ecore_file_cp
+ecore_file_dir_get
+ecore_file_dir_is_empty
+ecore_file_download
+ecore_file_download_abort
+ecore_file_download_abort_all
+ecore_file_download_full
+ecore_file_download_protocol_available
+ecore_file_escape_name
+ecore_file_exists
+ecore_file_file_get
+ecore_file_init
+ecore_file_is_dir
+ecore_file_ls
+ecore_file_mkdir
+ecore_file_mkdirs
+ecore_file_mkpath
+ecore_file_mkpaths
+ecore_file_mksubdirs
+ecore_file_mod_time
+ecore_file_monitor_add
+ecore_file_monitor_del
+ecore_file_monitor_path_get
+ecore_file_mv
+ecore_file_path_dir_exists
+ecore_file_readlink
+ecore_file_realpath
+ecore_file_recursive_rm
+ecore_file_remove
+ecore_file_rmdir
+ecore_file_shutdown
+ecore_file_size
+ecore_file_strip_ext
+ecore_file_symlink
+ecore_file_unlink
+ecore_ipc_client_data_get
+ecore_ipc_client_data_set
+ecore_ipc_client_data_size_max_get
+ecore_ipc_client_data_size_max_set
+ecore_ipc_client_del
+ecore_ipc_client_flush
+ecore_ipc_client_ip_get
+ecore_ipc_client_send
+ecore_ipc_client_server_get
+ecore_ipc_init
+ecore_ipc_server_add
+ecore_ipc_server_client_limit_set
+ecore_ipc_server_clients_get
+ecore_ipc_server_connect
+ecore_ipc_server_connected_get
+ecore_ipc_server_data_get
+ecore_ipc_server_data_size_max_get
+ecore_ipc_server_data_size_max_set
+ecore_ipc_server_del
+ecore_ipc_server_flush
+ecore_ipc_server_ip_get
+ecore_ipc_server_send
+ecore_ipc_shutdown
+ecore_ipc_ssl_available_get
+ecore_app_args_get
+ecore_app_args_set
+ecore_app_no_system_modules
+ecore_app_restart
+ecore_exe_auto_limits_set
+ecore_exe_callback_pre_free_set
+ecore_exe_close_stdin
+ecore_exe_cmd_get
+ecore_exe_continue
+ecore_exe_data_get
+ecore_exe_data_set
+ECORE_EXE_EVENT_ADD
+ECORE_EXE_EVENT_DATA
+ecore_exe_event_data_free
+ecore_exe_event_data_get
+ECORE_EXE_EVENT_DEL
+ECORE_EXE_EVENT_ERROR
+ecore_exe_flags_get
+ecore_exe_free
+ecore_exe_hup
+ecore_exe_interrupt
+ecore_exe_kill
+ecore_exe_pause
+ecore_exe_pid_get
+ecore_exe_pipe_run
+ecore_exe_quit
+ecore_exe_run
+ecore_exe_run_priority_get
+ecore_exe_run_priority_set
+ecore_exe_send
+ecore_exe_signal
+ecore_exe_tag_get
+ecore_exe_tag_set
+ecore_exe_terminate
+ecore_getopt_callback_geometry_parse
+ecore_getopt_callback_size_parse
+ecore_getopt_help
+ecore_getopt_help_category
+ecore_getopt_list_free
+ecore_getopt_parse
+ecore_getopt_parse_positional
+ecore_getopt_parser_has_duplicates
+ecore_init
+ecore_main_loop_animator_ticked_get
+ecore_main_loop_iterate_may_block
+ecore_main_loop_nested_get
+ecore_main_loop_thread_safe_call_wait
+ecore_memory_state_get
+ecore_memory_state_set
+ecore_pipe_full_add
+ecore_pipe_read_fd
+ecore_pipe_write_fd
+ecore_power_state_get
+ecore_power_state_set
+ecore_shutdown
+ecore_thread_wait
+ecore_throttle_adjust
+ecore_throttle_get
+ecore_timer_freeze_get
+ecore_wl2_connected_display_get
+ecore_wl2_display_connect
+ecore_wl2_display_disconnect
+ecore_wl2_display_flush
+ecore_wl2_display_native_get
+ecore_wl2_display_screen_size
+ecore_wl2_display_sync
+ecore_wl2_display_window_find
+ecore_wl2_egl_window_create
+ecore_wl2_egl_window_destroy
+ecore_wl2_egl_window_native_get
+ecore_wl2_egl_window_resize_with_rotation
+ecore_wl2_init
+ecore_wl2_input_default_input_get
+ecore_wl2_input_pointer_xy_get
+ecore_wl2_shutdown
+ecore_wl2_window_activate
+ecore_wl2_window_alpha_get
+ecore_wl2_window_alpha_set
+ecore_wl2_window_buffer_attach
+ecore_wl2_window_commit
+ecore_wl2_window_damage
+ecore_wl2_window_display_get
+ecore_wl2_window_focus_skip_get
+ecore_wl2_window_focus_skip_set
+ecore_wl2_window_frame_callback_add
+ecore_wl2_window_frame_callback_del
+ecore_wl2_window_free
+ecore_wl2_window_hide
+ecore_wl2_window_id_get
+ecore_wl2_window_keygrab_list_set
+ecore_wl2_window_keygrab_list_unset
+ecore_wl2_window_keygrab_set
+ecore_wl2_window_keygrab_unset
+ecore_wl2_window_lower
+ecore_wl2_window_native_surface_get
+ecore_wl2_window_new
+ecore_wl2_window_raise
+ecore_wl2_window_show
+ecore_wl2_window_title_get
+ecore_wl2_window_title_set
+ecore_wl2_window_vedio_has
+edje_audio_channel_mute_get
+edje_audio_channel_mute_set
+edje_available_modules_get
+edje_collection_cache_flush
+edje_collection_cache_get
+edje_collection_cache_set
+edje_color_class_active_iterator_new
+edje_external_iterator_get
+edje_external_param_bool_get
+edje_external_param_choice_get
+edje_external_param_double_get
+edje_external_param_find
+edje_external_param_info_get
+edje_external_param_int_get
+edje_external_param_string_get
+edje_external_param_type_str
+edje_external_type_abi_version_get
+edje_external_type_array_register
+edje_external_type_array_unregister
+edje_external_type_get
+edje_external_type_register
+edje_external_type_unregister
+edje_file_cache_flush
+edje_file_cache_get
+edje_file_cache_set
+edje_file_iterator_new
+edje_fontset_append_get
+edje_fontset_append_set
+edje_init
+edje_language_set
+edje_mmap_collection_list
+edje_mmap_collection_list_free
+edje_mmap_color_class_iterator_new
+edje_mmap_data_get
+edje_mmap_group_exists
+edje_module_load
+edje_object_color_class_description_get
+edje_object_item_provider_set
+edje_object_language_get
+edje_object_language_set
+edje_object_mirrored_get
+edje_object_mirrored_set
+edje_object_mmap_set
+edje_object_part_external_content_get
+edje_object_part_external_object_get
+edje_object_part_external_param_get
+edje_object_part_external_param_set
+edje_object_part_external_param_type_get
+edje_object_part_object_name_get
+edje_object_part_text_autocapital_type_get
+edje_object_part_text_autocapital_type_set
+edje_object_part_text_cursor_begin_set
+edje_object_part_text_cursor_content_get
+edje_object_part_text_cursor_coord_set
+edje_object_part_text_cursor_copy
+edje_object_part_text_cursor_down
+edje_object_part_text_cursor_end_set
+edje_object_part_text_cursor_geometry_get
+edje_object_part_text_cursor_is_format_get
+edje_object_part_text_cursor_is_visible_format_get
+edje_object_part_text_cursor_line_begin_set
+edje_object_part_text_cursor_line_end_set
+edje_object_part_text_cursor_next
+edje_object_part_text_cursor_pos_get
+edje_object_part_text_cursor_pos_set
+edje_object_part_text_cursor_prev
+edje_object_part_text_cursor_up
+edje_object_part_text_imf_context_get
+edje_object_part_text_imf_context_reset
+edje_object_part_text_input_hint_get
+edje_object_part_text_input_hint_set
+edje_object_part_text_input_panel_enabled_get
+edje_object_part_text_input_panel_enabled_set
+edje_object_part_text_input_panel_hide
+edje_object_part_text_input_panel_imdata_get
+edje_object_part_text_input_panel_imdata_set
+edje_object_part_text_input_panel_language_get
+edje_object_part_text_input_panel_language_set
+edje_object_part_text_input_panel_layout_get
+edje_object_part_text_input_panel_layout_set
+edje_object_part_text_input_panel_layout_variation_get
+edje_object_part_text_input_panel_layout_variation_set
+edje_object_part_text_input_panel_return_key_disabled_get
+edje_object_part_text_input_panel_return_key_disabled_set
+edje_object_part_text_input_panel_return_key_type_get
+edje_object_part_text_input_panel_return_key_type_set
+edje_object_part_text_input_panel_show
+edje_object_part_text_input_panel_show_on_demand_get
+edje_object_part_text_input_panel_show_on_demand_set
+edje_object_part_text_prediction_allow_get
+edje_object_part_text_prediction_allow_set
+edje_object_part_text_select_abort
+edje_object_part_text_select_all
+edje_object_part_text_select_allow_set
+edje_object_part_text_select_begin
+edje_object_part_text_select_extend
+edje_object_part_text_selection_get
+edje_object_part_text_select_none
+edje_object_text_insert_filter_callback_add
+edje_object_text_insert_filter_callback_del
+edje_object_text_insert_filter_callback_del_full
+edje_object_text_markup_filter_callback_add
+edje_object_text_markup_filter_callback_del
+edje_object_text_markup_filter_callback_del_full
+edje_object_transition_duration_factor_get
+edje_object_transition_duration_factor_set
+edje_password_show_last_set
+edje_password_show_last_timeout_set
+edje_shutdown
+edje_transition_duration_factor_get
+edje_transition_duration_factor_set
+eet_alias
+eet_alias_get
+eet_clearcache
+eet_close
+eet_connection_close
+eet_connection_empty
+eet_connection_new
+eet_connection_node_send
+eet_connection_received
+eet_connection_send
+eet_data_descriptor2_new
+eet_data_descriptor3_new
+eet_data_descriptor_decode
+eet_data_descriptor_decode_cipher
+eet_data_descriptor_element_add
+eet_data_descriptor_encode
+eet_data_descriptor_encode_cipher
+eet_data_descriptor_file_new
+eet_data_descriptor_free
+eet_data_descriptor_name_get
+eet_data_descriptor_stream_new
+eet_data_dump
+eet_data_dump_cipher
+eet_data_image_colorspace_get
+eet_data_image_decode
+eet_data_image_decode_cipher
+eet_data_image_decode_to_cspace_surface_cipher
+eet_data_image_decode_to_surface
+eet_data_image_decode_to_surface_cipher
+eet_data_image_encode
+eet_data_image_encode_cipher
+eet_data_image_header_decode
+eet_data_image_header_decode_cipher
+eet_data_image_header_read
+eet_data_image_header_read_cipher
+eet_data_image_read
+eet_data_image_read_cipher
+eet_data_image_read_to_cspace_surface_cipher
+eet_data_image_read_to_surface
+eet_data_image_read_to_surface_cipher
+eet_data_image_write
+eet_data_image_write_cipher
+eet_data_node_decode_cipher
+eet_data_node_encode_cipher
+eet_data_node_read_cipher
+eet_data_node_write_cipher
+eet_data_read
+eet_data_read_cipher
+eet_data_read_cipher_buffer
+eet_data_text_dump
+eet_data_text_dump_cipher
+eet_data_text_undump
+eet_data_text_undump_cipher
+eet_data_undump
+eet_data_undump_cipher
+eet_data_write
+eet_data_write_cipher
+eet_data_xattr_cipher_get
+eet_data_xattr_cipher_set
+eet_delete
+eet_dictionary_count
+eet_dictionary_get
+eet_dictionary_string_check
+eet_eina_file_data_descriptor_class_set
+eet_eina_stream_data_descriptor_class_set
+eet_file_get
+eet_identity_certificate_print
+eet_identity_close
+eet_identity_open
+eet_identity_print
+eet_identity_set
+eet_identity_sha1
+eet_identity_signature
+eet_identity_verify
+eet_identity_x509
+eet_init
+eet_list
+eet_list_entries
+eet_memopen_read
+eet_mmap
+eet_mode_get
+eet_node_array_new
+eet_node_char_new
+eet_node_children_get
+eet_node_del
+eet_node_double_new
+eet_node_dump
+eet_node_float_new
+eet_node_hash_add
+eet_node_hash_new
+eet_node_inlined_string_new
+eet_node_int_new
+eet_node_list_append
+eet_node_list_new
+eet_node_long_long_new
+eet_node_next_get
+eet_node_null_new
+eet_node_parent_get
+eet_node_short_new
+eet_node_string_new
+eet_node_struct_append
+eet_node_struct_child_new
+eet_node_struct_new
+eet_node_type_get
+eet_node_unsigned_char_new
+eet_node_unsigned_int_new
+eet_node_unsigned_long_long_new
+eet_node_unsigned_short_new
+eet_node_value_get
+eet_node_var_array_new
+eet_node_walk
+eet_num_entries
+eet_open
+eet_read
+eet_read_cipher
+eet_read_direct
+eet_shutdown
+eet_sync
+eet_write
+eet_write_cipher
+eet_version
+eina_accessor_clone
+eina_benchmark_free
+eina_benchmark_new
+eina_benchmark_register
+eina_benchmark_run
+eina_bezier_angle_at
+eina_bezier_bounds_get
+eina_bezier_length_get
+eina_bezier_point_at
+eina_bezier_split_at_length
+eina_bezier_t_at
+eina_bezier_values_get
+eina_bezier_values_set
+eina_binbuf_append_buffer
+eina_binbuf_manage_new
+eina_cow_add
+eina_cow_alloc
+eina_cow_del
+eina_cow_done
+eina_cow_free
+eina_cow_gc
+eina_cow_memcpy
+eina_cow_write
+eina_cpu_count
+eina_cpu_features_get
+eina_cpu_page_size
+eina_environment_home_get
+eina_environment_tmp_get
+eina_error_find
+eina_error_get
+eina_error_msg_get
+eina_error_msg_modify
+eina_error_msg_register
+eina_error_msg_static_register
+eina_error_set
+eina_f32p32_cos
+eina_f32p32_sin
+eina_file_close
+eina_file_copy
+eina_file_direct_ls
+eina_file_dir_list
+eina_file_dup
+eina_file_filename_get
+eina_file_ls
+eina_file_map_all
+eina_file_map_faulted
+eina_file_map_free
+eina_file_map_lines
+eina_file_map_new
+eina_file_map_populate
+eina_file_mkdtemp
+eina_file_mkstemp
+eina_file_mtime_get
+eina_file_open
+eina_file_path_sanitize
+eina_file_refresh
+eina_file_size_get
+eina_file_split
+eina_file_statat
+eina_file_stat_ls
+eina_file_virtual
+eina_file_virtualize
+eina_file_xattr_get
+eina_file_xattr_value_get
+eina_hamster_count
+eina_hash_list_append
+eina_hash_list_prepend
+eina_hash_list_remove
+eina_inarray_resize
+eina_init
+eina_list_data_idx
+eina_list_shuffle
+eina_log_abort_on_critical_get
+eina_log_abort_on_critical_level_get
+eina_log_abort_on_critical_level_set
+eina_log_abort_on_critical_set
+eina_log_color_disable_set
+eina_log_console_color_set
+eina_log_domain_level_get
+eina_log_domain_level_set
+eina_log_domain_register
+eina_log_domain_registered_level_set
+eina_log_domain_unregister
+eina_log_file_disable_get
+eina_log_file_disable_set
+eina_log_function_disable_get
+eina_log_function_disable_set
+eina_log_level_set
+eina_log_main_thread_check
+eina_log_print_cb_file
+eina_log_print_cb_journald
+eina_log_print_cb_set
+eina_log_print_cb_stderr
+eina_log_print_cb_stdout
+_eina_log_state_init
+_eina_log_state_shutdown
+eina_log_threads_enable
+eina_log_timing
+eina_log_vprint
+eina_magic_fail
+eina_magic_string_get
+eina_magic_string_set
+eina_magic_string_static_set
+eina_main_loop_define
+eina_main_loop_is
+eina_matrix2_array_set
+eina_matrix2_copy
+eina_matrix2_identity
+eina_matrix2_inverse
+eina_matrix2_multiply
+eina_matrix2_multiply_copy
+eina_matrix2_type_get
+eina_matrix2_values_get
+eina_matrix2_values_set
+eina_matrix3_adjoint
+eina_matrix3_array_set
+eina_matrix3_cofactor
+eina_matrix3_compose
+eina_matrix3_copy
+eina_matrix3_determinant
+eina_matrix3_divide
+eina_matrix3_equal
+eina_matrix3_f16p16_compose
+eina_matrix3_f16p16_identity
+eina_matrix3_f16p16_type_get
+eina_matrix3_fixed_values_get
+eina_matrix3_identity
+eina_matrix3_inverse
+eina_matrix3_matrix3_f16p16_to
+eina_matrix3_matrix4_to
+eina_matrix3_multiply
+eina_matrix3_multiply_copy
+eina_matrix3_point_transform
+eina_matrix3_position_transform_set
+eina_matrix3_quad_quad_map
+eina_matrix3_quad_square_map
+eina_matrix3_quaternion_get
+eina_matrix3_rectangle_transform
+eina_matrix3_rotate
+eina_matrix3_scale
+eina_matrix3_scale_transform_set
+eina_matrix3_square_quad_map
+eina_matrix3_translate
+eina_matrix3_transpose
+eina_matrix3_type_get
+eina_matrix3_values_get
+eina_matrix3_values_set
+eina_matrix4_array_set
+eina_matrix4_copy
+eina_matrix4_determinant
+eina_matrix4_identity
+eina_matrix4_inverse
+eina_matrix4_matrix3_to
+eina_matrix4_multiply
+eina_matrix4_multiply_copy
+eina_matrix4_normalized
+eina_matrix4_ortho_set
+eina_matrix4_quaternion_to
+eina_matrix4_transpose
+eina_matrix4_type_get
+eina_matrix4_values_get
+eina_matrix4_values_set
+eina_memdup
+eina_mempool_add
+eina_mempool_alignof
+eina_mempool_del
+eina_mempool_gc
+eina_mempool_register
+eina_mempool_repack
+eina_mempool_statistics
+eina_mempool_unregister
+eina_mmap_safety_enabled_get
+eina_mmap_safety_enabled_set
+eina_module_symbol_global_set
+eina_normal3_matrix_get
+eina_prefix_bin_get
+eina_prefix_data_get
+eina_prefix_free
+eina_prefix_get
+eina_prefix_lib_get
+eina_prefix_locale_get
+eina_prefix_new
+eina_quad_coords_get
+eina_quad_coords_set
+eina_quad_rectangle_from
+eina_quad_rectangle_to
+eina_quadtree_add
+eina_quadtree_change
+eina_quadtree_collide
+eina_quadtree_cycle
+eina_quadtree_del
+eina_quadtree_free
+eina_quadtree_hide
+eina_quadtree_increase
+eina_quadtree_new
+eina_quadtree_object
+eina_quadtree_resize
+eina_quadtree_show
+eina_quaternion_add
+eina_quaternion_conjugate
+eina_quaternion_dot
+eina_quaternion_f16p16_add
+eina_quaternion_f16p16_conjugate
+eina_quaternion_f16p16_dot
+eina_quaternion_f16p16_lerp
+eina_quaternion_f16p16_mul
+eina_quaternion_f16p16_negative
+eina_quaternion_f16p16_nlerp
+eina_quaternion_f16p16_norm
+eina_quaternion_f16p16_rotate
+eina_quaternion_f16p16_rotation_matrix3_get
+eina_quaternion_f16p16_scale
+eina_quaternion_f16p16_set
+eina_quaternion_f16p16_slerp
+eina_quaternion_lerp
+eina_quaternion_matrix4_to
+eina_quaternion_mul
+eina_quaternion_negative
+eina_quaternion_nlerp
+eina_quaternion_norm
+eina_quaternion_normalized
+eina_quaternion_rotate
+eina_quaternion_rotation_matrix3_get
+eina_quaternion_scale
+eina_quaternion_set
+eina_quaternion_slerp
+eina_sched_prio_drop
+eina_shutdown
+eina_simple_xml_attribute_w3c_parse
+eina_strbuf_append_buffer
+eina_strbuf_manage_read_only_new_length
+eina_strbuf_tolower
+eina_str_convert_len
+eina_thread_create
+eina_thread_equal
+eina_thread_join
+eina_thread_name_set
+eina_thread_queue_fd_get
+eina_thread_queue_fd_set
+eina_thread_queue_free
+eina_thread_queue_new
+eina_thread_queue_parent_get
+eina_thread_queue_parent_set
+eina_thread_queue_pending_get
+eina_thread_queue_poll
+eina_thread_queue_send
+eina_thread_queue_send_done
+eina_thread_queue_wait
+eina_thread_queue_wait_done
+eina_thread_self
+eina_threads_init
+eina_threads_shutdown
+eina_tiler_area_size_get
+eina_tiler_area_size_set
+eina_tiler_empty
+eina_tiler_equal
+eina_tiler_intersection
+eina_tiler_strict_set
+eina_tiler_subtract
+eina_tiler_union
+eina_tmpstr_len
+eina_unicode_unicode_to_utf8_range
+eina_value_array_new
+eina_value_convert
+eina_value_copy
+eina_value_free
+eina_value_hash_new
+eina_value_list_new
+eina_value_new
+eina_value_struct_new
+eina_value_to_string
+eina_value_type_check
+eina_value_type_name_get
+eina_value_util_struct_desc_new
+eina_value_util_time_string_new
+eina_xattr_copy
+eina_xattr_del
+eina_xattr_fd_copy
+eina_xattr_fd_del
+eina_xattr_fd_get
+eina_xattr_fd_set
+eina_lock_new
+eina_lock_free
+eina_lock_debug
+eina_lock_take_try
+_eina_lock_debug_abort
+_eina_lock_debug_deadlock
+_eina_lock_new
+_eina_lock_free
+eina_rwlock_new
+eina_fwlock_free
+_eina_rwlock_new
+_eina_rwlock_free
+eina_unicode_utf8_next_get
+_eina_unicode_utf8_next_get
+eina_condition_new
+eina_condition_free
+eina_condition_timedwait
+_eina_condition_new
+_eina_condition_free
+_eina_barrier_new
+_eina_barrier_free
+_eina_spinlock_new
+_eina_spinlock_free
+_eina_semaphore_new
+_eina_semaphore_free
+_eina_crc
+_eina_main_loop
+_eina_threads_activated
+_eina_threads_debug
+_eina_tracking
+_eina_tracking_lock
+_EINA_VALUE_TYPE_BASICS_END
+_EINA_VALUE_TYPE_BASICS_START
+eina_freeq_ptr_add
+eina_freeq_main_get
+eina_slstr_vasprintf_new
+eina_str_join
+eina_strlen_bounded
+eina_stringshare_refplace
+eina_stringshare_replace
+eina_stringshare_replace_length
+eina_stringshare_slice_get
+eina_ustringshare_replace
+eina_ustringshare_replace_length
+eina_promise_all_array
+eina_promise_all_iterator
+eina_future_new
+eina_promise_race_array
+eio_dir_copy
+eio_dir_direct_ls
+eio_dir_move
+eio_dir_stat_ls
+eio_dir_unlink
+eio_eet_close
+eio_eet_data_image_write_cipher
+eio_eet_data_read_cipher
+eio_eet_data_write_cipher
+eio_eet_open
+eio_eet_read_cipher
+eio_eet_read_direct
+eio_eet_sync
+eio_eet_write_cipher
+eio_file_associate_add
+eio_file_associate_direct_add
+eio_file_associate_find
+eio_file_cancel
+eio_file_check
+eio_file_chmod
+eio_file_chown
+eio_file_close
+eio_file_container_get
+eio_file_copy
+eio_file_direct_ls
+eio_file_direct_stat
+eio_file_ls
+eio_file_map_all
+eio_file_map_new
+eio_file_mkdir
+eio_file_move
+eio_file_open
+eio_file_stat_ls
+eio_file_unlink
+eio_file_xattr
+eio_file_xattr_double_get
+eio_file_xattr_double_set
+eio_file_xattr_get
+eio_file_xattr_int_get
+eio_file_xattr_int_set
+eio_file_xattr_set
+eio_file_xattr_string_get
+eio_file_xattr_string_set
+eio_init
+eio_memory_burst_limit_get
+eio_memory_burst_limit_set
+eio_monitor_add
+eio_monitor_del
+EIO_MONITOR_DIRECTORY_CLOSED
+EIO_MONITOR_DIRECTORY_CREATED
+EIO_MONITOR_DIRECTORY_DELETED
+EIO_MONITOR_DIRECTORY_MODIFIED
+EIO_MONITOR_ERROR
+EIO_MONITOR_FILE_CLOSED
+EIO_MONITOR_FILE_CREATED
+EIO_MONITOR_FILE_DELETED
+EIO_MONITOR_FILE_MODIFIED
+eio_monitor_path_get
+EIO_MONITOR_SELF_DELETED
+EIO_MONITOR_SELF_RENAME
+eio_monitor_stringshared_add
+eio_shutdown
+eio_version
+elm_atspi_attributes_list_free
+elm_atspi_bridge_connected_get
+elm_atspi_relation_clone
+elm_atspi_relation_free
+elm_atspi_relation_set_clone
+elm_atspi_relation_set_free
+elm_atspi_relation_set_relation_append
+elm_atspi_relation_set_relation_remove
+elm_atspi_relation_set_relation_type_remove
+elm_atspi_text_text_attribute_free
+elm_calendar_day_selection_disabled_get
+elm_calendar_day_selection_disabled_set
+elm_colorselector_palette_item_selected_get
+elm_colorselector_palette_item_selected_set
+elm_config_atspi_mode_get
+elm_config_atspi_mode_set
+elm_config_first_item_focus_on_first_focusin_get
+elm_config_first_item_focus_on_first_focusin_set
+elm_config_focus_autoscroll_mode_get
+elm_config_focus_autoscroll_mode_set
+elm_config_focus_highlight_clip_disabled_get
+elm_config_focus_highlight_clip_disabled_set
+elm_config_focus_move_policy_get
+elm_config_focus_move_policy_set
+elm_config_font_hint_type_set
+elm_config_item_select_on_focus_disabled_get
+elm_config_item_select_on_focus_disabled_set
+elm_config_scroll_thumbscroll_smooth_amount_get
+elm_config_scroll_thumbscroll_smooth_amount_set
+elm_config_scroll_thumbscroll_smooth_start_get
+elm_config_scroll_thumbscroll_smooth_start_set
+elm_config_scroll_thumbscroll_smooth_time_window_get
+elm_config_scroll_thumbscroll_smooth_time_window_set
+elm_config_slider_indicator_visible_mode_get
+elm_config_slider_indicator_visible_mode_set
+elm_config_transition_duration_factor_get
+elm_config_transition_duration_factor_set
+elm_config_vsync_get
+elm_config_vsync_set
+elm_config_window_auto_focus_animate_get
+elm_config_window_auto_focus_animate_set
+elm_config_window_auto_focus_enable_get
+elm_config_window_auto_focus_enable_set
+elm_entry_context_menu_item_icon_get
+elm_entry_context_menu_item_label_get
+elm_entry_file_text_format_set
+elm_entry_selection_handler_disabled_set
+elm_frame_add
+elm_frame_autocollapse_get
+elm_frame_autocollapse_set
+elm_frame_collapse_get
+elm_frame_collapse_go
+elm_frame_collapse_set
+elm_gengrid_nth_item_get
+elm_gesture_layer_cb_add
+elm_gesture_layer_cb_del
+elm_gesture_layer_tap_longpress_cb_add
+elm_gesture_layer_tap_longpress_cb_del
+elm_hoversel_auto_update_get
+elm_hoversel_auto_update_set
+elm_image_mmap_set
+elm_index_item_priority_set
+elm_index_standard_priority_get
+elm_index_standard_priority_set
+elm_label_slide_speed_get
+elm_label_slide_speed_set
+elm_layout_content_swallow_list_get
+elm_layout_file_get
+elm_layout_sizing_restricted_eval
+elm_list_focus_on_selection_get
+elm_list_focus_on_selection_set
+elm_list_multi_select_mode_get
+elm_list_multi_select_mode_set
+elm_mapbuf_auto_get
+elm_mapbuf_auto_set
+elm_map_region_zoom_bring_in
+elm_multibuttonentry_format_function_set
+elm_multibuttonentry_item_data_get
+elm_multibuttonentry_item_data_set
+elm_object_access_info_get
+elm_object_focused_item_get
+elm_object_focus_highlight_style_get
+elm_object_focus_highlight_style_set
+elm_object_focus_move_policy_get
+elm_object_focus_move_policy_set
+elm_object_focus_next_item_get
+elm_object_focus_next_item_set
+elm_object_focus_region_show_mode_get
+elm_object_focus_region_show_mode_set
+elm_object_item_focus_get
+elm_object_item_focus_next_item_get
+elm_object_item_focus_next_item_set
+elm_object_item_focus_next_object_get
+elm_object_item_focus_next_object_set
+elm_object_item_focus_set
+elm_object_scroll_item_loop_enabled_get
+elm_object_scroll_item_loop_enabled_set
+elm_object_tooltip_domain_translatable_text_set
+elm_object_tooltip_move_freeze_get
+elm_object_tooltip_move_freeze_pop
+elm_object_tooltip_move_freeze_push
+elm_object_tooltip_orient_get
+elm_object_tooltip_orient_set
+elm_panel_scrollable_get
+elm_panes_content_left_min_relative_size_get
+elm_panes_content_left_min_relative_size_set
+elm_panes_content_left_min_size_get
+elm_panes_content_left_min_size_set
+elm_panes_content_left_unset
+elm_panes_content_right_min_relative_size_get
+elm_panes_content_right_min_relative_size_set
+elm_panes_content_right_min_size_get
+elm_panes_content_right_min_size_set
+elm_panes_content_right_unset
+elm_photocam_image_orient_get
+elm_photocam_image_orient_set
+elm_progressbar_part_value_get
+elm_progressbar_part_value_set
+elm_scroller_loop_get
+elm_scroller_page_snap_get
+elm_scroller_page_snap_set
+elm_scroller_step_size_get
+elm_scroller_step_size_set
+elm_scroller_wheel_disabled_get
+elm_scroller_wheel_disabled_set
+elm_slider_indicator_show_on_focus_get
+elm_slider_indicator_show_on_focus_set
+elm_table_align_get
+elm_table_align_set
+elm_table_child_get
+elm_theme_extension_mmap_add
+elm_theme_extension_mmap_del
+elm_theme_group_base_list
+elm_theme_group_path_find
+elm_theme_overlay_mmap_add
+elm_theme_overlay_mmap_del
+elm_theme_system_dir_get
+elm_theme_user_dir_get
+elm_transit_go_in
+elm_win_autohide_get
+elm_win_autohide_set
+elm_win_available_profiles_get
+elm_win_available_profiles_set
+elm_win_fake_add
+elm_win_fake_canvas_set
+elm_win_focus_highlight_animate_get
+elm_win_focus_highlight_animate_set
+elm_win_name_set
+elm_win_noblank_get
+elm_win_noblank_set
+elm_win_trap_data_get
+elm_win_type_set
+elm_win_util_dialog_add
+elm_object_part_access_register
+elm_object_part_access_object_get
+elm_access_object_register
+elm_access_object_unregister
+elm_access_object_get
+elm_atspi_bridge_utils_say
+elm_atspi_bridge_highlighted_object_read
+elm_atspi_accessible_name_cb_set
+elm_atspi_accessible_description_cb_set
+elm_atspi_accessible_attribute_append
+elm_atspi_accessible_reading_info_type_set
+elm_atspi_accessible_reading_info_type_get
+elm_atspi_accessible_gesture_cb_set
+elm_atspi_accessible_can_highlight_set
+elm_atspi_accessible_can_highlight_get
+elm_atspi_component_highlight_grab
+elm_atspi_component_highlight_clear
+elm_atspi_accessible_relationships_clear
+elm_config_language_auto_mirrored_set
+elm_config_language_auto_mirrored_get
+evas_alloc_error
+evas_async_events_fd_get
+evas_async_events_process
+evas_async_events_put
+evas_device_add
+evas_device_class_get
+evas_device_class_set
+evas_device_del
+evas_device_description_get
+evas_device_description_set
+evas_device_emulation_source_get
+evas_device_emulation_source_set
+evas_device_list
+evas_device_name_get
+evas_device_name_set
+evas_device_parent_get
+evas_device_parent_set
+evas_device_pop
+evas_device_push
+evas_device_subclass_get
+evas_device_subclass_set
+evas_event_down_count_get
+evas_event_feed_axis_update
+evas_event_feed_hold
+evas_event_feed_key_down
+evas_event_feed_key_down_with_keycode
+evas_event_feed_key_up
+evas_event_feed_key_up_with_keycode
+evas_event_feed_mouse_cancel
+evas_event_feed_mouse_down
+evas_event_feed_mouse_in
+evas_event_feed_mouse_move
+evas_event_feed_mouse_out
+evas_event_feed_mouse_up
+evas_event_feed_mouse_wheel
+evas_event_feed_multi_down
+evas_event_feed_multi_move
+evas_event_feed_multi_up
+evas_event_input_mouse_move
+evas_event_input_multi_down
+evas_event_input_multi_move
+evas_event_input_multi_up
+evas_event_refeed_event
+evas_focus_get
+evas_font_available_list
+evas_font_available_list_free
+evas_font_cache_flush
+evas_font_cache_get
+evas_font_cache_set
+evas_font_hinting_can_hint
+evas_font_hinting_get
+evas_font_hinting_set
+evas_font_path_append
+evas_font_path_clear
+evas_font_path_global_append
+evas_font_path_global_clear
+evas_font_path_global_list
+evas_font_path_global_prepend
+evas_font_path_list
+evas_font_path_prepend
+evas_font_reinit
+evas_gl_current_evas_gl_get
+evas_image_cache_flush
+evas_image_cache_get
+evas_image_cache_reload
+evas_image_cache_set
+evas_image_max_size_get
+evas_init
+evas_map_util_object_move_sync_get
+evas_map_util_object_move_sync_set
+evas_module_register
+evas_module_unregister
+evas_object_bottom_get
+evas_object_clipees_has
+evas_object_geometry_set
+evas_object_image_mmap_get
+evas_object_image_mmap_set
+evas_object_image_orient_get
+evas_object_image_orient_set
+evas_object_image_snapshot_get
+evas_object_image_snapshot_set
+evas_object_image_source_events_get
+evas_object_image_source_events_set
+evas_object_image_video_surface_caps_get
+evas_object_image_video_surface_caps_set
+evas_object_intercept_clip_set_callback_add
+evas_object_intercept_clip_set_callback_del
+evas_object_intercept_clip_unset_callback_add
+evas_object_intercept_clip_unset_callback_del
+evas_object_intercept_color_set_callback_add
+evas_object_intercept_color_set_callback_del
+evas_object_intercept_focus_set_callback_add
+evas_object_intercept_focus_set_callback_del
+evas_object_intercept_hide_callback_add
+evas_object_intercept_hide_callback_del
+evas_object_intercept_layer_set_callback_add
+evas_object_intercept_layer_set_callback_del
+evas_object_intercept_lower_callback_add
+evas_object_intercept_lower_callback_del
+evas_object_intercept_move_callback_add
+evas_object_intercept_move_callback_del
+evas_object_intercept_raise_callback_add
+evas_object_intercept_raise_callback_del
+evas_object_intercept_resize_callback_add
+evas_object_intercept_resize_callback_del
+evas_object_intercept_show_callback_add
+evas_object_intercept_show_callback_del
+evas_object_intercept_stack_above_callback_add
+evas_object_intercept_stack_above_callback_del
+evas_object_intercept_stack_below_callback_add
+evas_object_intercept_stack_below_callback_del
+evas_object_is_frame_object_get
+evas_object_is_frame_object_set
+evas_object_name_child_find
+evas_object_name_find
+evas_object_paragraph_direction_get
+evas_object_paragraph_direction_set
+evas_objects_at_xy_get
+evas_objects_in_rectangle_get
+evas_object_size_hint_request_get
+evas_object_size_hint_request_set
+evas_object_smart_calculate
+evas_object_smart_callback_description_find
+evas_object_smart_callback_priority_add
+evas_object_smart_clipped_class_get
+evas_object_smart_clipped_clipper_get
+evas_object_smart_clipped_smart_set
+evas_object_smart_interface_data_get
+evas_object_smart_interface_get
+evas_object_smart_iterator_new
+evas_object_smart_move_children_relative
+evas_object_smart_need_recalculate_get
+evas_object_smart_need_recalculate_set
+evas_object_smart_smart_get
+evas_object_smart_type_check_ptr
+evas_object_text_ascent_get
+evas_object_textblock_obstacle_add
+evas_object_textblock_obstacle_del
+evas_object_textblock_obstacles_update
+evas_object_textblock_style_insets_get
+evas_object_text_char_coords_get
+evas_object_text_descent_get
+evas_object_textgrid_add
+evas_object_textgrid_cellrow_get
+evas_object_textgrid_cellrow_set
+evas_object_textgrid_cell_size_get
+evas_object_textgrid_font_get
+evas_object_textgrid_font_set
+evas_object_textgrid_font_source_get
+evas_object_textgrid_font_source_set
+evas_object_textgrid_palette_get
+evas_object_textgrid_palette_set
+evas_object_textgrid_size_get
+evas_object_textgrid_size_set
+evas_object_textgrid_supported_font_styles_get
+evas_object_textgrid_supported_font_styles_set
+evas_object_textgrid_update_add
+evas_object_text_horiz_advance_get
+evas_object_text_inset_get
+evas_object_text_max_ascent_get
+evas_object_text_max_descent_get
+evas_object_text_vert_advance_get
+evas_object_top_at_pointer_get
+evas_object_top_at_xy_get
+evas_object_top_get
+evas_object_top_in_rectangle_get
+evas_object_vg_add
+evas_object_vg_root_node_get
+evas_out_add
+evas_output_del
+evas_output_view_get
+evas_shutdown
+evas_smart_callback_description_find
+evas_smart_callbacks_descriptions_get
+evas_smart_class_get
+evas_smart_class_inherit_full
+evas_smart_class_new
+evas_smart_data_get
+evas_smart_free
+evas_smart_legacy_type_register
+evas_smart_usage_get
+evas_sync
+evas_textblock_cursor_format_item_geometry_get
+evas_textblock_cursor_range_simple_geometry_get
+evas_touch_point_list_count
+evas_touch_point_list_nth_id_get
+evas_touch_point_list_nth_state_get
+evas_touch_point_list_nth_xy_get
+evas_tree_objects_at_xy_get
+evas_vg_container_add
+evas_vg_gradient_linear_end_get
+evas_vg_gradient_linear_end_set
+evas_vg_gradient_linear_start_get
+evas_vg_gradient_linear_start_set
+evas_vg_gradient_radial_center_get
+evas_vg_gradient_radial_center_set
+evas_vg_gradient_radial_focal_get
+evas_vg_gradient_radial_focal_set
+evas_vg_gradient_radial_radius_get
+evas_vg_gradient_radial_radius_set
+evas_vg_gradient_spread_get
+evas_vg_gradient_spread_set
+evas_vg_gradient_stop_get
+evas_vg_gradient_stop_set
+evas_vg_node_color_get
+evas_vg_node_color_set
+evas_vg_node_origin_get
+evas_vg_node_origin_set
+evas_vg_node_transformation_get
+evas_vg_node_transformation_set
+evas_vg_node_visible_get
+evas_vg_node_visible_set
+evas_vg_shape_add
+evas_vg_shape_fill_get
+evas_vg_shape_fill_set
+evas_vg_shape_append_arc_to
+evas_vg_shape_append_circle
+evas_vg_shape_append_close
+evas_vg_shape_append_cubic_to
+evas_vg_shape_append_line_to
+evas_vg_shape_append_move_to
+evas_vg_shape_append_rect
+evas_vg_shape_dup
+evas_vg_shape_path_get
+evas_vg_shape_path_set
+evas_vg_shape_reset
+evas_vg_shape_stroke_cap_get
+evas_vg_shape_stroke_cap_set
+evas_vg_shape_stroke_color_get
+evas_vg_shape_stroke_color_set
+evas_vg_shape_stroke_fill_get
+evas_vg_shape_stroke_fill_set
+evas_vg_shape_stroke_join_get
+evas_vg_shape_stroke_join_set
+evas_vg_shape_stroke_width_get
+evas_vg_shape_stroke_width_set
+evas_vg_shape_append_arc
+evas_vg_gradient_linear_add
+evas_vg_gradient_radial_add
+evas_object_vg_root_node_set
+evas_version
+evas_changed_get
+ecore_buffer_pixmap_get
+ECORE_EVENT_AXIS_UPDATE
+ECORE_EVENT_KEY_DOWN
+ECORE_EVENT_KEY_UP
+ECORE_EVENT_MOUSE_BUTTON_CANCEL
+ECORE_EVENT_MOUSE_BUTTON_DOWN
+ECORE_EVENT_MOUSE_BUTTON_UP
+ECORE_EVENT_MOUSE_IN
+ECORE_EVENT_MOUSE_MOVE
+ECORE_EVENT_MOUSE_OUT
+ECORE_EVENT_MOUSE_WHEEL
+ECORE_IMF_EVENT_COMMIT
+ECORE_IMF_EVENT_DELETE_SURROUNDING
+ECORE_IMF_EVENT_PREEDIT_CHANGED
+ECORE_IMF_EVENT_PREEDIT_END
+ECORE_IMF_EVENT_PREEDIT_START
+ECORE_IPC_EVENT_CLIENT_ADD
+ECORE_IPC_EVENT_CLIENT_DATA
+ECORE_IPC_EVENT_CLIENT_DEL
+ECORE_IPC_EVENT_SERVER_ADD
+ECORE_IPC_EVENT_SERVER_DATA
+ECORE_IPC_EVENT_SERVER_DEL
+ecore_version
+EDJE_EDIT_ERROR_GROUP_CURRENTLY_USED
+EDJE_EDIT_ERROR_GROUP_DOES_NOT_EXIST
+EDJE_EDIT_ERROR_GROUP_REFERENCED
+edje_version
+edje_object_color_class_clear
+edje_size_class_set
+edje_size_class_get
+edje_size_class_del
+edje_size_class_list
+edje_size_class_active_iterator_new
+edje_mmap_size_class_iterator_new
+edje_object_size_class_set
+edje_object_size_class_get
+edje_object_size_class_del
+eina_cpu_features
+EINA_ERROR_CONVERT_0X_NOT_FOUND
+EINA_ERROR_CONVERT_OUTRUN_STRING_LENGTH
+EINA_ERROR_CONVERT_P_NOT_FOUND
+EINA_ERROR_MAGIC_FAILED
+EINA_ERROR_MODULE_INIT_FAILED
+EINA_ERROR_NOT_MAIN_LOOP
+EINA_ERROR_NOT_MEMPOOL_MODULE
+EINA_ERROR_OUT_OF_MEMORY
+EINA_ERROR_SAFETY_FAILED
+EINA_ERROR_VALUE_FAILED
+EINA_ERROR_WRONG_MODULE
+eina_log_color_disable_get
+EINA_LOG_DOMAIN_GLOBAL
+eina_log_domain_registered_level_get
+eina_log_level_get
+eina_log_print
+eina_prime_table
+EINA_UNICODE_EMPTY_STRING
+EINA_VALUE_BLOB_OPERATIONS_MALLOC
+EINA_VALUE_STRUCT_OPERATIONS_BINSEARCH
+EINA_VALUE_STRUCT_OPERATIONS_STRINGSHARE
+EINA_VALUE_TYPE_ARRAY
+EINA_VALUE_TYPE_BLOB
+EINA_VALUE_TYPE_CHAR
+EINA_VALUE_TYPE_DOUBLE
+EINA_VALUE_TYPE_FLOAT
+EINA_VALUE_TYPE_HASH
+EINA_VALUE_TYPE_INT
+EINA_VALUE_TYPE_INT64
+EINA_VALUE_TYPE_LIST
+EINA_VALUE_TYPE_LONG
+EINA_VALUE_TYPE_SHORT
+EINA_VALUE_TYPE_STRING
+EINA_VALUE_TYPE_STRINGSHARE
+EINA_VALUE_TYPE_STRUCT
+EINA_VALUE_TYPE_TIMESTAMP
+EINA_VALUE_TYPE_TIMEVAL
+EINA_VALUE_TYPE_UCHAR
+EINA_VALUE_TYPE_UINT
+EINA_VALUE_TYPE_UINT64
+EINA_VALUE_TYPE_ULONG
+EINA_VALUE_TYPE_USHORT
+eina_version
+ELM_ECORE_EVENT_ETHUMB_CONNECT
+ELM_EVENT_CONFIG_ALL_CHANGED
+ELM_EVENT_POLICY_CHANGED
+ELM_EVENT_PROCESS_BACKGROUND
+ELM_EVENT_PROCESS_FOREGROUND
+ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED
+ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED
+ELM_EVENT_SYSTRAY_READY
+elm_panel_scrollable_content_size_set
+elm_version
+elm_color_class_color_set
+elm_color_class_color_get
+elm_color_class_color2_set
+elm_color_class_color2_get
+elm_color_class_color3_set
+elm_color_class_color3_get
+elm_object_color_class_color_set
+elm_object_color_class_color_get
+elm_object_color_class_color2_set
+elm_object_color_class_color2_get
+elm_object_color_class_color3_set
+elm_object_color_class_color3_get
+elm_object_item_color_class_color_set
+elm_object_item_color_class_color_get
+elm_object_item_color_class_color2_set
+elm_object_item_color_class_color2_get
+elm_object_item_color_class_color3_set
+elm_object_item_color_class_color3_get
+elm_color_class_del
+elm_object_color_class_del
+elm_object_item_color_class_del
+elm_object_color_class_clear
+elm_object_item_color_class_clear
+elm_win_aux_hints_supported_get
+elm_win_aux_hint_add
+elm_win_aux_hint_del
+elm_win_aux_hint_val_set
+elm_win_aux_hint_val_get
+elm_win_aux_hint_id_get
+elm_win_aux_msg_key_get
+elm_win_aux_msg_val_get
+elm_win_aux_msg_options_get
+elm_textpath_add
+elm_textpath_circle_set
+elm_textpath_ellipsis_set
+elm_textpath_ellipsis_get
+EFL_UI_TEXTPATH_DIRECTION_CW
+EFL_UI_TEXTPATH_DIRECTION_CCW
+elm_animation_view_add
+elm_animation_view_file_set
+elm_animation_view_state_get
+elm_animation_view_auto_play_set
+elm_animation_view_auto_play_get
+elm_animation_view_auto_repeat_set
+elm_animation_view_auto_repeat_get
+elm_animation_view_speed_set
+elm_animation_view_speed_get
+elm_animation_view_duration_time_get
+elm_animation_view_progress_set
+elm_animation_view_progress_get
+elm_animation_view_frame_set
+elm_animation_view_frame_get
+elm_animation_view_play
+elm_animation_view_play_back
+elm_animation_view_pause
+elm_animation_view_resume
+elm_animation_view_stop
+elm_animation_view_default_size_get
+elm_animation_view_is_playing_back
+elm_animation_view_frame_count_get
+elm_animation_view_min_progress_set
+elm_animation_view_min_progress_get
+elm_animation_view_max_progress_set
+elm_animation_view_max_progress_get
+elm_animation_view_min_frame_set
+elm_animation_view_min_frame_get
+elm_animation_view_max_frame_set
+elm_animation_view_max_frame_get
+ELM_ANIMATION_VIEW_STATE_NOT_READY
+ELM_ANIMATION_VIEW_STATE_PLAY
+ELM_ANIMATION_VIEW_STATE_PLAY_BACK
+ELM_ANIMATION_VIEW_STATE_PAUSE
+ELM_ANIMATION_VIEW_STATE_STOP
+elm_relative_container_add
+elm_relative_container_relation_left_set
+elm_relative_container_relation_left_get
+elm_relative_container_relation_right_set
+elm_relative_container_relation_right_get
+elm_relative_container_relation_top_set
+elm_relative_container_relation_top_get
+elm_relative_container_relation_bottom_set
+elm_relative_container_relation_bottom_get
+elm_relative_container_children_get
+eina_content_type_get
+eina_content_converter_possible_conversions