diff options
author | Magnus Granberg <zorry@gentoo.org> | 2017-02-21 23:02:09 +0100 |
---|---|---|
committer | Magnus Granberg <zorry@gentoo.org> | 2017-02-21 23:04:44 +0100 |
commit | 2133ca0baf659da8abfe799894f8e33699f8637f (patch) | |
tree | f898734f64b883733c9391df6b941f96c970a40b /app-emulation/virtualbox | |
parent | sys-apps/man-db: fix quoting in cronjob. (diff) | |
download | gentoo-2133ca0baf659da8abfe799894f8e33699f8637f.tar.gz gentoo-2133ca0baf659da8abfe799894f8e33699f8637f.tar.bz2 gentoo-2133ca0baf659da8abfe799894f8e33699f8637f.zip |
app-emulation/virtualbox-5.1.4: compile get kill by PaX
Compile get kill by PaX enable kernels, see bug 591582
Reported-by: Sarah Salzstein <sarah.salzstein@gmail.com>
Patch-by: Quentin Minster <quentin@minster.io>
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'app-emulation/virtualbox')
-rw-r--r-- | app-emulation/virtualbox/files/virtualbox-5.1.4-paxmark-bldprogs.patch | 59 | ||||
-rw-r--r-- | app-emulation/virtualbox/metadata.xml | 1 | ||||
-rw-r--r-- | app-emulation/virtualbox/virtualbox-5.1.14.ebuild | 8 |
3 files changed, 67 insertions, 1 deletions
diff --git a/app-emulation/virtualbox/files/virtualbox-5.1.4-paxmark-bldprogs.patch b/app-emulation/virtualbox/files/virtualbox-5.1.4-paxmark-bldprogs.patch new file mode 100644 index 000000000000..50fa306d1766 --- /dev/null +++ b/app-emulation/virtualbox/files/virtualbox-5.1.4-paxmark-bldprogs.patch @@ -0,0 +1,59 @@ +2017-02-20 Quentin Minster <quentin@minster.io> + + #https://bugs.gentoo.org/show_bug.cgi?id=591582 + * Config.kmk: add paxmark befor VBOX_VBOXTPG get run. + * src/VBox/VMM/Makefile.kmk: add paxmark befor VBOX_VBOXCPP get run. + * src/VBox/Main/Makefile.kmk: add paxmark befor USBIdDatabaseGenerator_1_TARGET get run. + +--- a/Config.kmk ++++ b/Config.kmk 2016-09-21 02:22:28 +@@ -3719,11 +3719,13 @@ + $(if-expr $(intersects $(KBUILD_TARGET_ARCH),$(KBUILD_ARCHES_64)),-64,-32) \ + -h --host-$(VBOX_HC_ARCH_BITS)-bit #-vvv + define TOOL_VBoxTpG_DTRACE_HDR_CMDS ++ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)" + $(QUIET)$(VBOX_VBOXTPG) $(flags) -o "$(out)" -s "$(source)" + endef + TOOL_VBoxTpG_DTRACE_OBJ_NOT_NEEDED := + TOOL_VBoxTpG_DTRACE_OBJ_FLAGS := -G --host-$(VBOX_HC_ARCH_BITS)-bit #-vvv + define TOOL_VBoxTpG_DTRACE_OBJ_CMDS ++ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)" + $(QUIET)$(VBOX_VBOXTPG) \ + $(if-expr $(intersects $(bld_trg_arch),$(KBUILD_ARCHES_64)),-64,-32) \ + $(flags) \ +@@ -3738,6 +3740,7 @@ + TOOL_VBoxTpG-Disabled_DTRACE_DEPORD = $(VBOX_VBOXTPG) + TOOL_VBoxTpG-Disabled_DTRACE_HDR_FLAGS := -h + define TOOL_VBoxTpG-Disabled_DTRACE_HDR_CMDS ++ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)" + $(QUIET)$(VBOX_VBOXTPG) $(flags) -o "$(out)" -s "$(source)" + endef + TOOL_VBoxTpG-Disabled_DTRACE_OBJ_NOT_NEEDED := $(KBUILD_OSES) +@@ -3752,6 +3755,7 @@ + TOOL_DTraceAndVBoxTpG_DTRACE_HDR_CMDS = + define TOOL_DTraceAndVBoxTpG_DTRACE_HDR_CMDS + $(TOOL_StandardDTrace_DTRACE_HDR_CMDS) ++ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)" + $(QUIET)$(VBOX_VBOXTPG) --generate-wrapper-header --host-$(VBOX_HC_ARCH_BITS)-bit --ring-3-context \ + $(filter-out -C, $(filter-out -h,$(flags))) \ + -o "$(out).tmp" -s "$(source)" +--- a/src/VBox/VMM/Makefile.kmk ++++ b/src/VBox/VMM/Makefile.kmk 2016-09-21 02:26:11 +@@ -795,6 +795,7 @@ + define def_vmm_lib_dtrace_preprocess + $$$$(VMMLibDTrace_0_OUTDIR)/$1: $2 $$(VBOX_VBOXCPP) | $$$$(dir $$$$@) + $$(QUIET)$$(call MSG_GENERATE,VMMLibDTrace,$$@,$$<) ++ $$(QUIET)paxmark.sh -m "$(VBOX_VBOXCPP)" + $$(QUIET)$(VBOX_VBOXCPP) -d \ + -D VBOX_FOR_DTRACE_LIB \ + -D VBOX_FOR_DTRACE_LIB_$(toupper $(KBUILD_TARGET_ARCH)) \ +--- a/src/VBox/Main/Makefile.kmk ++++ b/src/VBox/Main/Makefile.kmk 2016-09-21 02:31:23 +@@ -522,6 +522,7 @@ + $$(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp: $$(USBIdDatabaseGenerator_1_TARGET) \ + $(PATH_SUB_CURRENT)/src-server/usb.ids $(PATH_SUB_CURRENT)/src-server/custom.ids | $$(dir $$@) + $(call MSG_GENERATE,USBIdDatabase,$@,$<) ++ $(QUIET)paxmark.sh -m "$(USBIdDatabaseGenerator_1_TARGET)" + $(QUIET)$(USBIdDatabaseGenerator_1_TARGET) -o "$@" $(filter %.ids,$^) + + BLDPROGS += USBIdDatabaseGenerator diff --git a/app-emulation/virtualbox/metadata.xml b/app-emulation/virtualbox/metadata.xml index eaaefd5f245b..d6912d557594 100644 --- a/app-emulation/virtualbox/metadata.xml +++ b/app-emulation/virtualbox/metadata.xml @@ -15,6 +15,7 @@ <use> <flag name="headless">Build without any graphic frontend</flag> <flag name="lvm">Build VBoxVolInfo that needs devicemapper from <pkg>sys-fs/lvm2</pkg>.</flag> + <flag name="pax_kernel">Apply patch needed for pax enabled kernels.</flag> <flag name="sdk">Enable building of SDK</flag> <flag name="udev">Controls installation of special USB udev rules.</flag> <flag name="vboxwebsrv">Build and install the VirtualBox webservice</flag> diff --git a/app-emulation/virtualbox/virtualbox-5.1.14.ebuild b/app-emulation/virtualbox/virtualbox-5.1.14.ebuild index e9f05dbdd1a2..96ab03d27ff8 100644 --- a/app-emulation/virtualbox/virtualbox-5.1.14.ebuild +++ b/app-emulation/virtualbox/virtualbox-5.1.14.ebuild @@ -20,7 +20,7 @@ HOMEPAGE="http://www.virtualbox.org/" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="alsa debug doc headless java libressl lvm pam pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" +IUSE="alsa debug doc headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" RDEPEND="!app-emulation/virtualbox-bin ~app-emulation/virtualbox-modules-${PV} @@ -75,6 +75,7 @@ DEPEND="${RDEPEND} !headless? ( x11-libs/libXinerama ) java? ( >=virtual/jre-1.6:= ) pam? ( sys-libs/pam ) + pax_kernel? ( sys-apps/elfix ) pulseaudio? ( media-sound/pulseaudio ) qt5? ( dev-qt/linguist-tools:5 ) vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) @@ -183,6 +184,11 @@ src_prepare() { rm "${WORKDIR}"/patches/050_${PN}-*-nopie.patch || die fi + # Only add paxmark patch when we're on pax_kernel + if use pax_kernel ; then + epatch "${FILESDIR}"/virtualbox-5.1.4-paxmark-bldprogs.patch || die + fi + eapply "${WORKDIR}/patches" eapply_user |