[PATCH RSB] Add recipe for building rtems-net-legacy
Vijay Kumar Banerjee
vijay at rtems.org
Tue Mar 9 03:03:28 UTC 2021
Hi Chris,
Thanks for reviewing.
On Mon, Mar 8, 2021 at 7:54 PM Chris Johns <chrisj at rtems.org> wrote:
>
> Hi Vijay,
>
> Thank you for sorting this out.
>
> On 9/3/21 1:31 pm, Vijay Kumar Banerjee wrote:
> > ---
> > rtems/config/6/rtems-net-legacy.bset | 4 ++
> > rtems/config/tools/rtems-net-legacy-6.cfg | 12 ++++
> > .../config/tools/rtems-net-legacy-common.cfg | 65 +++++++++++++++++++
> > 3 files changed, 81 insertions(+)
> > create mode 100644 rtems/config/6/rtems-net-legacy.bset
> > create mode 100644 rtems/config/tools/rtems-net-legacy-6.cfg
> > create mode 100644 rtems/config/tools/rtems-net-legacy-common.cfg
> >
> > diff --git a/rtems/config/6/rtems-net-legacy.bset b/rtems/config/6/rtems-net-legacy.bset
> > new file mode 100644
> > index 0000000..424091c
> > --- /dev/null
> > +++ b/rtems/config/6/rtems-net-legacy.bset
> > @@ -0,0 +1,4 @@
> > +#
> > +# Legacy networking stack
> > +#
> > +tools/rtems-net-legacy-6
> > diff --git a/rtems/config/tools/rtems-net-legacy-6.cfg b/rtems/config/tools/rtems-net-legacy-6.cfg
> > new file mode 100644
> > index 0000000..9480269
> > --- /dev/null
> > +++ b/rtems/config/tools/rtems-net-legacy-6.cfg
> > @@ -0,0 +1,12 @@
> > +#
> > +# RTEMS Legacy networking stack
> > +#
> > +
> > +# branch: main
> > +%define rtems_net_version d8888e058bbbb5e271701d5683e5ab332db72230
> > +%hash sha512 rtems-net-legacy-%{rtems_net_version}.tar.gz \
> > + Kmznx8/DsHLf8MX5wL8b65R7AqJVTmGcwB7I4M8ETB27u666Wi1T5M8SQMLHsZMo9aZ44umWyxdCg6l2OpWr2w==
> > +%define rtems_waf_version 1a118bbcd52138dbdc3236e64bc23fd430a064b1
> > +%hash sha512 rtems_waf.tar.gz 9WIROD6rid1M9fsdFWy1Gz/oCsx3l+QGOWoyXnSoGbo/xiyQ+MS+TZU2YoCUNx6/SE18ZeCiq79JYE5H+Yh46Q==
> > +
> > +%include tools/rtems-net-legacy-common.cfg
> > diff --git a/rtems/config/tools/rtems-net-legacy-common.cfg b/rtems/config/tools/rtems-net-legacy-common.cfg
> > new file mode 100644
> > index 0000000..6ded30f
> > --- /dev/null
> > +++ b/rtems/config/tools/rtems-net-legacy-common.cfg
> > @@ -0,0 +1,65 @@
> > +#
> > +# RTEMS Legacy networking stack
> > +#
> > +# This configuration file configure's, build's and install's linetworking.a.
> > +#
> > +
> > +%if %{release} == %{nil}
> > +%define release 1
> > +%endif
> > +
> > +Name: rtems-net-letgacy-%{rtems_net_version}-%{_host}-%{release}
>
> rtems-net-letgacy -> rtems-net-legacy
>
Thanks.
> > +Summary: RTEMS net legacy provides legacy networking stack from RTEMS 5 and earlier
> > +Version: %{rtems_net_version}
> > +Release: %{release}
> > +URL: https://git.rtems.org/rtems-net-legacy.git/
> > +
> > +
> > +#
> > +# RTEMS BSP support.
> > +#
> > +%include rtems-bsp.cfg
> > +
> > +#
> > +# Net legacy Source from github.
>
> Why github?
>
We don't have a tar for this in the cgit yet, so this was a workaround.
> > +#
> > +%source set rtems_net_legacy \
> > + --rsb-file=rtems-net-legacy-%{rtems_net_version}.tar.gz https://github.com/RTEMS/rtems-net-legacy/archive/%{rtems_net_version}.tar.gz
> > +%source set rtems_waf \
> > + --rsb-file=rtems_waf.tar.gz https://github.com/RTEMS/rtems_waf/archive/%{rtems_waf_version}.tar.gz
>
> Please so not reference github for rtems_waf for RTEMS project things. We need
> to be self contained.
>
> The libbsd recipe has an %{rsb_released} check. This will not work with a
> released net-legacy tarball as a released tarball has rtems_waf included, it has
> to be included in the tarball for a release be definition. The release scripts
> inspect a repo for submodules and includes them as source after filtering (we do
> not want to capture things like freebsd-org).
>
Ok, understood. Thanks for the explanation, I'll fix this.
> > +
> > +#
> > +# Prepare the source code.
> > +#
> > +%prep
> > + build_top=$(pwd)
> > +
> > + source_dir_net_legacy="rtems-net-legacy-%{rtems_net_version}"
> > + %source setup rtems_net_legacy -q -n rtems-net-legacy-%{rtems_net_version}
> > + %source setup rtems_waf -q -s 1 -c -a -n rtems-net-legacy-%{rtems_net_version}/rtems_waf
> > + cd ${build_top}
> > +
> > +#
> > +# Build the source code.
> > +#
> > +%build
> > + build_top=$(pwd)
> > +
> > + %{host_build_flags}
> > +
> > + cd ${source_dir_net_legacy}
> > +
> > + ./waf distclean configure \
> > + --prefix=%{_prefix} \
> > + --rtems-bsp=%{rtems_bsp_arch_bsp}
> > +
> > + ./waf
> > +
> > + cd ${build_top}
> > +
> > +%install
> > + build_top=$(pwd)
> > +
> > + cd ${source_dir_net_legacy}
> > + ./waf install
>
> The --destdir needs to be used as it is in the libbsd recipe. What is here
> installs into the user's prefix and not into the RSB staging area. An RSB build
> is a transaction, it can only install a build once all the pieces in the build
> have built. Installing to the user's prefix would leave the user's prefix in an
> unknown state if a piece did not build.
>
Thanks for the explanation, I took a shortcut to avoid some errors I
was getting with --destdir option, I'll have a deeper look and will
add it.
Best regards,
Vijay
> Chris
More information about the devel
mailing list