49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
# SPDX-License-Identifier: GPL-2.0+
|
|
# Copyright 2024 Marek Vasut <[email protected]>
|
|
#
|
|
"""Bintool implementation for cst"""
|
|
|
|
import re
|
|
|
|
from binman import bintool
|
|
|
|
class Bintoolcst(bintool.Bintool):
|
|
"""Image generation for U-Boot
|
|
|
|
This bintool supports running `cst` with some basic parameters as
|
|
needed by binman.
|
|
"""
|
|
def __init__(self, name):
|
|
super().__init__(name, 'Sign NXP i.MX image')
|
|
|
|
# pylint: disable=R0913
|
|
def run(self, output_fname=None):
|
|
"""Run cst
|
|
|
|
Args:
|
|
output_fname: Output filename to write to
|
|
"""
|
|
args = []
|
|
if output_fname:
|
|
args += ['-o', output_fname]
|
|
return self.run_cmd(*args)
|
|
|
|
def fetch(self, method):
|
|
"""Fetch handler for cst
|
|
|
|
This installs cst using the apt utility.
|
|
|
|
Args:
|
|
method (FETCH_...): Method to use
|
|
|
|
Returns:
|
|
True if the file was fetched and now installed, None if a method
|
|
other than FETCH_BIN was requested
|
|
|
|
Raises:
|
|
Valuerror: Fetching could not be completed
|
|
"""
|
|
if method != bintool.FETCH_BIN:
|
|
return None
|
|
return self.apt_install('imx-code-signing-tool')
|