From 199bccab75dc3dca51418bb958d9a083d5c05130 Mon Sep 17 00:00:00 2001 From: Clint Adams Date: Thu, 6 Sep 2001 20:52:21 +0000 Subject: 15740: tolerate /usr/local directories in $fpath on Debian where root:staff 2755. --- ChangeLog | 4 ++++ Completion/compaudit | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6fd74b22f..6162a97e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2001-09-06 Clint Adams + * 15740: Completion/compaudit: don't whine about + /usr/local/**/*(/) in $fpath being root:staff 2755 + if we think we're on Debian. + * 15739: Completion/compaudit: use getent instead of /etc/group if possible. diff --git a/Completion/compaudit b/Completion/compaudit index 7fbb90e09..ba2d01c23 100644 --- a/Completion/compaudit +++ b/Completion/compaudit @@ -82,7 +82,7 @@ fi # by NFS group sharing with an untrustworthy machine). So we must assume # that this has not happened, and pick the best group. -local GROUP GROUPMEM _i_pw _i_gid +local GROUP GROUPMEM _i_pw _i_gid _i_ulwdirs while IFS=: read GROUP _i_pw _i_gid GROUPMEM; do if (( UID == EUID )); then [[ $GROUP == $LOGNAME ]] && break @@ -108,6 +108,13 @@ else _i_wdirs=( ${^fpath}(Nf:g+w:,f:o+w:,^u0u${EUID}) ${^fpath}/..(Nf:g+w:,f:o+w:,^u0u${EUID}) ) fi + +if [[ -f /etc/debian_version ]] +then +_i_ulwdirs=( ${(M)_i_wdirs:#/usr/local/*} ) +_i_wdirs=( ${_i_wdirs:#/usr/local/*} ${^_i_ulwdir}(Nf:g+ws:^g:staff:,f:o+w:,^u0) ) +fi + _i_wdirs=( $_i_wdirs ${^fpath}.zwc^([^_]*|*~)(N^u0u${EUID}) ) _i_wfiles=( ${^fpath}/^([^_]*|*~)(N^u0u${EUID}) ) -- cgit 1.4.1