Date: Sun, 8 Mar 2009 15:38:08 +0300 (MSK) From: Eygene Ryabinkin <rea-fbsd@codelabs.ru> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/132407: [patch] multimedia/ffmpeg: respect TMPDIR passed from make.conf Message-ID: <20090308123808.506EEB8069@phoenix.codelabs.ru> Resent-Message-ID: <200903081240.n28Ce2Pv077662@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 132407 >Category: ports >Synopsis: [patch] multimedia/ffmpeg: respect TMPDIR passed from make.conf >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Mar 08 12:40:02 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Eygene Ryabinkin >Release: FreeBSD 7.1-STABLE amd64 >Organization: Code Labs >Environment: System: FreeBSD 7.1-STABLE amd64 >Description: Currently multimedia/ffmpeg's configure script wants contents of /tmp (or $TMPDIR) to be allowed to be executable, so /tmp + noexec breaks the port. Manual correction of this is well-known: 'TMPDIR=/var/tmp make install clean' works perfectly. But for automated upgrades, for example, via 'portupgrade -a' it is better if we will be able to pass TMPDIR from make.conf. But this isn't possible with the current port Makefile contents, they should be modified to include TMPDIR to the build tools environment. >How-To-Repeat: Mount /tmp with option 'noexec' and try to build the port. It will fail on the configure stage. >Fix: The following patch teaches Makefile to include TMPDIR to the build tools environment. I had tested it on my installation and it works perfectly for me. --- pass-TMPDIR.diff begins here --- >From 706d969f0f516968733038d790143c35d378a2a0 Mon Sep 17 00:00:00 2001 From: Eygene Ryabinkin <rea-fbsd@codelabs.ru> Date: Sun, 8 Mar 2009 15:15:01 +0300 ffmpeg wants to put executables to the $TMPDIR or /tmp (the latter is the default). If I run /tmp with noexec, then configure whines and refuses to work, so port build fails. Doing 'TMPDIR=/var/tmp make install clean' is fine, but I want to update ports via 'portupgrade -a', so the most appropriate place to put TMPDIR is /etc/make.conf. Unfortunately, this doesn't work as-is: some support from the port itself is needed and it was added in this commit. Signed-off-by: Eygene Ryabinkin <rea-fbsd@codelabs.ru> --- multimedia/ffmpeg/Makefile | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile index 75a5f06..96988f9 100644 --- a/multimedia/ffmpeg/Makefile +++ b/multimedia/ffmpeg/Makefile @@ -228,6 +228,12 @@ CONFIGURE_ARGS+= --enable-libxvid CONFIGURE_ARGS+= --disable-libxvid .endif +## Pass TMPDIR down to the configure and make. +.ifdef(TMPDIR) +CONFIGURE_ENV+= TMPDIR=${TMPDIR} +MAKE_ENV+= TMPDIR=${TMPDIR} +.endif # TMPDIR + pre-configure: .if defined(WITHOUT_OGG) && (!defined(WITHOUT_VORBIS) || !defined(WITHOUT_THEORA)) @${ECHO_MSG} WITH_VORBIS or WITH_THEORA defined, libogg will be built -- 1.6.1.3 --- pass-TMPDIR.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090308123808.506EEB8069>