| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I603b5172902b5249874ea3bb90de59db5a908185
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a new 'Defaults' class to represent definitions defaults
The Python 'jsonschema' module is used to validate the contents of the
Defaults file. This module is already included in Baserock 'build' and
'devel' reference systems by way of the 'openstack-common' stratum.
This commit embeds a copy of the JSON-Schema schema for the DEFAULTS
file. I think the canonical location of this schema should be in the
reference definitions.git, for now. In future, the schemas should maybe
have their own repos. Either way, Morph should embed a copy for the time
being so that we are sure the schema matches how Morph expects to parse
the file.
Morph's automated tests are all updated to use definitions version 7.
I removed most of the tests for built-in build systems, because the
built-ins themselves are no longer part of Morph. Only the mechanism for
defining them needs to be tested now.
Change-Id: I65f8f1c967683ef605852bfae5c68518e53f9981
|
|
|
|
|
|
| |
... instead the more common autogen[.sh]
Change-Id: I3d797581708ffaefd1a1d4880253cfc2a3f5aa85
|
|
|
|
| |
Change-Id: Iad95af65bd5c528d2e72f5b2ffa80a01152f50ff
|
|
|
|
|
|
|
|
| |
ExtUtils::MakeMaker is preferred, Module::Build was meant to replace it
but essentially wasn't good enough, some projects still use Module::Build
though.
Change-Id: I124ee7b33f32167302e9bcb5299f6422f4fc346e
|
|
|
|
|
|
| |
Install to default locations rather than overriding.
Change-Id: Ieccd06afdf623eee0d09b8d29d40d147dc8c5e7c
|
|
|
|
|
|
| |
There are several perl build systems.
Change-Id: I17b5d61b7bffbdbcb9944e9e41449bec7a69c527
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes more sense to me conceptually: the idea of the 'manual' build
system is you specify *everything* manually.
However, I made this change to work around a problem in the Yarn test
suite. If the definitions used for testing are set to version 5 or
newer, `morph build` will try to run 'strip' and 'objcopy', which fails
because they don't exist in the test definitions.
We could solve this by setting 'strip-commands: []' in the test chunk
.morph files, but this triggers an error further down where `morph edit`
fails with 'Field strip-commands not allowed in morphology
test-chunk.morph'. This bug is caused by the conditional way that
strip-commands are currently implemented in Morph. When we drop support
for versions of the definitions format older than V5, the bug will go
away, and the `morph edit` command is deprecated in any case, so I think
it makes sense to work around it instead of trying to fix it.
Change-Id: Ib5124d72466a77cf3f28ed3e14cc4c231bdce4c4
|
|
|
|
| |
Change-Id: Ib8ed113731590b3c9bc3559fb07820bd25c462b8
|
|
|
|
|
|
|
| |
This adds strip commands to all build systems, that will be hooked up
into the cache and build logic.
Change-Id: I37ad3e43311a417a949e7dfef860a50fdf6b8c43
|
|
|
|
| |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
|
|
|
|
| |
Rather than generating the text of a morphology which is later loaded,
generate a Morphology object and return that.
|
|
|
|
| |
Add tests for cmake and qmake build systems
|
| |
|
|
|
|
|
|
|
|
| |
We already have configure-commands. Add pre-configure-commands and
post-configure-commands. Likewise for build-command, test-commands,
and install-commands.
Added-to-pacify: Rob Kendrick
|
|
|
|
|
|
|
|
|
|
| |
cmake has a ./configure, which accepts --prefix, but chokes on
--sysconfdir
This means that bootstrap is broken by this commit.
This reverts commit 5f22ded9711a047704fc91b68a182b057e29bc0f, reversing
changes made to e13753d4f3e26f3a4c705fb3e694ae8dea860c2d.
|
|
|
|
|
|
| |
Some autotools projects default their sysconfdir to $prefix/etc.
This leads to some projects trying to install files to /usr/etc, which
is not desired.
|
| |
|
|
|
|
|
|
|
| |
The cost of one git ls-tree call is roughly the same as one
git cat-file call. Therefore, when autodetecting the build system,
it is much faster to list the tree once and then search for the
required files than to call git cat-file for every possible one.
|
|
|
|
|
|
|
|
| |
This is needed to support Colin Walters's suggested build API
(http://people.gnome.org/~walters/docs/build-api.txt). In fact,
it's all we need to support it, I think.
Reviewed-By: Richard Maw (on irc)
|
|
|
|
|
|
|
|
|
| |
This was done with the aid of the pep8 script, available by running
`easy_install pep8`.
It may be worth making this part of ./check, but that will require
putting pep8 into the development tools stratum.
This should be easy, given pep8 has no external dependencies.
|
|\
| |
| |
| | |
Added a missing "export" and reformatted long lines a bit.
|
|/
|
|
|
| |
We can set NOCONFIGURE=1 to prevent ./autogen.sh from running
configure
|
| |
|
|
|
|
|
|
| |
This is needed because otherwise it will install the .pod file
into where the building perl expects it to be, which we should not
assume is the same as what we are building for.
|
|
|
|
|
|
|
| |
This needs to be set otherwise the paths of the perl building it
will be used.
This needs to be kept in sync with the perl that is being built as
well otherwise it won't be able to find modules
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This might still require --prefix to be passed to the install
command to work with custom prefixes.
|
| |
|
|
|
|
|
|
| |
We do not want a manual build system if there is no morphology,
since building with a no-op manual build system just hides the
fact that the chunk can't be built because a morphology is missing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|