| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This hard-coded the expected artifact key, which is dependent on
architecture.
Since we don't care about the output, so much as it failing, let's just
discard it.
|
|
|
|
|
| |
uname tends to only give us a valid morph architecture on x86_64,
this makes it work on other architectures.
|
|
|
|
|
|
|
|
|
| |
This reverts commit f366960273b026322f7e7cc3c1eb0cd632ebc73e.
These changes break building on x86_64, which is our main development
platform.
Better patches will be forthcoming later.
|
|
|
|
|
|
|
|
| |
uname will return the same string morph expects as an architecture on
x86_64, but the canonical x86_32 architecture names match i?86 instead.
To make it work on 32-bit, we replace calls to uname with morph
print-architecture, which does the translation for us.
|
| |
|
|
|
|
|
|
|
|
| |
This messes up the baserock-system-config-sync tool. Systemd does not
require /etc/fstab to exist in any case.
I have bumped the 'system-compatibility-version' field in this commit
to trigger rebuilding all system artifacts.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If two systems with the same name (e.g. different repo/ref) depend on the
same strata, then it will collide with systems which depend on different
artifacts from that stratum, but the same number of artifacts.
For example, if you checkout an existing branch and change the artifacts
used by one of its strata, then your local changes won't be built.
This is because the 'kids' field lists artifacts it depends on by their
cache-key, which is now no longer sufficient to uniquely identify
artifacts. The same number of artifacts issue is from it listing cache
keys multiple times.
The fix for this is to include the artifact name, so the 'kids' field is
now a list of dicts, with artifact name and cache key.
This is a dict rather than a tuple so that the generated /baserock
metadata is more readable.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Chunk artifacts need the [(artifact_name, [regular_expression])] so that
if the default split rules change, or the blending rule changes, then
an extra version field doesn't need to be added to the cache key computer.
This is for future plans to allow the split rules to be configurable
and allow us to more easily change them.
System and Stratum artifact computations don't need this, since those
splitting rules are already expressed in the dependencies information.
|
|\
| |
| |
| | |
Changed the error (exception) to list all obsolete fields.
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This changes the interface of branch-from-image to only take 1 parameter,
the name of the new system branch, as the root repository is loaded from
the metadata.
This was also what the previous version of branch-from-image did, but
that silently ignored the parameter.
Given there are not many users of branch-from-image, I felt it was a
reasonable change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To the best of my ability to understand the old "morph build" code, these
tests fail with this error:
Conflicting versions of stratum 'hello-stratum' appear in the build.
because of how the old "morph build" code creates temporary build refs,
and gets them wrong. I believe the new "morph edit" is correct, but have
not been able to find out what the root problem in "morph build" is,
because the code is beyond my ability to understand it within two hours.
Since I have a deadline for "morph edit", I reluctantly disable these
tests, temporarily, rather than back out of all "morph edit" changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I shouldn't be doing this in the middle of refactoring, but trying to
get the new code to emit exactly the right kind of JSON is too much pain,
and these tests need to be rewritten to use YAML in the near future anyway
(we'll drop JSON support eventually), so I don't want to spend more time
on this than necessary.
The changes in this commit convert morphologies in JSON to YAML, and
fix test code that modifies the morphologies to work with the YAML.
There is probably more JSON lurking about.
|
|
|
|
|
|
| |
In addition, when we start using tbdiff for upgrades, all of this will
need to be re-designed and re-implemented anyway. The current plugin
is dead code. Note that the test suite had already been disabled.
|
|
|
|
|
| |
The petrify code needs the branches to be on the git server for it to
work, so we push things.
|
| |
|
|
|
|
| |
run-in-artifact-with-different-artifacts test
|
|
|
|
|
| |
Previously, we were building a disk image, and that had a factory sub-volume,
but now we're building a rootfs tarball instead, and that doesn't have a factory.
|
|
|
|
|
|
| |
make-patch needs to be changed to work with rootfs-tarball systems,
instead of disk images. This is not happening any time soon, so disable
the test for now.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| | |
'baserock/richardholland/add-metadata-dir-setting-to-branch-from-image'
Reviewed-by: Jonathan Maw <jonathan.maw@codethink.co.uk>
|
| | |
|
|\ \
| | |
| | |
| | | |
Reviewed-By: concensus
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Conflicts:
morphlib/bins_tests.py
Reviewed-By: consensus
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|\ \ \
| |_|/
|/| | |
|
| |/
| |
| |
| | |
This will speed up the test suite a little bit.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a `run-in-artifact` command which allows another command
to be run in a system.
There is also a `content-manifest` command which gives a
manifest of the artifacts, which commits they were built from,
and if possible, a version.
This adds a morphlib.bins.call_in_artifact_directory() method
to run a command inside an artifact and to generate a manifest.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The test builds a system, makes a commit to mainline, then branches
from the system and checks whether it is petrified to the exact commits
that the system was built from by checking the morphology contents and
rebuilding the system.
|
|/ |
|
|\ |
|
| | |
|
|\ \ |
|
| |/ |
|
|\ \
| |/
|/|
| |
| |
| | |
'origin/baserock/richardmaw/temp-build-ref-commit-fix'
Broke a long line to make test suite pass.
|
|/
|
|
| |
This was the only case found which was fixed by the previous commit.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ssh://git.baserock.org/baserock/baserock/morph
This includes the following fixups:
- altering the bootstrap script to install ordereddict and simplejson.
- Adding a comment to clarify that it is intentional to use simplejson
if collections does not have OrderedDict
- Amending the copyright years to include 2013
|