| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|/
|
|
|
| |
As we use ordererdict for python < 2.7 as well
See 37f8d84d7ab356169bf7c04bdecb39a61b85c88d
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This changes the cache key generation so that it will ignore unimportant
fields of the morphology, e.g. description, build-depends, chunks.
description is unimportant because it does not affect building, and
build-depends/chunks are unimportant because they are already considered
|
|
|
|
| |
Includes new test.
|
|
|
|
| |
Code to generate system images was being duplicated in each test needlessly.
|
|
|
|
| |
Be consistent about placement of test description, blank lines, etc.
|
|
|
|
|
|
|
|
| |
Most of the bespoke logic for the version check is unnecessary,
since the output to display can be easily inferred from the filename.
This fixes some test failures where the version check would cat a
file to fake the output, but fail because the file was removed.
|
|
|
|
|
| |
This is for users who prefer the old behaviour of building from the
remote repos.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This means that Morph no longer requires changes to be pushed in order
to build them.
The repos from the system branch are currently cached in the local
repo cache as part of the build process, which is far from ideal.
Tests for 'morph build' now test build without push. The build
metadata now includes a repo path that is inside the TMPDIR, so the
tests have been rewritten to avoid having any hardcoded cache keys
because the cache keys are no longer static.
|
|
|
|
| |
Some tests were using test:morphs-repo instead.
|
| |
|
|
|
|
|
|
| |
This reduces the space required from the full size of the compressed
disk image, which meant that tests could not be run on systems where
TMPDIR is a smallish tmpfs.
|
|
|
|
|
|
| |
This is intended to for human consumption, with the full set of
metadata in /baserock/system-artifact-name.meta. It currently lists
system name, the symbolic ref of the system morphology and build date.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
git://git.baserock.org/baserock/morph
This includes a fixup of shell quoting in tests.as-root/lib.
Tests needs to be run with a larget TMPDIR than systemd's default,
since system images can be large.
|
|/
|
|
|
|
|
|
| |
This makes it easier to identify what version of a system we are running.
Tests are updated to check inside the contents of the rootfs we created,
and the code to mount the rootfs as a loopback device was extracted out
into tests.as-root/lib
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The make-patch test assumes system images will be mountable. This
patch disables that part of the test and adds a warning that we
need to sort this out longer-term.
|
|
|
|
|
|
|
|
| |
This alters the test behaviour so that umount;losetup becomes
umount -d. This means that util-linux and busybox line up in
terms of behaviour for this test.
Reviewed-By: Richard Maw (Over the shoulder)
|
|
|
|
|
|
|
|
|
|
| |
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 gives us consistency with morphologies, where the triplets are
repo|ref|morphology, not repo|ref|filename
Anyone who runs 'morph build baserock:morphs master system.morph' will
now see an error ending with 'was looking for system.morph.morph', which
should make it clear where they have gone wrong.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
More importantly, this test verifies that after building once,
additional builds do not generate additional artifacts if nothing
has changed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 is needed because we are replacing the current build command
by a new one that builds from a local system branch. Since that will
be the more common scenario, we want the new implementaiton to go by
the name 'morph build'.
This commit therefore renames 'morph build' and updates all the
tests to use 'morph build-morphology' instead.
|
|
|
|
|
|
|
|
| |
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".
|
|
|
|
|
| |
The Disk image builder can work on non-x86 and as such we should
let it test anywhere.
|
|
|
|
| |
This overrides the mbr search path to a file that doesn't exist.
|
| |
|