- Make a single tarfile for all buildsets built
- Use the staging tree as the tarfile source
- Use python's tarfile module
- Create a config.file object without loading a .cfg file
Updates #4716
- Add line continuation support so empty macros can be used at
the end of configure command lines, ie RTEMS kernel. The
config parser removes empty lines and wihout this support a
trailing line continuation character joins a configure command
line to next command.
- Fix freetype's gmake support for non-GNU operating systems.
- Fix the config file handling of shell calls where the shell
command has nesting braces.
- Fix the bool check to support a '!' next to the check value.
The command python has been removed from upstream python and python2
and python3 is now used. This patch wraps the commands in a shell
script that locates a suitable python to run.
Updates #3537
- Track the size of a build of a package in a build set to determine the
maximum amout of disk space used. This can be used as a guide to
documenting how much space a user needs to set aside to build a specific
set of tools.
- The `%clean` stage of a build is now split into a separate script.
I do not think this is an issue because I could not find any `%clean`
sections in any build configs we have. In time support for the
`%clean` section will be removed, the package builder cleans up.
Closes#3516
Directives in if statements end at the end of an if. The cannot
change or split across directive boundaries.
Add more trace detail to config.py.
Updates #2661.
Add support for pkgconfig checks to fail when just downloading the
source so it is actually downloaded on hosts that may have a package
installed.
Updates #2657.
The building of 3rd party packages for an RTEMS BSP requires a valid
BSP so the standard method to download the source for releasing does
not work. This change adds support to allow this. The RTEMS BSP support
will not generate an error is no BSP or tools are provided or found.
The change addis logic operators to the %if statement so you can '||'
to 'or' and '&&' to 'and' logic expressions.
A new %log directive has been added to clean up the messages.
A new %{!define ...} has been added to aid checking within logic
expressions.
All command line --with/--without now appear as macros.
Add version.version to get just the RTEMS major and minor version.
Some pkg-config issues have been resolved.
Closes#2655.
The change fixes installing for RTEMS 3rd Party packages where the
RSB considered them Canadian Cross Compiling (Cxc). Fixing the
Cxc issue broke real Cxc builds. The change corrects the issue of
macros being changed in the Cxc and the prep data not being udpated.
The configuration is loaded again after the updated macros. The
macros are also copied and restored to ensure a clean stable base.
The change also introduces --rtems-tools and --rtems-bsp to align
the command line with the waf configure process or RTEMS application.
File download by http, ftp, pw support checksum. The %hash
directive provides a means of setting a hash used to
checksum the file.
Files on disk or just downloaded are checked.
Remove the 'opt' from various macros and shell variables.
Add pkgconfig to the checks to make it clear the check is a
pkgconfig check.
Add NTP support as the first package to be built using the RSB.
Split the RTEMS URL's out from the base bset file into a separate
file that be included by other files.
Add an RTEMS BSP configuration file to help abstract the process
of building 3rd party packages.
Clean the cross and canadian cross support up so we can cleanly support
cross and canadian cross building.
Refactor the pkgconfig support and clean up the PC file handling of
loading modules.
Add support for %{?..} to return false if a macro is %{nil}.
Add %{pkgconfig ..} support to allow better control of access RTEMS
pkgconfig files.
Remove the numbered source and patches and automatically manage
sources and patches. This removes the overhead in maintaining large
collections of patches.
Hack round the FreeBSD iconv support in Freebsd 10. In 10 libc now
supports iconv however iconv.h is present under /usr/local.
Start to add support to build qemu for MinGW via a Cxc. This is a
work in progress and contains lots of hidden traps.
In config.py separate out of the canadian build status.
Add a pkg-config look alike command so packages that use pkg-config can
build if pkg-config is not present on a host.
Add support to query package config from configuration scripts.
Nesting if statements did not correctly process the contents of
the nested if script. This change makes the processing uniform
across all the logic stages.
This changes adds support to build the autotools if the host installed
version is not a suitable version. Autoconf and automake have hard coded
references to the install prefix and host tools and this makes it impossible
to relocate, that is use in any path other than the install prefix. To
bootstrap automake you need to first build a suitable autoconf and with that
you can built automake for the install prefix. The other complication is
not referencing the install prefix in the path when building in the RSB.
Having the install prefix in the path can result in strange issues appearing
such as gcc using a new assembler feature not present in an older assember
installed under the install prefix.
The process is to build the autotools using an install prefix to an
internal path inside the RSB temporary path and to use that autoconf
to build the version for the install prefix. The internal install
prefix version is also used to bootstrap RTEMS.
Fix paths that need to be coverted to host format.
The shell expansion needs to invoke a shell on Windows as cmd.exe
will not work.
Munch the paths into smaller sizes for Windows due to the limited
path size.
User macro files passed on the command line allow a user to
override the defaults in configuration files to test new changes
in pending releases.
Fix macros issues with keys with more than one map.
Package descritions and info and now always added to macros.
Hack to get the source in macros into the source this. This needs
to move to the package class and will soon.
Fix a bug where the old defines was still referenced.