SpecTips: различия между версиями

Материал из ALT Linux Wiki
(forked off SpecTips/Requires)
Строка 33: Строка 33:
=== Разное ===
=== Разное ===
* [[SpecTips/Compatibility|Совместимость с «чужими» спеками]]
* [[SpecTips/Compatibility|Совместимость с «чужими» спеками]]
* [[SpecTips/Requires|Генерируемые зависимости]]
* [[spectips/ReturnCodes|Скрипты и коды возврата]]
* [[spectips/ReturnCodes|Скрипты и коды возврата]]
* [[SpecTips/FiltrProvides|Фильтрация Provides/Requires]]
* [[SpecTips/FiltrProvides|Фильтрация Provides/Requires]]
Строка 54: Строка 55:
=== Взаимодействие ===
=== Взаимодействие ===
…[[OtherDistros|здесь]]
…[[OtherDistros|здесь]]
=== Requires: ===
<pre>> > Если в req/prov скриптах использовать опцию --verbose, то можно
> > узнать что-нибудь интересное.
> > $ rpm -ql rpm-utils |file -NF$'\t' -f - |/usr/lib/rpm/shell.req.files |/usr/lib/rpm/shell.req -v 2>&1| head
> > shell.req: /usr/bin/add_changelog: cat -> /bin/cat -> ... (via which)
> > shell.req: /usr/bin/add_changelog: /bin/cat -> coreutils (via rpmdb)
>
> Ой хорошо, сегодня только грепал recoll -- где ж он lyx зацепил.
> Кстати, куда кто смотрит, что умудряется вытащить (правильную)
> зависимость на отсутствующий в чруте пакет lyx-qt?
Если собирается хешером, то он смотрит в
$build/cache/contents/contents_index_bin.
Этот contents index как раз нужен, чтобы лучше искать зависимости вопреки
минимальной сборочной среде и в ряде случаев давать более точные
зависимости, напр. зависимость на mutt должна разрешиться в /usr/bin/mutt,
а не в mutt или mutt1.5, т.к. любой из них сгодится.
Кстати я внес много исправлений в find-package (это типа диспетчер, как искать
такого рода зависимости), теперь в ряде "сложных" случаев
результат будет более корректным.  См. commit messages, там есть примеры
с /sbin/ifup, openssl-config, arpsend и vim.</pre>
''[http://lists.altlinux.org/pipermail/devel/2007-March/042883.html at@]''


=== Rebuild ===
=== Rebuild ===

Версия от 17:24, 13 сентября 2009

42px-Wikitext-ru.svg.png
Эту статью следует викифицировать.


Как писать спеки?

Инструменты

Макросы

Книжки

Ссылки

Разное

Примеры

здесь

Взаимодействие

здесь

Rebuild

> Если все нежелающие править эту багу у себя дадут мне NMU -- я это сделаю.
> Сейчас несколько человек заявили что пересоберут свои пакеты. Оставшиеся я
> починю сам, если их пропустят.

Пусть лучше скрипты работают.
В терминологии /usr/share/doc/hasher-*/rebuild-prog.sh,

if egrep -qs '^Build(Requires|PreReq):.*(libpq4|postgresql8)[^-]*-devel' "$specfile"; then
        sed -i -e '/^Build\(Requires\|PreReq\):/ s/libpq4[^-]*-devel/libpq-devel/g;s/postgresql8[^-]*-devel/postgresql-devel/g' "$specfile"
        e='- Fixed postgresql build dependencies.
- Rebuilt due to libpq.so.4 -> libpq.so.5 soname change.'
else
        e='- Rebuilt due to libpq.so.4 -> libpq.so.5 soname change.'
fi

ldv@