| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allowed values:
staging: build with a staging chroot (default)
test: build with the host's tools
bootstrap: build with the host's tools, and do not include this
chunk in the final stratum artifact
In the past, 'normal mode' has been used to describe building a chunk
with the host's tools. We don't want that mode to ever be used,
because it is a huge hole in reproducability, but we need to keep it
around to avoid making Morph's cmdtest suite depend on Baserock.
Hopefully naming it 'test' should discourage potential abusers.
It is unfortunate that the build tests now take a separate code path
compared to real-world usage of Morph. However, this is necessary to
avoid a circular dependency between Morph's test suite and the
build-essential stratum in Baserock.
We do whole-build testing of Baserock, too, so the 'staging' code path
is still tested outside of Morph. However, testing a staging area
requires populating it with at minimum a working shell, and this is a
bit too complex to go in Morph's test suite.
|
|
|
|
|
|
| |
That means that bootstrapping Baserock is currently not possible with
this branch of Morph, but there's no reason it cannot be bootstrapped
using an older version of Morph instead.
|
| |
|
| |
|
| |
|
|
|
|
| |
Code to generate system images was being duplicated in each test needlessly.
|
|
|
|
| |
Some tests were using test:morphs-repo instead.
|
|
|
|
|
|
|
|
|
|
| |
This requires disabling the feature that retains the original order of
fields in a morphlogy when it gets overwritten. The implementation relies
on features that are not available in Python 2.6. We need to support
Morph on Debian squeeze, for bootstrapping purposes, and therefore need
to have it work with Python 2.6. However, the morphology rewriting is
only relevant for system branching and merging, and that isn't needed
for bootstrapping, so we disable the affected tests on Python 2.6.
|
|
|
|
|
|
| |
Move this into a script which can be sourced by the 'setup' scripts
and the actual tests (this is needed as the environment in 'setup' is
not passed on to the tests).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new command does a lot. First of all, its command line interface
has now changed to 'morph build SYSTEM' and it needs to be run from
a system branch.
When called, the new 'build' command will identify the repositories
and morphologies involved in building the system from the system branch,
create a build ref behind the scenes based on the system branch and add a
commit with all uncommitted changes to this build branch for every repo
involved. It will then push those build branches to the repository server
and kick off a build of BRANCH_ROOT BUILD_BRANCH SYSTEM.morph.
After building has finished, the remote build branches will be
deleted again.
|
|
|
|
|
|
|
|
| |
This removes the requirement that all strata must be in the same
repo as the system morphology.
Both the system "strata" field and the stratum "build-depends" field
are affected.
|
|
|
|
| |
Rename "sources" field of stratum morphologies to "chunks".
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This removes the code preventing the tests being run on a non-x86
system, and makes the test system it tries to build be the same
architecture as itself.
System Build assumes x86 if arch is not specified for backwards compatibility
right now.
|
|
|
|
|
|
|
| |
This will make a build fail if the morphology is missing explicit
build dependencies.
Also fix test causes so that ./check passes.
|
|
|
|
|
|
|
|
| |
Also, some bug fixes.
Also, when handling a BaseException, log the exception (with traceback)
that we're handling, in case there is an error while handling it, because
the second error will otherwise mask the first one.
|
|
|
|
|
| |
It may be better to print it to the console, but that requires
getting self.msg set
|
| |
|
|
|