Repository navigation
[TASK] Keep the baselayout scripts in this repository instead of downloading them - #622
Merged
Merged
Conversation
…loading them The toolbox build downloaded install.sh of Docker-Image-Baselayout from its master branch, which in turn downloaded the master tarball of that repository, at every build. The scripts the images use (apt-install, apk-install, docker-run-bootstrap, generate-locales, ...) are now in provisioning/baselayout/general/usr/local/bin, taken from commit 89e524f of that repository. conf/provision.yml copies them into the conf/ of toolbox, and its Dockerfile copies them to /baselayout, where bootstrap and the PHP images take them from as before. The build no longer depends on the other repository. Only what the images need is taken over: yum-install and yum-upgrade are left out, and so are the branches for Red Hat, Arch and Ubuntu before 16.04 in docker-image-cleanup, generate-dockerimage-info and generate-locales. The service install scripts of base no longer call yum-install. Debian, Ubuntu and Alpine work as before: the image info of bootstrap and base is the same as in the published images.
|
Kanti
marked this pull request as ready for review
November 15, 2026 11:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
The build of
webdevops/toolboxdownloadedinstall.shof webdevops/Docker-Image-Baselayout from itsmasterbranch, and that script downloaded themastertarball of the same repository, at every build. The scripts the images use are now part of this repository, so the build no longer depends on the other one.Only what the images need is taken over.
yum-install,yum-upgradeand the branches for Red Hat, Arch and Ubuntu before 16.04 are left out, because no image is built on one of these systems.toolboxkeeps the scripts under/baselayout, andbootstrapand the PHP images copy them from there withCOPY --from=webdevops/toolbox, as before. For users of the images, onlyyum-installandyum-upgradedisappear from/usr/local/bin; they could not work, since no image hasyum.Changes
provisioning/baselayout/general/usr/local/bin: 11 scripts from commit89e524f(2017-11-07, the last commit) of Docker-Image-Baselayout, with their permissions. Both repositories are MIT licensed by WebDevOps.apk-install,apk-upgrade,apt-add-repository,apt-install,apt-update,apt-upgrade,docker-image-info,docker-run-bootstrap.docker-image-cleanupandgenerate-dockerimage-infowithout Red Hat and Arch.generate-localesinstallslocales-allon Debian and Ubuntu as before; its Red Hat part (about 470localedeflines) and its branch for Ubuntu before 16.04 are gone.yum-install,yum-upgrade.provisioning/base/general/provision/service.d:cron.sh,dnsmasq.sh,postfix.sh,ssh.shandsyslog.shno longer have a Red Hat branch that callsyum-install.conf/provision.yml: new entrytoolboxwithbaselayout/general.make generatecopies the scripts intodocker/toolbox/latest/conf/.docker/toolbox/latest/Dockerfile.twig: the download ofinstall.shis removed;COPY conf/ /baselayout/at the end, after the layer withapk,go-replaceandgosu.BootstrapChecksandtests/structure-test/bootstrap/test.yamlno longer expectyum-installandyum-upgrade.CONTRIBUTING.mdsays where the scripts live, that they handle Debian, Ubuntu and Alpine, and how they get into the images. The repository map inAGENTS.mdnamesprovisioning/baselayout.No file of this repository refers to Docker-Image-Baselayout anymore.
How it was verified
/baselayoutwith the publishedwebdevops/toolbox:latest. The files, permissions, owners and SHA-256 are the same, except thatyum-installandyum-upgradeare missing and the three shortened scripts differ.toolbox, for Alpine and Ubuntu 22.04. The build ofbaseruns the service install scripts./opt/docker/etc/.registry(family, distribution, version, lsb, codename) is the same as in the published images./usr/local/bindiffers only byyum-installandyum-upgrade.bootstrapandbasepass against these builds.base:ubuntu-22.04it exits 0 and leaves 503 locales, as in the publishedbase-app:ubuntu-22.04.webdevops/php:8.4with the new scripts:generate-dockerimage-infowrites the same image info.generate-localeskeeps 502 locales.docker-image-cleanupexits 0.baseafter a package install.ci/console generatechanges nothing after the commit.gosuover HTTPS, because the test environment blockshkp://keyserver.ubuntu.com:80. This pull request does not change that line.Not verified: PHP images built from this branch (they copy the same files from
toolbox), a GitHub Actions run, arm64.Afterwards
wget … install.sh; that keeps working as long as the repository exists.yumcron files in90-cleanup.shand the test for them,centosinconf/console.yml.