summaryrefslogtreecommitdiff
path: root/morph
Commit message (Collapse)AuthorAgeFilesLines
* morph: don't fail cleanupRichard Maw2012-03-291-3/+8
| | | | | | | | If an exception happens, the cleanup may fail to cleanup something that wasn't yet set up. For now catch exceptions in cleanup. If you know a cleaner way let me know. Also remove a left-over print statement
* Merge branch 'master' into jannis/add-target-cflags-optionJannis Pohlmann2012-03-271-1/+167
|\
| * Add rudimentary branch+merge supportLars Wirzenius2012-03-261-1/+167
| |\
| | * Fix "morph checkout" and system branch deductionLars Wirzenius2012-03-261-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checkout now does "git remote update" so the local branch gets the remote branches. This will spend a bit more time, but it's needed for "morph edit foo" to work when there's an existing "foo" branch in origin. System branches are no longer deduced from the currently checked out branch name of the current git repository, since that doesn't work when "morph edit" checks out an existing branch. Instead, we deduce it from the current working directory name (relative to the mine directory).
| | * Do not create a cache directory in the mineLars Wirzenius2012-03-261-1/+0
| | | | | | | | | | | | | | | It wasn't being used, anyway. And there's no real point in having a per-mine cache directory.
| | * Make "morph edit" work with existing branches, and fix "morph merge" pulling ↵Lars Wirzenius2012-03-231-2/+5
| | | | | | | | | | | | right
| | * Make "morph edit" work when chunk already has the branchLars Wirzenius2012-03-231-2/+5
| | |
| | * Add cmdtest for morph branch to set origin correctlyLars Wirzenius2012-03-231-0/+3
| | |
| | * Add "morph checkout" commandLars Wirzenius2012-03-231-0/+17
| | |
| | * Add "morph merge" subcommandLars Wirzenius2012-03-231-0/+17
| | | | | | | | | | | | | | | This is highly simplisitic, and it's going to be highly painful to use, but it does the very basics of what we need, I think.
| | * Add "morph edit", "morph show-system-branch" subcommandsLars Wirzenius2012-03-231-17/+68
| | |
| | * Implement "morph branch"Lars Wirzenius2012-03-221-2/+21
| | |
| | * Add test for "morph branch" when system branch directory already existsLars Wirzenius2012-03-221-0/+10
| | |
| | * Implement the "morph mine" subcommandLars Wirzenius2012-03-221-0/+13
| | |
| | * Implement "morph init" and fix tests accordinglyLars Wirzenius2012-03-221-0/+18
| | |
| | * Add test cases for "morph init"Lars Wirzenius2012-03-221-0/+3
| | |
* | | Add --target-cflags option; set arch/fp in baserock-bootstrap on ARM.Jannis Pohlmann2012-03-261-0/+6
|/ / | | | | | | | | | | | | | | The --target-cflags option is really just a temporary solution. At some point we will want to have a proper target architecture/device description that morph uses to define compiler flags etc. For now, I hope this will do.
* | Fix the paths passed to tbdiff-create.Jannis Pohlmann2012-03-231-2/+2
| |
* | Further fixes to get make-patch work.Jannis Pohlmann2012-03-231-8/+12
| |
* | morph make patch: diff factory subvolumesRichard Maw2012-03-231-2/+3
| | | | | | | | | | The filesystem contents will be installed into the factory subvolume, not the root filesystem
* | fix overly long linesRichard Maw2012-03-231-6/+8
| |
* | morph: add make_patch commandRichard Maw2012-03-231-0/+40
|/
* formatting: fix overly wide codeRichard Maw2012-03-191-1/+1
|
* morph: add prefix and toolchain-target optionsRichard Maw2012-03-131-1/+13
| | | | | These options get passed on through the environment to be used in chunk morphologies
* Remove unused argument from Builder.build and build_single methodsLars Wirzenius2012-03-021-3/+3
|
* Move cleaning of environment into morphLars Wirzenius2012-03-021-0/+62
| | | | | This is better done in morph, I think, since it is clear policy, and should not be buried deep in the call stack.
* Remove default for bundle-mirrorLars Wirzenius2012-03-021-3/+1
| | | | | We don't want morph to try to access the roadtrain mirror by default, especially not during tests.
* Refactor SystemBuilder and add helper classLars Wirzenius2012-03-021-6/+8
| | | | | | | | The helper class, Factory, has unit tests, which is why it's currently separate. It may later get integrated with BlobBuilder, or the other way around. Classes that don't have unit tests are marked out of coverage.
* Remove further remnants of cmd_build* returning valuesLars Wirzenius2012-02-281-5/+3
|
* Simplify iterating over build triplets from the command lineLars Wirzenius2012-02-281-24/+15
|
* Remove unused return values from cmd_build*Lars Wirzenius2012-02-281-6/+0
|
* Clarify --keep-path help: it's not just for tests anymoreLars Wirzenius2012-02-281-2/+1
|
* Clarify --tempdir help to explain why it's different from setting $TMPDIRLars Wirzenius2012-02-281-1/+6
|
* Use Tempdir.remove instead of rm, and drop unused Tempdir.clearLars Wirzenius2012-02-281-9/+3
| | | | | | | | If the remove method is insufficient (because it gets run as non-root, but some of the stuff needs root to remove them), then we need to fix the method, not replace it with other things. The Tempdir.clear method was not used anywhere, so YAGNI and removed it.
* Remove version numberLars Wirzenius2012-02-281-1/+1
| | | | | | We don't do releases, so having the version number in the source is misleading. If and when we start doing numbered releases, it's easy to add back. However, YAGNI and all that.
* Set sensible defaults for git-base-url, bundle-server, cachedir, max-jobsLars Wirzenius2012-02-281-6/+21
| | | | | | | | | | | | | | Also, change builder.py to always obey the --max-jobs setting, unless a morphology has a max-jobs field. The defaults have been chosen so that they work for everyone equally well. It may be useful to have a local mirror and then set the options to point there, but it's not reasonable to try to guess such things, so the defaults can be adapated to that. Collect the defaults into one place so they're easier to overview. The cliapp interface for adding settings is verbose enough that the defaults were getting buried.
* Add version number to morphLars Wirzenius2012-02-271-1/+1
|
* Add docstring to the update-gits subcommandLars Wirzenius2012-02-271-0/+8
|
* Clarify that --ignore-submodules applies to git submodulesLars Wirzenius2012-02-271-2/+2
|
* Remove outdated warningLars Wirzenius2012-02-271-3/+0
|
* Remove the system testing subcommands and related codeLars Wirzenius2012-02-271-61/+0
| | | | | | | | This we a proof-of-concept, and we want to explore various options of how to do this, so let's not keep the code in morph. The code also has no tests, so it is already likely to have bit-rotted. If we decide we want to, we can always resurrect it from git history.
* Add --no-git-update setting to morphLars Wirzenius2012-02-171-3/+11
|
* Build non-bootstrap chunks inside a staging chrootLars Wirzenius2012-02-161-8/+26
| | | | | | This adds options --staging-filler and --staging-chroot. The wisdom of these options needs to be re-considered at some point, but for now they're OK.
* Revert "Add --prefix option, adjust autotools system and env variables."Jannis Pohlmann2012-02-141-4/+0
| | | | This reverts commit 63cab3e0e2f550a0bfe470d018063a8b91a759bd.
* Add --prefix option, adjust autotools system and env variables.Jannis Pohlmann2012-02-111-0/+4
|
* Use $TMPDIR for --tempdir by default, rather than hard-coding /tmp.Jannis Pohlmann2012-02-101-2/+2
|
* Add --tempdir option, allow to set the tempdir for building.Jannis Pohlmann2012-02-101-3/+6
| | | | | | This will not affect or overwrite TMPDIR, so all other parts of morph and Python (like the multiprocessing library) will still use TMPDIR (e.g. /tmp) for temporary files and directories.
* Don't enable --ignore-submodules by default, cannot disable it this way.Jannis Pohlmann2012-02-091-2/+1
|
* Add --ignore-submodules flag to avoid updating/unpacking submodules.Jannis Pohlmann2012-02-091-0/+4
|
* Extract chunk submodule repos into the build directory directly.Jannis Pohlmann2012-02-081-0/+21
| | | | | | | | | | | | | This change requires the latest version of cliapp to be installed. Rather than creating an archive from the cached git repositories, moving this tarball archive into the cache and then extracting it from there into the build directory, we now directly extract the sources into the build directory. We also recursively extract all submodules into the corresponding paths inside the build directory. (Recursing has not been tested yet, however.)