[Bug 728515] several OpenBSD build fixes

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Apr 27 08:13:19 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=728515
  GStreamer | common | 1.2.4

--- Comment #6 from Antoine Jacoutot <ajacoutot at gnome.org> 2014-04-27 15:13:15 UTC ---
(In reply to comment #5)
> (In reply to comment #3)
> > Actually for FLEX, I can just use ac_cv_path_FLEX.
> > But the AUTOCONF_VERSION env variable leaking to the environment is very much
> > an issue. I would really appreciate if someone could review the patch.
> > Thank you.
> 
> Would it be possible to explain here why this is an issue ?

As mentioned in the original post:
"
*** 0001-make-VARPREFIX-_VERSION-a-local-variable.patch
Since the reason for this is quite long, here's the exact same issue that was
fix in GNOME a few days ago:
https://bugzilla.gnome.org/show_bug.cgi?id=728243
"

Here is a copy/paste from that bug:

checking for automake >= 1.9...
  testing automake... found 1.14.1
checking for autoreconf >= 2.53...
  testing autoreconf... found 2.69
/usr/local/bin/aclocal[35]: /usr/local/bin/aclocal-1.14.1: not found
Checking for forbidden M4 macros...
Processing ./configure.ac
Running autoreconf...
autoreconf-2.69: Entering directory `.'
autoreconf-2.69: configure.ac: not using Gettext
autoreconf-2.69: running: aclocal  --output=aclocal.m4t
/usr/local/bin/aclocal[35]: /usr/local/bin/aclocal-1.14.1: not found
autoreconf-2.69: aclocal failed with exit status: 127

Now, on OpenBSD, autoconf, automake, aclocal and friends are wrappers that call
the actual command according to AUTOMAKE_VERSION and AUTOCONF_VERSION.
The naming is program-MAJOR.MINOR which allows us to install several auto*
versions and pick the one we want. We do not install automake X.Y.Z as
automake-X.Y.Z because we only want one version of automake X.Y (it makes sense
to have several major versions installed, but not minor ones).

e.g:
$ automake --version | head -1                       
Provide an AUTOMAKE_VERSION environment variable, please
$ AUTOMAKE_VERSION=1.14 automake --version | head -1 
automake (GNU automake) 1.14.1

Now what happens with gnome-common is since this commit:
b6f099488526288ad0ab1b2061304441df0b2466
we are checking the automake version against $REQUIRED_AUTOMAKE_VERSION by
using
the version_check() function. Unfortunately, this function leaks
AUTOMAKE_VERSION to the environment by using an eval:
eval ${vc_variable}_VERSION=$vc_actual_version
which in our case transforms as:
eval AUTOMAKE_VERSION=1.14.1
overriding our own provided AUTOMAKE_VERSION.

This diff make ${vc_variable}_VERSION a local variable so that it does not go
out of the function.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list