| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Do not remove this code for now as its possible that new versions
of morph build old sytems without the install-essential-files
extension
Change-Id: I5e49d0bc6baee73bedf16469d922822e76286bc1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I had a stratum artifact in my artifact cache which for some reason was
0 bytes long. When building a system that included this stratum, `morph
build` gave me the following output
2015-04-13 13:48:57 ERROR Traceback (most recent call last):
File "/src/morph/morphlib/builder.py", line 539, in build_and_cache
self.unpack_strata(fs_root)
File "/src/morph/morphlib/builder.py", line 600, in unpack_strata
chunks = [ArtifactCacheReference(c) for c in json.load(f)]
File "/usr/lib/python2.7/json/__init__.py", line 290, in load
**kw)
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
With this patch, I get a better error:
ERROR: Corruption detected: No JSON object could be decoded while
loading
/src/build/cache/artifacts/8b4422c58ecb2a085b142fbba74b760f501f65d4b2885bf707994973230e0c58.stratum.build-essential-minimal
Change-Id: I0ad359901c5da75bd26d5a1a8108ef4e6f1d7708
|
|
|
|
| |
Change-Id: Ibda7a938cd16e35517a531140f39ef4664d85c72
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
|
|/
|
|
| |
Change-Id: I771c3de9cecda7a503f4d36ae5d9fabc040892e4
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This helps refactoring morph to get rid of treeishes.
|
|
|
|
|
|
|
|
| |
When making a copy of the repository to build from, builder copies the
.git directory then checks out the ref it wants.
However sometimes this doesn't add the files to the working directory,
possibly because the files it is missing weren't changed in the difference
between what the .git thought HEAD was and what is now checked out.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
I found the write_cache_metadata and prepare_binary_metadata methods
be confusingly similar, when skimming code. Since write_cache_metadata
was very short and only used from one place, inlined it, which removes
the confusion without, I think, adding complexity.
|
|
|
|
|
|
|
|
| |
The --target-cflags option is really just a temporary solution. At some
point we will want to have a proper target architecture/device
description that morph uses to define compiler flags etc.
For now, I hope this will do.
|
| |
|
| |
|
|
|
|
|
| |
The system images will later need to be read, so useful commands
want to be shared
|
|
|
|
| |
It only needs a morph, not a blob
|
|
|
|
|
| |
This is achieved by copying vmlinuz, System.map and extlinux.conf
to the default subvolume.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
This should stop tar from replacing symbolic links with directories
and instead follow the symbolic links, extracting the files into
the linked directories
|
| |
| |
| |
| | |
f.write does not add them
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
Previously, we could get a situation where chunks named the same way
in two morphologies could interfere with each other: they could generate
the same cache key, resulting in their chunks overwriting each other.
Now this won't happen anymore.
|
| |
| |
| |
| | |
The mkimage.sh script should now be unnecessary again.
|
| | |
|
| |
| |
| |
| |
| | |
Add PREFIX to the whitelist of environment variables that
can affect the cache keys.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previous change would share the same environment between all Builders
this may not have broken anything yet, but this change in behaviour
was unintentional.
The relevant cache keys are not altered by Builders and they are set
at the time the Builder is created, so the build string can be cached
rather than generated every time a cache key is needed
|
|/
|
|
|
|
| |
env is created in Builder's constructor from app.clean_env
cache keys now contain parts of the environment that may cause
chunks to be built differently
|
|
|
|
|
|
|
|
|
| |
Use dd and sfdisk instead of qemu-img, parted and install-mbr
Write files without using tee, that was only required when we were
not expecting morph to be run as root
partx has not been touched, I don't know enough about how to process
the output in python and I don't speak awk
|
| |
|
| |
|
|
|
|
| |
We can use self.app.settings instead.
|
|
|
|
|
| |
This is better done in morph, I think, since it is clear policy,
and should not be buried deep in the call stack.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The "cache prefix" concept is not immediately clear, and it's
generally speaking best to centralize the construction of filenames
in the cache to the CacheDir class anyway.
Also, use SaveFile for writing the log file, instead of writing it
to a temporary file and then copying, which is unnecessary I/O.
|