summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add ExtractedTarball class and method to extract/mount an artifactJannis Pohlmann2013-02-214-1/+91
| | | | | | | | | | | | | ExtractedTarball is more or less the equivalent to MountableImage for artifacts that are not mountable images. So in order to inspect root file system tarballs, ExtractedTarball can be used, for disk images, MountableImage can be used. The morphlib.bins.call_in_artifact_directory() method combines these two classes and provides a way to extract/mount an artifact and call a callback with the temporary directory / mount point as its first argument. Using this, a plugin that runs a command relative to an artifact's root directory can be written easily.
* Move MountableImage class into morphlibJannis Pohlmann2013-02-214-57/+86
| | | | | | | This class would be pretty useful in other cases where a system image needs to be mounted and inspected. Also updates the Trebuchet plugin to use this class.
* Fix ./check on SqueezeSam Thursfield2013-02-211-2/+11
|
* Merge branch 'liw/build-progress2'Sam Thursfield2013-02-212-3/+14
|\
| * Make BuildCommand report current and total build stepsLars Wirzenius2013-02-212-3/+14
| | | | | | | | | | | | This adds a [Build 1/12765] to the output of the building of each artifact. This makes it easier to see how much work there might still be remaining.
* | Merge branch 'samthursfield/only-build-systems' of ↵Richard Maw2013-02-2140-124/+267
|\ \ | | | | | | | | | | | | | | | | | | git://git.baserock.org/baserock/baserock/morph This includes a merge fixup in ./check, so that it does not complain about build-system-autotools' test's tabs.
| * | buildcommand: Refuse to build chunks or strata out of contextSam Thursfield2013-02-203-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | Building invididual chunks is bad because we have no idea what build mode to use. Building individual strata would work, but all of the stratum's build dependencies would need to be built first so there would be little time saved in any case. There is also no way to test them beyond checking that the build was successful.
| * | tests.build: Don't build individual chunks or strataSam Thursfield2013-02-2026-128/+100
| | | | | | | | | | | | | | | We can't rely on this being possible any more. It was mostly only used for testing in any case.
| * | Separate out build tests from general Morph testsSam Thursfield2013-02-2034-17/+152
| | |
* | | Merge branch 'samthursfield/edit-morph' of ↵Richard Maw2013-02-212-4/+213
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | git://git.baserock.org/baserock/baserock/morph This merge includes modifying edit-morph to use self.output.write instead of print for output.
| * | | scripts/edit-morph: Add to-yaml and to-json commandsSam Thursfield2013-02-181-0/+42
| | | |
| * | | Allow forcing output format (useful for edit-morph script)Sam Thursfield2013-02-181-4/+8
| | | |
| * | | Add scripts/edit-morph.pySam Thursfield2013-02-181-0/+163
| | | | | | | | | | | | | | | | | | | | This allows programmatic edits of certain kinds to morphologies, to minimise the need for manual editing.
* | | | Merge branch 'samthursfield/morph-update-improvements' of ↵Richard Maw2013-02-213-148/+258
|\ \ \ \ | |/ / / | | | | | | | | git://git.baserock.org/baserock/baserock/morph
| * | | Make writing morphologies back out properly non-destructiveSam Thursfield2013-02-183-154/+252
| | | | | | | | | | | | | | | | | | | | | | | | Remove the special case hacks we had and do a proper comparison between original and new in-memory dict when writing updates to user morphologies.
| * | | Handle morphs that are not dicts (By failing)Sam Thursfield2013-02-182-3/+6
| | | |
| * | | Detect and abort on empty morphologiesSam Thursfield2013-02-182-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If given an empty string to parse yamlparse.load() will return None, but this breaks code further down that expects to be dealing with a dict. Raise an exception to avoid crashing. Also, avoid catching 'Exception' when we only want to catch JSON parse errors.
| * | | Catch only JSON parse exceptions, not ExceptionSam Thursfield2013-02-181-1/+1
| | | |
* | | | Merge branch 'liw/debug-jjardon-assert-fail'Sam Thursfield2013-02-202-13/+2
|\ \ \ \ | | |/ / | |/| / | |_|/ |/| |
| * | Make rootfs-tarball build only the tarball also on ARMLars Wirzenius2013-02-202-13/+2
|/ /
* | Merge branch 'liw/build-ordering'Sam Thursfield2013-02-199-407/+134
|\ \ | |/ |/|
| * Add clarifying commentSam Thursfield2013-02-191-1/+3
| | | | | | | | | | Making the changes mentioned in the comment would be quite invasive, and we don't have to do so quite yet.
| * Rewrite show-dependencies to work without BuildOrderLars Wirzenius2013-02-192-109/+66
| |
| * Stop computing the old build orderingLars Wirzenius2013-02-194-267/+17
| |
| * Replace builder order graph with just a single artifactLars Wirzenius2013-02-194-36/+54
|/ | | | | The artifact's build dependencies replace the build order graph from previously.
* Merge branch 'baserock/richardmaw/fix-edit-build-depends'Sam Thursfield2013-02-136-36/+117
|\
| * Amend tests to trigger failure to recursively update strataRichard Maw2013-02-135-3/+51
| |
| * morph edit: Recursively edit strataRichard Maw2013-02-131-33/+66
| | | | | | | | | | | | | | | | | | | | | | Previously the code would edit strata that dependended on the stratum being edited, but would ignore the dependency chain beyond that. In fact, we need to edit all strata in the dependency chain to avoid having two different versions of a stratum in the same build. This splits the modification into two steps: changing the stratum that points to the chunk, and recursively changing references to any strata that have been altered.
* | Merge branch 'liw/disable-test-on-squeeze'Lars Wirzenius2013-02-121-2/+9
|\ \ | | | | | | | | | Reviewed-By: Richard Maw (in real life)
| * | Disable deployment test on Python 2.6Lars Wirzenius2013-02-121-2/+9
|/ / | | | | | | | | Also, make test use bash instead of sh, so it passes on squeeze as well as Baserock.
* | Merge branch 'liw/deployment-fixes'Lars Wirzenius2013-02-122-2/+3
|\ \ | | | | | | | | | Reviewed-By: Richard Maw (on irc)
| * | Improve message phrasingLars Wirzenius2013-02-121-2/+2
| | | | | | | | | | | | Suggested-By: Richard Maw
| * | Add missing "import sys" to fix error messagesLars Wirzenius2013-02-121-0/+1
|/ / | | | | | | Reported-By: Richard Maw
* | Merge branch 'liw/deployment-refactor' of ↵Richard Maw2013-02-1216-2/+995
|\ \ | | | | | | | | | git://git.baserock.org/baserock/baserock/morph
| * | Add missing argument to create_local_system methodLars Wirzenius2013-02-071-1/+1
| | | | | | | | | | | | Reported-By: Richard Maw
| * | Refactor: Add WriteExtension.create_local_system methodLars Wirzenius2013-02-074-69/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows code sharing amongst all the places that create a system in a raw disk image. This also adds the creation of a factory-run subvolume, and fixes error messages for errors that happen during a disk image creation. Suggested-By: Richard Maw Suggested-By: Sam Thursfield
| * | Remove debugging outputLars Wirzenius2013-02-073-29/+0
| | | | | | | | | | | | Suggested-By: Richard Maw
| * | Do away with unnecessary fstab entries for proc, sysLars Wirzenius2013-02-071-2/+0
| | | | | | | | | | | | Suggested-By: Richard Maw
| * | Let mount choose loop deviceLars Wirzenius2013-02-071-2/+1
| | | | | | | | | | | | Suggested-By: Richard Maw
| * | Create hole in-process without executing dd(1)Lars Wirzenius2013-02-071-7/+4
| | | | | | | | | | | | Suggested-By: Richard Maw
| * | Comment logic in _run_extensionLars Wirzenius2013-02-071-0/+3
| | | | | | | | | | | | Suggested-By: Sam Thursfield
| * | Make configuration-extensions have a default valueLars Wirzenius2013-02-072-12/+11
| | | | | | | | | | | | | | | | | | | | | This saves a check (and an indentation) in the deployment plugin, making the code a tiny bit simpler. Suggested-By: Sam Thursfield
| * | Fix docstring and error messageLars Wirzenius2013-02-071-3/+3
| | | | | | | | | | | | Suggested-By: Sam Thursfield
| * | Describe how we re-use code from branch+merge pluginLars Wirzenius2013-02-071-0/+6
| | | | | | | | | | | | Suggested-By: Sam Thursfield
| * | Set PYTHONPATH during testsLars Wirzenius2013-02-061-0/+6
| | | | | | | | | | | | | | | | | | This is necessary so that the write extension run by cmdtest finds the morphlib of the source tree we're running ./check in, rather than the system installed one.
| * | Fix setup.py to also install deployment extensionsLars Wirzenius2013-02-061-0/+1
| | |
| * | Add cmdtest for "morph deploy" and rawdisk.writeLars Wirzenius2013-02-065-5/+278
| | |
| * | Add a write extension for kvm+libvirtLars Wirzenius2013-02-061-0/+140
| | |
| * | Add a write extension for VirtualBoxLars Wirzenius2013-02-061-0/+158
| | |
| * | Add a write extension for raw disk imagesLars Wirzenius2013-02-061-0/+70
| | |