[RTEMS Project] #3532: RSB source only download is host specific
RTEMS trac
trac at rtems.org
Thu Sep 27 22:59:29 UTC 2018
#3532: RSB source only download is host specific
--------------------------+-------------------------
Reporter: Chris Johns | Owner: Chris Johns
Type: defect | Status: assigned
Priority: normal | Milestone: 5.1
Component: tool/rsb | Version: 5
Severity: blocker | Keywords:
Blocked By: | Blocking:
--------------------------+-------------------------
The RSB source only download is host specific. Configurations for builds
can restrict sources or patches by host to work around specific host
issues. Currently a source only download is host specific because the host
check is based on the host the RSB is being run on.
The release process uses source only downloading to create the complete
set of sources in a release. This issue means some host specific source
may not be captured.
I am yet to figure how to resolve this issue because the download logic is
driven by the configuration scripts and this type of logic exists in
configuration files such as `rtems-gcc-7.3.0-newlib-
d13c84eb07e35984bf7a974cd786a6cdac29e6b9.cfg`:
{{{
%if %{_build_os} == freebsd || %{_build_os} == darwin
%patch add gcc --rsb-file=freebsd-libgcc-sed-fix.patch -p0
https://gcc.gnu.org/bugzilla/attachment.cgi?id=41380
%hash sha256 freebsd-libgcc-sed-fix.patch
8a11bd619c2e55466688e328da00b387d02395c1e8ff4a99225152387a1e60a4
%endif
}}}
The simpler construct `rtems-tools-common-1.cfg` of:
{{{
%ifos win32 mingw ming32
SB_BUILD_ROOT_WAF=$SB_BUILD_ROOT$(echo %{_prefix} | cut -c 1-2)
%else
SB_BUILD_ROOT_WAF=$SB_BUILD_ROOT
%endif
}}}
is easier to manage as the `%ifos` logic can always return `True` however
the `%else` patch also need to be followed and this could break the logic
in a configuration file. Yes, the example is not about sources or patches
however it shows what could be used.
I do not think adding logic to the configuration file parsing will help,
for example consider this case:
{{{
%if %{_build_os} == freebsd || %{_build_os} == darwin
%patch add gcc foobar-bsd.patch
%else
%patch add gcc foobar-gnu.patch
%endif
}}}
We require the logic to follow the `%if True` path and the `%else` path.
--
Ticket URL: <http://devel.rtems.org/ticket/3532>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list