Merge pull request #217 from infosiftr/fix-i386-redux
Fix i386 again, but correctly
This commit is contained in:
commit
984ae62e47
|
|
@ -15,8 +15,6 @@ RUN set -eux; \
|
|||
tzdata \
|
||||
# busybox's tar ironically does not maintain mtime of directories correctly (which we need for SOURCE_DATE_EPOCH / reproducibility)
|
||||
tar \
|
||||
# we use dpkg-architecture to pass a sane (userspace) "ARCH" to busybox's Makefile (see below)
|
||||
dpkg-dev dpkg \
|
||||
;
|
||||
{{ ) else ( -}}
|
||||
FROM debian:bookworm-slim
|
||||
|
|
@ -30,8 +28,6 @@ RUN set -eux; \
|
|||
gnupg \
|
||||
make \
|
||||
patch \
|
||||
# we use dpkg-architecture to pass a sane (userspace) "ARCH" to busybox's Makefile (see below)
|
||||
dpkg-dev \
|
||||
; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
{{ ) end -}}
|
||||
|
|
@ -350,7 +346,20 @@ RUN set -eux; \
|
|||
export CROSS_COMPILE="$CROSS_COMPILE-"; \
|
||||
{{ ) else ( -}}
|
||||
# we need to override SUBARCH explicitly (via ARCH) to avoid "uname -m" which gives the wrong answer for builds like i386 on an amd64 machine because kernel architecture != userspace architecture
|
||||
ARCH="$(dpkg-architecture --query DEB_HOST_ARCH_CPU)"; \
|
||||
# see https://git.busybox.net/busybox/tree/arch?h=1_37_stable#n145 for the only important values this *has* to match (everything else is best-effort, and needs to match the munging in https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n185)
|
||||
distroArch="$({{ if env.variant == "musl" then "apk --print-arch" else "dpkg --print-architecture" end }})"; \
|
||||
case "$distroArch" in \
|
||||
amd64 | x86_64) ARCH='x86_64' ;; \
|
||||
arm64 | aarch64) ARCH='aarch64' ;; \
|
||||
armhf | armel | armv*) ARCH='arm' ;; \
|
||||
i386 | x86) ARCH='i386' ;; \
|
||||
mips*) ARCH='mips' ;; \
|
||||
ppc*) ARCH='powerpc' ;; \
|
||||
riscv64) ARCH='riscv64' ;; \
|
||||
s390x) ARCH='s390' ;; \
|
||||
*) echo >&2 "error: unknown architecture: '$distroArch'"; exit 1 ;; \
|
||||
esac; \
|
||||
[ -n "$ARCH" ]; \
|
||||
export ARCH; \
|
||||
{{ ) end -}}
|
||||
make -j "$nproc" busybox; \
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@ RUN set -eux; \
|
|||
gnupg \
|
||||
make \
|
||||
patch \
|
||||
# we use dpkg-architecture to pass a sane (userspace) "ARCH" to busybox's Makefile (see below)
|
||||
dpkg-dev \
|
||||
; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
|
@ -114,7 +112,20 @@ RUN set -eux; \
|
|||
nproc="$(nproc)"; \
|
||||
# https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n145
|
||||
# we need to override SUBARCH explicitly (via ARCH) to avoid "uname -m" which gives the wrong answer for builds like i386 on an amd64 machine because kernel architecture != userspace architecture
|
||||
ARCH="$(dpkg-architecture --query DEB_HOST_ARCH_CPU)"; \
|
||||
# see https://git.busybox.net/busybox/tree/arch?h=1_37_stable#n145 for the only important values this *has* to match (everything else is best-effort, and needs to match the munging in https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n185)
|
||||
distroArch="$(dpkg --print-architecture)"; \
|
||||
case "$distroArch" in \
|
||||
amd64 | x86_64) ARCH='x86_64' ;; \
|
||||
arm64 | aarch64) ARCH='aarch64' ;; \
|
||||
armhf | armel | armv*) ARCH='arm' ;; \
|
||||
i386 | x86) ARCH='i386' ;; \
|
||||
mips*) ARCH='mips' ;; \
|
||||
ppc*) ARCH='powerpc' ;; \
|
||||
riscv64) ARCH='riscv64' ;; \
|
||||
s390x) ARCH='s390' ;; \
|
||||
*) echo >&2 "error: unknown architecture: '$distroArch'"; exit 1 ;; \
|
||||
esac; \
|
||||
[ -n "$ARCH" ]; \
|
||||
export ARCH; \
|
||||
make -j "$nproc" busybox; \
|
||||
./busybox --help; \
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ RUN set -eux; \
|
|||
tzdata \
|
||||
# busybox's tar ironically does not maintain mtime of directories correctly (which we need for SOURCE_DATE_EPOCH / reproducibility)
|
||||
tar \
|
||||
# we use dpkg-architecture to pass a sane (userspace) "ARCH" to busybox's Makefile (see below)
|
||||
dpkg-dev dpkg \
|
||||
;
|
||||
|
||||
# pub 1024D/ACC9965B 2006-12-12
|
||||
|
|
@ -124,7 +122,20 @@ RUN set -eux; \
|
|||
nproc="$(nproc)"; \
|
||||
# https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n145
|
||||
# we need to override SUBARCH explicitly (via ARCH) to avoid "uname -m" which gives the wrong answer for builds like i386 on an amd64 machine because kernel architecture != userspace architecture
|
||||
ARCH="$(dpkg-architecture --query DEB_HOST_ARCH_CPU)"; \
|
||||
# see https://git.busybox.net/busybox/tree/arch?h=1_37_stable#n145 for the only important values this *has* to match (everything else is best-effort, and needs to match the munging in https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n185)
|
||||
distroArch="$(apk --print-arch)"; \
|
||||
case "$distroArch" in \
|
||||
amd64 | x86_64) ARCH='x86_64' ;; \
|
||||
arm64 | aarch64) ARCH='aarch64' ;; \
|
||||
armhf | armel | armv*) ARCH='arm' ;; \
|
||||
i386 | x86) ARCH='i386' ;; \
|
||||
mips*) ARCH='mips' ;; \
|
||||
ppc*) ARCH='powerpc' ;; \
|
||||
riscv64) ARCH='riscv64' ;; \
|
||||
s390x) ARCH='s390' ;; \
|
||||
*) echo >&2 "error: unknown architecture: '$distroArch'"; exit 1 ;; \
|
||||
esac; \
|
||||
[ -n "$ARCH" ]; \
|
||||
export ARCH; \
|
||||
make -j "$nproc" busybox; \
|
||||
./busybox --help; \
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@ RUN set -eux; \
|
|||
gnupg \
|
||||
make \
|
||||
patch \
|
||||
# we use dpkg-architecture to pass a sane (userspace) "ARCH" to busybox's Makefile (see below)
|
||||
dpkg-dev \
|
||||
; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@ RUN set -eux; \
|
|||
gnupg \
|
||||
make \
|
||||
patch \
|
||||
# we use dpkg-architecture to pass a sane (userspace) "ARCH" to busybox's Makefile (see below)
|
||||
dpkg-dev \
|
||||
; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
|
@ -115,7 +113,20 @@ RUN set -eux; \
|
|||
nproc="$(nproc)"; \
|
||||
# https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n145
|
||||
# we need to override SUBARCH explicitly (via ARCH) to avoid "uname -m" which gives the wrong answer for builds like i386 on an amd64 machine because kernel architecture != userspace architecture
|
||||
ARCH="$(dpkg-architecture --query DEB_HOST_ARCH_CPU)"; \
|
||||
# see https://git.busybox.net/busybox/tree/arch?h=1_37_stable#n145 for the only important values this *has* to match (everything else is best-effort, and needs to match the munging in https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n185)
|
||||
distroArch="$(dpkg --print-architecture)"; \
|
||||
case "$distroArch" in \
|
||||
amd64 | x86_64) ARCH='x86_64' ;; \
|
||||
arm64 | aarch64) ARCH='aarch64' ;; \
|
||||
armhf | armel | armv*) ARCH='arm' ;; \
|
||||
i386 | x86) ARCH='i386' ;; \
|
||||
mips*) ARCH='mips' ;; \
|
||||
ppc*) ARCH='powerpc' ;; \
|
||||
riscv64) ARCH='riscv64' ;; \
|
||||
s390x) ARCH='s390' ;; \
|
||||
*) echo >&2 "error: unknown architecture: '$distroArch'"; exit 1 ;; \
|
||||
esac; \
|
||||
[ -n "$ARCH" ]; \
|
||||
export ARCH; \
|
||||
make -j "$nproc" busybox; \
|
||||
./busybox --help; \
|
||||
|
|
|
|||
|
|
@ -20,8 +20,6 @@ RUN set -eux; \
|
|||
tzdata \
|
||||
# busybox's tar ironically does not maintain mtime of directories correctly (which we need for SOURCE_DATE_EPOCH / reproducibility)
|
||||
tar \
|
||||
# we use dpkg-architecture to pass a sane (userspace) "ARCH" to busybox's Makefile (see below)
|
||||
dpkg-dev dpkg \
|
||||
;
|
||||
|
||||
# pub 1024D/ACC9965B 2006-12-12
|
||||
|
|
@ -125,7 +123,20 @@ RUN set -eux; \
|
|||
nproc="$(nproc)"; \
|
||||
# https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n145
|
||||
# we need to override SUBARCH explicitly (via ARCH) to avoid "uname -m" which gives the wrong answer for builds like i386 on an amd64 machine because kernel architecture != userspace architecture
|
||||
ARCH="$(dpkg-architecture --query DEB_HOST_ARCH_CPU)"; \
|
||||
# see https://git.busybox.net/busybox/tree/arch?h=1_37_stable#n145 for the only important values this *has* to match (everything else is best-effort, and needs to match the munging in https://git.busybox.net/busybox/tree/Makefile?h=1_37_stable#n185)
|
||||
distroArch="$(apk --print-arch)"; \
|
||||
case "$distroArch" in \
|
||||
amd64 | x86_64) ARCH='x86_64' ;; \
|
||||
arm64 | aarch64) ARCH='aarch64' ;; \
|
||||
armhf | armel | armv*) ARCH='arm' ;; \
|
||||
i386 | x86) ARCH='i386' ;; \
|
||||
mips*) ARCH='mips' ;; \
|
||||
ppc*) ARCH='powerpc' ;; \
|
||||
riscv64) ARCH='riscv64' ;; \
|
||||
s390x) ARCH='s390' ;; \
|
||||
*) echo >&2 "error: unknown architecture: '$distroArch'"; exit 1 ;; \
|
||||
esac; \
|
||||
[ -n "$ARCH" ]; \
|
||||
export ARCH; \
|
||||
make -j "$nproc" busybox; \
|
||||
./busybox --help; \
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@ RUN set -eux; \
|
|||
gnupg \
|
||||
make \
|
||||
patch \
|
||||
# we use dpkg-architecture to pass a sane (userspace) "ARCH" to busybox's Makefile (see below)
|
||||
dpkg-dev \
|
||||
; \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue