mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
Docker: Make OPAM system wide available
This commit is contained in:
parent
873cf3a68f
commit
b4dfb255ed
@ -23,6 +23,7 @@ RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
make \
|
||||
sudo \
|
||||
mc \
|
||||
live-build \
|
||||
pbuilder \
|
||||
devscripts \
|
||||
@ -191,10 +192,13 @@ RUN apt-get update && apt-get install -y \
|
||||
# Packages needed for libvyosconfig
|
||||
RUN curl https://raw.githubusercontent.com/ocaml/opam/2.0.2/shell/install.sh --output /tmp/opam_install.sh && \
|
||||
sed -i 's/read BINDIR/BINDIR=""/' /tmp/opam_install.sh && sh /tmp/opam_install.sh && \
|
||||
opam init --disable-sandboxing && \
|
||||
eval $(opam env) && opam switch create 4.07.0 && \
|
||||
eval $(opam env) && opam install -y oasis && \
|
||||
eval $(opam env) && opam install -y \
|
||||
opam init --root=/opt/opam --comp=4.07.0 --disable-sandboxing
|
||||
|
||||
RUN eval $(opam env --root=/opt/opam --set-root) && \
|
||||
opam install -y \
|
||||
oasis
|
||||
|
||||
RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \
|
||||
fileutils \
|
||||
lwt \
|
||||
lwt_ppx \
|
||||
@ -210,14 +214,14 @@ RUN curl https://raw.githubusercontent.com/ocaml/opam/2.0.2/shell/install.sh --o
|
||||
ocaml-protoc \
|
||||
ctypes-foreign
|
||||
|
||||
RUN eval $(opam env) && opam install -y \
|
||||
RUN eval $(opam env --root=/opt/opam --set-root) && opam install -y \
|
||||
ctypes
|
||||
|
||||
# Build VyConf which is required to build libvyosconfig
|
||||
RUN eval $(opam env) && \
|
||||
git clone https://github.com/vyos/vyconf.git && \
|
||||
cd vyconf && \
|
||||
git checkout 0f121c12a84200 && \
|
||||
RUN eval $(opam env --root=/opt/opam --set-root) && \
|
||||
git clone https://github.com/vyos/vyconf.git /tmp/vyconf && \
|
||||
cd /tmp/vyconf && \
|
||||
git checkout v0.1 && \
|
||||
./build-setup.sh && \
|
||||
./configure --enable-tests && \
|
||||
make && \
|
||||
@ -225,10 +229,10 @@ RUN eval $(opam env) && \
|
||||
make install
|
||||
|
||||
# Build libvyosconfig
|
||||
RUN eval $(opam env) && \
|
||||
RUN eval $(opam env --root=/opt/opam --set-root) && \
|
||||
git clone https://github.com/vyos/libvyosconfig && \
|
||||
cd libvyosconfig && \
|
||||
git checkout e75e4ae638c49e && \
|
||||
git checkout v0.0.4 && \
|
||||
dpkg-buildpackage -uc -us -tc -b && \
|
||||
dpkg -i ../libvyosconfig0_*_amd64.deb
|
||||
|
||||
@ -236,6 +240,10 @@ RUN eval $(opam env) && \
|
||||
RUN apt-get update && apt-get install -y \
|
||||
whois
|
||||
|
||||
# Packages needed for vyos-xe-guest-utilities
|
||||
RUN apt-get update && apt-get install -y \
|
||||
golang
|
||||
|
||||
# Update live-build
|
||||
RUN echo 'deb http://ftp.debian.org/debian stretch main' | tee -a /etc/apt/sources.list.d/stretch.list && \
|
||||
apt-get update && apt-get install -y -t stretch live-build && \
|
||||
|
||||
@ -23,6 +23,10 @@ if ! grep -q $NEW_GID /etc/group; then
|
||||
groupadd --gid $NEW_GID $USER_NAME
|
||||
fi
|
||||
|
||||
# libvyosconfig depends on OCaml/OPAM so we make sure
|
||||
# we can use it
|
||||
echo "eval \$(opam env --root=/opt/opam --set-root)" >> /etc/skel/.bashrc
|
||||
|
||||
useradd --shell /bin/bash --uid $NEW_UID --gid $NEW_GID --non-unique --create-home $USER_NAME
|
||||
usermod --append --groups sudo $USER_NAME
|
||||
sudo chown $NEW_UID:$NEW_GID /home/$USER_NAME
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user