From: Sergey Vlasov <vsu@altlinux.ru> To: devel@lists.altlinux.org Subject: Re: [devel] [spec-lynch] vim.spec Date: Sun, 11 Oct 2009 18:55:03 +0400 Message-ID: <20091011145503.GA8446@atlas.home> (raw) In-Reply-To: <20091011131017.GC21375@altlinux.org> [-- Attachment #1: Type: text/plain, Size: 2643 bytes --] On Sun, Oct 11, 2009 at 05:10:17PM +0400, Alexey I. Froloff wrote: > 58 %define oname vim > 59 %define major 7 > 60 %define minor 2 > 61 #define pre > 62 %define patchlevel 262 > 67 Version: %major.%minor%{?pre:.000.%pre}%{?patchlevel:.%patchlevel} > > Не самый удачный способ кодирования версии. Во первых такую > конструкцию не понимает gear, во вторых она не работает как надо. Да, %{?...} в gear не работает (хотя простая подстановка строк сработает правильно, за исключением случая, когда используемые там макросы определяются внутри какого-нибудь %if... - в этом случае gear не сможет выбрать из нескольких определений макроса нужное и молча подставит не то, что нужно). Ещё один способ борьбы с gear - не собирать Version: из компонентов, а писать в окончательном виде, после чего разбирать на нужные компоненты, используя что-то типа %( echo %version | sed ... ). > 401 PreReq: alternatives >= 0.2.0-alt0.7 > 402 Requires: gtk+ >= 1.2.3 > > Алексей Турбин совершенно зря потратил кучу времени пркручивая > версионирование символов к библиотекам. К ископаемому gtk1 они ещё не прикручивались. Впрочем, сборка пакета vim-X11-gtk всё равно отключена с 2006 года; возможно, его стоит похоронить окончательно. Ну а alternatives - это совсем отдельный вопрос; если древние версии этого пакета ещё рано объявлять несуществующими, возможно, получится хотя бы проставлять эту зависимость автоматически. > 719 cat <<EOF >%buildroot%_rpmmacrosdir/vim > 720 # Global runtime > 721 %%vim_dir %_datadir/vim > > Когда макросы делаются через HEREDOC надо не забывать > экранировать % там где нужно. И $ (хотя против этого есть средства - см. далее; а вот от %% уже никуда не деться). > 726 %%mkvimspell(L:a) %%{!-L:%%{!-a:%%{error:mkvimspell: neither language nor -a is specified} }}%%{-L:env LANG="%%{-L*}"} %_bindir/vim-console -E -X -N -n -i NONE -u NONE -U NONE -c 'mkspell! %%{-a:-ascii} %%*' -c q > > Макрос использует vim-console, однако rpm-build-vim от него не > зависит. С другой стороны, не всем пользователям rpm-build-vim нужен этот макрос... > 768 cat <<EOF >%buildroot%_bindir/update-vimhelp > 774 [ -x "\$VIM" ] || exit 1 > > Когда шелл-скрипты делаются через HEREDOC надо не забывать > экранировать $ там где нужно. Лучше подобные вещи делать > отдельным Source. Можно ещё cat <<'EOF' - тогда от sh ничего экранировать не нужно. Вариант с отдельным Source не всегда удобен - иногда нужно раскрыть какие-нибудь %macros в содержимом файла, тогда может быть проще сделать heredoc, чем плодить sed. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2009-10-11 14:55 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-10-11 13:10 Alexey I. Froloff 2009-10-11 14:55 ` Sergey Vlasov [this message] 2009-10-11 15:55 ` Alexey I. Froloff 2009-10-11 16:36 ` Sergey Vlasov 2009-10-11 19:36 ` Alexey Rusakov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20091011145503.GA8446@atlas.home \ --to=vsu@altlinux.ru \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git