[PATCH RSB] Add recipe for building rtems-net-legacy
Vijay Kumar Banerjee
vijay at rtems.org
Tue Mar 9 03:32:53 UTC 2021
On Mon, Mar 8, 2021 at 8:23 PM Chris Johns <chrisj at rtems.org> wrote:
>
>
>
> On 9/3/21 2:03 pm, Vijay Kumar Banerjee wrote:
> > 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.
>
> But we do ...
>
> https://git.rtems.org/rtems-net-legacy/commit/?id=5713f7027984012ea17cdd582e6d0258ee7aa58a
>
> Then the `download` link. Just copy and paste that link into this file...
>
> % shasum -a 512 rtems-net-legacy-5713f7027984012ea17cdd582e6d0258ee7aa58a.tar.bz2
> d1dc27a993fe8fd6f6219eebaa21019dd564a88b1445a9782ffe3ba52238a5ed2bcf8f219966bbf03134f75e467feffe9efb02301d88fec140323f8fe808de78
> rtems-net-legacy-5713f7027984012ea17cdd582e6d0258ee7aa58a.tar.bz2
>
Thanks!
I didn't notice the link. :p
> >>> +#
> >>> +%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.
>
> Thanks
>
> >
> >>> +
> >>> +#
> >>> +# 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.
>
> No problem and this is understandable.
>
Thanks,
Vijay
> Chris
More information about the devel
mailing list