qemu-user-static: update to 9.0.1, clean up binfmt generation
qemu provides a script to generate this in a format update-binfmts understands
This commit is contained in:
parent
1d02087723
commit
576810b6ce
|
@ -1,8 +1,8 @@
|
||||||
# Template file for 'qemu-user-static'
|
# Template file for 'qemu-user-static'
|
||||||
# This package should be updated together with qemu
|
# This package should be updated together with qemu
|
||||||
pkgname=qemu-user-static
|
pkgname=qemu-user-static
|
||||||
version=9.0.0
|
version=9.0.1
|
||||||
revision=2
|
revision=1
|
||||||
build_style=configure
|
build_style=configure
|
||||||
configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
|
configure_args="--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/libexec
|
||||||
--disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
|
--disable-kvm --disable-png --disable-virtfs --disable-fdt --disable-seccomp
|
||||||
|
@ -14,103 +14,20 @@ maintainer="Orphaned <orphan@voidlinux.org>"
|
||||||
license="GPL-2.0-only, LGPL-2.1-only"
|
license="GPL-2.0-only, LGPL-2.1-only"
|
||||||
homepage="https://www.qemu.org"
|
homepage="https://www.qemu.org"
|
||||||
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
|
distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2"
|
||||||
checksum=f816255215ed495d164311210e05aec867c4cb22576b41b2d723209de579ed61
|
checksum=c79bd301abd9f2501bdf0a543c6f6f7474424178dcfde2be271150988cadc0a7
|
||||||
|
|
||||||
_fmts="aarch64 aarch64_be alpha arm armeb cris hppa i386 m68k microblaze
|
|
||||||
microblazeel mips mipsel mips64 mips64el mipsn32 mipsn32el or1k
|
|
||||||
ppc ppcle ppc64 ppc64le riscv32 riscv64 s390x sh4 sh4eb
|
|
||||||
sparc sparc32plus sparc64 x86_64 xtensa xtensaeb"
|
|
||||||
|
|
||||||
_aarch64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7'
|
|
||||||
_aarch64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_aarch64_be_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7'
|
|
||||||
_aarch64_be_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_alpha_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90'
|
|
||||||
_alpha_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_arm_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00'
|
|
||||||
_arm_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_armeb_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28'
|
|
||||||
_armeb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_cris_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x4c\x00'
|
|
||||||
_cris_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_hppa_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x0f'
|
|
||||||
_hppa_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_i386_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00'
|
|
||||||
_i386_mask='\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_m68k_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04'
|
|
||||||
_m68k_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_microblaze_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xba\xab'
|
|
||||||
_microblaze_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_microblazeel_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xab\xba'
|
|
||||||
_microblazeel_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_mips_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08'
|
|
||||||
_mips_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_mipsel_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00'
|
|
||||||
_mipsel_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_mips64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08'
|
|
||||||
_mips64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_mips64el_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00'
|
|
||||||
_mips64el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xfe\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_mipsn32_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08'
|
|
||||||
_mipsn32_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_mipsn32el_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00'
|
|
||||||
_mipsn32el_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_or1k_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5c'
|
|
||||||
_or1k_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_ppc_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14'
|
|
||||||
_ppc_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_ppcle_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14\x00'
|
|
||||||
_ppcle_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00'
|
|
||||||
_ppc64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15'
|
|
||||||
_ppc64_mask='\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_ppc64le_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00'
|
|
||||||
_ppc64le_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00'
|
|
||||||
_riscv32_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00'
|
|
||||||
_riscv32_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_riscv64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00'
|
|
||||||
_riscv64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_s390x_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16'
|
|
||||||
_s390x_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_sh4_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00'
|
|
||||||
_sh4_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_sh4eb_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a'
|
|
||||||
_sh4eb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_sparc_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02'
|
|
||||||
_sparc_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_sparc32plus_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12'
|
|
||||||
_sparc32plus_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_sparc64_magic='\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2b'
|
|
||||||
_sparc64_mask='\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
_x86_64_magic='\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00'
|
|
||||||
_x86_64_mask='\xff\xff\xff\xff\xff\xfe\xfe\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_xtensa_magic='\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5e\x00'
|
|
||||||
_xtensa_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
|
|
||||||
_xtensaeb_magic='\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x5e'
|
|
||||||
_xtensaeb_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
|
|
||||||
|
|
||||||
if [ "$CROSS_BUILD" ]; then
|
if [ "$CROSS_BUILD" ]; then
|
||||||
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
|
configure_args+=" --cross-prefix=${XBPS_CROSS_TRIPLET}-"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
_omit=("${XBPS_TARGET_MACHINE%-*}")
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
x86_64*) _omit="i386|x86_64" ;;
|
x86_64*) _omit+=(i386) ;;
|
||||||
aarch64*) _omit="aarch64" ;;
|
armv*) _omit+=(arm) ;;
|
||||||
armv*) _omit="arm" ;;
|
ppc64le*) _omit+=(ppcle) ;;
|
||||||
ppc64le*) _omit="ppc64le|ppcle" ;;
|
ppc64*) _omit+=(ppc) ;;
|
||||||
ppc64*) _omit="ppc64|ppc" ;;
|
|
||||||
*) _omit="${XBPS_TARGET_MACHINE%-*}" ;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
for _fmt in $_fmts; do
|
|
||||||
eval "case $_fmt in $_omit) magic= ;; *) magic=\"\$_${_fmt}_magic\" mask=\"\$_${_fmt}_mask\" ;; esac"
|
|
||||||
if [ "$magic" ]; then
|
|
||||||
binfmts+="/usr/bin/qemu-$_fmt-static --magic $magic --mask $mask --offset 0 --credentials yes --fix-binary yes
|
|
||||||
"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
binfmts="${binfmts%?}"
|
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
# Remove unneeded stuff.
|
# Remove unneeded stuff.
|
||||||
rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
|
rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec
|
||||||
|
@ -120,4 +37,18 @@ post_install() {
|
||||||
for f in ${DESTDIR}/usr/bin/*; do
|
for f in ${DESTDIR}/usr/bin/*; do
|
||||||
mv ${f} ${f}-static
|
mv ${f} ${f}-static
|
||||||
done
|
done
|
||||||
|
|
||||||
|
vmkdir usr/share/binfmts
|
||||||
|
scripts/qemu-binfmt-conf.sh --debian ALL --exportdir "${DESTDIR}"/usr/share/binfmts \
|
||||||
|
--qemu-path /usr/bin --preserve-argv0 yes --persistent yes --credential yes
|
||||||
|
for bf in "${DESTDIR}"/usr/share/binfmts/*; do
|
||||||
|
for ar in "${_omit[@]}"; do
|
||||||
|
if [[ "$bf" = */qemu-"$ar" ]]; then
|
||||||
|
rm "$bf"
|
||||||
|
continue 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
vsed -i -e "s/${bf##*/}/&-static/g" "$bf"
|
||||||
|
mv "$bf" "${bf}-static"
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue