77 lines
2.2 KiB
Docker
77 lines
2.2 KiB
Docker
FROM python:3.6-stretch as base
|
|
|
|
RUN apt-get update
|
|
RUN apt-get install -y --no-install-recommends \
|
|
build-essential libxml2-utils git make gcc libtool libmhash-dev \
|
|
asciidoc asciidoc-dblatex
|
|
|
|
# Install deps
|
|
RUN pip install snakeoil
|
|
|
|
RUN pip install git+https://github.com/dol-sen/pyDeComp
|
|
|
|
# Clone catalyst repository
|
|
RUN git clone https://anongit.gentoo.org/git/proj/catalyst.git catalyst
|
|
|
|
# Build and install catalyst
|
|
WORKDIR /catalyst
|
|
RUN make && python -m setup install
|
|
|
|
# Get and uncompress shash
|
|
WORKDIR /
|
|
RUN wget ftp://mcrypt.hellug.gr/pub/mcrypt/shash/shash-0.2.6.tar.gz \
|
|
&& tar xvzf shash-0.2.6.tar.gz
|
|
|
|
# Build shash
|
|
WORKDIR shash-0.2.6
|
|
RUN cp /usr/share/libtool/build-aux/missing ./ \
|
|
&& ./configure --build=i686-pc-linux && make && make install
|
|
|
|
WORKDIR /
|
|
|
|
FROM python:3.6-alpine
|
|
|
|
RUN apk add coreutils
|
|
|
|
COPY --from=base /usr/local/lib/python3.6/site-packages/snakeoil-* \
|
|
/usr/local/lib/python3.6/site-packages/
|
|
COPY --from=base /usr/local/lib/python3.6/site-packages/snakeoil \
|
|
/usr/local/lib/python3.6/site-packages/snakeoil
|
|
|
|
COPY --from=base /usr/local/lib/python3.6/site-packages/DeComp-* \
|
|
/usr/local/lib/python3.6/site-packages/
|
|
COPY --from=base /usr/local/lib/python3.6/site-packages/DeComp \
|
|
/usr/local/lib/python3.6/site-packages/DeComp
|
|
|
|
COPY --from=base /usr/local/lib/python3.6/site-packages/catalyst-* \
|
|
/usr/local/lib/python3.6/site-packages/
|
|
COPY --from=base /usr/local/lib/python3.6/site-packages/catalyst \
|
|
/usr/local/lib/python3.6/site-packages/catalyst
|
|
|
|
COPY --from=base /usr/local/share/catalyst /usr/local/share
|
|
|
|
COPY --from=base /etc/catalyst /etc/
|
|
|
|
COPY --from=base /usr/local/bin/catalyst /usr/local/bin/catalyst
|
|
|
|
COPY --from=base /usr/local/bin/shash /usr/local/bin/shash
|
|
|
|
# Override Stage3 preclean to add perl-cleaner invocation
|
|
COPY stage3-preclean-chroot.sh \
|
|
/usr/local/share/catalyst/targets/stage3/stage3-preclean-chroot.sh
|
|
|
|
# Volume for catalyst generated files
|
|
VOLUME /var/lib/catalyst
|
|
|
|
# Volume for downloaded distfiles
|
|
VOLUME /var/cache/portage/distfiles
|
|
|
|
# Volume for generated packages
|
|
VOLUME /var/cache/portage/packages
|
|
|
|
# The entrypoint…
|
|
COPY entrypoint.sh entrypoint.sh
|
|
|
|
# ... to be called
|
|
CMD /entrypoint.sh
|