summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Merge remote-tracking branch 'origin/jonathanmaw/autotools-sysconfdir'"water-bombSam Thursfield2012-11-131-1/+1
| | | | | | | | | | cmake has a ./configure, which accepts --prefix, but chokes on --sysconfdir This means that bootstrap is broken by this commit. This reverts commit 5f22ded9711a047704fc91b68a182b057e29bc0f, reversing changes made to e13753d4f3e26f3a4c705fb3e694ae8dea860c2d.
* Merge branch 'samthursfield/build-without-push' of ↵Richard Maw2012-11-1225-116/+225
|\ | | | | | | git://git.baserock.org/baserock/morph
| * Avoid caching repos that are on the local machine anywaySam Thursfield2012-11-1211-16/+30
| | | | | | | | | | Currently the message is still displayed "Updating xxx" but no update is actually done.
| * Use git://localhost URL's instead of file:// in update-gits testsSam Thursfield2012-11-123-22/+48
| | | | | | | | This requires running git-daemon manually in the tests.
| * morph build: Allow forcing build branches to be pushedSam Thursfield2012-11-124-4/+49
| | | | | | | | | | This is for users who prefer the old behaviour of building from the remote repos.
| * Add 'morph build' test with strata outside the root repoSam Thursfield2012-11-121-0/+62
| |
| * morph build: Use the user's own repos when buildingSam Thursfield2012-11-127-75/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | This means that Morph no longer requires changes to be pushed in order to build them. The repos from the system branch are currently cached in the local repo cache as part of the build process, which is far from ideal. Tests for 'morph build' now test build without push. The build metadata now includes a repo path that is inside the TMPDIR, so the tests have been rewritten to avoid having any hardcoded cache keys because the cache keys are no longer static.
| * Add docstrings for some build functionsSam Thursfield2012-11-121-0/+9
| |
* | Merge branch 'samthursfield/test-tidying' of ↵Richard Maw2012-11-1288-420/+376
|\ \ | |/ | | | | git://git.baserock.org/baserock/morph
| * tests: Always use test:morphs for morphs repoSam Thursfield2012-11-1217-77/+59
| | | | | | | | Some tests were using test:morphs-repo instead.
| * tests: Use test: URL prefix instead of baserock: throughoutSam Thursfield2012-11-0770-281/+281
| | | | | | | | | | | | | | | | | | | | Some tests already used test: and in order to be able to share the scripts/setup-3rd-party-strata script they need to all use the same prefix. Using baserock: implies that we are using real code from Baserock, so I picked test: because the tests only ever use mock morphologies and no real code.
| * Factor out setup code from 'morph build' tests into separate fileSam Thursfield2012-11-074-62/+36
| |
* | Merge branch 'samthursfield/spelling-fixes' of ↵Richard Maw2012-11-124-6/+6
|\ \ | | | | | | | | | git://git.baserock.org/baserock/morph
| * | Fix spelling mistakesSam Thursfield2012-11-124-6/+6
| |/
* | Merge remote-tracking branch 'origin/jonathanmaw/autotools-sysconfdir'Lars Wirzenius2012-11-081-1/+1
|\ \ | | | | | | | | | | | | Reviewed-by: Lars Wirzenius <lars.wirzenius@codethink.co.uk> Also-reviewed-by: Richard Maw <richard.maw@codethink.co.uk>
| * | Set sysconfdir to /etc when morph builds an autotools projectJonathan Maw2012-11-081-1/+1
|/ / | | | | | | | | | | Some autotools projects default their sysconfdir to $prefix/etc. This leads to some projects trying to install files to /usr/etc, which is not desired.
* | Merge branch 'liw/expand-repo-plugin' of git://git.baserock.org/baserock/morphRichard Maw2012-11-082-0/+43
|\ \ | |/ |/| | | Unused imports in morphlib/plugins/expand_repo_plugin.py were also removed
| * Add plugin to without-test-modules listLars Wirzenius2012-11-071-0/+1
| |
| * Add a morph helper subcommand for expanding aliased reposLars Wirzenius2012-11-071-0/+53
|/ | | | | This is helpful for when the user is not sure what an aliases repo URL actually expands to.
* Merge branch 'samthursfield/stable-merge'Sam Thursfield2012-11-051-1/+1
|\ | | | | | | Reviewed-By: Lars Wirzenius (on IRC)
| * Process systems for merging in a fixed orderSam Thursfield2012-11-051-1/+1
|/ | | | | | | | | | | The test tests.merging/rename-stratum could potentially trigger two different errors in Morph, based on the order that the systems in the root repo were processed. This meant that the test would sometimes spuriously fail if TMPDIR was manually set, because of differences in the way file systems work. To fix the root cause requires proper 3-way merging, really.
* Merge remote-tracking branch 'origin/samthursfield/fix-load-morphology-bug'Lars Wirzenius2012-11-021-0/+1
|\
| * Fix use of variable before assignmentSam Thursfield2012-11-021-0/+1
|/ | | | | | BranchAndMergePlugin.load_morphology() would crash if a parse error occurred while reading a morphology from a specific revision in git, instead of from on disk.
* Fix mistake in renaming tests that breaks ./check on SqueezeSam Thursfield2012-10-313-4/+4
|
* Merge remote-tracking branch ↵Lars Wirzenius2012-10-312-2/+8
|\ | | | | | | | | | | 'remotes/origin/baserock/richardmaw/allow-smaller-tmpdir' Signed-off-by: Lars Wirzenius <lars.wirzenius@codethink.co.uk>
| * Add and use sparse-gunzip in loopback-rootfsRichard Maw2012-10-262-2/+8
| | | | | | | | | | | | This reduces the space required from the full size of the compressed disk image, which meant that tests could not be run on systems where TMPDIR is a smallish tmpfs.
* | Merge branch 'master' of git://git.baserock.org/baserock/morphLars Wirzenius2012-10-311-0/+22
|\ \
| * | Add missing teardown script to tests.mergingSam Thursfield2012-10-311-0/+22
| | |
* | | Merge remote-tracking branch 'remotes/origin/samthursfield/update-help'Lars Wirzenius2012-10-318-162/+121
|\ \ \ | |/ / |/| |
| * | Set option group for some advanced settingsSam Thursfield2012-10-312-21/+38
| | | | | | | | | | | | | | | | | | | | | | | | It would be nice to put every option in a group, but for now the built-in cliapp options cannot be grouped so the output is less than ideal. Also, we have no way of setting an order for groups, which results in e.g. 'Advanced Options' preceeding 'General Options' etc.
| * | Improve command descriptions in --helpSam Thursfield2012-10-265-47/+31
| | | | | | | | | | | | | | | Make sure all commands have one line of description, and reduce the size of some which had large amounts of text.
| * | Remove hello-pluginSam Thursfield2012-10-261-29/+0
| | | | | | | | | | | | | | | | | | We have several plugins now that can be used as examples, and since cliapp does not yet support hiding commands Morph currently has a futile 'morph hello' command listed in --help.
| * | Reduce some option descriptionsSam Thursfield2012-10-261-27/+13
| | |
| * | Reorder settings by broad categorySam Thursfield2012-10-261-58/+59
| | | | | | | | | | | | | | | | | | | | | | | | Also remove the '--ignore-submodules' option, which is redundant. Hopefully cliapp will one day support option grouping, so we can hide some sets by default and group eg. all the logging options together.
* | | Split merge tests out from the other branching testsSam Thursfield2012-10-2930-77/+141
| |/ |/| | | | | Merge is by far the most complex of the branching and merging commands.
* | Simplify checkout-non-aliased-repos testRichard Maw2012-10-262-44/+2
| | | | | | | | | | | | | | | | | | | | The output of the list-tree depended on the value of TMPDIR. Instead we replace this with a test that the required directory exists. merge-with-stratum-renamed also fails with a TMPDIR different to /tmp, but I have no idea why. Signed off by Daniel Silverstone in person
* | Merge branch 'samthursfield/write-etc-os-release' of ↵Richard Maw2012-10-267-1/+25
|\ \ | |/ |/| | | git://git.baserock.org/baserock/morph
| * Write /etc/os-release in system imagesSam Thursfield2012-10-267-1/+25
|/ | | | | | This is intended to for human consumption, with the full set of metadata in /baserock/system-artifact-name.meta. It currently lists system name, the symbolic ref of the system morphology and build date.
* Merge branch 'samthursfield/write-metadata-for-system' of ↵Richard Maw2012-10-2612-41/+165
|\ | | | | | | | | | | | | | | | | git://git.baserock.org/baserock/morph This includes a fixup of shell quoting in tests.as-root/lib. Tests needs to be run with a larget TMPDIR than systemd's default, since system images can be large.
| * Write metadata for the rootfs itself into the rootfsSam Thursfield2012-10-2612-41/+165
|/ | | | | | | | This makes it easier to identify what version of a system we are running. Tests are updated to check inside the contents of the rootfs we created, and the code to mount the rootfs as a loopback device was extracted out into tests.as-root/lib
* Merge branch 'samthursfield/morph-status-in-workspace-sorted'Sam Thursfield2012-10-182-3/+4
|\ | | | | | | Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
| * morph status: Sort list of system branches in a workspaceSam Thursfield2012-10-182-3/+4
| | | | | | | | | | Output needs to be stable, not least so that the test doesn't fail sporadically.
* | Merge branch 'samthursfield/petrify-avoid-edited-chunks' of ↵Richard Maw2012-10-185-23/+130
|\ \ | |/ |/| | | git://git.baserock.org/baserock/morph
| * morph petrify: Avoid petrifying chunks that have already been editedSam Thursfield2012-10-185-23/+130
|/ | | | | | | | | | | | | This change causes 'morph petrify' to avoid petrifying any chunk whose ref matches the current system branch, because it makes no sense to petrify something that is also being edited. It also improves efficiency slightly and adds warning where different systems point to different refs of the same stratum. A non-obvious effect of this is that if you try to petrify 'master', many of the chunks won't get petrified because they are built from 'master'. However, petrifying master makes no sense so I'm not sure that we need to worry.
* Merge branch 'samthursfield/morph-status'Lars Wirzenius2012-10-127-33/+208
|\
| * morph status, foreach: Find root repo in correct waySam Thursfield2012-10-121-5/+8
| | | | | | | | | | | | | | | | Previously if the user had renamed the directory holding the root repository, the commands would break tragically. Also fix find_repository() to avoid aborting if it encounters a git repo in the branch checkout that wasn't put there by Morph.
| * Factor out common function iterate_branch_repos()Sam Thursfield2012-10-121-10/+14
| |
| * morph status: Add initial version of commandSam Thursfield2012-10-127-0/+163
| | | | | | | | This provides a user-friendly summary of the workspace or branch status.
| * Reorder branch and merge plumbing commands to end of fileSam Thursfield2012-10-121-25/+30
|/ | | | | Users do not need these now due to 'morph status' existing. However, they are still useful for scripts to call.
* Merge remote-tracking branch 'origin/liw/fix-check-on-squeeze'Daniel Silverstone2012-10-124-6/+16
|\