[sisyphus] Re: zsh completion for rpm
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Окт 23 07:48:22 MSD 2004
On Sat, Oct 23, 2004 at 09:32:39AM +0600, Andrey Rahmatullin wrote:
> > кэш автоматически обновляется при изменении базы rpm и/или apt.
> Где это видно? В /usr/share/zsh/Completion/*/_{rpm,apt} видно
> обновление только если кэш старше недели. Или я чего-то не понимаю?
Как раз старый /usr/share/zsh/Completion/*/_rpm подменится через $fpath
на новый _rpm.
В новом _rpm используется `_rpm_packages installed', поэтому смотреть
надо в /usr/share/zsh/Completion/*/_rpm_packages:
_rpms_caching_policy () {
# rebuild if cache is more than a week old
oldp=( "$1"(mw+1) )
(( $#oldp )) && return 0
pkg_indices=( /var/lib/rpm/{packages.rpm,Packages}(N) )
for pkg_index in $pkg_indices; do
[[ "$pkg_index" -nt "$1" ]] && return 0
done
}
Этот код немного грешен (прежде всего отступами), в следующей сборке
я его переделаю на
_rpms_caching_policy () {
local cache_path="$1" cache_ident="$_cache_ident"
# rebuild if cache is more than a week old
oldp=( "$cache_path"(mw+1) )
(( $#oldp )) && return 0
if [[ $cache_ident = RPMS_installed ]]; then
pkg_indices=( /var/lib/rpm/{packages.rpm,Packages}(N) )
else
pkg_indices=( /var/lib/apt/lists/*(.N) )
fi
for pkg_index in $pkg_indices; do
[[ "$pkg_index" -nt "$cache_path" ]] && return 0
done
return 1
}
> --
> WBR, wRAR (ALT Linux Team)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20041023/855eccc5/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus