ports/104500: [PATCH] multimedia/gstreamer-plugins/Makefile.common breaks make index
Rich Dawes
rdawes at epstais.com
Tue Oct 17 16:50:30 UTC 2006
>Number: 104500
>Category: ports
>Synopsis: [PATCH] multimedia/gstreamer-plugins/Makefile.common breaks make index
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Tue Oct 17 16:50:26 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Rich Dawes
>Release: FreeBSD 4.9-RELEASE-p13-jc2 i386
>Organization:
>Environment:
System: FreeBSD epstais.com 4.9-RELEASE-p13-jc2 FreeBSD 4.9-RELEASE-p13-jc2 #9: Tue Jun 7 00:30:36 PDT 2005 user at jail16.johncompanies.com:/usr/obj/usr/src/sys/jail16 i386
>Description:
Makefile.common uses vars completed at make time with two levels of
substitution (e.g. "${gst_${GST_PLUGIN}_SOME_MAKEVAR}"). But make apparently
can't grok those within conditionals, at least not when this Makefile.common
is included by the various gstreamer-plugin-* Makefiles as part of indexing
routines on FreeBSD 4.9 ... (Perhaps 5.x or 6.x makes have added that sort
of feature.)
Hence, standard indexing breaks, at least on a FreeBSD 4.9 make system.
>How-To-Repeat:
Run "make describe" from an actual gstreamer-plugins-* port. E.g.:
# cd /usr/ports/multimedia/gstreamer-plugins-a52dec
# make describe
"/usr/ports/audio/gstreamer-plugins-a52dec/../../multimedia/gstreamer-plugins/Makefile.common", line 345: Malformed conditional (${gst_${GST_PLUGIN}_GCONF_SCHEMAS}!="")
"/usr/ports/audio/gstreamer-plugins-a52dec/../../multimedia/gstreamer-plugins/Makefile.common", line 349: Malformed conditional (${gst_${GST_PLUGIN}_USE_SDL}!="")
"/usr/ports/audio/gstreamer-plugins-a52dec/../../multimedia/gstreamer-plugins/Makefile.common", line 351: if-less endif
"/usr/ports/audio/gstreamer-plugins-a52dec/../../multimedia/gstreamer-plugins/Makefile.common", line 351: Need an operator
"/usr/ports/audio/gstreamer-plugins-a52dec/../../multimedia/gstreamer-plugins/Makefile.common", line 372: if-less endif
"/usr/ports/audio/gstreamer-plugins-a52dec/../../multimedia/gstreamer-plugins/Makefile.common", line 372: Need an operator
make: fatal errors encountered -- cannot continue
#
>Fix:
The following patch removes the extra variable substition from the affected
conditionals themselves, by pre-assigning to a dummy variable, and then having
the conditional test that.
--- Makefile.common.patch begins here ---
--- Makefile.common Sat Oct 14 19:52:15 2006
+++ Makefile.common.fixed Tue Oct 17 08:53:11 2006
@@ -342,11 +342,13 @@
EXTRA_LIBS+= ${gst_${GST_PLUGIN}_EXTRA_LIBS}
USE_GNOME+= ${gst_${GST_PLUGIN}_USE_GNOME}
CONFIGURE_ENV+= ${gst_${GST_PLUGIN}_CONFIGURE_ENV}
-.if ${gst_${GST_PLUGIN}_GCONF_SCHEMAS}!=""
+str_GST_PLUGIN_GCONF_SCHEMAS= ${gst_${GST_PLUGIN}_GCONF_SCHEMAS}
+.if ${str_GST_PLUGIN_GCONF_SCHEMAS}!=""
GCONF_SCHEMAS= ${gst_${GST_PLUGIN}_GCONF_SCHEMAS}
.endif
CONFIGURE_ARGS+=${gst_${GST_PLUGIN}_CONFIGURE_ARGS}
-.if ${gst_${GST_PLUGIN}_USE_SDL}!=""
+str_GST_PLUGIN_USE_SDL= ${gst_${GST_PLUGIN}_USE_SDL}
+.if ${str_GST_PLUGIN_USE_SDL}!=""
USE_SDL= ${gst_${GST_PLUGIN}_USE_SDL}
.endif
USE_GSTREAMER+= ${gst_${GST_PLUGIN}_USE_GSTREAMER}
--- Makefile.common.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list