On Sat, Nov 01, 2003 at 10:17:53PM +0500, Andrey Rahmatullin wrote: > > Абстрактный случай. Имеется пакет, в котором на этапе configure проверяется > наличие хидеров от некой либы, и при их наличии пакет собирается с > включением некоей не сильно важной фичи. При отсутствии - тоже нормально > собирается. Вопрос: что писать в Buildreqs? > > Конкретно. orpheus-1.3-alt1 на данный момент требует libghttp-devel для > сборки и соотв-венно саму libghttp для установки (он умеет из CDDB брать > заголовки для проигрываемых CD). Т.к. на момент прогона скрипта buildreq у > меня стояло libghttp-devel. Если бы его не было, buildreq не вписал бы > ссылку на него в спек, но пакет бы собрался прекрасно. Вопросы: > > 1. Имею ли я моральное право ставить зависимости на пакеты, без которых всё > собирается? Ну так собирается-то по-другому... > 2. Если не ставить, то нормальна ли ситуация, когда на разных системах > пакет соберется с разными фичами? В случае сборки для Сизифа всё равно пакет будет собираться в hasher - там не указанные в BuildRequires пакеты не будут установлены в chroot. При сборке в обычной системе, конечно, результат будет зависеть от наличия установленных пакетов, что не совсем хорошо, но, думаю, таких ситуаций в самых разных пакетах море. > 3. Нормально ли, что вывод buildreq зависит от наличия/отсутствия неких > пакетов? buildreq определяет зависимости, отслеживая обращение к файлам; при таком подходе вряд ли можно сделать что-то лучше. И вообще результат buildreq в любом случае требует ручной проверки (а зачастую и исправлений). > 4. (скорее к автору) Нормально ли, что необходимость прикручивания фичи > определяется исключительно неинтерактивным скриптом по наличию девелов? В большинстве случаев дело обстоит именно так. Кстати, в своё время в sylpheed была неприятная ситуация с зависимостями - из-за переименования пакета jconv версия для Сизифа собралась без поддержки libjconv, в результате перекодировки там не работали. После этого я вставил в spec проверку результатов configure и аварийный выход, если поддержка libjconv не включилась.