| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This is logically part of the previous patch, but has been split out to
ease reviewing.
|
|
|
|
|
|
|
|
|
|
| |
It was an odd thing to have, when Artifact objects are part of your
input.
Its purpose appears to have been to allow the build step to produce an
artifact called $morphology_name-rootfs, but since the split rules
decide that the artifact is called that anyway, the new_artifact step is
redundant.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cross-bootstrap is a way to build baserock on an architecture that
does not currently have Baserock. It can be used by `morph
cross-bootstrap <ARCH> <REPO> <REF> <MORPH>`, and will build an artifact
that can be used as a root filesystem with a basic build environment
with a script named `native-bootstrap` which will build and install
every chunk in the system.
If done with a devel system, this will give you a suitable environment
for building a proper Baserock system.
This does not currently provide a kernel for the target architecture.
Apart from adding the cross-bootstrap plugin, it also makes the
following changes:
* Moves the lit of valid_archs into morphlib (instead of locally-scoped
in MorphologyFactory)
* BuildCommand takes an extra argument, build_env
* split BuildCommand's get_artifact_object into create_source_pool and
resolve_artifacts (plus changes things that use get_artifact_object to
use the new way)
* setup_mounts finds out whether to do so by whether build_mode is
'staging', instead of by whether the setting 'staging-chroot' is true.
* Makes ChunkBuilder's get_sources use the
morphlib.builder2.extract_sources() method, and moved
set_mtime_recursively into morphlib.builder2, since it's not currently
used anywhere else.
* moved ChunkBuilder's get_commands into the Morphology class (plus
changes to anything that used get_commands)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reorganise the build_artifact() and build_artifacts() functions to
allow more complex work when setting up chunk builds in
build_artifact().
The staging area now holds the BuildEnvironment object (the
environment variables that should be set during build). This makes sense
because all build commands should be run inside the staging area and
therefore through the StagingArea object.
The BuildEnvironment object is now considered immutable after it is
created. The environment is used in cache key computation when
computing what artifacts are required; if it changes after that point
we risk either computing different artifact keys for the same artifact
or missing data in the cache key that should be included in the hash.
Better to force changes into a separate 'extra_env' variable.
|
|
|
|
|
|
|
|
|
| |
This is required for reproducing the morphologies that created the
artifacts.
It is possible, but expensive, to `unexpand` a url, provided your
repository aliases are the same as the morphology's, but this may
not always be the case.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Stratum metadata was getting lost because it is not part of the
chunks. Now metadata is written to the cache, then when the system
builder assembles the strata it copies the metadata in.
|
| |
|
| |
|
|
|
|
|
|
| |
Make sure that this directory is actually created before trying
to save artifacts to it. Also adjust all tests to use this new
directory for looking up artifacts.
|
|
|
|
|
| |
From Richard Maw, I'm just applying the patch. Having trouble
with the git server so can't do this via it.
|
|\ |
|
| | |
|
|/ |
|
|
|
|
| |
This is probably excessively large right now
|
| |
|
|
|