Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ANNOUNCE: DJGPP port of GNU grep 2.14 uploaded.

12 views
Skip to first unread message

Juan Manuel Guerrero

unread,
Aug 26, 2012, 3:21:35 PM8/26/12
to djgpp-a...@delorie.com
This is a port of GNU grep 2.14 to MSDOS/DJGPP.


This is GNU grep, the "fastest grep in the west".
GNU grep is based on a fast lazy-state deterministic matcher (about
twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
search for a fixed string that eliminates impossible text from being
considered by the full regexp matcher without necessarily having to
look at every character. The result is typically many times faster
than Unix grep or egrep. (Regular expressions containing backreferencing
will run more slowly, however.)



DJGPP specific changes.
=======================

DJGPP specific changes are those required to implement colorization support
for this port. If grep is called with the command line option --color and
the output is directed to the screen then the default colors will be used
to mark matches, file names and line numbers. If the output does not go to
the screen then colorization is automatically suppressed. Read the docs to
learn how to control the color using the environment variable GREP_COLORS.
As usual all changes are documented in the diffs file that is stored in the
/djgpp directory.

Please note that to run the test suite produced with autoconf 2.64 and later
you must install mktmp17br2 or later. Because the test suite also tries to
test multibyte patterns but multibyte strings are not fully supported by
DJGPP some tests will be skipped or fail. The yesno test is known to fail,
so please do not report it. Before starting the testsuite, please make sure
to unset the GREP_OPTIONS in djgpp.env or the testsuite may not work as
expected.

The grep program uses a new method called fts to traverse a file tree. This
code is very posix centric, especially it uses gnulib functions like openat,
openat-proc and fdopendir that try to access directories using file descriptors
with open(). This is only supported by djdev204 but not by djdev203. This
means that if grep is compiled using djdev203, the program will no longer be
able neither to recurse directories nor will be able to follow symlinks.
This is because djdev203 only produces symlinks for programs. In both cases
grep will always terminated with ENOSYS. grep211 was probably the last DJGPP
port of grep compiled with djdev203.

This port has been configured and compiled with perl-regexp (pcre) support
enabled. This means that you will have to install pcre libray available as:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/pcre831b.zip
or
ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/pcre831b.zip
if you decide to compile the the preconfigured sources. If you prefer to
disable the pcre support you will have to reconfigure and recompile the
suorces again, but this time passing the "no-pcre" command line option to
config.bat. The grep214b.zip file contains only the one build with
perl-regexp support enabled.

This port has no wide character/multi byte support at all.

To build this port and run the testsuite you will need LFN support.
Please note that the testsuite also runs a lot of gnulib tests that will all
fail. I have no intension to fix them.

The source package is configured to be build in the "_build.204" directory.


For further information about GNU grep please read the info docs and NEWS file.



This is an verbatim extract of the NEWS file:
-------------------------------------------------------------------------------
* Noteworthy changes in release 2.14 (2012-08-20) [stable]

** Bug fixes

grep -i '^$' could exit 0 (i.e., report a match) in a multi-byte locale,
even though there was no match, and the command generated no output.
E.g., seq 2 | LC_ALL=en_US.utf8 grep -il '^$' would mistakenly print
"(standard input)". Related, seq 9 | LC_ALL=en_US.utf8 grep -in '^$'
would print "2:4:6:8:10:12:14:16" and exit 0. Now it prints nothing
and exits with status of 1. [bug introduced in grep-2.6]

'grep' no longer falsely reports text files as being binary on file
systems that compress contents or that store tiny contents in metadata.


-------------------------------------------------------------------------------


The port has been compiled using djdev204 (beta) and consists of the usual
three packages that can be downloaded from ftp.delorie.com and mirrors as
(timestamp 2015-08-25):

grep 2.14 binaries, info and man format documentation:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/grep214b.zip

grep 2.14 dvi, html, pdf and ps format documentation:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/grep214d.zip

grep 2.14 source:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/grep214s.zip


Send grep specific bug reports to <bug-...@gnu.org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <dj...@delorie.com>.
If you are not sure if the failure is really a grep failure
or a djgpp specific failure, report it here and *not* to
<bug-...@gnu.org>.

Enjoy.

Guerrero, Juan Manuel <juan.g...@gmx.de>

0 new messages