[PATCH rtems-source-builder] bare/config: add renode rsb installation config

Gedare Bloom gedare at rtems.org
Tue Jul 11 18:17:39 UTC 2023


On Tue, Jul 11, 2023 at 12:01 PM Gedare Bloom <gedare at rtems.org> wrote:
>
> This probably requires some documentation, as it requires several
> packages that are not going to be typically installed already by RTEMS
> users/developers. Chris, is there any place to document required
> dependencies/packages for a build set?
>
> The patch has a whitespace problem
>
> +# Renode source
> +#
>  It might be a non-ASCII character, as it gets eaten by email but is
> in the patch file.
>
> Gedare
>
> On Mon, Jul 10, 2023 at 5:13 AM Muhammad Sulthan Mazaya
> <msulthanmazaya at gmail.com> wrote:
> >
> > An implementation of renode rsb installation config. It uses renode's
> > github release as source and build the package using their build script.
> >
> > ---
> >  bare/config/devel/renode-git-1.cfg | 47 ++++++++++++++++++++++++++++++
> >  bare/config/devel/renode.bset      |  9 ++++++
> >  2 files changed, 56 insertions(+)
> >  create mode 100644 bare/config/devel/renode-git-1.cfg
> >  create mode 100644 bare/config/devel/renode.bset
> >
> > diff --git a/bare/config/devel/renode-git-1.cfg b/bare/config/devel/renode-git-1.cfg
> > new file mode 100644
> > index 0000000..df424a6
> > --- /dev/null
> > +++ b/bare/config/devel/renode-git-1.cfg
Probably want to put most of this file into
./source-builder/config/renode-common-1.cfg
and set parameters for it (version) from a new file
./bare/config/devel/renode-1.13.3-1.cfg

I would recommend that you follow the design for how qemu gets built.

> > @@ -0,0 +1,47 @@
> > +#
> > +# Renode from github
> > +#
> > +
> > +%if %{release} == %{nil}
> > + %define release 1
> > +%endif
> > +
> > +%define renode_version 1.13.3
> > +
> > +Name:      renode-%{renode_version}-%{_host}-%{release}
> > +Summary:   Renode v%{renode_version}
> > +Version:   %{renode_version}
> > +Release:   %{release}
> > +URL:      http://www.renode.io
> > +
> > +#
> > +# Renode source
> > +#
> > +%source set renode https://github.com/renode/renode/releases/download/v%{renode_version}/renode_%{renode_version}_source.tar.xz
> > +
> > +#
> > +# Prepare the source code.
> > +#
> > +%prep
> > +  build_top=$(pwd)
> > +
> > +  source_dir_renode="renode_%{renode_version}_source"
> > +  %source setup renode -q -n renode_%{renode_version}_source
> > +
> > +  cd ${build_top}
> > +
> > +%build
> > +  build_top=$(pwd)
> > +
> > +  cd ${source_dir_renode}
> > +  ./build.sh
This looks brittle. Does their script handle host detection, etc?

> > +
> > +  cd ${build_top}
> > +
> > +%install
> > +  build_top=$(pwd)
> > +
> > +  mkdir -p %{_bindir}
> > +  cp -r ./${source_dir_renode}/* %{_bindir}
> > +
> > +  cd ${build_top}
> > diff --git a/bare/config/devel/renode.bset b/bare/config/devel/renode.bset
> > new file mode 100644
> > index 0000000..d64a2a2
> > --- /dev/null
> > +++ b/bare/config/devel/renode.bset
Add the version to the build set name and pass that through to the
build instructions.

> > @@ -0,0 +1,9 @@
> > +#
> > +# Build set for Renode
> > +#
> > +
> > +%if %{release} == %{nil}
> > +    %define release 1
> > +%endif
> > +
> > +devel/renode-git-1
the "-git" name is usually used to build the git head or a specific commit.
SInce you build a release version, you should prefer to use the
version numbering to identify what gets built.

> > --
> > 2.34.1
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list