On Wed, Mar 12, 2008 at 01:22:10PM +0600, Ildar Mulyukov wrote: > find-lang: ERROR: non-canonical > RPM_BUILD_ROOT=/home/ildar/tmp/RPM/gq-buildroot > real_buildroot=/var/tmp/RPM/gq-buildroot > ошибка: Неверный код возврата из /home/ildar/tmp/RPM/rpm-tmp.92244 > (%install) > Ошибки сборки пакетов: > Неверный код возврата из /home/ildar/tmp/RPM/rpm-tmp.92244 > (%install) > > После того, как я изменил %_topdir и %_tmppath на `readlink -f {}`, > стало собираться. $ rpm -q --changelog rpm |grep canon - functions (ValidateBuildRoot): require RPM_BUILD_ROOT path be canonical $ > Мне, как пользователю RPM непонятно, почему неканонические пути - это > плохо? Это вопрос или утверждение? :) Ну, в двух словах, появляется две сущности - RPM_BUILD_ROOT и канонический путь к RPM_BUILD_ROOT. В скриптах поиска зависимостей приходится всё время учитывать эти варианты. Например, представьте, что хочется узнать realpath какого-то файла под RPM_BUILD_ROOT. f=/etc/init.d/functions p=$(readlink -ve "$RPM_BUILD_ROOT$f") p=${p#$RPM_BUILD_ROOT} Так вот, при каноническом RPM_BUILD_ROOT "отрезание пути спереди" всегда просто работает. А если RPM_BUILD_ROOT не канонический, то встаёт вопрос, что нужно отрезать спереди в первую очередь. > Более того, почему с неканоническими путями без find-lang пакеты > собираются? Не собираются.