aboutsummaryrefslogtreecommitdiffstats
path: root/classes/rmc-db.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'classes/rmc-db.bbclass')
-rw-r--r--classes/rmc-db.bbclass92
1 files changed, 0 insertions, 92 deletions
diff --git a/classes/rmc-db.bbclass b/classes/rmc-db.bbclass
deleted file mode 100644
index 72594d69..00000000
--- a/classes/rmc-db.bbclass
+++ /dev/null
@@ -1,92 +0,0 @@
-# RMC database bbclass
-# provide functions to generate RMC database file on build host (native)
-
-DEPENDS += "rmc-native"
-
-# rmc_generate_db()
-# $1: a list of directories. Each directory holds directories for a group of
-# boards.
-# $2: path_name of rmc generates database file and records
-#
-# WARNING: content of directory of database file will be removed.
-#
-# Each board directory shall contain a fingerprint file (*.fp) at least, with
-# optional file blob(s) associated to the type of board. If a board directory
-# has no file blob, no record is created for that board.
-#
-# An example of two directories each of which contains two boards for RMC:
-# (All file and directory names are for illustration purpose.)
-#
-# dir_1/
-# board_1/
-# board_1_fingerprint.fp
-# file_1.blob
-# board_2/
-# board_2.fp
-# dir_2/
-# board_3/
-# b3.fp
-# file_1.blob
-# file_2.conf
-# board_4/
-# board_foo.fp
-# mylib.config
-#
-# To generate a RMC database "rmc.db" with data of all (actually 3) of boards in
-# a directory "deploy_dir":
-#
-# rmc_generate_db "dir_1 dir_2" "deploy_dir/rmc.db"
-#
-# The board_2 will be skipped. No record or any data for it is packed in
-# generated database because it only contains a fingerprint file.
-#
-
-rmc_generate_db () {
- RMC_BOARD_DIRS=$1
-
- if [ "$#" -ne 2 ]; then
- echo "rmc_generate_db(): Wrong number of arguments: $#"
- return 1
- fi
-
- RMC_DB_DIR=$(dirname "$2")
- RMC_RECORDS=""
-
- rm -rf ${RMC_DB_DIR}
- mkdir -p ${RMC_DB_DIR}
-
- # generate rmc database
- for topdir in ${RMC_BOARD_DIRS}; do
- # For all board dirs in a topdir:
- CUR_BOARD_DIRS=$(find ${topdir}/* -type d)
- for board_dir in ${CUR_BOARD_DIRS}; do
- CUR_FINGERPRINT=$(find ${board_dir}/ -name "*.fp")
-
- # disallow a board directory without any fingerprint file in it.
- if [ -z "${CUR_FINGERPRINT}" ]; then
- echo "Cannot find RMC fingerprint file in ${board_dir}"
- return 1
- fi
-
- CUR_FILES=$(find ${board_dir}/ -type f |grep -v '\.fp$' || true)
-
- # allow a directory only with fingerprint file. Developer may
- # check in fingerprint for future use.
- if [ -z "${CUR_FILES}" ]; then
- continue
- fi
-
- for fp in ${CUR_FINGERPRINT}; do
- fullname=$(basename ${fp})
- CUR_TAG="${fullname%.*}"
- CUR_RECORD=${RMC_DB_DIR}/${CUR_TAG}.rec
- rmc -R -f ${fp} -b ${CUR_FILES} -o ${CUR_RECORD}
- RMC_RECORDS="${RMC_RECORDS} ${CUR_RECORD}"
- done
- done
- done
-
- if [ ! -z "${RMC_RECORDS}" ]; then
- rmc -D ${RMC_RECORDS} -o "$2"
- fi
-}