[devel] RPM %_tmppath - что плохого в силинках?
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Чт Мар 13 09:30:43 MSK 2008
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 пакеты
> собираются?
Не собираются.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080313/c943efeb/attachment-0002.bin>
Подробная информация о списке рассылки Devel