On Tue, Mar 21, 2017 at 9:33 PM, Jamie Landeg-Jones <jamie at dyslexicfish.net> wrote:> I've just noticed that the hard links for xzgrep / xzegrep / xzfgrep / lzgrep / lzgrep / lzfgrep > are missing from my source-built FreeBSD 11 release.Confirmed, but there's good reason -- see next section.> I've tracked it down to a commit almost 2 years ago.. > > https://svnweb.freebsd.org/base/head/usr.bin/grep/Makefile?r1=277939&r2=284345&pathrev=315687 > > Am I really the first to notice, or am I missing something here?Yes, but only slightly. =) If you do `grep -V`, you should find that your system is actually using GNU grep. Please refer to: https://svnweb.freebsd.org/base/head/gnu/usr.bin/grep/ -- this one doesn't actually install these links at all, because the source doesn't support these invocations. See grep.c:1368-ish in my link.> Unless bsdgrep is set to be installed as "grep" (instead of GNU grep), these 6 hard links, > and associated manual page hard links are not created.This is only half-true, given the above section. =) I'd like to help change this at some point and have done some work to try to improve bsdgrep, but I've not been finding time to poke emaste@ to see if I can help with getting some of my work integrated.> Cheers, JamieThanks, Kyle Evans
Jamie Landeg-Jones
2017-Mar-22 03:54 UTC
Freebsd 11 - /usr/bin missing [xl]zgrep/zegrep/zfgrep
Kyle Evans <kevans91 at ksu.edu> wrote:> > > > Am I really the first to notice, or am I missing something here? > > Yes, but only slightly. =) If you do `grep -V`, you should find that > your system is actually using GNU grep. Please refer to: > https://svnweb.freebsd.org/base/head/gnu/usr.bin/grep/ -- this one > doesn't actually install these links at all, because the source > doesn't support these invocations. See grep.c:1368-ish in my link. > > > Unless bsdgrep is set to be installed as "grep" (instead of GNU grep), these 6 hard links, > > and associated manual page hard links are not created. > > This is only half-true, given the above section. =) I'd like to help > change this at some point and have done some work to try to improve > bsdgrep, but I've not been finding time to poke emaste@ to see if I > can help with getting some of my work integrated.Wow! Thanks for the quick reply! I wasn't too clear. I realise the default grep is GNU grep, and that it doesn't have the lzma-grepping support, and hence the gnu grep doesn't install these links. However, in this case (WITH_BSD_GREP not defined), GNU grep is installed as expected, but BSD grep is still installed, but instead as "bsdgrep". Prior to this change, the links were made against the installed "grep" if WITH_BSD_GREP was defined, but if WITH_BSD_GREP wasn't defined, they were *still* created, but linked instead to "bsdgrep". Now, they are only created in the former case. I.E. By default, on FreeBSD 10, GNUgrep existed as "grep" and xzgrep etc... existed as hard links to "bsdgrep". On FreeBSD 11, those links are not created, despite "bsdgrep" still being installed. I realise there are advantages of GNUgrep and also advantages of BSDgrep, hence why they are currently both available (and thanks for your work on getting bsd grep up to parity) but I don't understand why on the default install, xzgrep.. etc. are no longer linked to bsdgrep, unless there are problems with them? (I notice the 32K limit bug has been fixed) - but then if there were problems, they wouldn;t be linked whatever the configured system "grep" Hope this makes sense, I should have been asleep hours ago! Cheers, Jamie