On Thu, Feb 28, 2008 at 09:44:17PM +0300, Dmitry V. Levin wrote: > > 5224b77cbdd2200ab040124101a132e92531f134 > > build/parseScript.c: opitimize out RPMSENSE_INTERP dependencies on /bin/sh > > Пакет, у которого есть %post-скрипт на /bin/sh, твоими изменениями теперь > получает зависимость на /bin/sh из-за #!/bin/sh, поэтому RPMSENSE_INTERP > на /bin/sh тут уже не требуется. > На самом деле RPMSENSE_INTERP тут не требуется не только для /bin/sh, но и > для всего остального. Эта зависимость теперь вообще не нужна. Точно. Я об этом совсем не подумал. Если только не отключать %__find_scriptlet_requires, то будет две одинаковые зависимости на интерпретатор с разными флагами (флаг из-за #!/interp будет отличаться на RPMSENSE_FIND_REQUIRES). Наверное, одна из этих зависимостей будет оптимизирована в build/reqprov.c > > Но вообще я считаю, что зависимости, которые есть, грубо говоря, > > у каждого второго пакета, можно считать не столько собственными > > зависимостями пакета, сколько атрубитами системы, для установки > > в которую эти пакеты предназначены. Например, зависимость на /bin/sh > > из-за %post-скриптов означает, что сам rpm умеет запускать дефолтный > > интерпретатор для исполнения %post-скриптов. Значит, зависимость на > > /bin/sh проще обеспечить на "системном" уровне, чем вставлять > > её в каждый второй пакет. > > Осталось только обеспечить, чтобы /bin/sh всегда был. > Как это сделать без зависимостей? Написать крупными буквами? Можно в rpmi добавить хак типа [ -x /bin/sh ]. Но это уже как-то совсем...