contrib/vim
Maxim Dounin
mdounin на mdounin.ru
Вт Дек 26 18:27:25 UTC 2017
Hello!
On Mon, Dec 25, 2017 at 08:51:14PM +0200, Gena Makhomed wrote:
> On 11.10.2017 16:42, Maxim Dounin wrote:
>
> >> В tar.gz дистрибутиве есть каталог contrib/vim - можно ли сделать так,
> >> чтобы содержимое этого каталога при установке пакета ложилось в каталог
> >> /usr/share/vim/vimfiles ? Это было бы очень удобно для пользователей vim
> >> - тогда vim будет автоматически похватывать эти конфигурационные файлы.
>
> > Содержимое contrib/ ни коим образом не поддерживается
> > разработчиками, и ставить это в рамках пакетов, IMHO, было бы странно.
>
> Странно, что не поддерживается, ведь файл contrib/vim/syntax/nginx.vim
> можно автоматически проверять на актуальность небольшим скриптом,
> который сканирует исходники nginx и показывает, какие директивы
> отсутствуют в файле nginx.vim, такой скрипт пишется за 15 минут.
Это, скажем так, не совсем соответствует действительности. Потому
что директивы стандартных модулей - не единственное содержимое
contrib/vim/, и уж тем более contrib/.
Но даже если бы это было так - это не отменяет того факта, что
содержимое contrib/ не поддерживается разработчиками. Никто,
впрочем, не мешает присылать нам патчи, мы их без проблем
принимаем.
> Если ставить содержимое contrib/vim в /usr/share/vim/vimfiles/
> с помощью официального пакета из репозитория nginx нельзя,
> то каким тогда способом нам актуализировать конфиги vim?
Как по мне, наиболее правильным решением было бы добавить
соответствующий syntax-файл в дистрибутив собственно vim'а, и там
его периодически обновлять.
> Актуализировать contrib/vim на всех серверах вручную - это monkey job,
> мне пока что приходит в голову идея автоматизировать это через cron:
>
> /etc/cron.daily/nginx-vim
>
> #!/bin/bash
>
> /usr/bin/curl --silent http://hg.nginx.org/nginx/archive/tip.tar.gz
> --output /tmp/nginx.tar.gz
> /usr/bin/tar -C /tmp -xf /tmp/nginx.tar.gz
> for top in /tmp/nginx-* ; do /usr/bin/cp -r $top/contrib/vim/*
> /usr/share/vim/vimfiles/ ; done
> /usr/bin/rm -rf /tmp/nginx-*
> /usr/bin/rm -f /tmp/nginx.tar.gz
>
> Так нормально будет? Сайт http://hg.nginx.org/ выдержит нагрузку,
> если этот скрипт я пропишу в cron на примерно 50 своих серверах?
Качать ежедневно динамически генерируемый полный tar всех
исходников для обновления четырёх файлов, которые меняются хорошо
если пару раз в год - довольно странное решение. Но если очень
хочется делать именно так, а системы централизованного управления
конфигурацией серверов за столько лет не построили - то тут мы,
вероятно, в любом случае ничем помочь не сможем.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru