xref: /openbmc/openpower-debug-collector/dump/tools/bmcdump/scripts/package (revision ac291d44b3822d6c9359f0397d7d4084b0954bd9)
1#!/bin/bash
2
3#CONSTANTS
4declare -rx HEADER_EXTENSION="$DREPORT_INCLUDE/gendumpheader"
5
6# @brief Packaging the dump, applying the header
7# and transferring to dump location.
8function custom_package()
9{
10    FILE="/tmp/dumpheader_${dump_id}_${EPOCHTIME}"
11    echo "performing dump compression $name_dir"
12    if [ "$dump_type" = "$TYPE_FAULTDATA" ]; then
13        rm -rf $name_dir/dreport.log
14        rm -rf $name_dir/summary.log
15        tar -cf "$name_dir.bin" -C "$(dirname "$name_dir")" "$(basename "$name_dir")"
16    else
17        tar cf - -C "$(dirname "$name_dir")" "$(basename "$name_dir")"  | zstd > "$name_dir.bin"
18    fi
19    # shellcheck disable=SC2181 # need output from `tar` in above if cond.
20    if [ $? -ne 0 ]; then
21        echo "$($TIME_STAMP)" "Could not create the compressed tar file"
22        rm -r "$name_dir.bin"
23        return "$INTERNAL_FAILURE"
24    fi
25
26    echo "Adding Dump Header :"$HEADER_EXTENSION
27    ("$HEADER_EXTENSION")
28
29    cat "$name_dir.bin" | tee -a "$FILE" > /dev/null
30    #remove the temporary name specific directory
31    rm -rf "$name_dir" "$name_dir.bin"
32    mv $FILE "$name_dir"
33
34    echo "$($TIME_STAMP)" "Report is available in $dump_dir"
35    if [ "$TMP_DIR" == "$dump_dir" ] || [ "$TMP_DIR/" == "$dump_dir" ]; then
36        return "$SUCCESS"
37    fi
38
39    #copy the compressed tar file into the destination
40    cp "$name_dir" "$dump_dir"
41    if [ $? -ne 0 ]; then
42        echo "Failed to copy the $name_dir to $dump_dir"
43        rm "$name_dir"
44        return "$INTERNAL_FAILURE"
45    fi
46
47    #Remove the temporary copy of the file
48    rm -rf "$name_dir"
49}
50
51# Executing function
52custom_package
53