mirror of
https://github.com/containers/podman
synced 2024-10-20 09:13:46 +00:00
72 lines
1.7 KiB
Bash
72 lines
1.7 KiB
Bash
|
#!/bin/bash
|
||
|
set -xeuo pipefail
|
||
|
|
||
|
export GOPATH=/go
|
||
|
export PATH=$HOME/gopath/bin:$PATH:$GOPATH/bin
|
||
|
|
||
|
runc=0
|
||
|
conmon=0
|
||
|
cni=0
|
||
|
podman_conf=0
|
||
|
|
||
|
conmon_source=/go/src/github.com/containers/conmon
|
||
|
cni_source=/go/src/github.com/containernetworking/plugins
|
||
|
runc_source=/go/src/github.com/opencontainers/runc
|
||
|
podman_source=/var/tmp/checkout
|
||
|
|
||
|
while getopts "cnrf" opt; do
|
||
|
case "$opt" in
|
||
|
c) conmon=1
|
||
|
;;
|
||
|
f) podman_conf=1
|
||
|
;;
|
||
|
n) cni=1
|
||
|
;;
|
||
|
r) runc=1
|
||
|
;;
|
||
|
*) echo "Nothing to do ... exiting."
|
||
|
exit 0
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ $conmon -eq 1 ]; then
|
||
|
# Build and install conmon from source
|
||
|
echo "Building conmon ..."
|
||
|
git clone http://github.com/containers/conmon $conmon_source
|
||
|
cd $conmon_source && make install PREFIX=/usr
|
||
|
fi
|
||
|
|
||
|
|
||
|
if [ $cni -eq 1 ]; then
|
||
|
# Build and install containernetworking plugins from source
|
||
|
echo "Building containernetworking-plugins..."
|
||
|
git clone http://github.com/containernetworking/plugins $cni_source
|
||
|
cd $cni_source
|
||
|
./build.sh
|
||
|
mkdir -p /usr/libexec/cni
|
||
|
cp -v bin/* /usr/libexec/cni/
|
||
|
fi
|
||
|
|
||
|
|
||
|
if [ $runc -eq 1 ]; then
|
||
|
# Build and install runc
|
||
|
echo "Building runc..."
|
||
|
git clone http://github.com/opencontainers/runc $runc_source
|
||
|
cd $runc_source
|
||
|
make install PREFIX=/usr
|
||
|
fi
|
||
|
|
||
|
if [ $podman_conf -eq 1 ]; then
|
||
|
# Install various configuration files required by libpod
|
||
|
|
||
|
# Install CNI conf file for podman
|
||
|
mkdir -p /etc/cni/net.d
|
||
|
cp -v $podman_source/cni/87-podman-bridge.conflist /etc/cni/net.d/
|
||
|
|
||
|
# Install registries.conf
|
||
|
mkdir -p /etc/containers
|
||
|
cp -v $podman_source/test/registries.conf /etc/containers/
|
||
|
cp -v $podman_source/test/policy.json /etc/containers/
|
||
|
fi
|