summaryrefslogtreecommitdiff
path: root/morphlib
Commit message (Collapse)AuthorAgeFilesLines
* Fix conflicting strata problemrichardipsum/9579/fix_conflicting_strataRichard Ipsum2013-11-151-3/+16
| | | | | | The _traverse_specs function which is used by morph edit does not update refs for strata that depend on the stratum being edited.
* Fix typoRichard Ipsum2013-11-061-1/+1
|
* Merge remote-tracking branch 'refs/remotes/origin/danielfirth/S9122'Lars Wirzenius2013-11-061-162/+0
|\
| * Removed ssh.configure extensionDan Firth2013-10-081-162/+0
| |
* | Merge remote-tracking branch 'origin/danielfirth/language-changes'Lars Wirzenius2013-11-052-2/+2
|\ \ | | | | | | | | | | | | | | | Needed to update copyright years when merging. Don't understand why the problem didn't show up earlier, since it doesn't seem to have been caused by Dan's changes.
* | | Fix RemoteArtifactCache to quote filenames in URLsLars Wirzenius2013-11-042-1/+8
|/ / | | | | | | This will allow fetching of gtk+ artifacts.
* | Added scenario test to prevent morph edit from being used without a system ↵Daniel Firth2013-11-011-0/+2
| | | | | | | | argument
* | Added scenario test for preventing building uncommitted systemsDaniel Firth2013-11-011-1/+8
| |
* | Don't remove an existing branch in 'morph branch'Pedro Alvarez2013-10-311-0/+3
| |
* | Deploying a non-cluster morphology now displays an error messageDaniel Firth2013-10-301-0/+4
| |
* | Added scenario test for preventing cross-buildingDaniel Firth2013-10-302-1/+13
| |
* | Add --artifact-cache-server and --git-resolve-cache-serverLars Wirzenius2013-10-293-4/+37
| |
* | Building with references to tags will now instead use the underlying commitDaniel Firth2013-10-281-2/+3
| |
* | Tidy up debug output of morph buildDaniel Firth2013-10-284-13/+11
| |
* | Merge remote-tracking branch 'origin/liw/fstab.configure'Lars Wirzenius2013-10-241-0/+40
|\ \ | | | | | | | | | | | | | | | | | | Reviewed-by: Richard Maw At his suggestion, fixed the call to sorted() to be a call to asciibetical().
| * | Add fstab.configureLars Wirzenius2013-10-241-0/+40
| | | | | | | | | | | | | | | This will allow the user to append text to /etc/fstab during a deployment, without having to write custom configuration extensions.
* | | Merge remote-tracking branch 'origin/liw/cachedrepo-unit-test-fix-v2-rebase'Lars Wirzenius2013-10-243-7/+17
|\ \ \ | |/ / |/| | | | | Reviewed-by: Richard Maw
| * | Fix app.status call in log_dict_diffLars Wirzenius2013-10-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug was triggered by the fix to CachedRepo.resolve_ref and without this fix, the resolve_ref fix will break the test suite. The bug is that log_dict_diff calls the status method with an msg keyword argument that may contain percentage characters. status interprets the value of msg as a format string, and the percentage characters trigger formatting to happen. The fix for that is to not interpolate the value of key and dictA[key] and dictB[key] into msg before calling status, but letting status do that. Thus the msg values are changed to reference %(key)s instead and passing in a value for key as a separate argument. Ditto for dictA[key] and dictB[key].
| * | Make CachedRepo.resolve_ref handle non-existent SHA1Lars Wirzenius2013-10-241-4/+9
| | | | | | | | | | | | | | | This changes how CachedRepo runs git to get the SHA1 information it needs, based on a suggestion by Richard Maw.
| * | Fix CachedRepo.resolve_ref unit test for missing SHA1Lars Wirzenius2013-10-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CachedRepo.resolve_ref does, effectively, this: absref = git rev-parse --verify $ref git log -1 --format=format:%T $absref Roughly, "git rev-parse" takes any ref and returns the corresponding SHA1. If the ref looks like a SHA1 (40 hex digits), it is returned as-is, and despite --verify is not checked for existence. "git log" then takes the SHA1 and returns the **tree** SHA1, as opposed to the commit one, and if the commit doesn't exist, barfs. The unit test for resolve_ref with an invalid SHA1 currently succeeds for the wrong reason. The mocked _rev_parse fails for an unknown SHA1 (raising cliapp.AppException), which causes resolve_ref to raise InvalidReferenceError, which the unit test expects. However, the real implementation of _rev_parse wouldn't fail in that way, and so the unit test doesn't test the thing it's meant to test: that resolve_ref actually works the expected way for an unknown SHA1. What actually happens is that resolve_ref calls _show_tree_hash, which raises cliapp.AppException for an unknown SHA1, resulting in horror and despair, instead of resolve_ref raising InvalidReferenceError. This commit fixes the unit test so that it causes the right code path in resolve_ref to be executed. This makes the unit test suite to fail.
* | | Merge branch 'baserock/richardmaw/bugfix/null-build-without-push' of ↵Richard Maw2013-10-171-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | git://git.baserock.org/baserock/baserock/morph Reviewed-by: Lars Wirzenius Reviewed-by: Richard Ipsum
| * | build-without-push: Handle null repo/refRichard Maw2013-10-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This wasn't working, since the build-without-push code works by including morphologies that have had their ref changed to the branch's name. This is not done by edit if it is null, since the extra ref resolution can cause interesting issues. Instead of changing edit to continue to alter the ref, build will now allow null meaning this current repo/ref. This has the side-effect of also checking morphologies referred to by a null ref, even if they aren't altered, but it still works correctly.
* | | Merge branch 'danielfirth/S9121'Daniel Firth2013-10-153-3/+10
|\ \ \ | |/ / |/| | | | | | | | Reviewed by Lars Wirzenius Reviewed by Richard Maw
| * | Deployment failures will now remove the disk imageDan Firth2013-10-143-3/+10
| |/
* | Reduced debug output for environment propertiesDan Firth2013-10-141-1/+2
| |
* | Merge branch 'danielfirth/RT193'Daniel Firth2013-10-116-14/+21
|\ \ | | | | | | | | | | | | Reviewed by: Lars Wirzenius Reviewed by: Pedro Alvarezwq
| * | Added chunkname prefix to some elements of the debug log.Dan Firth2013-10-116-14/+21
| |/
* | Merge branch 'danielfirth/RT219'Daniel Firth2013-10-111-1/+1
|\ \ | | | | | | | | | | | | Reviewed by Lars Wirzenius Reviewd by Richard Ipsum
| * | Morph now executes extensions in the repository containing the morphologiesDaniel Firth2013-09-261-1/+1
| | |
* | | Merge remote-tracking branch 'remotes/origin/danielfirth/RT174'Lars Wirzenius2013-10-101-1/+1
|\ \ \ | | | | | | | | | | | | | | | | Changed the message according to suggestion by Rob Kendrick, supported by Daniel Silverstone.
| * | | Changed 'figuring out the right build order' to 'Computing artifact graph'Daniel Firth2013-10-071-1/+1
| | |/ | |/|
* | | Merge branch 'danielfirth/RT240'Daniel Firth2013-10-101-0/+14
|\ \ \ | | | | | | | | | | | | | | | | Reviewed by: Lars Wirzenius Reviewed by: Pedro Alvarez
| * | | Morph now validates the 'tarball-server' option as a urlDaniel Firth2013-10-101-0/+14
| |/ /
* | | Merge remote-tracking branch 'origin/baserock/richardipsum'Lars Wirzenius2013-10-081-2/+3
|\ \ \ | | | | | | | | | | | | | | | | Reviewed-by: Lars Wirzenius Reviewed-by: Richard Maw
| * | | Fix bug in autotools versionRichard Ipsum2013-10-081-2/+3
| |/ /
* | | Merge remote-tracking branch 'origin/danielfirth/RT241'Lars Wirzenius2013-10-082-2/+6
|\ \ \ | | | | | | | | | | | | | | | | Reviewed-by: Lars Wirzenius Reviewed-by: Richard Maw
| * | | Added 'description' field to static defaults for cluster morphologiesDan Firth2013-10-072-2/+6
| |/ /
* | | Merge remote-tracking branch 'origin/danielfirth/RT189'Lars Wirzenius2013-10-088-124/+41
|\ \ \ | |/ / |/| | | | | Changed the error (exception) to list all obsolete fields.
| * | Re-enabled validation for morph editDan Firth2013-10-011-10/+0
| | |
| * | 'system-kind' and 'disk-size' system morphology fields now raise ↵Dan Firth2013-10-012-0/+39
| | | | | | | | | | | | ObsoleteFieldError
| * | Dropped support for 'system-kind' from system morphology filesDan Firth2013-09-277-56/+0
| | |
| * | Dropped support for 'disk-size' from system morphology files'Dan Firth2013-09-275-58/+1
| |/
* | Merge branch 'baserock/richardmaw/S8847/branch-from-image-v3'Jonathan Maw2013-09-305-45/+312
|\ \ | | | | | | | | | | | | Reviewed-by: Lars Wirzenius <lars.wirzenius@codethink.co.uk> Reviewed-by: Jonathan Maw <jonathan.maw@codethink.co.uk>
| * | B&M: refactor branch-from-imageRichard Maw2013-09-252-9/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the interface of branch-from-image to only take 1 parameter, the name of the new system branch, as the root repository is loaded from the metadata. This was also what the previous version of branch-from-image did, but that silently ignored the parameter. Given there are not many users of branch-from-image, I felt it was a reasonable change.
| * | morphlib: Add SystemMetadataDir classRichard Maw2013-09-253-0/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides access to the /baserock directory as if it were a dict, abstracting away the details of how to get data out of it. The abstraction is useful since it is easier to use than accessing /baserock yourself, and allows the storage format to be changed more easily. Keys with / in may be supported in the future. since there have been discussions about allowing morphologies to be placed in subdirectories. Adding this support would require creating and removing directory components when values are set and deleted respectively. Iterating would require using os.walk instead of glob.iglob, since python doesn't support ** in globs.
| * | b&m: checkout and branch use context managerRichard Maw2013-09-251-36/+7
| | |
| * | b&m: Add system branch initializing context managerRichard Maw2013-09-251-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This creates an object that the with statement can use to handle the context and clean up the workspace if the body raises an exception. This is roughly equivalent to having a function that takes a callback of what to do while the branch is being initialized, but with less boilerplate at the call site. contextlib is used to create a context manager from a generator function. This is less verbose than defining a class with __enter__ and __exit__ methods.
* | | Make branch commands work with null refsRichard Maw2013-09-262-4/+11
| | |
* | | Allow building with null repo/refRichard Maw2013-09-264-9/+14
| |/ |/|
* | Merge branch 'baserock/larswirzenius/S8698-morph-help-fmt'Lars Wirzenius2013-09-251-0/+25
|\ \ | |/ |/| | | | | Reviewed-by: Richard Maw Reviewed-by: Pedro Alvarez