From: SangYoun Kwak Date: Tue, 9 Apr 2024 06:17:46 +0000 (+0900) Subject: Add script to copy necessary files X-Git-Tag: accepted/tizen/unified/20240719.080553~56 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3d2c119a2bfe20c082261026cb0f006201acbb49;p=platform%2Fhal%2Fbackend%2Frootstrap-data-common.git Add script to copy necessary files To copy necessary files which are written in the .xml files, a script 'copy_required_files.sh' is added. Signed-off-by: SangYoun Kwak --- diff --git a/copy_required_files.sh b/copy_required_files.sh index 96f78d1..1125f7f 100755 --- a/copy_required_files.sh +++ b/copy_required_files.sh @@ -1,6 +1,42 @@ #!/usr/bin/bash COPY_DEST=$1 -POSTLINKER="./script/postlinker" +POSTLINKER="${PWD}/script/postlinker" -touch "${COPY_DEST}/dummy" +pushd rs_resource > /dev/null 2>&1 +XML_DIRECTORIES=( "NativeAPI" "OSS" ) +INDEX=0 + +while [[ ${INDEX} -lt ${#XML_DIRECTORIES[@]} ]]; do + DIR=${XML_DIRECTORIES[${INDEX}]} + ENTITIES=($(ls -a1 ${DIR})) + for ENTITY in ${ENTITIES[@]}; do + if [[ ${ENTITY} == '.' ]] || [[ ${ENTITY} == '..' ]]; then + continue + fi + + ENTITY_PATH="${DIR}/${ENTITY}" + if [[ -d ${ENTITY_PATH} ]]; then + XML_DIRECTORIES+=(${ENTITY_PATH}) + continue + fi + + IS_REQUIRE_ALL=$(xmlstarlet sel -t -m "//necessary[count(file)=1]" -v "./file/text()" ${ENTITY_PATH}) + if [[ ${IS_REQUIRE_ALL} == '*' ]]; then + # TODO: Copy all files of this package(ENTITY) + continue; + else + NECESSARY_FILES=($(xmlstarlet sel -t -m "//necessary/file" -v "text()" -o " " -n ${ENTITY_PATH})) + for NECESSARY_FILE in ${NECESSARY_FILES[@]}; do + THIS_COPY_DEST="${COPY_DEST}${NECESSARY_FILE}" + THIS_COPY_DEST_PARENT=$(dirname ${THIS_COPY_DEST}) + if [[ ! -d ${THIS_COPY_DEST_PARENT} ]]; then + mkdir -p ${THIS_COPY_DEST_PARENT} + fi + cp "${NECESSARY_FILE}" "${THIS_COPY_DEST}" + echo "cp \"${NECESSARY_FILE}\" \"${THIS_COPY_DEST}\"" + done + fi + done + INDEX=$((INDEX+1)) +done diff --git a/packaging/hal-rootstrap.spec b/packaging/hal-rootstrap.spec index 0eee830..5cdfbb5 100644 --- a/packaging/hal-rootstrap.spec +++ b/packaging/hal-rootstrap.spec @@ -402,4 +402,4 @@ mkdir %{buildroot} ./copy_required_files.sh %{buildroot} %files -/dummy +/*