<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>14885</bug_id>
          
          <creation_ts>2008-03-13 09:54:21 +0300</creation_ts>
          <short_desc>%_tmppath requires canonical path</short_desc>
          <delta_ts>2012-02-24 15:13:25 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>rpm-build</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="ildar">ildar</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>arseny</cc>
    
    <cc>glebfm</cc>
    
    <cc>imz</cc>
    
    <cc>ldv</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>65673</commentid>
    <comment_count>0</comment_count>
    <who name="ildar">ildar</who>
    <bug_when>2008-03-13 09:54:21 +0300</bug_when>
    <thetext>начиная с версии * Вск Фев 24 2008 Alexey Tourbin &lt;at@&gt; 4.0.4-alt87,
- functions (ValidateBuildRoot): require RPM_BUILD_ROOT path be canonical

Комментарии:
&gt; Ну, в двух словах, появляется две
&gt; сущности - RPM_BUILD_ROOT и канонический путь к RPM_BUILD_ROOT.
&gt; В скриптах поиска зависимостей приходится всё время учитывать эти
&gt; варианты.  Например, представьте, что хочется узнать realpath какого-то
&gt; файла под RPM_BUILD_ROOT.

Хорошо, я согласен с обоснованием. Но я не согласен с решением. Можно сделать
так (не углубляясь в подробности реализации):
1. В самом начале работы rpmbuild сделать преобразование в канонический путь.
2. Использовать дальше везде преобразованный.

Steps to Reproduce:
1. rpmbuild -bb X.spec

Actual Results:  
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)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>129204</commentid>
    <comment_count>1</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2012-02-24 15:13:25 +0400</bug_when>
    <thetext>Да, некоторое время назад сделал

$ ln -s &quot;$TMPDIR&quot; ~/tmp -v
«/home/imz/tmp» -&gt; «/tmp/.private/imz»
$ 

(до этого ~/tmp/ вообще не было, а какая-то программа его захотела)
и натолкнулся на эту проблему со сборкой.

Я тогда просто удлалил ~/tmp/ в надежде, что rpm-build-4.0.4-alt100.46 будет использовать $TMPDIR (см. совет ниже; я предполагал, что м.б. он зашит в rpm-build теперь), а он на самом деле просто сам создал директорию ~/tmp/ ...

Был ещё такой совет -- http://lists.altlinux.org/pipermail/devel/2008-March/152507.html :

Выставить канонический шаблон для %buildroot в ~/.rpmmacros.
Точнее, сам шаблон для %buildroot лучше не трогать, а просто
выставить канонический %_tmppath.

У меня написано:
%_tmppath       /tmp/.private/at

Если нет желания привязываться к логину, то можно написать
%_tmppath	%(echo ${TMPDIR:-/tmp})</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>