Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Apr 2015 10:10:13 -0700
From:      Peter Wemm <peter@wemm.org>
To:        John Baldwin <jhb@freebsd.org>, Oliver Pinter <oliver.pinter@hardenedbsd.org>
Cc:        freebsd-arch@freebsd.org, Stefan Esser <se@freebsd.org>, Konstantin Belousov <kostikbel@gmail.com>, "freebsd-arch@freebsd.org" <arch@freebsd.org>
Subject:   Re: Removal of the 6.x kernel compat code from libc
Message-ID:  <2754569.tvBmmIXdDx@overcee.wemm.org>
In-Reply-To: <14081053.n6WdaDRXXc@ralph.baldwin.cx>
References:  <20150417075942.GI2390@kib.kiev.ua> <5531059F.4060500@freebsd.org> <14081053.n6WdaDRXXc@ralph.baldwin.cx>

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

[-- Attachment #1 --]
On Friday, April 17, 2015 09:28:24 AM John Baldwin wrote:
> On Friday, April 17, 2015 03:07:43 PM Stefan Esser wrote:
> > Could we get rid of check_utility_compat(3) on that occasion?
> > 
> > It is only used (AFAIK) to select FreeBSD-4 compatible behaviour of
> > expr(1), which can also be selected with option "-e" and env variable
> > COMPAT_EXPR.
> > 
> > I doubt that anybody relies on non-POSIX behaviour that has been
> > deprecated for some 15 years ...
> > 
> > We'll need to preserve a stub function for check_utility_compat(3),
> > I'm afraid, but I think we can remove the environment variable and
> > the actual checking for a sym-link named "/etc/compat-FreeBSD-4-util"
> > at startup of expr. (I bet, nobody even knew that the behaviour of
> > expr could be changed with above sym-link ...)
> > 
> > If there is consensus, I could prepare a patch to remove the check
> > and to update the man-page for expr (just for -CURRENT, no MFC).
> 
> I would not be surprised if Y!BSD depends on this and uses it in 11 FWIW. :)

I'm sorry to say, but yes.  We do actually us this on 10.x and 11.x at work, 
although it's worse than you can imagine.  I just did a quick diff and I see:

==== //depot/vendor/FreeBSD/stable/10/bin/expr/expr.y#2 (text+ko) - 
//depot/yahoo/ybsd_10/src/bin/expr/expr.y#3 (text+ko) ==== content
@@ -270,6 +270,8 @@
        int c;
 
        setlocale(LC_ALL, "");
+       if (getenv("NO_EXPR_COMPAT") == NULL)
+               setenv("EXPR_COMPAT", "1", 1);
        if (getenv("EXPR_COMPAT") != NULL
            || check_utility_compat("expr")) {
                av = argv + 1;

I'm not going to do an annotate to see who did that..  However, we can 
maintain patches locally if needed.

I'm not even sure *why* its there.  I might have removed the code that 
depended on it.  Let me do some research.  With a bit of luck, it might be 
academic for us now.
-- 
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com; KI6FJV
UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAABCAAGBQJVMT51AAoJEDXWlwnsgJ4EpKYH/jejxWMydHinWK6Q6cMCoax+
2o66d0Ugy1NutELJrgXd+JyWaY+ES/TSDrILG+zDiqma4GQS8sTaklfwZlgET12u
yW63IbiZWcmYIlczK6Wb2/gXAg4LH6LGxwjDheIWDco0zJFZjijKwdNglX2bH4o6
TsJSCm5UW5tX7ry/nqXfDh/g0ZUcSZ3Z/gpQAN0PHo8+U4e6Vj6zJi2fLZRu2rI5
Fe30mQCS9GFdw57lL/hJcNAhnefe9CVkTbrw0ZDh9Z2MLVWcoP8gk5CIrRIDrSES
geyuachUoeBNB9U+H36AyNxj4yiBIaTyyJYHl9y7mXZQ+2L7Tq/XLaetnTZ4+2Q=
=nptq
-----END PGP SIGNATURE-----

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