ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Ivan Zakharyaschev <vanyaz@mccme.ru>
To: <devel@linux.iplabs.ru>
Subject: [devel] RPM: icons
Date: Fri, 24 Nov 2000 21:29:52 +0300 (MSK)
Message-ID: <Pine.LNX.4.30L.0011232230170.1844-100000@zephyrous.ru> (raw)

Вот еще ряд небольших проблем:

В преамбуле пакета указывается файл-иконка, соответсвующая этому пакету:

Icon: ...

Сам файл ищется в SOURCES. И он рассматривается как имеющий тот же статус,
что файлы, заданные в Source: или Patch: -- без него не совершаются многие
операции с пакетом.

Можно было бы разрешить говорить NoIcon по аналогии с NoSource и NoPatch
(можно еще много чего напридумывать с иконками, но не стоит: это не так
важно). NoIcon был бы удобен при работе с rpm --rmsource: например, есть
два spec-файла -- один оригинальный, другой с добавленными патчами. Во
втором все остальные исходники объявлены в No{Source,Patch}. Теперь, если
закрыть глаза на иконку, после rpm --rmsource <2nd spec> можно работать с
первым оригинальным (все, что было в No*: не было удалено). С иконкой же
хуже: если она задана в обоих spec-файлах, то выполнение rpm --rmsource
на одном из них вызовет удаление файла с иконкой и сделает невозможной
работу с другим spec-файлом. Исключение иконки из преамбулы spec-файла --
неправильное решение, т.к. иконка -- атрибут пакета.


Другое предложение: Mandrake'овские пакеты обычно включают несколько
иконок (уже не тех, что объявляются в Icon). И они, наверное, много где
устанавливаются таким образом:

%install

install -m 644 -D %{SOURCE5} $RPM_BUILD_ROOT%{_miconsdir}/%{name}.xpm
install -m 644 -D %{SOURCE6} $RPM_BUILD_ROOT%{_iconsdir}/%{name}.xpm
install -m 644 -D %{SOURCE7} $RPM_BUILD_ROOT%{_liconsdir}/%{name}.xpm

Почему бы не обозначить это действие макросом:

%install_icons 6 -m 5 -l 7

Можно было бы выделить отдельный тип исходных данных для иконок наравне с
Source и Patch и объявлять их в преамбуле так:

# RPM standard icon
Icon: ...

# Mandrake icons (mini, large etc.):
Icon1:...
Icon2:...

Ввести тэг NoIcon с арнументами-номерами.


Кстати: можно ли в одном тэге NoSource указывать несколько номеров,
задавать промежутки вида 0-8? (А вообще, система с номерами мне кажется
неудобной: можно было бы делать что-нибудь типа "enum { NameOne, NameTwo};"
для имен исходников, а потом объявлять файлы для них уже как
SourceNameOne, ...; я думаю, что макроопределение, соответсвующее по
эффекту enum, можно было бы написать на существующем макроязыке RPM).


Можно было бы также ввести тэги Doc и NoDoc для указания исходных файлов
с дополнительной документацией. Номера этих Doc'ов можно использовать для
работы с ними (в специальных разделах spec-файла, описанных в другом
письме). Принципиальное отличие иконок и документации от многих остальных
данных, указываемых в Source и Patch, в том, что они не нужны для
компиляции программы и что они даже имеют большее отношение к пакету как
таковому, а не к самой программе (особенно иконки). Не уверен, что это
правильное направление: мало ли какой тип исходных данных еще можно
придумать? Например, конфигурационные файлы. И что: для каждого свой тэг?
Можно их всех просто поделить на две категории: нужные для компиляции
программы и прочие. (Тогда можно было бы исполнять стадию %build, не
жалуясь на то, что нет чего-то из Прочего.)

-- 
Best regards,
      Ivan Z.


_______________________________________________
Devel mailing list
Devel@linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel


                 reply	other threads:[~2000-11-24 18:29 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=Pine.LNX.4.30L.0011232230170.1844-100000@zephyrous.ru \
    --to=vanyaz@mccme.ru \
    --cc=devel@linux.iplabs.ru \
    /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