gaborsoc2008

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gaborsoc2008 [2008/07/24 14:15] – GáborKövesdángaborsoc2008 [2022/08/15 06:29] (current) – remove space from name KubilayKocak
Line 1: Line 1:
 ===== Porting BSD-licensed Text-Processing Tools from OpenBSD ===== ===== Porting BSD-licensed Text-Processing Tools from OpenBSD =====
 +
 %%FreeBSD%% currently uses the GNU versions of the command-line text-processing tools: grep, sort, diff, patch, sdiff. The goal of this project is to port the BSD-licensed versions of these tools from %%OpenBSD%% and optimize the performance where possible, provide standard-conformance and handling of wide character sets. The man pages also need to be revised and completed. %%FreeBSD%% currently uses the GNU versions of the command-line text-processing tools: grep, sort, diff, patch, sdiff. The goal of this project is to port the BSD-licensed versions of these tools from %%OpenBSD%% and optimize the performance where possible, provide standard-conformance and handling of wide character sets. The man pages also need to be revised and completed.
  
-===== TODO ===== +===== BSD grep =====
-==== Overall items ==== +
-  * Create regression tests. +
-  * Find a method to collect which options are used by the Ports Collection so that we can measure the progress of the compatibility. +
-  * Compare performance to GNU tools and optimize implementation to bring performance to par +
-  * See how well (on features and performance) GNU tools deal with wide character set input+
  
-==== grep ====+Please see [[KyleEvans/BSDgrep|BSDgrep]] and [[KyleEvans/Regex|Regex]] pages.
  
-^ Item ^ Status ^ +===== sort =====
-| Missing --label | COMPLETED | +
-| Missing --null | COMPLETED | +
-| Missing --color / --colour | COMPLETED | +
-| Missing -D / --devices | COMPLETED | +
-| Missing -H / --with-filename | COMPLETED | +
-| Missing -J / --bz2decompress | COMPLETED | +
-| Missing -d / --directories | COMPLETED | +
-| Missing -m / --max-count | COMPLETED | +
-| Missing -o / --only-matching | COMPLETED | +
-| Missing --include suboption for -r | COMPLETED | +
-| Missing --exclude suboption for -r | COMPLETED | +
-| Missing --help | COMPLETED | +
-| Eliminate warnings | COMPLETED | +
-| Comment the code | COMPLETED | +
-| Check GNU compatibility | COMPLETED | +
-| Check POSIX conformance | COMPLETED | +
-| Clean up the code | COMPLETED | +
-| Merge possible improvements from %%NetBSD%% | COMPLETED | +
-| Add wide character support | COMPLETED | +
-| Add NLS support | COMPLETED | +
-| Change binary support to use a buffer and don't pre-extract gzip/bzip2 files | COMPLETED | +
-| Add optional -P / --perl-regexp support with PCRE | INCOMPLETE |+
  
-Comments: The functional compatibility of BSD grep seems good, but there are some incompatibilities between the GNU regex library and our libc-regex. The former accepts non-standard regexes, like for example (a|), which contains an empty subexpression. There are a bunch of such cases, thus it is not possible to fix those in the BSD grep code, furthermore a different behaviour in our base regex library and BSD grep should be avoided. Such incompatibilities: +Has been rewritten from scratch. There are some missing features. Performance is the major issue.
- +
-  * (a|) has an empty subexpression in extended regexp +
-  * (a||b) has an empty subexpression in extended regexp +
-  * ?*, *?, %%**%%, ??, (* ^* have invalid repetition operators in extended regexp +
- +
-==== sort ==== +
- +
-^ Item ^ Status ^ +
-| Missing -g / --general-numeric-sort | INCOMPLETE | +
-| Missing --help | COMPLETED | +
-| Missing -M / --month-sort | INCOMPLETE | +
-| Missing -S / --buffer-size | COMPLETED | +
-| Missing --version | COMPLETED | +
-| Eliminate warnings | INCOMPLETE | +
-| Comment the code | INCOMPLETE | +
-| Check GNU compatibility | INCOMPLETE | +
-| Check POSIX conformance | COMPLETED |+
  
-==== diff ====+===== diff =====
  
 ^ Item ^ Status ^ ^ Item ^ Status ^
-| Missing --ignore-file-name-case | BROKEN |+| Missing --ignore-file-name-case | COMPLETED |
 | Missing --no-ignore-file-name-case | COMPLETED | | Missing --no-ignore-file-name-case | COMPLETED |
-| Missing --strip-trailing-cr | INCOMPLETE |+| Missing --strip-trailing-cr | COMPLETED |
 | Missing --normal | COMPLETED | | Missing --normal | COMPLETED |
-| Missing --left-column | INCOMPLETE | 
-| Missing --suppress-common-lines | INCOMPLETE | 
 | Missing --tabsize | INCOMPLETE | | Missing --tabsize | INCOMPLETE |
 | Missing --unidirectional-new-file | COMPLETED | | Missing --unidirectional-new-file | COMPLETED |
 | Missing --from-file | COMPLETED | | Missing --from-file | COMPLETED |
 | Missing --to-file | COMPLETED | | Missing --to-file | COMPLETED |
-| Missing --horizon-lines | INCOMPLETE | 
-| Missing --speed-large-files | COMPATIBLE | 
 | Missing --help | COMPLETED | | Missing --help | COMPLETED |
 | Missing --ignore-blank-lines | INCOMPLETE | | Missing --ignore-blank-lines | INCOMPLETE |
 | Missing --ignore-tab-expansion | INCOMPLETE | | Missing --ignore-tab-expansion | INCOMPLETE |
-| Missing --show-function-line | INCOMPLETE | 
-| Missing -W / --width | INCOMPLETE | 
-| Missing -y / --side-by-side | INCOMPLETE | 
 | Missing -v / --version | COMPLETED | | Missing -v / --version | COMPLETED |
 | Eliminate warnings | COMPLETED | | Eliminate warnings | COMPLETED |
  • gaborsoc2008.1216908922.txt.gz
  • Last modified: 2008/07/24 14:15
  • by GáborKövesdán