[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