Source: etckeeper Source-Version: 1.18.17-1 Severity: normal Tags: upstream patch
Hi! With the recent grep 2.8 release, egrep usage, which has been slated for removal for a long time, now generates warnings, such as: egrep: warning: egrep is obsolescent; using grep -E This causes unintended output on etckeeper usage. I'm attaching a patch that should fix those. I've not touched the doc/todo/ items. Thanks, Guillem
From b5ba219b124d415af78cb4bb3d17ca2ec199e03c Mon Sep 17 00:00:00 2001 From: Guillem Jover <guil...@hadrons.org> Date: Wed, 7 Sep 2022 12:08:00 +0200 Subject: [PATCH] =?UTF-8?q?Use=20=C2=ABgrep=20-E=C2=BB=20instead=20of=20ob?= =?UTF-8?q?solescent=20=C2=ABegrep=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The grep 2.8 release generates warnings when invoking egrep, such as: egrep: warning: egrep is obsolescent; using grep -E as it is slated for removal in a later release. --- etckeeper | 4 ++-- list-installed.d/50list-installed | 2 +- post-install.d/50vcs-commit | 4 ++-- pre-commit.d/20warn-problem-files | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/etckeeper b/etckeeper index 0085eee..6de4754 100755 --- a/etckeeper +++ b/etckeeper @@ -84,7 +84,7 @@ elif [ "$command" = "pre-apt" ]; then command=pre-install fi -if echo "$command" | LANG=C egrep -q '[^-a-z_]'; then +if echo "$command" | LANG=C grep -E -q '[^-a-z_]'; then echo "etckeeper: invalid command $command" >&2 exit 1 fi @@ -142,7 +142,7 @@ else # fallback if perl isn't present for script in $ETCKEEPER_CONF_DIR/$command.d/*; do if [ ! -d "$script" -a -x "$script" ]; then - echo "$script" | egrep -q "/[-a-zA-Z0-9]+$" + echo "$script" | grep -E -q "/[-a-zA-Z0-9]+$" [ $? -eq 0 ] && "$script" "$@" fi done diff --git a/list-installed.d/50list-installed b/list-installed.d/50list-installed index 3b2ff6f..0551af4 100755 --- a/list-installed.d/50list-installed +++ b/list-installed.d/50list-installed @@ -17,7 +17,7 @@ else # format "package version\n" (or something similar). if [ "$LOWLEVEL_PACKAGE_MANAGER" = dpkg ]; then dpkg-query -W -f '${Status}\t${Package} ${Version} ${Architecture}\n' | \ - egrep '(ok installed|ok config-files)' | cut -f2,3 + grep -E '(ok installed|ok config-files)' | cut -f2,3 elif [ "$LOWLEVEL_PACKAGE_MANAGER" = rpm ]; then rpm -qa --qf "%|epoch?{%{epoch}}:{0}|:%{name}-%{version}-%{release}.%{arch}\n" | sort elif [ "$LOWLEVEL_PACKAGE_MANAGER" = pacman ]; then diff --git a/post-install.d/50vcs-commit b/post-install.d/50vcs-commit index e8fa4fc..11657af 100755 --- a/post-install.d/50vcs-commit +++ b/post-install.d/50vcs-commit @@ -66,7 +66,7 @@ if etckeeper unclean; then get_changed_packages | sort | uniq > $pl.found-pkgs if [ -s $pl.found-pkgs ]; then sed -i 's/^/^[-+]/;s/$/ /' $pl.found-pkgs - etckeeper list-installed | diff -U0 $pl.pre-install - | tail -n+4 | egrep '^[-+]' | grep -f $pl.found-pkgs > $pl.found-packages + etckeeper list-installed | diff -U0 $pl.pre-install - | tail -n+4 | grep -E '^[-+]' | grep -f $pl.found-pkgs > $pl.found-packages if [ -s $pl.found-packages ]; then echo "Packages with configuration changes:" cat $pl.found-packages || true @@ -74,7 +74,7 @@ if etckeeper unclean; then fi fi echo "Package changes:" - etckeeper list-installed | diff -U0 $pl.pre-install - | tail -n+4 | egrep '^[-+]' || true + etckeeper list-installed | diff -U0 $pl.pre-install - | tail -n+4 | grep -E '^[-+]' || true ) | etckeeper commit --stdin else etckeeper commit "$(printf "$message")" diff --git a/pre-commit.d/20warn-problem-files b/pre-commit.d/20warn-problem-files index 6bd5c2b..43320e4 100755 --- a/pre-commit.d/20warn-problem-files +++ b/pre-commit.d/20warn-problem-files @@ -2,7 +2,7 @@ set -e exclude_internal () { - egrep -v '(^|/)(\.git|\.hg|\.bzr|_darcs)/' + grep -E -v '(^|/)(\.git|\.hg|\.bzr|_darcs)/' } if [ "$VCS" = bzr ] || [ "$VCS" = darcs ]; then -- 2.37.2