.\" Copyright (C) 2012 Codethink Limited .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; version 2 of the License. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License along .\" with this program; if not, write to the Free Software Foundation, Inc., .\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. .\" .TH MORPH 1 .SH NAME morph \- Baserock development workflow tool .SH SYNOPSIS .SH DESCRIPTION Baserock is an embedded Linux system. .B morph is its workflow tool. It manages building binaries, and branching and merging of the entire system. Morph is designed to turn collections of git repositories into system images using morphology files to define their dependencies. .PP A .B system image is defined as a group of .B strata describing subsystems, each of which comprises a series of .BR chunks , each of which in turn corresponds to an individual upstream project. For example, there might be a 'generic developer system' system morphology, containing a stratum for the basic bootable system and another for developer tools; the latter would then have individual chunks for make, gcc, binutils and so forth. .PP A chunk is a git repository based on an individual upstream project's revision control system, converted into git if upstream does not already use it. The build is controlled a .B something.morph configuration file defining how to build the chunk and any other changes required to get the repository to build with the rest of Baserock. .PP Morph is also capable of branching the whole system (that is branching all constituent git repositories of a system simultaneously) in order to allow system-wide changes that cross the boundaries of individual git repositories, and of generating commits to the group of git repositories that have been modified in such a branch. .PP For more details, please see the Baserock wiki at http://wiki.baserock.org. .SH OPTIONS .SH ENVIRONMENT .B morph cleans out the environment when it runs builds, so that builds are not affected by random enviroment variables set by the user. However, a few environment variables do affect either .B morph itself, or the builds it runs. .PP .TP .B PATH .B morph keeps the user's .B PATH if the .B \-\-keep\-path option is used. Additionally, .B morph will prepend the location of the .BR ccache (1) binaries to the path, unless the .B no-cache setting is enabled. .TP .BR DISTCC_HOSTS ", " TMPDIR ", " LD_PRELOAD ", " LD_LIBRARY_PATH ", " \ FAKEROOTKEY ", " FAKED_MODE ", " FAKEROOT_FD_BASE .B morph keeps these environment variable, if set. .TP .B TOOLCHAIN_TARGET .B morph sets this to the value of the .B toolchain\-target setting from its configuration. .TP .B CFLAGS .B morph sets this to the value of the .B target\-cflags setting from its configuration. .TP .B PREFIX .B morph sets this to the value of the .B prefix setting from its configuration. .TP .B BOOTSTRAP .B morph sets this to .B true if the .B bootstrap setting from its configuration is enabled. Otherwise, .B morph sets the environment variable to .BR false . .TP .B MORPH_PLUGIN_PATH .B morph looks for additional plugins in the directories given in this variable. Syntax is same as for .B PATH (i.e., colon delimited pathnames). .PP The .BR cliapp (5) manual page has some more variables that affect .B morph itself. .SH "SEE ALSO" .BR cliapp (5). .PP http://wiki.baserock.org/ .br http://www.baserock.com/