The pypa manylinux_2_34 base image does not provide the msgfmt binary,
causing the git source build to fail. Git translations are not needed
in a build container.
The manylinux images can take over a minute to start on spinning disks
(not SSDs) because pre_exec.sh is changing the ownership of all the
python install directories to be writable by the BUILDER_UID. This is
detailed further in #853.
I changed the build steps for manylinux images to add a group called
`builder`, then change the python directories to be owned by the
`builder` group, and group writable. I then changed pre_exec.sh to add
BUILDER_USER to the builder group prior to the gosu switch to become
BUILDER_USER. The result is that BUILDER_USER is in the `builder`
group that can write to the python directories, allowing the user to
install python packages without permission denied errors.
There was one additional change to support this, and that was the
arguments to `gosu` in entrypoint.sh. Previously the arguments were
`$BUILDER_UID:BUILDER_GID`, but providing the gid prevents `gosu` from
loading additional groups (such as `builder`) from /etc/group. I
removed the GID argument to allow `gosu` to pick up additional groups
from /etc/group.
fixes#853
Since the Centos 5 image is not maintained anymore, there is no need to install
the custom CMake package originally intended to support GLIBC version from Centos 5.
Update options preferring their more explicit long form:
`-f` is `--fail`
`-s` is `--silent`
`-S` is `--show-error`
`-L` is `--location`
Additionally, `-O` is removed in favor of explicitly specifying the output file using `-o`
`which` is not guaranteed to be installed on all machines. Since the
script is meant to be run on the user's host machine it is more portable
to use `type -p` here.
Closes: https://github.com/dockcross/dockcross/issues/880
Only move `/root/.rustup` and `/root/.cargo` directories if they exist.
This prevents errors when re-using the script in environments where
Rust is not installed (e.g. https://github.com/dockbuild/dockbuild).
Previously, `mv` would fail if either directory was missing:
```
mv: cannot stat '/root/.rustup': No such file or directory
mv: cannot stat '/root/.cargo': No such file or directory
```
Update Crosstool-ng 1.26.0 to 1.27.0 on linux-arm64 (keep same GCC, glibc etc...)
Update OpenSSL from 1.1.1o to 1.1.1w
Update Ninja from 1.11.1 to 1.12.1
Update git from 2.42.0 to 2.48.1
Update Liquidpromt from 1.11 to 1.12 and add to env ARG
This is a different toolchain following how wasi-sdk defines the
platform triple and how builds are configured -- everything should be
built with the flags defined in the toolchain file.
We build from web-wasi:latest, and that is built first.
All images built for a linux/amd64 host.
Addresses warning when running an Apple M1:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested