16 Commits

Author SHA1 Message Date
Chris Johns
1f972c2108 sb: Add git clean to the supported git commands. 2020-05-08 14:28:04 +10:00
Chris Johns
1519d11fce sb: Ignore untracked files or detached HEAD in the dirty repo check.
Closes #2960.
2017-09-22 11:59:46 +10: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
b0f9e30fa4 Add merge to the git and download modules to merge after a fetch.
Update the RTEMS tools and newlib-git to merge after the fetch.
2015-03-18 08:21:34 +11:00
Chris Johns
d790668e39 sb: Add support for the standard git protocols for the %source command.
The source selector 'git://' now supports a protocol option that lets
you set the specific protocol git is to use to access a remote
repository.
2014-08-29 13:14:14 +10:00
Chris Johns
c21f09e060 sb: Update git support. 2014-08-09 23:51:02 +10: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
5601b9ccae sb: Add submodule support to the git support. 2014-02-04 18:22:03 +11: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
97a685fae3 Add mail support to mail reports. 2013-04-30 11:20:54 +10:00
Chris Johns
5142becd8e Refactor the logging support. 2013-04-21 18:37:02 +10:00
Chris Johns
b0c2756190 Clean up the git module. 2013-04-16 17:41:31 +10:00
Chris Johns
649a64c0af Add download git support.
Add support to use a git cloned repo as the source. Move the download
code out of the build module and into a separate module. Add to this
module support for git.

Update the GCC common configuration to support using a symlinked
git repo.

Add checks for all languages.
2013-04-16 14:28:34 +10:00
Chris Johns
cb12e4875c Refactor defaults, macros and options.
To support building snapshots and pre-release source the defaults
has been refactored. The defaults have been moved to a stand alone
file and a macros.py module added. This modile abstracts the
old default dictionary turning it into a class. The macros
class can load macros from a file therefore the defaults have
been moved to a stand alone file.

The use of defaults has been removed from the project. The only
case where it is used in the options where the defaults are read
from a file. Macros are used everywhere now.

The defaults.py has been moved to the option.py and the separate
options and defaults values has been moved to a new pattern. When
constructing an object that needs macros and options if the macros
passed in is None the defaults from the options are used. This makes
it clear when the defaults are being used or when a modified set of
macros is being used.

The macros class support maps. The default is 'global' and where all
the defaults reside and where configuratiion file changes end up.
Maps allow macros to be read from a file and override the values
being maintained in the 'global' map. Reading a macro first checks
the map and if not present checks the 'global' map.

The addition of maps to the macros provides the base to support
snapshots and pre-release testing with standard configurations.
This functionality needs to be added. It works by letting to
specify a snapshot with:

source0: none, override, 'my-dist.tar.bz2'

and it will be used rather the value from the standard configuration.
With a build set you need to also specify the package these macros
are for. The maps provide this.
2013-04-09 13:51:43 +10:00
Chris Johns
d7e4900fe7 Add support for GIT.
The git module allows basic access to git. Hosts are now required
to provide git support.

The defaults module now returns options as a list split on '='.
2013-03-03 13:24:19 +11:00