svn commit: r380206 - in head/emulators: qemu-sbruno qemu-sbruno/files qemu-user-static

Juergen Lock nox at FreeBSD.org
Sun Mar 1 15:16:44 UTC 2015


Author: nox
Date: Sun Mar  1 15:16:42 2015
New Revision: 380206
URL: https://svnweb.freebsd.org/changeset/ports/380206
QAT: https://qat.redports.org/buildarchive/r380206/

Log:
  - Add rc.d script to emulators/qemu-user-static to (optinally) setup
    imgact_binmisc configs on systems where that exists.
  - Bump PORTREVISION.
  
  Submitted by:	linimon (with some changes by me)

Added:
  head/emulators/qemu-sbruno/files/qemu_user_static.in   (contents, props changed)
Modified:
  head/emulators/qemu-sbruno/Makefile
  head/emulators/qemu-user-static/Makefile

Modified: head/emulators/qemu-sbruno/Makefile
==============================================================================
--- head/emulators/qemu-sbruno/Makefile	Sun Mar  1 15:08:48 2015	(r380205)
+++ head/emulators/qemu-sbruno/Makefile	Sun Mar  1 15:16:42 2015	(r380206)
@@ -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 S
 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

Added: head/emulators/qemu-sbruno/files/qemu_user_static.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/qemu-sbruno/files/qemu_user_static.in	Sun Mar  1 15:16:42 2015	(r380206)
@@ -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"

Modified: head/emulators/qemu-user-static/Makefile
==============================================================================
--- head/emulators/qemu-user-static/Makefile	Sun Mar  1 15:08:48 2015	(r380205)
+++ head/emulators/qemu-user-static/Makefile	Sun Mar  1 15:16:42 2015	(r380206)
@@ -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-*


More information about the svn-ports-head mailing list