Page MenuHomeFreeBSD

D15193.id41850.diff
No OneTemporary

D15193.id41850.diff

Index: head/gnu/usr.bin/grep/Makefile
===================================================================
--- head/gnu/usr.bin/grep/Makefile
+++ head/gnu/usr.bin/grep/Makefile
@@ -24,22 +24,9 @@
LIBADD= gnuregex bz2
-.if ${MK_BSD_GREP} != "yes"
-LINKS+= ${BINDIR}/grep ${BINDIR}/bzgrep \
- ${BINDIR}/grep ${BINDIR}/bzegrep \
- ${BINDIR}/grep ${BINDIR}/bzfgrep
-MLINKS+=grep.1 bzgrep.1 grep.1 bzegrep.1 grep.1 bzfgrep.1
-.endif
-
.if defined(GREP_LIBZ) && !empty(GREP_LIBZ)
LIBADD+= z
CFLAGS+=-DHAVE_LIBZ=1
-.if ${MK_BSD_GREP} != "yes"
-LINKS+= ${BINDIR}/grep ${BINDIR}/zgrep \
- ${BINDIR}/grep ${BINDIR}/zegrep \
- ${BINDIR}/grep ${BINDIR}/zfgrep
-MLINKS+=grep.1 zgrep.1 grep.1 zegrep.1 grep.1 zfgrep.1
-.endif
.endif
gnugrep.1: grep.1
Index: head/tools/build/mk/OptionalObsoleteFiles.inc
===================================================================
--- head/tools/build/mk/OptionalObsoleteFiles.inc
+++ head/tools/build/mk/OptionalObsoleteFiles.inc
@@ -657,21 +657,6 @@
OLD_FILES+=usr/share/man/man1/cpio.1.gz
.endif
-.if ${MK_BSD_GREP} == no
-OLD_FILES+=usr/bin/lzegrep
-OLD_FILES+=usr/bin/lzfgrep
-OLD_FILES+=usr/bin/lzgrep
-OLD_FILES+=usr/bin/xzegrep
-OLD_FILES+=usr/bin/xzfgrep
-OLD_FILES+=usr/bin/xzgrep
-OLD_FILES+=usr/share/man/man1/lzegrep.1.gz
-OLD_FILES+=usr/share/man/man1/lzfgrep.1.gz
-OLD_FILES+=usr/share/man/man1/lzgrep.1.gz
-OLD_FILES+=usr/share/man/man1/xzegrep.1.gz
-OLD_FILES+=usr/share/man/man1/xzfgrep.1.gz
-OLD_FILES+=usr/share/man/man1/xzgrep.1.gz
-.endif
-
.if ${MK_BSDINSTALL} == no
OLD_FILES+=usr/libexec/bsdinstall/adduser
OLD_FILES+=usr/libexec/bsdinstall/auto
Index: head/usr.bin/grep/Makefile
===================================================================
--- head/usr.bin/grep/Makefile
+++ head/usr.bin/grep/Makefile
@@ -6,9 +6,11 @@
.if ${MK_BSD_GREP} == "yes"
PROG= grep
+MAN1= grep.1 zgrep.1
.else
PROG= bsdgrep
CLEANFILES+= bsdgrep.1
+MAN1= grep.1 zgrep.1
bsdgrep.1: grep.1
${CP} ${.ALLSRC} ${.TARGET}
@@ -24,59 +26,59 @@
CFLAGS+= -DWITHOUT_FASTMATCH
.endif
+SCRIPTS= zgrep.sh
+LINKS= ${BINDIR}/zgrep ${BINDIR}/zfgrep \
+ ${BINDIR}/zgrep ${BINDIR}/zegrep \
+ ${BINDIR}/zgrep ${BINDIR}/bzgrep \
+ ${BINDIR}/zgrep ${BINDIR}/bzegrep \
+ ${BINDIR}/zgrep ${BINDIR}/bzfgrep \
+ ${BINDIR}/zgrep ${BINDIR}/lzgrep \
+ ${BINDIR}/zgrep ${BINDIR}/lzegrep \
+ ${BINDIR}/zgrep ${BINDIR}/lzfgrep \
+ ${BINDIR}/zgrep ${BINDIR}/xzgrep \
+ ${BINDIR}/zgrep ${BINDIR}/xzegrep \
+ ${BINDIR}/zgrep ${BINDIR}/xzfgrep \
+ ${BINDIR}/zgrep ${BINDIR}/zstdgrep \
+ ${BINDIR}/zgrep ${BINDIR}/zstdegrep \
+ ${BINDIR}/zgrep ${BINDIR}/zstdegrep
+
+MLINKS= zgrep.1 zfgrep.1 \
+ zgrep.1 zegrep.1 \
+ zgrep.1 bzgrep.1 \
+ zgrep.1 bzegrep.1 \
+ zgrep.1 bzfgrep.1 \
+ zgrep.1 lzgrep.1 \
+ zgrep.1 lzegrep.1 \
+ zgrep.1 lzfgrep.1 \
+ zgrep.1 xzgrep.1 \
+ zgrep.1 xzegrep.1 \
+ zgrep.1 xzfgrep.1 \
+ zgrep.1 zstdgrep.1 \
+ zgrep.1 zstdegrep.1 \
+ zgrep.1 zstdfgrep.1
+
CFLAGS.gcc+= --param max-inline-insns-single=500
.if ${MK_BSD_GREP} == "yes"
-LINKS= ${BINDIR}/grep ${BINDIR}/egrep \
+LINKS+= ${BINDIR}/grep ${BINDIR}/egrep \
${BINDIR}/grep ${BINDIR}/fgrep \
${BINDIR}/grep ${BINDIR}/rgrep \
- ${BINDIR}/grep ${BINDIR}/zgrep \
- ${BINDIR}/grep ${BINDIR}/zegrep \
- ${BINDIR}/grep ${BINDIR}/zfgrep
-MLINKS= grep.1 egrep.1 \
+MLINKS+= grep.1 egrep.1 \
grep.1 fgrep.1 \
- grep.1 rgrep.1 \
- grep.1 zgrep.1 \
- grep.1 zegrep.1 \
- grep.1 zfgrep.1
+ grep.1 rgrep.1
.endif
LIBADD= z
.if ${MK_LZMA_SUPPORT} != "no"
LIBADD+= lzma
-
-.if ${MK_BSD_GREP} == "yes"
-LINKS+= ${BINDIR}/${PROG} ${BINDIR}/xzgrep \
- ${BINDIR}/${PROG} ${BINDIR}/xzegrep \
- ${BINDIR}/${PROG} ${BINDIR}/xzfgrep \
- ${BINDIR}/${PROG} ${BINDIR}/lzgrep \
- ${BINDIR}/${PROG} ${BINDIR}/lzegrep \
- ${BINDIR}/${PROG} ${BINDIR}/lzfgrep
-
-MLINKS+= grep.1 xzgrep.1 \
- grep.1 xzegrep.1 \
- grep.1 xzfgrep.1 \
- grep.1 lzgrep.1 \
- grep.1 lzegrep.1 \
- grep.1 lzfgrep.1
-.endif
.else
CFLAGS+= -DWITHOUT_LZMA
.endif
.if ${MK_BZIP2_SUPPORT} != "no"
LIBADD+= bz2
-
-.if ${MK_BSD_GREP} == "yes"
-LINKS+= ${BINDIR}/grep ${BINDIR}/bzgrep \
- ${BINDIR}/grep ${BINDIR}/bzegrep \
- ${BINDIR}/grep ${BINDIR}/bzfgrep
-MLINKS+= grep.1 bzgrep.1 \
- grep.1 bzegrep.1 \
- grep.1 bzfgrep.1
-.endif
.else
CFLAGS+= -DWITHOUT_BZIP2
.endif
Index: head/usr.bin/grep/zgrep.1
===================================================================
--- head/usr.bin/grep/zgrep.1
+++ head/usr.bin/grep/zgrep.1
@@ -0,0 +1,90 @@
+.\" Copyright (c) 2018 Baptiste Daroussin <bapt@FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd April 25, 2018
+.Dt ZGREP 1
+.Os
+.Sh NAME
+.Nm zgrep ,
+.Nm zegrep ,
+.Nm zfgrep ,
+.Nm bzgrep ,
+.Nm bzegrep ,
+.Nm bzfgrep ,
+.Nm lzgrep ,
+.Nm lzegrep ,
+.Nm lzfgrep ,
+.Nm xzgrep ,
+.Nm xzegrep ,
+.Nm xzfgrep ,
+.Nm zstdgrep ,
+.Nm zstdegrep ,
+.Nm zstdfgrep
+.Nd
+.Xr grep 1
+compressed files
+.Sh SYNOPSIS
+.Nm
+.Oo Ar flags Oc Ar files
+.Nm zegrep
+.Oo Ar flags Oc Ar files
+.Nm zfgrep
+.Oo Ar flags Oc Ar files
+.Nm bzgrep
+.Oo Ar flags Oc Ar files
+.Nm bzegrep
+.Oo Ar flags Oc Ar files
+.Nm bzfgrep
+.Oo Ar flags Oc Ar files
+.Nm lzgrep
+.Oo Ar flags Oc Ar files
+.Nm lzegrep
+.Oo Ar flags Oc Ar files
+.Nm lzfgrep
+.Oo Ar flags Oc Ar files
+.Nm xzgrep
+.Oo Ar flags Oc Ar files
+.Nm xzegrep
+.Oo Ar flags Oc Ar files
+.Nm xzfgrep
+.Oo Ar flags Oc Ar files
+.Nm zstdgrep
+.Oo Ar flags Oc Ar files
+.Nm zstdegrep
+.Oo Ar flags Oc Ar files
+.Nm zstdfgrep
+.Oo Ar flags Oc Ar files
+.Sh DESCRIPTION
+Allow
+.Xr grep 1
+to read compressed files
+.Sh SEE ALSO
+.Xr grep 1
+.Sh AUTHORS
+This version of the
+.Nm
+utility was written by
+.An Thomas Klausner Aq Mt wiz@NetBSD.org .
Index: head/usr.bin/grep/zgrep.sh
===================================================================
--- head/usr.bin/grep/zgrep.sh
+++ head/usr.bin/grep/zgrep.sh
@@ -0,0 +1,151 @@
+#!/bin/sh
+#
+# Copyright (c) 2003 Thomas Klausner.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# $FreeBSD$
+
+set -eu
+grep=grep
+zcat=zstdcat
+
+endofopts=0
+pattern_found=0
+grep_args=""
+hyphen=0
+silent=0
+
+prg=$(basename $0)
+
+# handle being called 'zegrep' or 'zfgrep'
+case ${prg} in
+*egrep)
+ grep_args="-E";;
+*fgrep)
+ grep_args="-F";;
+esac
+
+catargs="-f"
+case ${prg} in
+zstd*)
+ cattool="/usr/bin/zstdcat"
+ catargs="-fq"
+ ;;
+bz*)
+ cattool="/usr/bin/bzcat"
+ ;;
+z*)
+ cattool="/usr/bin/zcat"
+ ;;
+xz*)
+ cattool="/usr/bin/xzcat"
+ ;;
+lz*)
+ cattool="/usr/bin/lzcat"
+ ;;
+*)
+ echo "Invalid command: ${prg}" >&2
+ exit 1
+ ;;
+esac
+
+# skip all options and pass them on to grep taking care of options
+# with arguments, and if -e was supplied
+
+while [ $# -gt 0 -a ${endofopts} -eq 0 ]
+do
+ case $1 in
+ # from GNU grep-2.5.1 -- keep in sync!
+ -[ABCDXdefm])
+ if [ $# -lt 2 ]
+ then
+ echo "${prg}: missing argument for $1 flag" >&2
+ exit 1
+ fi
+ case $1 in
+ -e)
+ pattern="$2"
+ pattern_found=1
+ shift 2
+ break
+ ;;
+ *)
+ ;;
+ esac
+ grep_args="${grep_args} $1 $2"
+ shift 2
+ ;;
+ --)
+ shift
+ endofopts=1
+ ;;
+ -)
+ hyphen=1
+ shift
+ ;;
+ -h)
+ silent=1
+ shift
+ ;;
+ -*)
+ grep_args="${grep_args} $1"
+ shift
+ ;;
+ *)
+ # pattern to grep for
+ endofopts=1
+ ;;
+ esac
+done
+
+# if no -e option was found, take next argument as grep-pattern
+if [ ${pattern_found} -lt 1 ]
+then
+ if [ $# -ge 1 ]; then
+ pattern="$1"
+ shift
+ elif [ ${hyphen} -gt 0 ]; then
+ pattern="-"
+ else
+ echo "${prg}: missing pattern" >&2
+ exit 1
+ fi
+fi
+
+# call grep ...
+if [ $# -lt 1 ]
+then
+ # ... on stdin
+ ${cattool} ${catargs} - | ${grep} ${grep_args} -- "${pattern}" -
+else
+ # ... on all files given on the command line
+ if [ ${silent} -lt 1 -a $# -gt 1 ]; then
+ grep_args="-H ${grep_args}"
+ fi
+ while [ $# -gt 0 ]
+ do
+ ${cattool} ${catargs} -- "$1" | ${grep} --label="${1}" ${grep_args} -- "${pattern}" -
+ shift
+ done
+fi
+
+exit 0
Index: head/usr.bin/zstd/Makefile
===================================================================
--- head/usr.bin/zstd/Makefile
+++ head/usr.bin/zstd/Makefile
@@ -15,7 +15,6 @@
-DXXH_NAMESPACE=ZSTD_ \
-DHAVE_THREAD=1 \
-DZSTD_MULTITHREAD=1
-SCRIPTS= zstdgrep
LINKS= ${BINDIR}/zstd ${BINDIR}/unzstd \
${BINDIR}/zstd ${BINDIR}/zstdcat \
${BINDIR}/zstd ${BINDIR}/zstdmt

File Metadata

Mime Type
text/plain
Expires
Fri, Nov 21, 6:05 PM (14 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25783934
Default Alt Text
D15193.id41850.diff (10 KB)

Event Timeline