59 Commits

Author SHA1 Message Date
Joel Sherrill
e73a258a3a source-builder/sb/options.py: Change arc to arch in help 2022-05-22 18:28:08 -05:00
Alex White
4e6dc64314 sb: Merge mailer changes from rtems-tools
This adds the improved mailer.py script from rtems-tools.

Closes #4388
2021-05-26 16:34:36 -05:00
Chris Johns
650c6f9933 sb: Use shebang env python
Closes #4037
2020-08-25 21:21:50 +10:00
Chris Johns
8effa3e542 sb/options: A Canadian Cross is a different host, build and target
The check must make sure each is different.
2020-06-30 18:03:23 +10:00
Chris Johns
3b0032d9e0 sb/options: Let --source-only-download download releases
- The release procedure uses the sb-set-sources command now.

Closes #3896
2020-03-04 20:37:04 +11:00
Chris Johns
ad5d3afea9 sb: VERSION may not contain a release path or hashes 2019-12-05 16:27:10 +11:00
Chris Johns
5f7c53a7bd sb: Align the version processing with rtems-tools.
- Use the same VERSION file format as rtems-tools so a common release
  generation can be used.

- The version.py is almost the same as rtems-tools. There are some
  minor differences, one is the RTEMS version is present in this
  file while rtems-tool uses config/rtems-release.ini.

Updates #3822
2019-11-18 11:29:45 +11:00
Chris Johns
fab7197c1b sb/options: Split options on the first '=' only.
Split only on the first '=' in an option so BSPOPTS can contain
an '='.
2019-10-26 06:52:07 +11:00
Chris Johns
4b7af07300 5/llvm: Add LLVM as a package for RTEMS.
- Add '%source download <source>' to only download the source
  and do not unpack and prep. This can used when a package
  internally needs another source package.

- Install the staging root only if it is present. A package
  may internally build another package that is not staged as it
  is not suitable for installing.

Updates #3250
Updatew #3797
2019-09-16 08:21:40 +10:00
Chris Johns
f68f0d94c0 sb/options: Update copyright year to 2019. 2019-07-21 21:09:34 +10:00
Chris Johns
c799e04a8f 5/packages: Add curl and update all packages with RTEMS 5 and LibBSD
- Update rtems-bsp support to correctly handle hosts for BSP.
- Clean up the options for a BSP.
- Check all RTEMS 5 packages and add 5/rtems-packages for all that build.
- Update download locations and checksum of all packages.

- The work requires the kernel and Libbsd hacve the same prefix.
2019-07-21 21:09:34 +10:00
Sebastian Huber
d523d4c9d6 sb: Change default prefix
Use OS prefix + "rtems" + $rtems_version as the default prefix to
automatically separate different RTEMS versions.

Close #3675.
2019-01-22 09:57:30 +01:00
Chris Johns
34a99328b4 sb: Fix the RTEMS options after strict option checking was added. 2019-01-22 07:21:28 +01:00
Chris Johns
13f4c37999 sb: Add support to search for a suitable version of python.
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
2018-10-21 09:49:02 +11:00
Chris Johns
d4dd593514 sb: Fix the short options message. 2018-10-12 10:56:25 -07:00
Chris Johns
d2d46786f1 sb: Include optional args in the valid option processing.
Optional arguments were not being included in the valid list of
options being checked so `--mail` resulted in being unknown.
2018-09-28 08:16:49 +10:00
Chris Johns
a16bfe19ef sb: Raise an error if an option is not registered and unknown.
Close #3519.
2018-09-15 17:43:29 +10:00
Maksim E. Kozlov
d30be3129e sb: Add option to set location of the patches directory
Signed-off-by: Maksim E. Kozlov <maksim.e.kozlov@gmail.com>
2018-02-20 09:51:05 +11:00
Chris Johns
d2b25d131d sb: Option --source-only-download does not download the source.
The option expansion is missing `--with-download'.
2018-02-08 09:18:34 +11:00
Chris Johns
7c0c0ba16c sb: Fix the log after breaking adding --without-log 2017-10-12 14:06:43 +11:00
Chris Johns
7b68249b57 sb: Add --source-only-download to make download source simple.
This is needed to test #2536.

Add an option to disable any log.

Updates #2536.
2017-10-12 13:48:52 +11:00
Chris Johns
f99c37eb0a bootstrap: Do not create a log file by default. 2017-05-10 10:41:19 +10:00
Chris Johns
78e7f6a751 sb: Add the release_path key to the version section in the VERSION file.
A release can specify a custom releaase URL path.

Closes #2952.
2017-03-26 13:38:18 +11:00
Chris Johns
38ed59a301 sb: Support --dry-run --with-download for 3rd party RTEMS BSP packages.
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.
2016-03-17 16:50:05 +11:00
Chris Johns
d3fa158109 sb: Add a download option --with-release-url/--without-release-url.
The default without the option is to prepend the release URL to the URL
list to download from the RTEMS FTP site first if the RSB is released. This
option can force the RTEMS FTP to be tried first when not a release,
or you can supply a different URL to download from or you can request
no RTEMS URL is tried first. Eg:

 --with-release-url
 --with-release-url=file://opt/local/cache
 --without-release-url

Move the RTEMS release URL to the default.mc file. Change the URL
to the RTEMS FTP server and do not use the https method of access.

The option's with_arg call was cleaned up to make sense.

Remove the log's raw output of an extra space.

Some download error message formating was cleaned up.

Closes #2636.
2016-03-10 16:32:49 +11:00
Chris Johns
9bae339bef sb: Report platform import errors. 2016-03-08 22:27:07 +11:00
Chris Johns
3a972f6102 sb: Update code base to support Python3 and Python2.
Fix Windows support to allow MSYS2 Python to be used.

Updates #2619.
2016-03-07 15:02:58 +11:00
Chris Johns
7dddcc2647 VERSION is an INI format file.
VERSION is an INI format file with 2 sections:

 1. version
  The version of the release. It contains:
    release = version-string
 2. hashes
  A list of hashes for packages that are formed when creating a release.
  A hash entry is:
    file-name = hash-type checksum

The approach means we do not need to hold hash values in configuration files
which need to be updated when a release is made. The release scripts can
generate the hashes when creating the release.

Update the version to 4.12.
2015-12-11 16:35:31 +11:00
Chris Johns
40e4222d87 Support released downloading of the RTEMS Tools and RTEMS Kernel.
Add a --without-error-reports flags to reduce the noise on --with-downloading.
2015-12-11 12:11:54 +11:00
Chris Johns
47d703fd8c sb. Add VERSION support for releasing the RSB.
Add support to release the RSB by adding the VERSION file. The file
is a single line with the version.

Fix the reports to include the version. Update the INI file
support to include the details of the build.

Show the GIT or released version when the command starts.

Closes #2480.
2015-12-03 22:25:00 +11:00
Chris Johns
6444d5806d Canandian Cross Compiling and RTEMS 3rd party package building Fixes.
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.
2015-07-20 13:49:42 +10:00
Chris Johns
e9dfd95dd9 Revert "add basic support for OpenBSD"
This reverts commit 83d97daa070d67d177b90796ed22e4044ec9012c.

It contains a GPL license.
2015-06-22 10:14:54 +10:00
Karel Gardas
83d97daa07 add basic support for OpenBSD 2015-06-22 10:12:44 +10:00
Chris Johns
ba0008c372 sb: Do not accept an extra separate option for --with/--without.
The --with/--without that does not have an extra option was
consuming an extra option on the command line.
2015-03-20 13:57:27 +11:00
Chris Johns
d7550652cb Add options support for --with/--without processing. Add --with-download support.
You can now test downloading by using --dry-run and --with-download.

Print the redirect if one is taken.
2015-02-18 10:27:02 +11:00
Chris Johns
3963ac4aae Detect a Cxc build from the options and automatically disabled installing.
This is similar to always providing --no-install on the command when building
a Cxc package.
2015-01-18 11:24:11 +11:00
Chris Johns
85b46b85f1 sb: Provide a default log if none is provided. 2014-10-31 15:11:10 +11:00
Karel Gardas
5eb832f296 add support for i386-solaris2 platform 2014-10-07 19:50:59 +11:00
Chris Johns
74da24cb61 sb: Generate an error report on an error.
Generate an error report users can send to the mailing list with
error details.
2014-05-08 13:20:29 +10:00
Chris Johns
8c19df26f6 sb: Fix git to clean before updating. 2014-03-26 17:13:47 +11:00
Chris Johns
348e4983df sb: Add options log_info.
Provide a log_info method for the options class to log the command line
and the python version string.
2013-09-03 07:59:38 +10:00
Ivan Temp
a4937d8585 sb: Add NetBSD support. 2013-09-01 08:39:12 +10:00
Chris Johns
ebf8a1f0f8 Automtically build the Autotools to bootstrap RTEMS.
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.
2013-07-16 10:02:41 +10:00
Chris Johns
54d142615c Clean the paths passed as args. 2013-05-17 12:52:22 +10:00
Chris Johns
1a56a07605 Add bare/config and move the source-builder/config to it.
Rework the RTEMS build set files to point to the new location.

Move the files into devel, this follows the ports naming in
FreeBSD.

Update the macros, defaults, and options to support this.
2013-05-14 11:08:02 +10:00
Chris Johns
5237f1ccb7 Fix support for Windows (MinGW) native builds using MSYS.
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.
2013-05-13 14:44:49 +10:00
Chris Johns
2edd4c9f28 Produce a better error message if the host support code does not load. 2013-05-01 05:30:22 +10:00
Chris Johns
fbb39e70c3 Add options help. 2013-04-30 13:22:28 +10:00
Chris Johns
dfdc129a08 Add user private macro loading. 2013-04-30 11:19:09 +10:00
Chris Johns
5142becd8e Refactor the logging support. 2013-04-21 18:37:02 +10:00