summaryrefslogtreecommitdiff
path: root/morph.1.in
blob: 03e074edc5c6681142ae0f8aed082f5fc34fbc91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
.\" 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/