From owner-freebsd-multimedia@FreeBSD.ORG Sun Mar 8 12:40:03 2009 Return-Path: Delivered-To: multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 214AD1065673; Sun, 8 Mar 2009 12:40:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id F23138FC21; Sun, 8 Mar 2009 12:40:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n28Ce2ot077663; Sun, 8 Mar 2009 12:40:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n28Ce2Pv077662; Sun, 8 Mar 2009 12:40:02 GMT (envelope-from gnats) Resent-Date: Sun, 8 Mar 2009 12:40:02 GMT Resent-Message-Id: <200903081240.n28Ce2Pv077662@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@freebsd.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Cc: multimedia@freebsd.org Resent-Reply-To: FreeBSD-gnats-submit@freebsd.org, Eygene Ryabinkin Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5CFF410656C1 for ; Sun, 8 Mar 2009 12:38:10 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) Received: from 0.mx.codelabs.ru (0.mx.codelabs.ru [144.206.177.45]) by mx1.freebsd.org (Postfix) with ESMTP id 0D6728FC13 for ; Sun, 8 Mar 2009 12:38:09 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) Received: from phoenix.codelabs.ru (ppp85-141-67-181.pppoe.mtu-net.ru [85.141.67.181]) by 0.mx.codelabs.ru with esmtps (TLSv1:CAMELLIA256-SHA:256) id 1LgIGe-0009TE-N4 for FreeBSD-gnats-submit@freebsd.org; Sun, 08 Mar 2009 15:38:08 +0300 Message-Id: <20090308123808.506EEB8069@phoenix.codelabs.ru> Date: Sun, 8 Mar 2009 15:38:08 +0300 (MSK) From: Eygene Ryabinkin To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 X-GNATS-Notify: multimedia@freebsd.org Cc: Subject: ports/132407: [patch] multimedia/ffmpeg: respect TMPDIR passed from make.conf X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Eygene Ryabinkin List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Mar 2009 12:40:03 -0000 >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 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 --- 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: