summaryrefslogtreecommitdiff
path: root/morphlib/builder.py
Commit message (Collapse)AuthorAgeFilesLines
* Add support for unionfsbaserock/adamcoldrick/use-overlayfs-when-deployingAdam Coldrick2015-02-061-7/+6
| | | | | | Overlayfs is new in version 3.18 of the kernel, so add support for a different implementation of a union/overlay filesystem in order to allow morph to work on older kernels.
* Use overlayfs when building systemsAdam Coldrick2015-02-061-5/+23
| | | | | This will allow us to cache systems as a list of chunks and a small filesystem delta, rather than a massive tarball.
* Fix line > 79 characters that was breaking ./checkSam Thursfield2015-01-191-1/+2
|
* Update CopyrightRichard Ipsum2015-01-191-1/+1
|
* Correct resolution of error_message_for_containerised_commandline method.Craig Griffiths2015-01-161-1/+1
|
* Rename builder2 module to builderSam Thursfield2014-12-191-0/+720
|
* Get rid of the old internal morph APIsLars Wirzenius2012-05-021-699/+0
|
* Make copy_repository get a repo instead of treeishLars Wirzenius2012-04-121-1/+1
| | | | This helps refactoring morph to get rid of treeishes.
* builder: ensure working directory matches commitRichard Maw2012-04-111-0/+1
| | | | | | | | 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.
* Avoid setting the mtime of broken symlinks.Jannis Pohlmann2012-04-051-1/+3
|
* Fall back to 'manual' build system if none is specified.Jannis Pohlmann2012-04-021-4/+1
|
* Automatically deduce type of chunk if one doesn't existLars Wirzenius2012-03-301-1/+2
|
* Make use of the new build system class in ChunkBuilderLars Wirzenius2012-03-301-36/+2
|
* Refactor: remove unnecessary methodLars Wirzenius2012-03-271-7/+5
| | | | | | | 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.
* Add --target-cflags option; set arch/fp in baserock-bootstrap on ARM.Jannis Pohlmann2012-03-261-1/+1
| | | | | | | | 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.
* Fix a few typos and so on.Jannis Pohlmann2012-03-231-1/+1
|
* fix overly long linesRichard Maw2012-03-231-2/+4
|
* morphlib: move filesystem stuff out of builderRichard Maw2012-03-231-39/+8
| | | | | The system images will later need to be read, so useful commands want to be shared
* make get_cache_id not require a blob to be passedRichard Maw2012-03-231-15/+13
| | | | It only needs a morph, not a blob
* Squashme: Temporary changes to make boot with btrfs work.Jannis Pohlmann2012-03-221-26/+32
| | | | | This is achieved by copying vmlinuz, System.map and extlinux.conf to the default subvolume.
* Squashme: Switch to generating images using btrfs.Super user2012-03-221-9/+16
|
* Build system images using btrfs and factory/factory-run subvolumes.Jannis Pohlmann2012-03-221-16/+31
|
* Merge remote branch 'origin/master' into rm/morph-pass1Richard Maw2012-03-161-4/+4
|\
| * tar: add -h option to extractionRichard Maw2012-03-161-1/+1
| | | | | | | | | | | | This should stop tar from replacing symbolic links with directories and instead follow the symbolic links, extracting the files into the linked directories
| * SystemBuilder: add newlines to fstabRichard Maw2012-03-161-3/+3
| | | | | | | | f.write does not add them
* | Merge branch 'master' into rm/morph-pass1-mergeRichard Maw2012-03-161-20/+44
|\ \ | |/
| * Fix morph cache key to use morphology filename rather than declared nameLars Wirzenius2012-03-151-1/+1
| | | | | | | | | | | | | | 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.
| * Fix system image building with morphLars Wirzenius2012-03-151-19/+43
| | | | | | | | The mkimage.sh script should now be unnecessary again.
* | build-system: autotools: use PREFIXRichard Maw2012-03-141-1/+1
| |
* | morphlib.builder.Builder: PREFIX changes cache-keyRichard Maw2012-03-131-1/+1
| | | | | | | | | | Add PREFIX to the whitelist of environment variables that can affect the cache keys.
* | morphlib.builder.Builder: fix sharing envRichard Maw2012-03-131-5/+8
| | | | | | | | | | | | | | | | | | | | 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
* | morphlib.builder.Builder: key depends on some envRichard Maw2012-03-131-2/+5
|/ | | | | | 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
* morphlib/builder.py: bring it closer to mkimage.shRichard Maw2012-03-081-23/+21
| | | | | | | | | 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
* Return nothing from do_build/build; fix unassigned built_items bug.Jannis Pohlmann2012-03-061-13/+5
|
* Remove unused argument from Builder.build and build_single methodsLars Wirzenius2012-03-021-2/+2
|
* Remove unnecessary Builder.settings attributeLars Wirzenius2012-03-021-2/+2
| | | | We can use self.app.settings instead.
* Move cleaning of environment into morphLars Wirzenius2012-03-021-87/+12
| | | | | This is better done in morph, I think, since it is clear policy, and should not be buried deep in the call stack.
* Simplify instantiation of BlobBuilder subclassesLars Wirzenius2012-03-021-27/+21
|
* Remove unused app parameter and attribute to BlobBuilderLars Wirzenius2012-03-021-5/+4
|
* Remove unnecessary variableLars Wirzenius2012-03-021-1/+0
|
* Remove unnecessary method (which also had an unhelpful name)Lars Wirzenius2012-03-021-4/+1
|
* Remove unused kwargs usage from prepare_binary_metadataLars Wirzenius2012-03-021-3/+1
|
* Refactor to clarify code a tiny bit by moving variable setting close to useLars Wirzenius2012-03-021-1/+1
|
* Simplify how files are created in the cache directoryLars Wirzenius2012-03-021-11/+6
| | | | | | | | | 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.
* Simplify how BlobBuilder.builds gets implemented/inheritedLars Wirzenius2012-03-021-4/+10
| | | | | | | It needs to be different for each subclass, yet SystemBuilder was sharing the implementation with ChunkBuilder, which worked, but only by happenstance. Now each class has their own implementation and the base class has a NotImplemented implementation.
* Simplify what the BlobBuilder.build method doesLars Wirzenius2012-03-021-38/+38
| | | | | | It's not really the blob builder's job to unpack chunks, or determine whether something needs building or not. Moved those things to better places.
* Remove unnecessary variableLars Wirzenius2012-03-021-7/+2
|
* Refactor SystemBuilder and add helper classLars Wirzenius2012-03-021-125/+171
| | | | | | | | The helper class, Factory, has unit tests, which is why it's currently separate. It may later get integrated with BlobBuilder, or the other way around. Classes that don't have unit tests are marked out of coverage.
* Remove unnecessary import of time moduleLars Wirzenius2012-02-281-1/+1
|
* Add comment explaining PATH trickery when running ldconfigLars Wirzenius2012-02-281-0/+7
|