Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 02 Jan 2010 21:36:10 -0500
From:      Joe Marcus Clarke <marcus@marcuscom.com>
To:        "Ronald F. Guilmette" <rfg@tristatelogic.com>
Cc:        gnome@FreeBSD.org
Subject:   Re: ports/140563: net/avahi-app doesn't build - depends on missing "gnome-config"
Message-ID:  <1262486170.16768.56.camel@shumai.marcuscom.com>
In-Reply-To: <13678.1262485255@tristatelogic.com>
References:  <13678.1262485255@tristatelogic.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-lHqqRK3c3FCYrdpi58Qs
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

On Sat, 2010-01-02 at 18:20 -0800, Ronald F. Guilmette wrote:
> In message <1262481198.16768.52.camel@shumai.marcuscom.com>, you wrote:
>=20
> >> So now, is THIS my solution? Do I just simply need to find the place i=
n
> >> the avahi-app Makefile(s) where the pgk-config command is being invoke=
d,
> >> and then re-arrange things so that the options come before non-option
> >> args?
> >
> >This isn't a solution.  This just reinforces the fact that your system
> >has a problem.  Now that I look again, you have POSIXLY_CORRECT set in
> >your environment.
>=20
> Yea.  So?
>=20
> What have you got against POSIX correctness?
>=20
> (If I wanted to work in an environment and with software where important
> internationally-recognized standards were simply ignored, then I'd be
> working on Windoze and sending money to Bill Gates on a regular basis.
> But I'm a dyed-in-the-wool UNIX bigot.  I work on UNIX in the hopes that
> other people building software for it obey standards...  or at least care
> when they have inadvertantly failed to do so.)
>=20
> >This is the cause of your problem.
>=20
> I agree that it is most likely the cause of _the_ problem.
>=20
> I do not agree that it is *my* problem.
>=20
> Looking now at the version of popt.c (Copyright RedHat, 1998, but which
> may have been derived from GNU getopt) which has been packed in with
> pkg-config-0.23_1, I do see that it makes reference to POSIXLY_CORRECT,
> and that the setting or non-setting of this environment variable then
> probably does (I'm assuming) logically affect the behavior of argument
> and option processing.  Googling around, I found this:
>=20
>    http://www.gnu.org/s/libc/manual/html_node/Using-Getopt.html#Using-Get=
opt
>=20
>    *  POSIX demands the following behavior: The first non-option stops op=
tion
>       processing. This mode is selected by either setting the environment
>       variable POSIXLY_CORRECT or beginning the options argument string w=
ith
>       a plus sign (`+').
>=20
> I feel sure that I could dredge up the exact POSIX reference (chapter & v=
erse)
> if I was of a mind to do so.  But for now I'll just say that I _am_ quite
> sure that this GNU documentation I've just quoted from is correct, and th=
at
> indeed the POSIX commands standard (ISO/IEC 9945-2:1993(E) ANSI/IEEE Std
> 1003.2-1993) unambiguously _requires_ that option arguments proceed non-
> option arguments.
>=20
> Given that, is there some _compelling_ reason why the Makefile for avahi-=
app
> is electing to deviate from the published POSIX standard (_and_ from near=
ly
> 40 years of well-established UNIX tradition & practice) ?
>=20
> Or was this POSIX faux pas just a result of ignorance of the relevant
> international standard?
>=20
> >Remove this variable, and popt-based applications will work the way they=
 were
> >intended.
>=20
> As far as I can see, there is nothing whatsoever wrong with the applicati=
on
> known as pkg-config.  It is behaving as its developer intended.  It is us=
ing
> popt and thus benefits from all of the features of that well-written pack=
age...
> _including_ user-optional enforcement of POSIX standards with respect to
> command line argument/option parsing.
>=20
> Indeed, I have no reason at this point to believe that _any_ "popt-based
> application" on my entire system is misbehaving in any way.
>=20
> Do you have some basis for asserting that this whole problem I have exper=
ienced
> is due to anything other than just one simple goof by one lone coder who
> wrote one lone command in one single Makefile (for avahi-app) in a way
> that violates POSIX, simply because he wasn't aware of the requirements
> thereof?
>=20
> If not, then may I hunbly suggest fixing the simple (and now obvious) goo=
f
> in the avahi-app Makefile?

No.  If you want to fight this battle, then do so with the Avahi author.

>=20
>=20
> Regards,
> Ron Guilmette
> (Former member of the ANSI C++ and ANSI C/9x standards comittees)
>=20
>=20
> P.S.  I see that you have closed this PR (ports/140563).  I disagree that
> it should be closed, and I request that you re-open the PR.

No.  I have identified the problem as not being a FreeBSD-specific bug.
If you really want to get this fixed, then you need to open a bug at
http://avahi.org.  But be aware that other ports may do exactly the same
thing, and you may have to fight this battle in a lot of other places.

Additionally, POSIXLY_CORRECT is a non-default environment variable, and
one that we do not test with.  We do not have the resources to make sure
that all ports build and operate properly with it set.  I strongly
suggest that if you want a more problem-free experience moving forward,
you unset this.

Joe

--=20
PGP Key : http://www.marcuscom.com/pgp.asc

--=-lHqqRK3c3FCYrdpi58Qs
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEABECAAYFAktAApgACgkQb2iPiv4Uz4dn+wCfa5mcj/L6S/K6VRUo/CgQYW+a
fZIAnRBiRYJdMA3P475Moun8DRjtuPz1
=U8MK
-----END PGP SIGNATURE-----

--=-lHqqRK3c3FCYrdpi58Qs--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1262486170.16768.56.camel>