summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Display expected filename in "Failed to determine build system" errorSam Thursfield2012-08-301-3/+3
| | | | | | | | | | This allows a few more diagnostics of what went wrong when the error is inside the baserock:morphs repository.
* | Log a clear error if creating an empty stratumSam Thursfield2012-08-301-0/+2
| | | | | | | | | | This is mostly useful for diagnosing Morph bugs. Currently empty strata just cause confusing errors when building systems.
* | Strata should be referred to with full repo/ref/morph tripletsSam Thursfield2012-08-3016-48/+124
| | | | | | | | | | | | | | | | This removes the requirement that all strata must be in the same repo as the system morphology. Both the system "strata" field and the stratum "build-depends" field are affected.
* | Strata contain "chunks", not "sources"Sam Thursfield2012-08-2926-57/+57
|/ | | | Rename "sources" field of stratum morphologies to "chunks".
* Break long lineLars Wirzenius2012-08-281-1/+2
|
* Merge remote branch 'origin/samthursfield/S4350-faster-build-system-autodetect'Lars Wirzenius2012-08-288-115/+159
|\
| * Always ls-tree before trying to cat-fileSam Thursfield2012-08-242-36/+35
| | | | | | | | | | This provides much better performance in cases where most of the repos do not have a .morph included.
| * Refactor build system code for easier testingSam Thursfield2012-08-242-31/+16
| |
| * Use git ls-tree to autodetect build systemSam Thursfield2012-08-244-72/+41
| | | | | | | | | | | | | | The cost of one git ls-tree call is roughly the same as one git cat-file call. Therefore, when autodetecting the build system, it is much faster to list the tree once and then search for the required files than to call git cat-file for every possible one.
| * Support 'git ls-tree' in local and remote reposSam Thursfield2012-08-244-0/+91
| |
| * buildsystem: Fix incorrect testcaseSam Thursfield2012-08-241-2/+2
| |
* | Expand TAB charactersLars Wirzenius2012-08-281-41/+41
|/
* scripts/clean-git-cache: Fix 2 small issuesSam Thursfield2012-08-231-2/+4
| | | | | 1) print message if no unused gits were found 2) avoid eating baserock:morphs repository every time
* Add scripts/clean-git-cacheSam Thursfield2012-08-221-0/+238
| | | | | | | This removes local repository clones that are not referenced by anything in the baserock:morphs repository. It would be useful for Morph to do this itself in the long term.
* Add scripts/clean-artifact-cacheSam Thursfield2012-08-221-0/+94
| | | | | | | | | | | | This removes all but the latest build of a chunk from the cache, which can free up a significant amount of disk space for large chunks. Ideally Morph should handle cleaning up the artifact cache itself, there are some ideas floating around including using git to store the artifacts; either way, reference counting items in the cache and only requiring the user to manually delete the final system images when they are no longer required is probably the best way.
* Allow setting ARCH explicitly for bootstrappingSam Thursfield2012-08-221-1/+13
| | | | | This is required to bootstrap on Fedora, where debootstrap fails to autodetect the architecture due to dpkg not being present.
* Fix test coverage for squeeze coverage.pyLars Wirzenius2012-08-151-3/+3
| | | | | | | | The squeeze version of coverage.py seems to have problems with methods that consist of a single pass statement. This patch replaces those statements with placeholder docstrings so that ./check passes on squeeze. Reviewed-By: Daniel Silverstone (on irc)
* Merge remote branch 'origin/danielsilverstone/repo-alias-update'Lars Wirzenius2012-08-151-5/+5
|\
| * Change default repo-aliases to git.baserock.orgDaniel Silverstone2012-08-151-5/+5
|/ | | | | | | Sanitise the git repo aliases to use git.baserock.org instead of the old roadtrain.codethink.co.uk hostname. This will cause a re-fetch of gits, unless you fix up your cache first
* Merge branch 'danielsilverstone/no-syslinux-disk-image' of ↵Richard Maw2012-08-145-134/+269
|\ | | | | | | git://git.baserock.org/baserock/morph
| * Add a non-x86 disk image testDaniel Silverstone2012-08-141-0/+94
| | | | | | | | | | The Disk image builder can work on non-x86 and as such we should let it test anywhere.
| * Make SyslinuxDiskBuilder inherit from DiskImageBuilderDaniel Silverstone2012-08-141-134/+11
| | | | | | | | | | | | Since the vast majority of the SyslinuxDiskBuilder functionality is now in morphlib.builder2.DiskImageBuilder, inherit from that and override the bootloader related methods so that extlinux is correctly installed.
| * Initial non-syslinux disk image kindDaniel Silverstone2012-08-143-0/+164
|/ | | | | | | This adds a disk system image kind which does everything the syslinux-disk one does, but without syslinux. It deliberately carries stubbed bootloader operations so that we can later make syslinux-disk inherit from this one and override it.
* Add support for autogen in addition to autogen.shLars Wirzenius2012-08-081-1/+3
| | | | | | | | This is needed to support Colin Walters's suggested build API (http://people.gnome.org/~walters/docs/build-api.txt). In fact, it's all we need to support it, I think. Reviewed-By: Richard Maw (on irc)
* Merge branch 'liw/fix-deprecation'Lars Wirzenius2012-08-071-1/+1
|\ | | | | | | Reviewed-By: Richard Maw (on irc)
| * Fix deprecation message when showing error messageLars Wirzenius2012-08-071-1/+1
|/ | | | | | It turns out that BaseException.message is deprecated, and str(e) is a better way of achieving that. This makes the unit tests not spew out a deprecation warning.
* Merge remote branch 'origin/baserock/bugfix/S4086-sync-before-snapshot'Lars Wirzenius2012-08-071-0/+3
|\
| * SyslinuxDiskBuilder: sync before snapshottingRichard Maw2012-08-071-0/+3
|/ | | | | | | | | This is needed in older versions of btrfs, otherwise snapshots can contain empty files, since the data has not been written to disk. This behaviour was discovered in a debian squeeze i386 VM, and has not been seen elsewhere, but this is an environment that must be supported for bootstrapping.
* Merge remote branch 'origin/baserock/bugfix/S4069-fail-on-missing-syslinux-mbr'Lars Wirzenius2012-08-065-10/+110
|\
| * Raise Error if install_mbr failsRichard Maw2012-08-061-0/+8
| |
| * Add test for failing to install mbrRichard Maw2012-08-063-0/+92
| | | | | | | | This overrides the mbr search path to a file that doesn't exist.
| * systembuilder: select mbr search paths from configRichard Maw2012-08-061-2/+6
| | | | | | | | | | This is primarily so that this can be made testable, but it will also allow for the mbr to be installed in a non-standard path.
| * Move install_syslinux_mbr into syslinux pluginRichard Maw2012-08-062-10/+6
|/ | | | This is not used elsewhere, and probably never will.
* Merge branch 'liw/no-hashbangs' of ↵Richard Maw2012-08-022-1/+10
|\ | | | | | | git://roadtrain.codethink.co.uk/baserock/morph
| * Remove #! from setup.pyLars Wirzenius2012-08-021-1/+0
| | | | | | | | | | The proper way to run setup.py is with "python setup.py". That allows you to choose the right Python version to use.
| * Add check for #! in *.py filesLars Wirzenius2012-08-021-0/+10
|/ | | | | We don't want to have any *.py files as executable scripts, so hashbangs never make sense.
* Merge branch 'master' of roadtrain.codethink.co.uk:baserock/morphLars Wirzenius2012-08-012-1/+13
|\ | | | | | | | | | | Conflicts: morphlib/morphologyfactory.py morphlib/morphologyfactory_tests.py
| * Merge branch 'samthursfield/clearer-morphology-parse-errors' of ↵Richard Maw2012-08-012-2/+13
| |\ | | | | | | | | | | | | | | | | | | git://roadtrain.codethink.co.uk/baserock/morph Merged with a tweak to the layout, since the code style's display width is 79 characters, rather than 80.
| | * Raise clearer error on morphology parse errorsSam Thursfield2012-07-312-2/+12
| |/
* | Merge remote branch 'origin/baserock/feature/S2791-move-commands-to-plugins'Lars Wirzenius2012-08-0174-1947/+2225
|\ \ | |/ |/|
| * Move cmd_build to a separate pluginRichard Maw2012-08-013-17/+48
| | | | | | | | | | It's such a small amount of code, it's possibly not worth it, but now all commands are in plugins.
| * Move BuildCommand from app into its own moduleRichard Maw2012-08-015-280/+302
| | | | | | | | | | | | | | | | morphlib.app should be for application bringup and providing command line options used by the library code. Any external plugins that refer to morphlib.app.BuildCommand will need fixing.
| * Consolidate morphology writing code in pluginRichard Maw2012-08-012-5/+6
| | | | | | | | | | As simple as it is to dump json files, it is convenient to use the same function, so the format can be kept the same.
| * Move edit to plugin and remove dead code from appRichard Maw2012-08-012-156/+94
| | | | | | | | | | Some miscellaneous cleanup of functions was done, so new apis like savefile and status are used.
| * Move merge command to pluginRichard Maw2012-08-012-18/+29
| | | | | | | | | | | | | | resolve_reponame is now duplicated since other functions use it. cmd_edit uses everything, so they can be removed from morphlib.app when it is moved to a plugin.
| * Add test for petrifying strataRichard Maw2012-08-013-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This test checks if the same morphology json is generated during petrification. Because commits include the author and date, the sha1 sum will differ if a different user commits at a different time. This can be overridden by the environment variables GIT_{AUTHOR,COMMITTER}_{NAME,EMAIL,DATE}. The date chosen was just something recent at the time the work was done, since a too-early timestamp is rejected by git as invalid.
| * Move command petrify to branch_and_merge pluginRichard Maw2012-08-012-35/+33
| | | | | | | | | | This does not require any other function movements, due to its simple implementation.
| * move command show-system-branch to pluginRichard Maw2012-08-012-13/+29
| | | | | | | | | | deduce_system_branch is now duplicated because other commands not yet moved require it.
| * Move commands branch and checkout to pluginRichard Maw2012-08-012-41/+79
| | | | | | | | | | clone_to_directory is currently duplicated because other commands not yet moved require it.
| * Add chatty output to init commandRichard Maw2012-08-011-0/+1
| | | | | | | | | | | | | | | | If verbose is specified, then more output is expected, so print that it was successful. This was actually added so that the self parameter of init was used for something.