| |
---|
| | 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 |
---|
| |
---|
| | |