From 37157b2e55ebc020a48a1b85f35aa8ba5686a51b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Tue, 9 Mar 2021 15:34:14 -0500 Subject: Simplify generation Docker image --- Dockerfile-Hyperbola-v03 | 30 +++++++++--------------------- Dockerfile-Hyperbola-v04 | 30 +++++++++--------------------- README.md | 12 +++--------- 3 files changed, 21 insertions(+), 51 deletions(-) diff --git a/Dockerfile-Hyperbola-v03 b/Dockerfile-Hyperbola-v03 index b2e5d3b..a32e2d1 100644 --- a/Dockerfile-Hyperbola-v03 +++ b/Dockerfile-Hyperbola-v03 @@ -1,27 +1,15 @@ FROM scratch -MAINTAINER Jesus E. - -# Set the $architecture ARG on your `docker build' command line with `--build-arg architecture=x86_64' or `i686'. -ARG architecture ADD bootstrap.tar.gz / -RUN \ -# First -pacman-key --init \ -&& pacman-key --populate archlinux hyperbola \ -# Another bit of a hack, until Hyperbola bootstrap tarballs start including `sed' package, which is required by -# `rankmirrors', which comes with `pacman' package, while that one doesn't depend on `sed'. (Note to self: ask the -# Hyperbola devs about this; `locale-gen' uses `sed' too). Again, lucky it has very little deps. -&& sed -i "s/^Architecture = auto$/Architecture = $architecture/" /etc/pacman.conf \ -# `locale-gen' needs `gzip' (via `localedef', which works on /usr/share/i18n/charmaps/*.gz), `paccache' needs `awk'. -# Update the system BTW. -&& pacman -Su --noconfirm --noprogressbar --quiet gzip awk \ -# Remove the last leftovers of the initial dirty `haveged' install. -&& paccache -r -k0 \ -&& echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen \ -&& locale-gen \ -&& echo 'LANG=en_US.UTF-8' > /etc/locale.conf \ -&& pacman -Scc --noconfirm +RUN ldconfig + +RUN pacman-key --init && pacman-key --populate archlinux hyperbola + +RUN pacman -Su --noconfirm --noprogressbar --quiet gzip awk + +RUN pacman -Scc --noconfirm && paccache -r -k0 ENV LANG en_US.UTF-8 + +CMD ["/bin/bash"] diff --git a/Dockerfile-Hyperbola-v04 b/Dockerfile-Hyperbola-v04 index f89d46a..c63d99b 100644 --- a/Dockerfile-Hyperbola-v04 +++ b/Dockerfile-Hyperbola-v04 @@ -1,27 +1,15 @@ FROM scratch -MAINTAINER Jesus E. - -# Set the $architecture ARG on your `docker build' command line with `--build-arg architecture=x86_64' or `i686'. -ARG architecture ADD bootstrap.tar.gz / -RUN \ -# First -pacman-key --init \ -&& pacman-key --populate hyperbola \ -# Another bit of a hack, until Hyperbola bootstrap tarballs start including `sed' package, which is required by -# `rankmirrors', which comes with `pacman' package, while that one doesn't depend on `sed'. (Note to self: ask the -# Hyperbola devs about this; `locale-gen' uses `sed' too). Again, lucky it has very little deps. -&& sed -i "s/^Architecture = auto$/Architecture = $architecture/" /etc/pacman.conf \ -# `locale-gen' needs `gzip' (via `localedef', which works on /usr/share/i18n/charmaps/*.gz), `paccache' needs `awk'. -# Update the system BTW. -&& pacman -Su --noconfirm --noprogressbar --quiet gzip awk \ -# Remove the last leftovers of the initial dirty `haveged' install. -&& paccache -r -k0 \ -&& echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen \ -&& locale-gen \ -&& echo 'LANG=en_US.UTF-8' > /etc/locale.conf \ -&& pacman -Scc --noconfirm +RUN ldconfig + +RUN pacman-key --init && pacman-key --populate hyperbola + +RUN pacman -Su --noconfirm --noprogressbar --quiet gzip awk + +RUN pacman -Scc --noconfirm && paccache -r -k0 ENV LANG en_US.UTF-8 + +CMD ["/bin/bash"] diff --git a/README.md b/README.md index f63a3de..4690a19 100644 --- a/README.md +++ b/README.md @@ -16,25 +16,19 @@ Usage - Generate bootstrap image with [hyperbola-bootstrap](https://git.sr.ht/~heckyel/hyperbola-bootstrap) -- Run +- Converter hyperbola-bootstrap to bootstrap image valid for docker ./tar_fix.py --input=hyperbola-bootstrap.tar.gz --output=bootstrap.tar.gz - > This will remove input tarball's top-level directory from all its component paths, and save that in the output tarball. - > As a result its content starts at `/` rather than `x86_64/` or `i686/`, and so will the filesystem of the Docker image. - > `tar_fix.py` needs Python 3.5 or later. - - Make sure you have my `Dockerfile`, `.dockerignore` and the `bootstrap.tar.gz` in one directory. - Build the image with a command like: - docker build --build-arg architecture=x86_64 --tag hyperbola:0.4 -f Dockerfile-Hyperbola-v04 . + docker build --tag hyperbola:0.4 -f Dockerfile-Hyperbola-v04 . or for Hyperbola Milky Way v0.3 - docker build --build-arg architecture=x86_64 --tag hyperbola:0.3 -f Dockerfile-Hyperbola-v03 . - - > **Mind the dot!** Use `--build-arg architecture=i686` if you are building from an i686 `bootstrap.tar.gz`. + docker build --tag hyperbola:0.3 -f Dockerfile-Hyperbola-v03 . License ======= -- cgit v1.2.3