Обсуждение:Spec: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
м (не хватает %pre, %post, %preun, %postun и %trigger*)
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
'''Промежуточные upstream-релизы'''
== Недостача ==
 
Отсутствует описание %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:
Строка 11: Строка 45:
Не согласен. Почему так? промежуточный релиз относится к апстримной версии, ему место в версии.
Не согласен. Почему так? промежуточный релиз относится к апстримной версии, ему место в версии.
: Обсуждать здесь не имеет ни малейшего смысла. Имеет смысл обсуждать в {{lists|devel}}. --[[Участник:MikhailGusarov|dottedmag]] 19:55, 14 марта 2009 (UTC)
: Обсуждать здесь не имеет ни малейшего смысла. Имеет смысл обсуждать в {{lists|devel}}. --[[Участник:MikhailGusarov|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@, но аргументов и даже слов сейчас сходу не вспомню. --[[Участник: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)

См. тж.