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
On Tue, Mar 21, 2017 at 10:54 PM, Jamie Landeg-Jones> 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"Ah, I see what you mean. I've no idea on the history here, but I believe the idea is that if I invoke one of these other links (zgrep, egrep, ...) I'm expecting it to be actually be grep(1) based purely on the name, and I don't consider bsdgrep(1) to be installed for anything but a courtesy. For grep(1) to be GNU grep while xzgrep to secretly be a link to BSD grep would be quite surprising to me as a user/admin, especially since there are very real output and argument differences between the two. This argument can be furthered by imagining the awkwardness that would come from a system where the fairly standard *grep links are a mix between BSD grep and GNU grep.> Hope this makes sense, I should have been asleep hours ago! > > Cheers, JamieMakes good sense, =) Thanks, Kyle Evans