Обсуждение:Spec: различия между версиями
Нет описания правки |
м (не хватает %pre, %post, %preun, %postun и %trigger*) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
== Недостача == | |||
Отсутствует описание %pre, %post, %preun, %postun и %trigger* (хорошо бы ещё сослаться на /usr/share/doc/rpm-4.0.4/manual/triggers, в котором кроме собственно триггеров задокументирован и порядок выполнения пакетных скриптов). | |||
== Стиль == | |||
По традиции, тэги пишутся с заглавной буквы (Name, Version, Release, и т.п.). | |||
Комментарии пишут к тому, что нуждается в комментарии; тэги, которые есть в | |||
каждом спеке, лучше не комментировать. | |||
Точка в конце Summary указывать не следует. | |||
BuildRequires странный, содержит пакеты, которые всегда присутствуют в | |||
сборочной среде, а также пакеты, которые на самом деле не нужны для сборки. | |||
У нас нет полиси указывать provides: bundled(). | |||
Нужны веские основания использовать носимые с собой zlib, lz4, и magic вместо | |||
системных. | |||
Вместо | |||
%dir %{_datadir}/%{name}/%{version} | |||
%{_datadir}/%{name}/%{version}/* | |||
можно написать | |||
%{_datadir}/%{name}/%{version}/ | |||
аналогичную замену можно сделать и в других местах. | |||
-- [https://bugzilla.altlinux.org/show_bug.cgi?id=35093#c18 ldv@] | |||
...а затем напустить cleanup_spec и получить наконец | |||
%_datadir/%name/%version/ | |||
-- [https://bugzilla.altlinux.org/show_bug.cgi?id=35093#c20 mike@] | |||
== Промежуточные upstream-релизы == | |||
Для линеаризации номера версии в git можно использовать git describe: | Для линеаризации номера версии в git можно использовать git describe: | ||
Строка 17: | Строка 51: | ||
-- [[Участник:ИльдарМулюков|ИльдарМулюков]] 10:02, 18 августа 2010 (UTC) | -- [[Участник:ИльдарМулюков|ИльдарМулюков]] 10:02, 18 августа 2010 (UTC) | ||
: Я обычно кладу SCM-ные идентификаторы (кусок хэша, ревизию) в %changelog и при необходимости увеличиваю Release:. Припоминается обсуждение в devel@, но аргументов и даже слов сейчас сходу не вспомню. --[[Участник:MichaelShigorin|mike]] 22:25, 12 октября 2011 (MSD) | |||
== См. тж. == | |||
* http://en.opensuse.org/openSUSE:Packaging_Conventions_RPM_Macros |
Текущая версия от 13:23, 7 сентября 2018
Недостача
Отсутствует описание %pre, %post, %preun, %postun и %trigger* (хорошо бы ещё сослаться на /usr/share/doc/rpm-4.0.4/manual/triggers, в котором кроме собственно триггеров задокументирован и порядок выполнения пакетных скриптов).
Стиль
По традиции, тэги пишутся с заглавной буквы (Name, Version, Release, и т.п.).
Комментарии пишут к тому, что нуждается в комментарии; тэги, которые есть в каждом спеке, лучше не комментировать.
Точка в конце Summary указывать не следует.
BuildRequires странный, содержит пакеты, которые всегда присутствуют в сборочной среде, а также пакеты, которые на самом деле не нужны для сборки.
У нас нет полиси указывать provides: bundled(). Нужны веские основания использовать носимые с собой zlib, lz4, и magic вместо системных.
Вместо
%dir %{_datadir}/%{name}/%{version} %{_datadir}/%{name}/%{version}/*
можно написать
%{_datadir}/%{name}/%{version}/
аналогичную замену можно сделать и в других местах.
-- ldv@
...а затем напустить cleanup_spec и получить наконец %_datadir/%name/%version/
-- mike@
Промежуточные upstream-релизы
Для линеаризации номера версии в git можно использовать git describe: * 1.0-alt1.git1.5.4-1-g18208b2
Во-первых, это не сработает. Дефисы в релизе (как и в версии) недопустимы.
При сборке промежуточных релизов upstream-кода (срезов по дате, по системе контроля версий), следует указывать информацию о срезе в поле Release: * 1.0-alt1.r6543
Не согласен. Почему так? промежуточный релиз относится к апстримной версии, ему место в версии.
- Обсуждать здесь не имеет ни малейшего смысла. Имеет смысл обсуждать в devel@. --dottedmag 19:55, 14 марта 2009 (UTC)
Согласен с несогласием Михаила. Сам некоторое время использовал релизы следующего вида: 3.2.2_7_g39420d7-alt1 . Однако недавно понял, что в этом случае rpm иначе трактует старшинство версий. : 3.2.2_7_g39420d7-alt1 < 3.2_40_g39420d7-alt1
Ищу истину в данном вопросе.
-- ИльдарМулюков 10:02, 18 августа 2010 (UTC)
- Я обычно кладу SCM-ные идентификаторы (кусок хэша, ревизию) в %changelog и при необходимости увеличиваю Release:. Припоминается обсуждение в devel@, но аргументов и даже слов сейчас сходу не вспомню. --mike 22:25, 12 октября 2011 (MSD)