Add script to copy necessary files
authorSangYoun Kwak <sy.kwak@samsung.com>
Tue, 9 Apr 2024 06:17:46 +0000 (15:17 +0900)
committerSangYoun Kwak <sy.kwak@samsung.com>
Tue, 9 Apr 2024 06:19:57 +0000 (15:19 +0900)
To copy necessary files which are written in the .xml files, a script
'copy_required_files.sh' is added.

Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
copy_required_files.sh
packaging/hal-rootstrap.spec

index 96f78d14e75d18a64542df69ef53efcf5091ba9c..1125f7fb06802265174cd952c00f347be6b005f6 100755 (executable)
@@ -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
index 0eee8300833b5021c009b168d3f5422e1409dc3d..5cdfbb5024d9484439c3bbb535b6d95f3a4febda 100644 (file)
@@ -402,4 +402,4 @@ mkdir %{buildroot}
 ./copy_required_files.sh %{buildroot}
 
 %files
-/dummy
+/*