RpmSetup

Материал из ALT Linux Wiki
Версия от 03:59, 15 января 2009; Ilis (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.

Настройка RPM

Для более удобной сборки пакетов (особенно "на долгие годы" :) может быть полезно не просто выполнить базовые махинации над ~/.rpmmacros, а ещё и подумать над масштабируемым раскладыванием исходных материалов.

Соображения (тред):

%_sourcedir %{_topsrcdir}/SOURCES/%name-%version

mithraen@

%_specdir   %{_topsrcdir}/SOURCES/%{name}-%{version}
туда же

zerg@

Мои $0.02:

%_topsrcdir     %{_topdir}/%{name}
%_builddir      %{_topdir}/%{name}/work
%_sourcedir     %{_topsrcdir}/files
%_specdir       %{_topsrcdir}

Удобно делать rm -rf .../*/work/ ;-)

P.S. Вот только cpam2rpm с этим работать не умеет...

raorn@

Недавно добавил в ~/.rpmmacros:

%_build_name_fmt        %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm

После этого готовые пакеты оказываются не в RPMS/${ARCH}, а просто в
RPMS. Мне показалось это очень удобным. К тому же в имени пакета все
равно указывается архитектура, под которую он собран...

php-coder@

%_tmppath       %homedir/tmp
%_builddir      %_tmppath/BUILD

Соответственно, вся сборка идет в ~/tmp/ на tmpfs, что сильно ускоряет ее.

wrar@

%_sourcedir %{_topsrcdir}/SOURCES/%name

Такой вариант (без %version) больше по душе mike@ и вроде бы не только, поскольку

Мне не нравится это предложение по двум причинам:
- поощряет называть разные файлы в разных пакетах одинаковыми именами;
- делает более сложным сборку новой версии пакета (после изменения версии
  в spec-файле надо вручную перетаскивать патчи).

Кому нравится, пусть делает, но по умолчанию я так делать не хочу.

ldv@

По этому поводу zerg@ думает следующее:

Года полтора не испытываю такой проблемы.

Некоторая проблема в основном только в переходе на новый лад.
Кому-то придется в ручную перекладывать уже распакованное.

А реальная проблема, когда несколько версий в одном spec-файле.
Ядро, например.

Подписи

On Wed, Mar 08, 2006 at 02:33:35PM +0300, Dmitriy Khanzhin wrote:
> Я тут давеча напоролся на неудачу с подписью пакетов, вроде такой
> http://lists.altlinux.ru/pipermail/sisyphus/2004-November/049260.html
> 
> Ну то есть что если в файле ~/.rpmmacros %_gpg_name определено как,
> скажем Diman Xanzin <dim@email.ru>, у меня подпись не прошла.
> Подсказали, что надо оставить только е-мейл.

Лучше всего использовать идентификатор.
Например, у меня
$ fgrep %_gpg_name ~/.rpmmacros
%_gpg_name      883924C02E6D60FAD309B0C9D97A868BF7DDBB3A

ldv@