Package: grep Version: 2.12-2 Severity: normal The behavior of --exclude-dir changed between squeeze (2.6.3-3+squeeze1) and wheezy (2.12-2). The new behavior is present in the current unstable version as well (2.16-1).
A test script is attached. Tests 4,6,7,8,11,12 produce different results between squeeze's grep and the newer versions. I can't see any reason why the change in behavior would be desirable, and it makes many (probably most) uses of --exclude-dir impossible. In particular the new behavior doesn't allow --exclude-dir patterns to match on parent directories, so for example you can't distinguish between /usr/share/doc and /usr/local/share/doc, you can only exclude "doc" or "*doc*". I'm assuming this is an unintentional bug, but if not then consider this a wishlist item for the prior behavior, especially being able to match on parent directories. Also, the change should be documented clearly in the Debian changelog and apt-listchanges since it can break scripts relying on the prior behavior. -- System Information: Debian Release: 7.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.32-5-686-bigmem (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages grep depends on: ii dpkg 1.16.12 ii install-info 4.13a.dfsg.1-10 ii libc6 2.13-38+deb7u1 grep recommends no packages. Versions of packages grep suggests: ii libpcre3 1:8.30-5 -- no debconf information
test_grep_exclude_dir.sh
Description: Bourne shell script