summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Reformat code, plus adapt for non-staging-area buildsLars Wirzenius2012-11-292-16/+22
|
* Refactor and fix to make it pass (more of) the test suiteLars Wirzenius2012-11-292-10/+29
|
* Hardlinked chroot done with linux-user-chrootJoe Burmeister2012-11-292-34/+64
| | | | | | | | | | | | | | The patch gives two things. Improves morph build time by reusing decompressed files of chunks/stage-fillers with hardlinks from the chroot. Rather than decompressing each time into each chroot. Original: real 5h 17m 47s Hardlink: real 2h 52m 27s It uses linux-user-chroot to create the chroot and make all but the basics readonly.
* Fix line longer than 79 charsSam Thursfield2012-11-261-1/+1
|
* Fix another baserock: URLLars Wirzenius2012-11-211-1/+1
|
* Fix URLs in example in READMELars Wirzenius2012-11-211-2/+2
|
* Merge branch 'master' of git://git.baserock.org/baserock/baserock/morphLars Wirzenius2012-11-211-1/+2
|\
| * Merge branch 'samthursfield/remove-gzip-file-header'Sam Thursfield2012-11-161-1/+2
| |\ | | | | | | | | | Reviewed-By: Lars Wirzenius <lars.wirzenius@codethink.co.uk>
| | * Don't store original filename in compressed image filesSam Thursfield2012-11-161-1/+2
| |/ | | | | | | | | | | | | gzip files can store the name and date of the uncompressed original, and this is displayed in some GUI archive managers, or when gunzip -N is used. In our case the original filename is something like 'tmpXsgaY15', which is useless information and serves only to confuse.
* | Fix baserock: aliased URLs to point at new locationLars Wirzenius2012-11-211-6/+6
|/
* Merge branch 'samthursfield/handle-target-disk-full' of ↵Richard Maw2012-11-155-25/+101
|\ | | | | | | | | | | | | | | | | | | | | git://git.baserock.org/baserock/morph A couple of nasties are fixed in here. Previously when the disk was full, Morph logged a backtrace into morph.log and then tried to unmount the disk image, but as there were still open file handles inside it the unmount would fail and the user would end up with a backtrace for a failed unmount and a stuck loopback device that they would need to fix manually.
| * Cleanly handle out of disk space on target filesystem.Sam Thursfield2012-11-154-1/+60
| | | | | | | | Includes new test.
| * Override Python tarfile module to close file handles on exceptionSam Thursfield2012-11-151-0/+15
| | | | | | | | Reported upstream as: http://bugs.python.org/issue16477
| * Close file handles correctly on exceptions when unpacking strataSam Thursfield2012-11-152-23/+25
| | | | | | | | | | | | | | This prevents us from leaving file handles open when code throws an exception. When the file handle is on a loopback mount, this is a real problem because Morph then cannot unmount the image in its exception handler. In most cases 'with' is the best option.
| * Consistency fixSam Thursfield2012-11-151-1/+1
|/
* Merge branch 'samthursfield/test-tidying-3' of ↵Richard Maw2012-11-1514-307/+77
|\ | | | | | | | | | | git://git.baserock.org/baserock/morph Consolidate setup of tests which defined system morphologies.
| * Update as-root tests to use their setup infrastructureSam Thursfield2012-11-1414-307/+77
| | | | | | | | Code to generate system images was being duplicated in each test needlessly.
* | Merge branch 'samthursfield/test-tidying-2' of ↵Richard Maw2012-11-1585-285/+366
|\ \ | |/ | | | | git://git.baserock.org/baserock/morph
| * Tidy up command testsSam Thursfield2012-11-1485-285/+366
|/ | | | Be consistent about placement of test description, blank lines, etc.
* Merge branch 'baserock/richardmaw/fix-python-check'Sam Thursfield2012-11-1319-90/+56
|\
| * Consolidate checks for python versionRichard Maw2012-11-1319-90/+56
| | | | | | | | | | | | | | | | Most of the bespoke logic for the version check is unnecessary, since the output to display can be easily inferred from the filename. This fixes some test failures where the version check would cat a file to fake the output, but fail because the file was removed.
* | 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
|\ \ \ | |/ / |/| |