| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The temporary build branch (--local-changes=include) feature can be
convenient, but it is also slow, and causes the resulting system to be
'unreproducible' (built from temporary commits).
Before:
$ morph build systems/devel-system-x86_64-generic.morph
2015-03-31 10:47:18 Starting build 53546647f92a4283bf96e33ea93e767e
2015-03-31 10:47:18 Collecting morphologies involved in building systems/devel-system-x86_64-generic.morph from master
2015-03-31 10:47:25 Building file:///src/ws/master/baserock/baserock/definitions 7735ec20d13490058a3d7758f79471637ce1ae71 systems/devel-system-x86_64-generic.morph
2015-03-31 10:47:25 Deciding on task order
...
After:
$ morph build systems/devel-system-x86_64-generic.morph
2015-03-31 10:46:21 Looking for uncommitted changes (pass --local-changes=ignore to skip)
2015-03-31 10:46:21 Creating temporary branch in /src/ws/master/baserock/baserock/definitions named refs/heads/baserock/builds/f0b21fe240b244edb7e4142b6e201658/8df11f234ab24d22a9616ce911542332
2015-03-31 10:46:28 Building file:///src/ws/master/baserock/baserock/definitions 7735ec20d13490058a3d7758f79471637ce1ae71 systems/devel-system-x86_64-generic.morph
2015-03-31 10:46:28 Deciding on task order
...
Change-Id: I21a3e65c29adf0b07f743289c6b3f0f4dddc34be
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
$ morph build systems/devel-system-x86_64-generic.morph --verbose
2015-03-31 09:35:36 new environment variable GIT_NO_REPLACE_OBJECTS = "1"
2015-03-31 09:35:36 Starting build 3fba9406f75242afbfdb413bf9658516
2015-03-31 09:35:36 Collecting morphologies involved in building systems/devel-system-x86_64-generic.morph from master
2015-03-31 09:25:08 Adding uncommitted changes in /src/ws/master/baserock/baserock/definitions to <morphlib.gitdir.GitDirectory object at 0x7f6137060cd0>
After:
$ morph build systems/devel-system-x86_64-generic.morph --verbose
2015-03-31 09:35:36 new environment variable GIT_NO_REPLACE_OBJECTS = "1"
2015-03-31 09:35:36 Starting build 3fba9406f75242afbfdb413bf9658516
2015-03-31 09:35:36 Collecting morphologies involved in building systems/devel-system-x86_64-generic.morph from master
2015-03-31 09:35:37 Adding uncommitted changes in /src/ws/master/baserock/baserock/definitions to refs/heads/baserock/builds/f0b21fe240b244edb7e4142b6e201658/8df11f234ab24d22a9616ce911542332
Change-Id: I5b61ae6f10b26458178ead551e7ec12c1926014e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reduces noise on the console when using `morph build --verbose`.
Before (example from my current chroot):
$ morph build systems/devel-system-x86_64-generic.morph --verbose
2015-03-31 09:25:08 new environment variable SCHROOT_UID = "0"
2015-03-31 09:25:08 new environment variable SCHROOT_CHROOT_NAME = "baserock-2015-03-24-ostree"
2015-03-31 09:25:08 new environment variable LOGNAME = "root"
2015-03-31 09:25:08 new environment variable XDG_SEAT = "seat0"
2015-03-31 09:25:08 new environment variable PATH = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
2015-03-31 09:25:08 new environment variable XDG_VTNR = "1"
2015-03-31 09:25:08 new environment variable HOME = "/root"
2015-03-31 09:25:08 new environment variable SCHROOT_ALIAS_NAME = "baserock-2015-03-24-ostree"
2015-03-31 09:25:08 new environment variable TERM = "xterm"
2015-03-31 09:25:08 new environment variable SHELL = "/bin/bash"
2015-03-31 09:25:08 new environment variable SHLVL = "1"
2015-03-31 09:25:08 new environment variable SCHROOT_USER = "root"
2015-03-31 09:25:08 new environment variable EDITOR = "vim"
2015-03-31 09:25:08 new environment variable SCHROOT_GID = "0"
2015-03-31 09:25:08 new environment variable SCHROOT_GROUP = "root"
2015-03-31 09:25:08 new environment variable GIT_NO_REPLACE_OBJECTS = "1"
2015-03-31 09:25:08 new environment variable SCHROOT_COMMAND = "/usr/bin/env SSH_AUTH_SOCK=/tmp/tmp.eVw95CcpjS/auth-sock /bin/bash -l"
2015-03-31 09:25:08 new environment variable PYTHONPATH = "/src/morph/"
2015-03-31 09:25:08 new environment variable SSH_AUTH_SOCK = "/tmp/tmp.eVw95CcpjS/auth-sock"
2015-03-31 09:25:08 new environment variable SCHROOT_SESSION_ID = "baserock-2015-03-24-ostree-f3c36e20-c3db-4404-8808-e805ca0c1ac4"
2015-03-31 09:25:08 new environment variable MANPAGER = "less -R"
2015-03-31 09:25:08 new environment variable XDG_SESSION_ID = "2"
2015-03-31 09:25:08 new environment variable _ = "/src/morph/morph"
2015-03-31 09:25:08 new environment variable OLDPWD = "/src/morph"
2015-03-31 09:25:08 new environment variable PWD = "/src/ws/master/baserock/baserock/definitions"
2015-03-31 09:25:08 new environment variable USER = "root"
2015-03-31 09:25:08 Starting build 8f80a816dfe44f6c8352a4242b84bf48
2015-03-31 09:25:08 Collecting morphologies involved in building systems/devel-system-x86_64-generic.morph from master
2015-03-31 09:25:08 Adding uncommitted changes in /src/ws/master/baserock/baserock/definitions to <morphlib.gitdir.GitDirectory object at 0x7f6137060cd0>
2015-03-31 09:25:15 Building file:///src/ws/master/baserock/baserock/definitions 7735ec20d13490058a3d7758f79471637ce1ae71 systems/devel-system-x86_64-generic.morph
...
After:
$ morph build systems/devel-system-x86_64-generic.morph --verbose
2015-03-31 09:23:38 new environment variable GIT_NO_REPLACE_OBJECTS = "1"
2015-03-31 09:23:38 Starting build acfdf9a405384e1ea4e1b62cd1bce27f
2015-03-31 09:23:38 Collecting morphologies involved in building systems/devel-system-x86_64-generic.morph from master
2015-03-31 09:23:38 Adding uncommitted changes in /src/ws/master/baserock/baserock/definitions to <morphlib.gitdir.GitDirectory object at 0x7f8fcbe86bd0>
2015-03-31 09:23:45 Building file:///src/ws/master/baserock/baserock/definitions 7735ec20d13490058a3d7758f79471637ce1ae71 systems/devel-system-x86_64-generic.morph
...
Change-Id: I20bbdf35b280ccd305bc7e4a70b5f3de7679a368
|
|
|
|
|
|
|
| |
In the native build phase, building of cmake will fail if the order of
pathes in $PATH is twisted. So we set it to fixed to avoid problem.
Change-Id: I6b4d3ed3d5331c2db4f5f3324207fabb4310985c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Usefully, this provides the resolved repo URL, which may be
aliased in the actual defintions. This makes it easier to
use a workflow that avoids `morph edit`. Resolved repo URLs
can be git cloned.
It also provides other info about the chunk. In the case
of multiple strata containing the same chunk name, the tool
lists them all, saying which stratum they come from.
Example output:
# morph get-chunk-details libpng
In stratum graphics-common:
Chunk: libpng
Repo: git://git.baserock.org/delta/libpng
Ref: 259fb7761d747655c607efcec7a12ff1f3c24561
Change-Id: I6b540e38d9521f3f473b51c9031e508ddcb458ee
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Let morph recognise the architecture string reported by
a big-endian ARMv8 kernel.
Change-Id: I64323e6c2a4675a8cc34f185b10fa04754ebe8c8
|
| |
| |
| |
| | |
Change-Id: I1521c0bdec4d7a6812f8988a2349e66b08161de8
|
| |
| |
| |
| | |
Change-Id: I44693d15aa5e92d5f09720065788adff34f8685c
|
| |
| |
| |
| | |
Change-Id: If011a5518fd30914c89b00099b9d05cff5cd3959
|
|/
|
|
| |
Change-Id: Ic715815bbad3ef1ee9ab457b62a194eaef45744c
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I accidentally tried to deploy a Baserock upgrade to a Fedora cloud
machine. Every SSH command that Morph ran got the following output:
Please login as the user "fedora" rather than the user "root".
The existing implementation of check_ssh_connectivity() didn't raise
an exception, leading to confusing errors further down.
The new implementation produces this error:
ERROR: Unexpected output from remote machine: Please login as the
user "fedora" rather than the user "root".
Change-Id: Ida5a82b25d759167aa842194b0d833d0565b4acf
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: I6e714d1994632875a5a15f840fe8ab3a66dddc77
|
|\ \ \
| |/ /
| | |
| | | |
of definitions format"
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
definitions format
This patch will add the following restriction:
if VERSION exist
and its a YAML file
and its a dict
and has the key 'version'
and the type stored in the 'version' key is an int
and that int is not in the supported format,
then fail.
So, if someone is using 'version: 4' in VERSION, morph will fail (as
opposed to current morph, that will not fail in the check but will
likely fail when it tries to compile)
Change-Id: I555f7e6018b9bdf18c80039df92a253acbd51c8c
|
| | |
| | |
| | |
| | |
| | |
| | | |
This adds a new config extension to allow deployments to write to /etc/hosts
by adding HOSTS_x: </etc/hosts line> to a cluster morph in a similar manner
to the fstab.configure extension.
|
| | | |
|
| | |
| | |
| | |
| | | |
A function to read lines from a dictionary and append them to a file
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Some lines were more than 79 characters long. This was causing
./check --full to fail on master of morph. This commit fixes the
lines in question.
Change-Id: I80969d2d89d3922e021b716c250796188d7a7f4c
|
|\ \ |
|
| | |
| | |
| | |
| | | |
Change-Id: Ibda7a938cd16e35517a531140f39ef4664d85c72
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Rename instead removal in case the user is already using a
10-dhcp.network file
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use DHCP by defaul in the default interfaces:
- for /etc/networ/interfaces: "lo:loopback;eth0:dhcp,hostname=$(hostname)"
- for networkd: "e*:dhcp"
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
255.255.255.0 -> 24
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
a function
|
|/ / /
| | |
| | |
| | | |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
| | |
| | |
| | |
| | | |
I was meant to do this at merge time but didn't.
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I771c3de9cecda7a503f4d36ae5d9fabc040892e4
|
|\ \ \ \
| |/ / / |
|
| |/ /
| | |
| | |
| | | |
Change-Id: I7c6f618d5d19e03d906798a6f799d74ac55b0d09
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If we know the build system for a chunk is cached then we also know that
it doesn't have a chunk morph, so we don't need to look for one.
(We only cache the build systems of chunks that don't have chunk morphs)
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a bug that causes morph to run build system detection
even though the build system has already been cached.
The cache is accessed before the key has been computed
(absref isn't known until after we've called resolve_ref)
so it always misses.
|
|\ \
| |/
|/|
| |
| | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
|
| |
| |
| |
| |
| | |
This makes it easier to spot if an incomplete build was due to the user
cancelling, or if it represents a dropped connection or internal error.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It gets messy having hundreds of build-step-xx.log files in the current
directory, and if two builds are run in parallel from the same directory
the logs for a given chunk will be mixed together in one file.
Now, a new directory named build-0, build-1, build-2 etc is created for
each new build.
If the user passes --initiator-step-output-dir the logs will be placed
in that directory, instead. This behaviour is the same as before.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Reviewed-By: Paul Sherwood <paul.sherwood@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Only fail if:
- VERSION file exists
- and its a yaml file
- and its a dict
- and has the key 'version'
- and the contents of the key 'version' is an int
- and that int is in the list of non_supported_versions (empty
at the moment)
|