From 8753895f6e78050bebb24603b65a7b86a89d2366 Mon Sep 17 00:00:00 2001 From: Cameron Nemo Date: Fri, 19 Apr 2019 20:33:08 -0700 Subject: [PATCH 1/3] xbps-triggers: binfmt: use --import Allow packages to specify format files to be imported by the binfmt-support package, rather than specifying the binfmt values in the package templates themselves. --- Manual.md | 9 +++++++-- common/environment/setup-subpkg/subpkg.sh | 1 + .../04-create-xbps-metadata-scripts.sh | 4 ++++ srcpkgs/xbps-triggers/files/binfmts | 18 +++++++++++++++--- srcpkgs/xbps-triggers/template | 2 +- 5 files changed, 28 insertions(+), 6 deletions(-) diff --git a/Manual.md b/Manual.md index 73cd9088f9bc..c863cafeaf26 100644 --- a/Manual.md +++ b/Manual.md @@ -1723,8 +1723,13 @@ executable binary formats, know as binfmts. During installation/removal it uses `update-binfmts` from the `binfmt-support` package to register/remove entries from the arbitrary executable binary formats database. -To include the trigger use the `binfmts` variable, as the trigger won't do anything unless -it is defined. +Include the trigger by specifying the `binfmt_files` variable. This variable +contains a space separated list of format file, relative to +`/usr/share/binfmts`. Each format file is passed to `update-binfmts --import`. + +The `binfmts` variable is deprecated, but still supported. The variable contains +a newline separated list of arguments that are passed to +`update-binfmts --package --install`. #### dkms diff --git a/common/environment/setup-subpkg/subpkg.sh b/common/environment/setup-subpkg/subpkg.sh index 0243d2400481..0011d7558fbc 100644 --- a/common/environment/setup-subpkg/subpkg.sh +++ b/common/environment/setup-subpkg/subpkg.sh @@ -40,6 +40,7 @@ unset -v make_dirs # xbps-triggers: binfmts unset -v binfmts +unset -v binfmt_files # xbps-triggers: register-shell unset -v register_shell diff --git a/common/hooks/post-install/04-create-xbps-metadata-scripts.sh b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh index 8bb86c4487a5..ebd0d5e59567 100644 --- a/common/hooks/post-install/04-create-xbps-metadata-scripts.sh +++ b/common/hooks/post-install/04-create-xbps-metadata-scripts.sh @@ -123,6 +123,10 @@ _EOF _add_trigger binfmts echo "export binfmts=\"${binfmts}\"" >> $tmpf fi + if [ -n "${binfmt_files}" ]; then + _add_trigger binfmts + echo "export binfmt_files=\"${binfmt_files}\"" >> $tmpf + fi # # Handle GNU Info files. # diff --git a/srcpkgs/xbps-triggers/files/binfmts b/srcpkgs/xbps-triggers/files/binfmts index 16919833a80b..cb9b680fc378 100755 --- a/srcpkgs/xbps-triggers/files/binfmts +++ b/srcpkgs/xbps-triggers/files/binfmts @@ -25,19 +25,26 @@ targets) ;; run) [ -x /usr/bin/update-binfmts ] || exit 0 - [ -z "${binfmts}" ] && exit 0 + [ "${binfmts}" ] || [ "${binfmt_files}" ] || exit 0 case "$TARGET" in post-install) - echo "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do + printf 'Installing binfmts...\n' + printf '%s' "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do line=$(echo $line | tr '&' '\' 2> /dev/null) set -- ${line} _bin="$1"; shift; _args="$@"; _bname="$(basename ${_bin})" update-binfmts --package ${PKGNAME} --install ${_bname} ${_bin} ${_args} done + for binfmt in ${binfmt_files}; do + test -e "$(pwd)/usr/share/binfmts/${binfmt}" || continue + update-binfmts --importdir "$(pwd)/usr/share/binfmts" \ + --import "${binfmt}" + done ;; pre-remove) - echo "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do + printf 'Removing binfmts...\n' + printf '%s' "$binfmts" | tr '\' '&' 2> /dev/null | while read line; do line=$(echo $line | tr '&' '\' 2> /dev/null) set -- ${line} _bin="$1"; shift; _args="$@"; _bname="$(basename ${_bin})" @@ -45,6 +52,11 @@ run) update-binfmts --package ${PKGNAME} --remove ${_bname} ${_bin} fi done + for binfmt in ${binfmt_files}; do + test -e "$(pwd)/usr/share/binfmts/${binfmt}" || continue + update-binfmts --importdir "$(pwd)/usr/share/binfmts" \ + --unimport "${binfmt}" + done ;; *) exit 1 diff --git a/srcpkgs/xbps-triggers/template b/srcpkgs/xbps-triggers/template index 748942206ac5..5de97d53c210 100644 --- a/srcpkgs/xbps-triggers/template +++ b/srcpkgs/xbps-triggers/template @@ -1,6 +1,6 @@ # Template file for 'xbps-triggers' pkgname=xbps-triggers -version=0.120 +version=0.121 revision=1 bootstrap=yes short_desc="XBPS triggers for Void Linux" From 8582d1632376495fe2f4c587e9b6b86cacc04c98 Mon Sep 17 00:00:00 2001 From: Cameron Nemo Date: Fri, 19 Apr 2019 20:35:19 -0700 Subject: [PATCH 2/3] qemu-user-static: use binfmt_files ppcel and cris architectures no longer ship binfmt files. For the former, the ppcel patch will have to be updated to account for the new binfmt method. cris is old and largely unused, so it is being considered an acceptable loss in functionality. --- srcpkgs/qemu-user-static/template | 115 +++++------------------- srcpkgs/qemu/patches/qemu-binfmts.patch | 60 +++++++++++++ 2 files changed, 82 insertions(+), 93 deletions(-) create mode 100644 srcpkgs/qemu/patches/qemu-binfmts.patch diff --git a/srcpkgs/qemu-user-static/template b/srcpkgs/qemu-user-static/template index c6870e38d263..512eeb5ad4e1 100644 --- a/srcpkgs/qemu-user-static/template +++ b/srcpkgs/qemu-user-static/template @@ -2,7 +2,7 @@ # This package should be updated together with qemu pkgname=qemu-user-static version=6.0.0 -revision=1 +revision=2 wrksrc="qemu-${version}" build_style=configure hostmakedepends="pkg-config automake python3 ninja" @@ -14,97 +14,15 @@ homepage="https://www.qemu.org" distfiles="https://wiki.qemu.org/download/qemu-${version}.tar.bz2" checksum=7d306a03c67c0b667d21b55e1b172f5e55a9af5ee09cbd739fb2395aeca7860c -_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' - -case "$XBPS_TARGET_MACHINE" in - x86_64*) _omit="i386|x86_64" ;; - aarch64*) _omit="aarch64" ;; - armv*) _omit="arm" ;; - ppc64le*) _omit="ppc64le|ppcle" ;; - ppc64*) _omit="ppc64|ppc" ;; - *) _omit="${XBPS_TARGET_MACHINE%-*}" ;; -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 --credential yes -" - fi +# Copied from ${wrksrc}/scripts/qemu-binfmt-conf.sh +_binfmt_archs="i386 i486 alpha arm armeb sparc sparc32plus sparc64 \ +ppc ppc64 ppcle ppc64le m68k mips mipsel mipsn32 mipsn32el mips64 mips64el \ +sh4 sh4eb s390x aarch64 aarch64_be hppa riscv32 riscv64 xtensa xtensaeb \ +microblaze microblazeel or1k x86_64 cris" +for a in ${_binfmt_archs}; do + binfmt_files="${binfmt_files:-}${binfmt_files:+ }qemu-${a}" done -binfmts="${binfmts%?}" - post_extract() { vsed -i 's/__u64/unsigned long/' linux-user/host/aarch64/hostdep.h } @@ -125,12 +43,23 @@ do_configure() { do_install() { make DESTDIR=${DESTDIR} install + # Install binfmt configurations + vmkdir usr/share/binfmts + HOST_ARCH="${XBPS_TARGET_MACHINE%-musl}" ./scripts/qemu-binfmt-conf.sh \ + --debian --qemu-path /usr/bin --qemu-suffix -static \ + --exportdir "${DESTDIR}/usr/share/binfmts" # Remove unneeded stuff. - rm -rf ${DESTDIR}/etc ${DESTDIR}/usr/share ${DESTDIR}/usr/libexec + rm -rf -- "${DESTDIR}/etc" "${DESTDIR}/usr/libexec" + for d in doc locale man qemu; do + rm -rf -- "${DESTDIR}/usr/share/${d}" + done for f in nbd io img; do - rm -f ${DESTDIR}/usr/bin/qemu-${f} + rm -f -- "${DESTDIR}/usr/bin/qemu-${f}" done +} + +post_install() { for f in ${DESTDIR}/usr/bin/*; do - mv ${f} ${f}-static + mv "${f}" "${f}-static" done } diff --git a/srcpkgs/qemu/patches/qemu-binfmts.patch b/srcpkgs/qemu/patches/qemu-binfmts.patch new file mode 100644 index 000000000000..40c6f6481973 --- /dev/null +++ b/srcpkgs/qemu/patches/qemu-binfmts.patch @@ -0,0 +1,60 @@ +Source: Cameron Nemo +Upstream: false + +Add in the binfmts for ppcle and cris architectures. + +--- scripts/qemu-binfmt-conf.sh.orig 2021-04-27 16:04:03.556284793 -0700 ++++ scripts/qemu-binfmt-conf.sh 2021-04-27 16:05:10.906096654 -0700 +@@ -2,9 +2,9 @@ + # Enable automatic program execution by the kernel. + + qemu_target_list="i386 i486 alpha arm armeb sparc sparc32plus sparc64 \ +-ppc ppc64 ppc64le m68k mips mipsel mipsn32 mipsn32el mips64 mips64el \ ++ppc ppc64 ppcle ppc64le m68k mips mipsel mipsn32 mipsn32el mips64 mips64el \ + sh4 sh4eb s390x aarch64 aarch64_be hppa riscv32 riscv64 xtensa xtensaeb \ +-microblaze microblazeel or1k x86_64" ++microblaze microblazeel or1k x86_64 cris" + + i386_magic='\x7fELF\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\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff' +@@ -50,6 +50,10 @@ + ppc64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' + ppc64_family=ppc + ++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' ++ppcle_family=ppcle ++ + ppc64le_magic='\x7fELF\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\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00' + ppc64le_family=ppcle +@@ -136,6 +140,10 @@ + or1k_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff' + or1k_family=or1k + ++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' ++cris_family=cris ++ + qemu_get_family() { + cpu=${HOST_ARCH:-$(uname -m)} + case "$cpu" in +@@ -148,7 +156,7 @@ + "Power Macintosh"|ppc64|powerpc|ppc) + echo "ppc" + ;; +- ppc64el|ppc64le) ++ ppc64el|ppc64le|ppcle) + echo "ppcle" + ;; + arm|armel|armhf|arm64|armv[4-9]*l|aarch64) +@@ -163,6 +171,9 @@ + riscv*) + echo "riscv" + ;; ++ cris*) ++ echo "cris" ++ ;; + *) + echo "$cpu" + ;; From 3036e35c8c01f2d414113210225378c41c6de23a Mon Sep 17 00:00:00 2001 From: Cameron Nemo Date: Sun, 19 Apr 2020 00:25:06 -0700 Subject: [PATCH 3/3] wine: use binfmt_files --- srcpkgs/wine/files/binfmts/wine | 3 +++ srcpkgs/wine/template | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/wine/files/binfmts/wine diff --git a/srcpkgs/wine/files/binfmts/wine b/srcpkgs/wine/files/binfmts/wine new file mode 100644 index 000000000000..cb52a0763342 --- /dev/null +++ b/srcpkgs/wine/files/binfmts/wine @@ -0,0 +1,3 @@ +package wine +interpreter /usr/bin/wine +magic MZ diff --git a/srcpkgs/wine/template b/srcpkgs/wine/template index 9a7171732704..cff15bd4e48e 100644 --- a/srcpkgs/wine/template +++ b/srcpkgs/wine/template @@ -1,7 +1,7 @@ # Template file for 'wine' pkgname=wine version=6.8 -revision=1 +revision=2 _pkgver=${version/r/-r} create_wrksrc=yes build_wrksrc=wine-${_pkgver} @@ -91,6 +91,8 @@ do_check() { } post_install() { + # binfmt configuration + vinstall "${FILESDIR}/binfmts/wine" 0644 usr/share/binfmts # Font aliasing settings for Win32 applications install -d ${DESTDIR}/etc/fonts/conf.{avail,d} install -m644 ${FILESDIR}/30-win32-aliases.conf ${DESTDIR}/etc/fonts/conf.avail @@ -131,7 +133,7 @@ wine-devel_package() { wine-common_package() { short_desc+=" - common files" - binfmts="/usr/bin/wine --magic MZ" + binfmt_files="wine" pkg_install() { vmove usr/share vmove etc/fonts