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