ALT Linux Team development discussions
 help / color / mirror / Atom feed
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 --]

  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