diff --git a/Makefile b/Makefile index 6051fc4..915733d 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,6 @@ MAINTAINER?==@eater.me +# Docker executable to use (default: docker, but img may be used) +DOCKER_EXEC?=docker # Name of image IMAGE?=d.xr.to/base # Arch to be used @@ -13,8 +15,6 @@ TOOLBOX?=toybox PACKAGES?=xbps bash ncurses-base shadow # Directory where chroot should be build BUILDDIR?=$(PWD)/build -# Executable used for making the docker container (e.g. img or docker) -DOCKER_BUILDER?=docker ifeq ($(TOOLBOX),none) VALID_TOOLBOX?=1 @@ -86,6 +86,11 @@ endif # Create lsb_release file cp files/lsb_release $(BUILDDIR)/bin/lsb_release chmod +x $(BUILDDIR)/bin/lsb_release + # Create xbps helpers + cp files/xbps-remote $(BUILDDIR)/bin/xbps-remote + chmod +x $(BUILDDIR)/bin/xbps-remote + cp files/xbps-local $(BUILDDIR)/bin/xbps-local + chmod +x $(BUILDDIR)/bin/xbps-local # Create passwd, shadow and group file cp files/passwd $(BUILDDIR)/etc/passwd cp files/group $(BUILDDIR)/etc/group @@ -93,7 +98,7 @@ endif install: build # Import directory as tar (owned by root) into docker - tar --owner 0 --group 0 -pC $(BUILDDIR) -c . | $(DOCKER_BUILDER) import -m '$(IMAGE) initialization from chroot' -c 'LABEL maintainer="$(MAINTAINER)"' - $(IMAGE) + tar --owner 0 --group 0 -pC $(BUILDDIR) -c . | $(DOCKER_EXEC) import -m '$(IMAGE) initialization from chroot' -c 'LABEL maintainer="$(MAINTAINER)"' - $(IMAGE) clean: # Remove build directory diff --git a/build-tagged.sh b/build-tagged.sh index a6e0b2f..40f91ad 100755 --- a/build-tagged.sh +++ b/build-tagged.sh @@ -1,13 +1,13 @@ #!/usr/bin/env bash +DOCKER_EXEC="${DOCKER_EXEC:-docker}"; IMAGE="${1:-d.xr.to/base}"; MAINTAINER="${2:-=@eater.me}"; -DOCKER_BUILDER="${DOCKER_BUILDER:-docker}" + +build_dir="$(dirname "$0")/build" +test -d "${build_dir}" && rm -rf "${build_dir}"; + for toolbox in "none" "toybox" "busybox" "default"; do - make IMAGE="${IMAGE}:${toolbox}" TOOLBOX="${toolbox}" DOCKER_BUILDER="${DOCKER_BUILDER}"; + make IMAGE="${IMAGE}:${toolbox}" TOOLBOX="${toolbox}" DOCKER_EXEC="${DOCKER_EXEC}" all > "${toolbox}.log"; done -docker tag "${IMAGE}:toybox" "${IMAGE}:latest"; -make IMAGE="${IMAGE}:glibc" TOOLBOX="toybox" ARCH="x86_64" DOCKER_BUILDER="${DOCKER_BUILDER}" - -if [ "${PUSH}" = "y" ]; then - docker push "${IMAGE}"; -fi +$DOCKER_EXEC tag "${IMAGE}:toybox" "${IMAGE}:latest"; +make IMAGE="${IMAGE}:glibc" TOOLBOX="toybox" ARCH="x86_64" DOCKER_EXEC="${DOCKER_EXEC}" all > "glibc.log"; diff --git a/files/xbps-local b/files/xbps-local new file mode 100755 index 0000000..1798704 --- /dev/null +++ b/files/xbps-local @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +xbps-install -yR /tmp/xbps "$@" && xbps-remove -Oo && rm -rf /var/cache/xbps/* /tmp/xbps diff --git a/files/xbps-remote b/files/xbps-remote new file mode 100755 index 0000000..f4fa4cb --- /dev/null +++ b/files/xbps-remote @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +xbps-install -Sy "$@" && xbps-remove -Oo && rm -rf /var/cache/xbps/* /tmp/xbps