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