Opened on 09/27/18 at 22:59:29
Closed on 05/21/19 at 23:27:31
#3532 closed defect (fixed)
RSB source only download is host specific
Reported by: | Chris Johns | Owned by: | Chris Johns |
---|---|---|---|
Priority: | normal | Milestone: | 5.1 |
Component: | tool/rsb | Version: | 5 |
Severity: | blocker | Keywords: | |
Cc: | Blocked By: | ||
Blocking: |
Description (last modified by Chris Johns)
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 in 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
path 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 creating a new variable such as %{download_only}
and adding logic to the configuration file will help, for example:
%if %{download_only} || %{_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.
Change History (2)
comment:1 Changed on 09/27/18 at 23:08:52 by Chris Johns
Description: | modified (diff) |
---|
comment:2 Changed on 05/21/19 at 23:27:31 by Chris Johns <chrisj@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
In [changeset:"a74e43298c643979446b8163402a28a7a477c6e4/rtems-source-builder" a74e432/rtems-source-builder]: