Using Tar command in action handler

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Based on the context provided, it seems like you are trying to use a tar command within an action handler script to update a directory by extracting a tar.gz file. The error you are encountering suggests that the output of your script is not being parsed correctly as a JSON string.

Here are a few things you might want to check or try:

  1. Ensure JSON Output: Make sure that the output of your script is a valid JSON string. The error message indicates that the output could not be parsed as JSON. Double-check the format of the JSON string you are echoing. It should be properly formatted, e.g., echo '{"status": "ok", "message": "New file updated"}'.

  2. Error Handling: Consider adding error handling to your script to catch any issues with the cp or tar commands. This can help ensure that any errors are properly reported and do not interfere with the JSON output. For example:

    if ! cp $SECONDARY_FIRMWARE_PATH /home/torizon/update.tar.gz; then
        echo '{"status": "error", "message": "Failed to copy update package"}'
        exit 1
    fi
    
    if ! tar -xvzf /home/torizon/update.tar.gz -C /home/torizon/polardelight/updates; then
        echo '{"status": "error", "message": "Failed to extract update package"}'
        exit 1
    fi
    
    echo '{"status": "ok", "message": "New file updated"}'
    exit 0
    
  3. Script Execution: Ensure that the script is being executed in an environment where all necessary variables (like $SECONDARY_FIRMWARE_PATH) are correctly set and accessible.

If these suggestions do not resolve the issue, you may need to provide more context or details about the environment and how the script is being executed.

Please, also check if these links can help you solve your problem:

Build custom Torizon OS with and without containers.