| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
As we are running Morph from the source dir we need to set PYTHONPATH so
that extensions are correctly loaded.
Also, the version of Yarn in Baserock sets 'SRCDIR' so we do not need to
set a default any more.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
'origin/baserock/richardmaw/10312/ensure-not-add-repo-ref'
This includes a typo fix of Unpertify -> Unpetrify
Reviewed-by: Lars Wirzenius
|
| | |
|
|/
|
|
|
|
|
|
| |
It should no longer be possible to set these fields. Either we create
the morphologies with them in a GIVEN, at which point we already know
it's there, so checking whether it is there is pointless; or we check
that morph doesn't create them, but the current implementation would not
allow it, since yarn doesn't have THEN NOT.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This now means that the system morphology is not altered when chunks are
altered, so some tests had to change.
Since this uses the python warnings API, these warnings can be ignored
by running
python -W ignore:"stratum morphology" \
-W ignore:"system morphology" \
"$(which morph)" ...`
or turned into errors with
python -W error:"stratum morphology" \
-W error:"system morphology" \
"$(which morph)" ...`
|
|
|
|
|
| |
Refs should be completely omitted, and this is now the standard
behaviour, so there's little value in testing the behaviour separately.
|
| |
|
| |
|
|
|
|
|
|
| |
This moves the GIVEN system $system uses $artifacts from $source to the
generic implements section, and the Python implementation into the
edit-morph helper script.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's an unintended, but possibly not unwelcome feature, that if you have
a system that includes stratum artifacts that don't require building the
whole stratum, that those chunks are not built.
It's debatable whether the confusion of being able to have chunks
defined that aren't built outweighs reduced build-times, indeed the test
works by having a chunk that can never successfully build, which shows
that one pitfall is the possibility of not noticing some chunks fail to
build.
However, whether it's a good thing or not, we should document this
behaviour with a test, so that we don't accidentally break behaviour
that someone depends on.
|
| |
|
|
|
|
|
|
|
| |
This includes tests for systems with the default splits and a system
that selects only one of the produced stratum artifacts to go into the
system artifact, since this is roughly the expected use-case for the
tiny system morphologies.
|
| |
|
|
|
|
|
|
|
| |
It's useful for the splitting tests that will be implemented later, for
there to be files that are representative of the files that would be on
a common root filesystem, so the match rules can be tested by the right
chunk artifacts containing the right files.
|
|
|
|
|
| |
morph build the system... doesn't need the repository to be specified,
just the branch; morph is able to work it out for itself.
|
| |
|
|
|
|
|
| |
The new build code uses `git update-index --add`, which means it can use
morphologies that haven't previously been added.
|
|
|
|
|
|
| |
It doesn't make sense to be able to specify an architecture from the
IMPLEMENTS name, since you either need your architecture for something
to build, or testarch for something that consistently doesn't build.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bootstrap chunks don't make it into the final system, so there needs to
be an extra check for empty systems after the sources have been collected.
This was complicated slightly by the fact that if you try to build a chunk
directly you will have no strata in your sources, hence no non-bootstrap
chunks, but validation for having been told to build a chunk is best
handled later.
This amends the old yarns that depended on building a bootstrap chunk
and adds a new one that explicitly builds a system with bootstrap
chunks.
|
|
|
|
|
|
|
|
|
|
| |
It doesn't currently make sense to build a system which contains no
strata. We may later add other fields, such as initramfs to contribute
to the system's artifact, but until then it's another bug to trip over.
This uses collections.Sequence for checking the type of the systems entry
in the morphology as a style choice, though it allows more flexibility
if the types in the parsed morphology change.
|
|
|
|
|
| |
Set -e meant that the stderr could never be re-output, catching the
return code and re-outputting was not sufficient.
|
|
|
|
|
| |
Saving the result is useful for the tests, but diagnostics of failures
are quicker if the result is printed to the terminal as well.
|
| |
|
|
|
|
| |
argument
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will allow the user to append text to /etc/fstab during a
deployment, without having to write custom configuration extensions.
|
| |
|
|\
| |
| |
| |
| | |
Reviewed-by: Lars Wirzenius
Reviewed-by: Richard Maw
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 2dc382a2a9ae977b1158002cd2631ec5593959c1, reversing
changes made to 89a019af088ff62459699a6efdadf8ac8fe35dd9.
We decided to restore the old commands for the release, as we weren't
confident the new implementations were correct yet.
To gain that confidence we need to use them, so the old versions are no
longer available, and the new edit code is used when the edit subcommand
is invoked.
Doing so also requires the test suite to use the edit command instead of
new-edit.
|
|
|
|
|
|
|
| |
The test suite got adapted so it requires the new edit instead of the
old one. So use the new edit instead of the old one in the test.
This is a kluge, and needs to be reverted after the BR10 release.
|
|
|
|
|
|
|
|
|
| |
This exposed a bug in yarn: it does not notice when two scenarios have
the same name, and uses the same DATADIR directory for two scenarios.
Oops.
Fixed this by changing one of the scenario names in the Morph test
suite. Yarn itself will be fixed separately.
|
| |
|
| |
|
|
|
|
|
|
| |
The MorphologyLoader validates morphologies stricter than old code, so
adjust the test morphology accordingly: add arch to a system morphology,
and build-mode and build-depends to a stratum one.
|
| |
|
|
|
|
|
|
|
|
|
| |
Checkout needs the branch repository and ref. It was previously only
getting the ref.
This was not noticed, since the implementation was only used in
cases where it was expected to fail, and the nature of the error
was not being checked.
|
|
|
|
| |
Reported-by: Tiago Gomes
|