summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'samthursfield/arch'Sam Thursfield2013-03-1516-157/+172
|\ | | | | | | Reviewed-By: concensus
| * Update Morph man page regarding environment variablesSam Thursfield2013-03-151-39/+20
| |
| * Change hardcoded cache key in testSam Thursfield2013-03-151-1/+1
| |
| * One 'arch' to rule them allSam Thursfield2013-03-159-96/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | Define a specific set of 4 architectures that Morph supports, and only expose that value to morphologies. Since GNU triplets are very common we also expose a GNU triplet. Other morphologies should work out their configuration based on MORPH_ARCH. This commit also removes the morphlib.util.arch() function, which detected the machine Morph is running on via 'uname -m'. Morph's architecture names do not necessarily map to the output of 'uname -m' so we should not rely on it anywhere.
| * Fix trebuchet plugin to not depend on host architectureSam Thursfield2013-03-151-8/+20
| |
| * Enable syslinux systembuilder on all systemsSam Thursfield2013-03-141-11/+8
| | | | | | | | | | | | This is a kludge which I am only doing because we are removing this plugin soon. Morph no longer has a way to detect the architecture that it is running on and no longer needs one anywhere else.
| * Only build systems againSam Thursfield2013-03-144-3/+4
| | | | | | | | | | We can no longer build strata individually because we don't know what architecture they are for.
* | Merge branch 'samthursfield/build-essential-2-rebase'Sam Thursfield2013-03-1545-1842/+675
|\ \ | |/ | | | | | | | | | | Conflicts: morphlib/bins_tests.py Reviewed-By: consensus
| * Allow unknown values of build-mode through with just a warningSam Thursfield2013-03-131-3/+4
| | | | | | | | | | | | | | This gives us some forward compatibility leeway to introduce new build modes, as long as they are compatible with staging. As suggested by Richard Maw.
| * Only bind mount necessary directories in chrootSam Thursfield2013-03-131-7/+5
| | | | | | | | | | If for example /bin is a symlink, we shouldn't and can't mount the host system's /bin over the top.
| * Don't install bootstrapped chunks when building artifacts in other strataSam Thursfield2013-03-133-20/+128
| | | | | | | | | | | | | | | | | | | | | | When building a stratum artifact it's easy to only include chunks that were built in 'staging' mode. Constructing the staging area doesn't use that code path, though, so we need an extra hack to filter out those artifacts while building. It may be neater to express stratum build-depends as actual dependencies on the stratum artifact, rather than each of its constituent chunks as we do now.
| * Don't include bootstrap chunks in output strataSam Thursfield2013-03-133-3/+83
| | | | | | | | | | This is necessary so that the build-essential stratum doesn't end up containing three different compilers.
| * Add 'prefix' property for chunks within strataSam Thursfield2013-03-1315-18/+190
| | | | | | | | | | | | | | | | | | Morph no longer supports setting the prefix using the --prefix argument / setting. This was only used in tests and during bootstrap. If a chunk build-depends on a chunk within a stratum which has a custom prefix, that prefix is appended to the PATH in the build environment.
| * Add 'build-mode' field for chunks in a stratumSam Thursfield2013-03-1319-42/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allowed values: staging: build with a staging chroot (default) test: build with the host's tools bootstrap: build with the host's tools, and do not include this chunk in the final stratum artifact In the past, 'normal mode' has been used to describe building a chunk with the host's tools. We don't want that mode to ever be used, because it is a huge hole in reproducability, but we need to keep it around to avoid making Morph's cmdtest suite depend on Baserock. Hopefully naming it 'test' should discourage potential abusers. It is unfortunate that the build tests now take a separate code path compared to real-world usage of Morph. However, this is necessary to avoid a circular dependency between Morph's test suite and the build-essential stratum in Baserock. We do whole-build testing of Baserock, too, so the 'staging' code path is still tested outside of Morph. However, testing a staging area requires populating it with at minimum a working shell, and this is a bit too complex to go in Morph's test suite.
| * Set environment variables defining target for build-essentialSam Thursfield2013-03-137-40/+60
| | | | | | | | | | | | In the future we will allow this to be modified to provide a cross-bootstrap mode, but for now we use the same target as the host compiler.
| * Refactor build processSam Thursfield2013-03-1311-134/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reorganise the build_artifact() and build_artifacts() functions to allow more complex work when setting up chunk builds in build_artifact(). The staging area now holds the BuildEnvironment object (the environment variables that should be set during build). This makes sense because all build commands should be run inside the staging area and therefore through the StagingArea object. The BuildEnvironment object is now considered immutable after it is created. The environment is used in cache key computation when computing what artifacts are required; if it changes after that point we risk either computing different artifact keys for the same artifact or missing data in the cache key that should be included in the hash. Better to force changes into a separate 'extra_env' variable.
| * Remove support for bootstrap mode in staging areaSam Thursfield2013-03-133-39/+16
| | | | | | | | | | This involved having a staging area with split personalities and was generally a bit ugly.
| * Remove features used by old bootstrap methodSam Thursfield2013-03-1311-91/+53
| | | | | | | | | | | | That means that bootstrapping Baserock is currently not possible with this branch of Morph, but there's no reason it cannot be bootstrapped using an older version of Morph instead.
| * Remove old bootstrap mechanismsSam Thursfield2013-03-137-1518/+0
| | | | | | | | | | | | That means that bootstrapping Baserock is currently not possible with this branch of Morph, but there's no reason it cannot be bootstrapped using an older version of Morph instead.
| * Fix incorrect commentSam Thursfield2013-03-131-5/+0
| |
| * Skip some tests in ./check by defaultLars Wirzenius2013-03-131-3/+38
| | | | | | | | | | | | | | Running all the checks takes over 20 minutes for me. This makes it likely that ./check doesn't get run very often. Dropping the slowest tests by default makes ./check more usefull. Add the --full option to enable the full test suite again.
| * Change test to also verify that artifact is not compressedLars Wirzenius2013-03-132-0/+8
| |
| * Test that chunk artifacts are NOT compressedLars Wirzenius2013-03-131-1/+7
| |
| * Turn off rootfs-tarball compressionLars Wirzenius2013-03-131-3/+1
| |
| * Do not compress chunk artifacts upon creationLars Wirzenius2013-03-131-1/+1
| | | | | | | | | | | | | | | | | | We already silently, automatically decompress if the artifact is compressed. It is thus safe to turn off compression. Compression saves disk space, but on ARM it takes up a lot extra time, and we have lots of disk space, so for speed, not compressing is a good idea.
| * Fix deploy to not assume artifacts are compressedLars Wirzenius2013-03-131-2/+1
| |
* | Merge branch 'liw/simplify-system-kind'Sam Thursfield2013-03-1313-289/+19
|\ \
| * | Remove tests for non-rootfs-tarball system-kindsLars Wirzenius2013-03-1210-287/+0
| | | | | | | | | | | | This will speed up the test suite a little bit.
| * | Fix test caseLars Wirzenius2013-03-121-1/+7
| | |
| * | Emit warning if system-kind != rootfs-tarballLars Wirzenius2013-03-122-1/+12
| | |
* | | Rewrite test to not use with for gzip.GzipFileLars Wirzenius2013-03-131-2/+3
| | | | | | | | | | | | | | | | | | We (still) need this to work in Debian squeeze, for bootstrapping, and squeeze has Python 2.6, which has a GzipFile that does not implement the "with protocol". Boo hiss.
* | | Merge branch 'liw/fast-check'Sam Thursfield2013-03-121-3/+38
|\ \ \
| * | | Skip some tests in ./check by defaultLars Wirzenius2013-03-121-3/+38
| | |/ | |/| | | | | | | | | | | | | | | | Running all the checks takes over 20 minutes for me. This makes it likely that ./check doesn't get run very often. Dropping the slowest tests by default makes ./check more usefull. Add the --full option to enable the full test suite again.
* | | Merge branch 'liw/no-artifact-compression'Sam Thursfield2013-03-126-7/+18
|\ \ \ | |/ / |/| |
| * | Change test to also verify that artifact is not compressedLars Wirzenius2013-03-112-0/+8
| | |
| * | Test that chunk artifacts are NOT compressedLars Wirzenius2013-03-111-1/+7
| | |
| * | Turn off rootfs-tarball compressionLars Wirzenius2013-03-111-3/+1
| | |
| * | Do not compress chunk artifacts upon creationLars Wirzenius2013-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | We already silently, automatically decompress if the artifact is compressed. It is thus safe to turn off compression. Compression saves disk space, but on ARM it takes up a lot extra time, and we have lots of disk space, so for speed, not compressing is a good idea.
| * | Fix deploy to not assume artifacts are compressedLars Wirzenius2013-03-111-2/+1
| | |
* | | Set exec permissions on installed deployment extensionsLars Wirzenius2013-03-121-0/+13
| |/ |/| | | | | Reviewed-by: Jonathan Maw <jonathan.maw@codethink.co.uk>
* | Merge remote-tracking branch ↵Sam Thursfield2013-03-121-2/+2
|\ \ | |/ |/| | | 'origin/baserock/richardholland/morph-deploy--tempdir'
| * Fixed 'morph deploy' to obey --tempdirRic Holland2013-03-071-2/+2
| | | | | | | | Allowed user to set the location of the temp directory using --tempdir
| * Merge branch 'baserock/richardholland/fix-virtualbox-deploy' into ↵Ric Holland2013-03-071-3/+5
| |\ | | | | | | | | | baserock/richardholland/improve-output-messages
* | \ Merge branch 'staging'Lars Wirzenius2013-03-1117-131/+342
|\ \ \ | | | | | | | | | | | | | | | | Merging all the things from the staging branch. They have all already been reviewed.
| * | | Remove TAB character (and break line better)Lars Wirzenius2013-03-111-2/+2
| | | |
| * | | Merge branch 'staging' of git://git.baserock.org/baserock/baserock/morph ↵Lars Wirzenius2013-03-114-76/+122
| |\ \ \ | | | | | | | | | | | | | | | into staging
| | * \ \ Merge branch 'jonathan/update-find-artifacts' of ↵Richard Maw2013-03-081-76/+20
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ssh://trove.baserock.org/baserock/baserock/morph into staging This included a fixup for the copyright years and the call to call_in_artifact_directory being a shade too long.
| | | * | | Update find-artifacts script to use call_in_artifact_directoryJonathan Maw2013-03-081-75/+18
| |_|/ / / |/| | | |
| | * | | Merge branch 'baserock/richardmaw/brabch-and-merge-test-add-chunk-then-edit' ↵Richard Maw2013-03-083-0/+102
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of git://git.baserock.org/baserock/baserock/morph into staging Reviewed-by: Lars Wirzenius
| | | * | | Add test for adding a chunk then editing itRichard Maw2013-03-073-0/+102
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | This works sub-optimally, `morph edit $system $stratum` needs to be done first as `morph edit $system $stratum $chunk` fails if $chunk is not defined in the parent branch.