| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Making the changes mentioned in the comment would be quite invasive,
and we don't have to do so quite yet.
|
| |
|
| |
|
|
|
|
|
| |
The artifact's build dependencies replace the build order graph
from previously.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the code would edit strata that dependended on the stratum
being edited, but would ignore the dependency chain beyond that. In
fact, we need to edit all strata in the dependency chain to avoid
having two different versions of a stratum in the same build.
This splits the modification into two steps: changing the stratum that
points to the chunk, and recursively changing references to any strata
that have been altered.
|
| |
| |
| |
| | |
Suggested-By: Richard Maw
|
| |
| |
| |
| | |
Reported-By: Richard Maw
|
|\ \
| | |
| | |
| | | |
git://git.baserock.org/baserock/baserock/morph
|
| | |
| | |
| | |
| | | |
Reported-By: Richard Maw
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This allows code sharing amongst all the places that create a
system in a raw disk image. This also adds the creation of
a factory-run subvolume, and fixes error messages for errors
that happen during a disk image creation.
Suggested-By: Richard Maw
Suggested-By: Sam Thursfield
|
| | |
| | |
| | |
| | | |
Suggested-By: Richard Maw
|
| | |
| | |
| | |
| | | |
Suggested-By: Richard Maw
|
| | |
| | |
| | |
| | | |
Suggested-By: Richard Maw
|
| | |
| | |
| | |
| | | |
Suggested-By: Richard Maw
|
| | |
| | |
| | |
| | | |
Suggested-By: Sam Thursfield
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This saves a check (and an indentation) in the deployment plugin,
making the code a tiny bit simpler.
Suggested-By: Sam Thursfield
|
| | |
| | |
| | |
| | | |
Suggested-By: Sam Thursfield
|
| | |
| | |
| | |
| | | |
Suggested-By: Sam Thursfield
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a new optional field to system morphologies:
"configuration-extensions".
The deployment plugin relies heavily on code from the branch and
merge plugin. This needs to be eventually fixed by refactoring
the codebase so that the shared code is in morphlib and not in
plugins. However, doing that is beyond the scope of adding a
deployment plugin.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Newer versions of git have changed the behaviour when cloning with
--branch=$sha1. It used to be nearly synonamous with clone then checkout.
The clone then checkout logic is different to the clone with branch
logic, since they have different behaviour with regard to the branches
that are checked out in the workspace.
|
| |
| |
| |
| |
| |
| | |
Branch from image takes a directory containing metadata, then creates
a branch of what the System was built from and petrifies it to when
the System was built.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Pass resolved_refs in with the key as a repo, ref pair to petrify
to the value, rather than petrifying to the current state of the ref.
Set update_working_tree to also change files in the working tree,
instead of just the index.
|
| |
| |
| |
| |
| |
| | |
Applications default to logging to console, which causes unwanted
output during tests, and I thought this was tidier than allowing
tests to override the logger per-call.
|
| |
| |
| |
| | |
This returns a sorted list of possible aliases for a url.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This also involved codifying it ignoring malformed aliases.
Such behaviour was implemented before, but wasn't obvious.
The restructuring made it have a line of code of its own,
which meant it needed unit testing.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| | |
Allowing differences causes only confusion. Whether or not the 'name'
field should surive at all is up for debate: it's very useful when
seeing the contents of the morphology out of context (e.g. in
documentation or pastebins), but is that worth the extra effort?
|
|/
|
|
|
| |
This is equivalent to using yaml.safe_load(), but lets us customise
how yaml is parsed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For Morph to work it's necessary for the staging area to contain a
full FHS heirarchy. However, if the staging area is empty we want to
give the user an obvious error. Previously we would say something like:
OSError: [Errno 2] No such file or directory: '/tmp/ccache'
This makes it seem like the problem is with ccache. With this patch,
we will instead get as far as:
/bin/sh: No such file or directory
This should make the real problem clearer.
Also, aborting while trying to mount the ccache directory causes the
/proc and /dev/shm mounts to persist which is fixed by this patch.
|
| |
|
|\
| |
| |
| | |
Merge commit fixes up a copyright year and removes EOL whitespace
|
| |
| |
| |
| |
| | |
This can go away when we have made a release with yaml in it, and its
staging filler.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current versions of build-essential in the Baserock morphologies
don't contain distcc, but Morph tries to use distcc anyway. Since
useful operation of distcc requires setting up a distcc network,
there's no reason for it to be on by default.
This change fixes bootstrap, and means that users of the
build-essential staging filler no longer have to set no-distcc=true
manually.
In the future, cliapp will grow automatic boolean negation, which
will allow us to turn this setting into a 'distcc' setting that
defaults to false rather than the current rather ugly double negative.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Invalid text changed to be something that doesn't parse as YAML
either, and catch convert the YAMLError to the expected exception.
Ideally there wouldn't be any `#pragma: no cover`s, but I could not
trigger these code paths.
|
| |
| |
| |
| |
| | |
Tests are currently broken, one because invalid JSON
can be valid YAML, and coverage is incomplete.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This way everyone who needs json or an OrderedDict doesn't have to worry
about it.
Currently morph2 is the only one that needs this complex behaviour,
other users of the json module don't need object_pairs_hook.
|