From 5f592878eed79dd28f9f93418f9456185fd21ac9 Mon Sep 17 00:00:00 2001 From: Jarkko Kniivilä Date: Mon, 7 Sep 2015 23:43:02 +0300 Subject: Do not depend on readlink(1) or -q Solaris 10 lacks readlink(1). Additionally, its different grep(1) and diff(1) do not take a `-q` flag. Use a Perl one-liner instead of readlink(1) which is missing on Solaris 10. Also because /usr/bin/grep and diff(1) don't understand the `-q` option, make them go quiet by redirecting stdout to `/dev/null` instead. The Perl dependency only exists in the test suite, so it does not incur a runtime penalty for end users. This is to work around the fact that readlink(1) is missing on Solaris. The tradeoff is: on Solaris, installing third-party software (readlink) is a pain, whereas on e.g. FreeBSD installing third-party software (Perl) is simple and common. --- bin/lsrc.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin/lsrc.in') diff --git a/bin/lsrc.in b/bin/lsrc.in index 47ae889..fcf5fbe 100755 --- a/bin/lsrc.in +++ b/bin/lsrc.in @@ -118,7 +118,7 @@ show_file() { output="$output:$sigil" fi - if echo "$DEST_STACK:" | grep -vq ":$dest_file:"; then + if echo "$DEST_STACK:" | grep -v ":$dest_file:" >/dev/null; then DEST_STACK="$DEST_STACK:$dest_file" $PRINT "$output" else @@ -167,7 +167,7 @@ dotfiles_dir_excludes() { $DEBUG " with excludes: $excludes" for exclude in $excludes; do - if echo "$exclude" | grep -q ':'; then + if echo "$exclude" | grep ':' >/dev/null; then dotfiles_dir_pat="$(echo "$exclude" | sed 's/:.*//')" file_glob="$(echo "$exclude" | sed 's/.*://')" -- cgit v1.2.3