diff options
author | Juergen Lock <nox@FreeBSD.org> | 2015-03-01 15:16:42 +0000 |
---|---|---|
committer | Juergen Lock <nox@FreeBSD.org> | 2015-03-01 15:16:42 +0000 |
commit | f7c8fdbe5c02d6c8a55994dab43795a2ed7a4a2c (patch) | |
tree | 46d16664eebc5513d679ba8871de1c18c655645c /emulators | |
parent | 6bffe76a24346b96052ddbf41880ccdc987bc226 (diff) |
Notes
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/qemu-sbruno/Makefile | 8 | ||||
-rw-r--r-- | emulators/qemu-sbruno/files/qemu_user_static.in | 109 | ||||
-rw-r--r-- | emulators/qemu-user-static/Makefile | 5 |
3 files changed, 122 insertions, 0 deletions
diff --git a/emulators/qemu-sbruno/Makefile b/emulators/qemu-sbruno/Makefile index 05e045a8106a..23b879d18b86 100644 --- a/emulators/qemu-sbruno/Makefile +++ b/emulators/qemu-sbruno/Makefile @@ -3,6 +3,7 @@ PORTNAME= qemu PORTVERSION= 2.2.50.g20150215 +PORTREVISION= 1 CATEGORIES= emulators MASTER_SITES= GH GHC \ LOCAL/nox \ @@ -51,6 +52,13 @@ OPTIONS_DEFAULT=X11 GTK2 OPENGL GNUTLS SASL JPEG PNG CDROM_DMA CURL PCAP CONFLICTS_INSTALL= qemu-[0-9]* qemu-devel-* .endif +.if defined(QEMU_USER_STATIC) +.if exists(/usr/sbin/binmiscctl) +USE_RC_SUBR= qemu_user_static +SUB_LIST= NAME=qemu_user_static +.endif +.endif + .include <bsd.port.options.mk> CONFIGURE_ARGS+= --localstatedir=/var diff --git a/emulators/qemu-sbruno/files/qemu_user_static.in b/emulators/qemu-sbruno/files/qemu_user_static.in new file mode 100644 index 000000000000..f60ec47d382c --- /dev/null +++ b/emulators/qemu-sbruno/files/qemu_user_static.in @@ -0,0 +1,109 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: %%NAME%% +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf to enable `%%NAME%%': +# +# %%NAME%%_enable="YES" +# + +. /etc/rc.subr + +name=%%NAME%% +rcvar=%%NAME%%_enable + +# read configuration and set defaults +load_rc_config "$name" + +: ${%%NAME%%_enable:="NO"} + +BINMISCCTL=/usr/sbin/binmiscctl +QEMU_DIR=%%PREFIX%%/bin +QEMU_PREFIX=qemu- +QEMU_SUFFIX=-static + +start_cmd=%%NAME%%_start +stop_cmd=%%NAME%%_stop +extra_commands=list +list_cmd="${BINMISCCTL} list" + +%%NAME%%_start() +{ + # register armv6 interpreter styled 'arm' + interpreter=${QEMU_DIR}/${QEMU_PREFIX}arm${QEMU_SUFFIX} + if [ -x "${interpreter}" ]; then + ${BINMISCCTL} add armv6 --interpreter "${interpreter}" \ + --magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \ + --mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" \ + --size 20 --set-enabled + else + echo "$0: interpreter ${interpreter} not found, cannot register." + fi + # register mips interpreter styled 'mips' + interpreter=${QEMU_DIR}/${QEMU_PREFIX}mips${QEMU_SUFFIX} + if [ -x "${interpreter}" ]; then + ${BINMISCCTL} add mips --interpreter "${interpreter}" \ + --magic "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08" \ + --mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff" \ + --size 20 --set-enabled + else + echo "$0: interpreter ${interpreter} not found, cannot register." + fi + # register mips64 interpreter styled 'mips64' + interpreter=${QEMU_DIR}/${QEMU_PREFIX}mips64${QEMU_SUFFIX} + if [ -x "${interpreter}" ]; then + ${BINMISCCTL} add mips64 --interpreter "${interpreter}" \ + --magic "\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08" \ + --mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff" \ + --size 20 --set-enabled + else + echo "$0: interpreter ${interpreter} not found, cannot register." + fi + # register powerpc interpreter styled 'ppc' + interpreter=${QEMU_DIR}/${QEMU_PREFIX}ppc${QEMU_SUFFIX} + if [ -x "${interpreter}" ]; then + ${BINMISCCTL} add powerpc --interpreter "${interpreter}" \ + --magic "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14" \ + --mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff" \ + --size 20 --set-enabled + else + echo "$0: interpreter ${interpreter} not found, cannot register." + fi + # register powerpc64 interpreter styled 'ppc64' + interpreter=${QEMU_DIR}/${QEMU_PREFIX}ppc64${QEMU_SUFFIX} + if [ -x "${interpreter}" ]; then + ${BINMISCCTL} add powerpc64 --interpreter "${interpreter}" \ + --magic "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15" \ + --mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff" \ + --size 20 --set-enabled + else + echo "$0: interpreter ${interpreter} not found, cannot register." + fi + # register sparc64 interpreter styled 'sparc64' + interpreter=${QEMU_DIR}/${QEMU_PREFIX}sparc64${QEMU_SUFFIX} + if [ -x "${interpreter}" ]; then + ${BINMISCCTL} add sparc64 --interpreter "${interpreter}" \ + --magic "\x7f\x45\x4c\x46\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2b" \ + --mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff" \ + --size 20 --set-enabled + else + echo "$0: interpreter ${interpreter} not found, cannot register." + fi +} + +%%NAME%%_stop() +{ + ${BINMISCCTL} remove mips64 + ${BINMISCCTL} remove armv6 + ${BINMISCCTL} remove mips + ${BINMISCCTL} remove powerpc + ${BINMISCCTL} remove powerpc64 + ${BINMISCCTL} remove sparc64 +} + +run_rc_command "$1" diff --git a/emulators/qemu-user-static/Makefile b/emulators/qemu-user-static/Makefile index 86cf66af53c5..c0528b304ee2 100644 --- a/emulators/qemu-user-static/Makefile +++ b/emulators/qemu-user-static/Makefile @@ -18,7 +18,12 @@ post-install: @${RM} -r ${STAGEDIR}${PREFIX}/bin/qemu-img @${RM} -r ${STAGEDIR}${PREFIX}/bin/qemu-io @${RM} -r ${STAGEDIR}${PREFIX}/bin/qemu-nbd + @${MV} ${STAGEDIR}${PREFIX}/etc/rc.d ${WRKDIR} @${RM} -r ${STAGEDIR}${PREFIX}/etc +.if exists(/usr/sbin/binmiscctl) + @${MKDIR} ${STAGEDIR}${PREFIX}/etc + @${MV} ${WRKDIR}/rc.d ${STAGEDIR}${PREFIX}/etc +.endif @${RM} -r ${STAGEDIR}${PREFIX}/man @${RM} -r ${STAGEDIR}${DATADIR} @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/qemu-* |