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>
