Alexey Tourbin пишет:
> On Thu, Oct 16, 2008 at 04:02:00PM +0400, Vitaly Ostanin wrote:
>> Обнаружил, что при наличии в спеке в %files
>> такой строки
>> %doc %_defaultdocdir/%name-%version
>>
>> пакет не собирается со странными
>> сообщениями:
>>
>> Wrote: /usr/src/RPM/SRPMS/heartbeat-2.1.3-alt1.src.rpm
>> error: create archive failed on file
>> /usr/src/tmp/heartbeat-buildroot/usr/share/doc/heartbeat-2.1.3/AUTHORS:
>> cpio: open failed - Bad file descriptor
>>
>> RPM build errors:
>> File listed twice: /etc/ha.d/resource.d/ldirectord
>> File listed twice: /usr/lib/ocf/resource.d/heartbeat/ldirectord
>> File listed twice: /usr/share/doc/heartbeat-2.1.3
>>
>> Если эту строку удалить, то пакет
>> собирается нормально.
>
> Нельзя одновременно использовать
> %doc <абсолютный-путь-в-дефолтном-каталоге>
> %doc <относительный-путь>
Я уже догадался :)
> Это связано с тем, что, когда выполняется %doc второго вида,
> то дефолтный каталог сначала удаляется, потом заново создаётся,
Зачем это делается? При повторном %doc второго вида этого не
происходит.
Хорошо бы в этом месте говорить WARNING: причина удаления. А то
создаётся впечатение, что это штатное поведение при сборке, вроде
удаления buildroot.
> А куда он делся rpm объяснить не может.
Зато может явно сказать, что файл был и теперь нету. Впрочем, об
этом я нашёл в гугле, но там ссылались на fs corruption, про
тонкости %doc ничего не нашёл.
--
Regards, Vyt
mailto: vyt@altlinux.org
JID: vitaly.ostanin@gmail.com