diff --git a/Dockerfile b/Dockerfile index 32dcb8c..3cecad9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,16 @@ -FROM busybox +FROM exherbo/exherbo-x86_64-pc-linux-gnu-base MAINTAINER Julian Ospald +ENV PALUDIS_DO_NOTHING_SANDBOXY=1 +RUN echo "export PALUDIS_DO_NOTHING_SANDBOXY=1" >> /etc/profile + # copy hooks -COPY ./config/paludis /etc/paludis-new +COPY ./config/paludis /etc/paludis # This one should be present by running the build.sh script -COPY bootstrap.sh build.sh / - -# one step, to make the layer as thin as possible -# bootstrap.sh calls build.sh -RUN /bootstrap.sh amd64 x86_64 +COPY build.sh / +RUN chmod +x /build.sh && /build.sh +RUN rm /build.sh # update etc files... hope this doesn't screw up RUN eclectic config accept-all diff --git a/bootstrap.sh b/bootstrap.sh deleted file mode 100755 index ea90d92..0000000 --- a/bootstrap.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -set -e - -# First param is package tarball, 2nd is the *.DIGEST file -VerifyShaOfStage3() -{ - test_sum=$(awk -v myvar="$1" '$2==myvar {for(i=1; i<=1; i++) { print $1; exit}}' $2) - calculated_sum=$(sha1sum $1 | awk '{print $1}' -) - if [[ "$test_sum" == "$calculated_sum" ]]; then - return 0 - else - return 1 - fi -} - -suffix=$3 # e.g. -hardened -arch=$1 -dist="http://dev.exherbo.org/stages/" -stage3="exherbo-x86_64-pc-linux-gnu-current.tar.xz" - -# Create working directory, keep a copy of busybox handy -mkdir newWorldOrder; cd newWorldOrder -cp /bin/busybox . - -echo "Downloading and extracting ${stage3}..." -wget -c "${dist}/${stage3}" "${dist}/sha1sum" -if VerifyShaOfStage3 $stage3 "sha1sum"; then - echo "DIGEST sum is okey"; -else - echo "DIGEST sum is NOT okey"; - return 1; -fi -xz -d ${stage3} -tar --exclude "./etc/hosts" --exclude "./etc/hostname" --exclude "./sys/*" -xf ${stage3%.*} -/newWorldOrder/busybox rm -f ${stage3%.*} - -echo "Installing stage 3" -/newWorldOrder/busybox rm -rf /lib* /usr /var /bin /sbin /opt /mnt /media /root /home /run /tmp -/newWorldOrder/busybox cp -fRap lib* / -/newWorldOrder/busybox cp -fRap bin boot home media mnt opt root run sbin tmp usr var / -/newWorldOrder/busybox cp -fRap etc/* /etc/ -/newWorldOrder/busybox cp -fRap /etc/paludis-new/* /etc/paludis/ -/newWorldOrder/busybox rm -rf /etc/paludis-new - -# Cleaning -cd / -/newWorldOrder/busybox rm -rf /newWorldOrder /bootstrap.sh /linuxrc - -# Say hello -echo "Bootstrapped ${stage3} into /:" -ls --color -lah - -exec /bin/bash -c /build.sh - diff --git a/build.sh b/build.sh index 9e1ab34..2257f71 100755 --- a/build.sh +++ b/build.sh @@ -23,19 +23,54 @@ echo LANG="en_US.UTF-8" > /etc/env.d/99locale # update chgrp paludisbuild /dev/tty cave sync -cave resolve -z -1 dev-libs/libressl sys-apps/paludis -U dev-libs/openssl -D dev-libs/openssl -f -x -cave resolve -z \!dev-libs/openssl -u '*/*' -x -cave resolve -z -1 dev-libs/libressl -x -cave resolve -z -1 net-misc/wget net-misc/curl -x -cave fix-linkage -x -- --without sys-apps/paludis -cave resolve -z \!sys-apps/systemd -u '*/*' -x -cave resolve -z -1 repository/spbecker -x + +cave resolve --recommendations ignore --suggestions ignore \ + -z -1 \ + -U dev-libs/openssl -D dev-libs/openssl \ + dev-libs/libressl sys-apps/paludis \ + -f -x + +cave resolve --recommendations ignore --suggestions ignore \ + -z \ + -u '*/*' \ + \!dev-libs/openssl \ + -x + +cave resolve --recommendations ignore --suggestions ignore \ + -z -1 \ + dev-libs/libressl \ + -x + +cave resolve --recommendations ignore --suggestions ignore \ + -z -1 \ + net-misc/wget net-misc/curl \ + -x + +cave fix-linkage -x -- \ + --without sys-apps/paludis \ + --recommendations ignore --suggestions ignore + +cave resolve --recommendations ignore --suggestions ignore \ + -z \ + -u '*/*' \ + \!sys-apps/systemd \ + -x + +cave resolve --recommendations ignore --suggestions ignore \ + -z -1 \ + repository/spbecker \ + -x + cave update-world app-editors/nano -cave resolve -c world -x + +cave resolve \ + -c world --recommendations ignore --suggestions ignore \ + -x + cave purge -x -cave fix-linkage -x + +cave fix-linkage -x -- \ + --recommendations ignore --suggestions ignore rm -rf /var/cache/paludis/distfiles/* -rm -f /build.sh -