On 28/2/2024 2:15 am, Sebastian Huber wrote: > Update #4272. > --- > spec/build/bsps/optpython.yml | 14 ++++++++ > spec/build/bsps/optubootmkimage.yml | 20 ++++++++++++ > spec/build/bsps/powerpc/qoriq/grp.yml | 6 ++++ > spec/build/bsps/powerpc/qoriq/mkimage.yml | 39 +++++++++++++++++++++++ > 4 files changed, 79 insertions(+) > create mode 100644 spec/build/bsps/optpython.yml > create mode 100644 spec/build/bsps/optubootmkimage.yml > create mode 100644 spec/build/bsps/powerpc/qoriq/mkimage.yml > > diff --git a/spec/build/bsps/optpython.yml b/spec/build/bsps/optpython.yml > new file mode 100644 > index 0000000000..15e0e500e6 > --- /dev/null > +++ b/spec/build/bsps/optpython.yml > @@ -0,0 +1,14 @@ > +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause > +actions: > +- script: | > + value = sys.executable > +- env-assign: PYTHON > +build-type: option > +copyrights: > +- Copyright (C) 2024 embedded brains GmbH & Co. KG > +default: [] > +description: '' > +enabled-by: true > +links: [] > +name: PYTHON > +type: build > diff --git a/spec/build/bsps/optubootmkimage.yml > b/spec/build/bsps/optubootmkimage.yml > new file mode 100644 > index 0000000000..65a996be50 > --- /dev/null > +++ b/spec/build/bsps/optubootmkimage.yml > @@ -0,0 +1,20 @@ > +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause > +actions: > +- get-string: null > +- substitute: null > +- find-optional-program: null > +- env-assign: U_BOOT_MKIMAGE > +build-type: option > +copyrights: > +- Copyright (C) 2024 embedded brains GmbH & Co. KG > +default: > +- enabled-by: true > + value: mkimage > +description: | > + This build option defines the name of the U-Boot boot loader tool to make > an > + image. > +enabled-by: true > +format: '{}' > +links: [] > +name: U_BOOT_MKIMAGE > +type: build > diff --git a/spec/build/bsps/powerpc/qoriq/grp.yml > b/spec/build/bsps/powerpc/qoriq/grp.yml > index 65e623fdbd..cb96682722 100644 > --- a/spec/build/bsps/powerpc/qoriq/grp.yml > +++ b/spec/build/bsps/powerpc/qoriq/grp.yml > @@ -18,6 +18,10 @@ links: > uid: ../../objirq > - role: build-dependency > uid: ../../optconsolebaud > +- role: build-dependency > + uid: ../../optobjcopy > +- role: build-dependency > + uid: ../../optubootmkimage > - role: build-dependency > uid: ../crti > - role: build-dependency > @@ -114,6 +118,8 @@ links: > uid: optuartirq > - role: build-dependency > uid: start > +- role: build-dependency > + uid: mkimage > - role: build-dependency > uid: ../../bspopts > type: build > diff --git a/spec/build/bsps/powerpc/qoriq/mkimage.yml > b/spec/build/bsps/powerpc/qoriq/mkimage.yml > new file mode 100644 > index 0000000000..712fd237b1 > --- /dev/null > +++ b/spec/build/bsps/powerpc/qoriq/mkimage.yml > @@ -0,0 +1,39 @@ > +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause > +build-type: mkimage > +content: | > + #!${PYTHON} > + > + import gzip > + import os > + import shutil > + import subprocess > + import sys > + import tempfile > + > + with tempfile.TemporaryDirectory() as tmp_dir: > + bin_path = os.path.join(tmp_dir, "bin") > + gz_path = os.path.join(tmp_dir, "gz") > + subprocess.run([ > + "${OBJCOPY}", > + "-O", "binary", sys.argv[1], bin_path > + ], > + check=True) > + with open(bin_path, "rb") as f_bin: > + with gzip.open(gz_path, "wb") as f_gz: > + shutil.copyfileobj(f_bin, f_gz) > + subprocess.run([ > + "${U_BOOT_MKIMAGE}", > + "-A", "ppc", "-O", "linux", "-T", "kernel", "-a", "0x4000", "-e", > + "0x4000", "-n", "RTEMS", "-d", gz_path, sys.argv[2] > + ], > + check=True)
Sorry this patch is a no from me and adding python like this with such limited error checking is something I am not comfortable with. I am OK wih a python module that something robust can import and validate giving the user consistent and meaningful error messages but as I have just said whole programs in spec files like this, sorry thet is no from me. Chris > +copyrights: > +- Copyright (C) 2024 embedded brains GmbH & Co. KG > +enabled-by: > + and: > + - HAVE_OBJCOPY > + - HAVE_U_BOOT_MKIMAGE > +links: > +- role: build-dependency > + uid: ../../optpython > +type: build _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel