formatting
1 parent 4a3d458 commit 07a06854ef5012c5602d014c6431633f86bcaaab
@tundra tundra authored on 31 Dec 2017
Showing 1 changed file
View
40
README.md
We've just created a tarball that has all the tools we want precompiled
and ready for distribution. We just untar the full tools tarball onto
any other machine. The only restrictions are:
 
* We must un-tar *so that the tools directory ends up in the same
location in the filesystem as where it was built*. The binaries
we've just created make assumptions about where to find their
libraries and other dependencies. So, if we built the tools
under:
1. We must un-tar so that the tools directory ends up in the same
location in the filesystem as where it was built. The binaries
created above make assumptions about where to find their
libraries and other dependencies. So, if we built the tools
under:
 
`/opt/mydir/tools`
`/opt/mydir/tools`
 
Every installation on other machines must also install them
there (and be added to `$(PATH}` as described in `brewenv`.
Every installation on other machines must also install them
there (and be added to `$(PATH}` as described in `brewenv`.
 
Recall that this procedure actually creates the tools directory
as:
Recall that this procedure actually creates the tools directory
as:
 
`/opt/mydur/tools-YYYYMMDD`.
`/opt/mydur/tools-YYYYMMDD`.
 
In this example, you could either symlink `tools` to that
directory or just rename the directory accordingly.
In this example, you could either symlink `tools` to that
directory or just rename the directory accordingly.
 
* The build- and target machines must have reasonably close kernel
versions. That's because the bootstrap phase makes use of
native OS header files that are kernel-dependent. If, say,
you try to build this on a CentOS 7 instance, but then attempt
to deploy to, CentOS 5, expect problems. *Always build your
deploy image on an OS that is substantially the same as your targets*.
Again, `docker` is your friend here.
2. The build- and target machines must have reasonably close kernel
versions. That's because the bootstrap phase makes use of native
OS header files that are kernel-dependent. If, say, you try to
build this on a CentOS 7 instance, but then attempt to deploy to,
CentOS 5, expect problems. Always build your deploy image on an
OS that is substantially the same as your targets. Again,
`docker` is your friend here.
 
## The `brewenv` File
 
The `brewenv` file documents the environment variables that need to be