diff --git a/Dockerfile b/Dockerfile index d804725..d3c8763 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,8 +69,8 @@ RUN ln -sf /usr/local/share/catalyst /usr/share/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 +#COPY stage3-preclean-chroot.sh \ +# /usr/local/share/catalyst/targets/stage3/stage3-preclean-chroot.sh # Volume for catalyst generated files VOLUME /var/lib/catalyst @@ -81,6 +81,11 @@ VOLUME /var/cache/portage/distfiles # Volume for generated packages VOLUME /var/cache/portage/packages +# Copy base specs. +COPY stage1.spec stage1.spec +COPY stage2.spec stage2.spec +COPY stage3.spec stage3.spec + # The entrypoint… COPY entrypoint.sh entrypoint.sh diff --git a/entrypoint.sh b/entrypoint.sh index f2a4f77..d0a4648 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -23,11 +23,17 @@ ln -sf /var/lib/catalyst/store/builds/$(basename ${STAGE3_TAG}) \ wget -q -N -P /var/lib/catalyst/store/snapshots/ \ https://gentoo.osuosl.org/releases/snapshots/current/portage-latest.tar.bz2 +# Build stage1 snapshot +catalyst -c /var/lib/catalyst/catalyst.conf -f /stage1.spec + +# Build stage2 snapshot +catalyst -c /var/lib/catalyst/catalyst.conf -f /stage2.spec + # Cleanup stage3 package cache -rm -Rf /var/lib/catalyst/store/packages/default/stage3-amd64/* +#rm -Rf /var/lib/catalyst/store/packages/default/stage3-amd64/* -# Update stage3 snapshot -catalyst -c /var/lib/catalyst/catalyst.conf -f /var/lib/catalyst/stage3.spec +# Build stage3 snapshot +catalyst -c /var/lib/catalyst/catalyst.conf -f /stage3.spec -# Update custom packages +# Build custom packages catalyst -c /var/lib/catalyst/catalyst.conf -f /var/lib/catalyst/build.spec diff --git a/stage1.spec b/stage1.spec new file mode 100644 index 0000000..586f486 --- /dev/null +++ b/stage1.spec @@ -0,0 +1,14 @@ +subarch: amd64 +target: stage1 +version_stamp: latest +rel_type: default +profile: default/linux/amd64/17.0 +snapshot: latest +source_subpath: default/stage3-amd64-latest +compression_mode: pixz_x +decompressor_search_order: tar pixz xz lbzip2 bzip2 gzip +update_seed: yes +update_seed_command: --update --deep @world +#portage_confdir: @REPO_DIR@/releases/weekly/portage/stages +portage_confdir: /var/lib/catalyst/portage-conf +#portage_prefix: releng diff --git a/stage2.spec b/stage2.spec new file mode 100644 index 0000000..0ddce5e --- /dev/null +++ b/stage2.spec @@ -0,0 +1,12 @@ +subarch: amd64 +target: stage2 +version_stamp: latest +rel_type: default +profile: default/linux/amd64/17.0 +snapshot: latest +source_subpath: default/stage1-amd64-latest +compression_mode: pixz_x +decompressor_search_order: tar pixz xz lbzip2 bzip2 gzip +#portage_confdir: @REPO_DIR@/releases/weekly/portage/stages +portage_confdir: /var/lib/catalyst/portage-conf +#portage_prefix: releng diff --git a/stage3.spec b/stage3.spec new file mode 100644 index 0000000..fe4cc25 --- /dev/null +++ b/stage3.spec @@ -0,0 +1,16 @@ +## Static settings +subarch: amd64 +target: stage3 +rel_type: default +profile: default/linux/amd64/17.0 +cflags: -O2 -pipe -march=native +#pkgcache_path: /var/cache/portage/packages +portage_confdir: /var/lib/catalyst/portage-conf +## Dynamic settings (might be passed on as parameters instead) +# Name of the "seed" stage3 file to use +#source_subpath: default/stage3-amd64-latest +source_subpath: default/stage2-amd64-latest +# Name of the portage snapshot to use +snapshot: latest +# Timestamp to use on your resulting stage3 file +version_stamp: latest