[sisyphus] Re: u: xrcode-1.0-alt1

Stanislav Ievlev =?iso-8859-1?q?inger_=CE=C1_altlinux=2Eorg?=
Чт Май 29 16:45:12 MSD 2003


On Thu, May 29, 2003 at 12:45:49PM +0400, Yura Zotov wrote:
> On Thu, May 29, 2003 at 11:45:22AM +0400, Stanislav Ievlev wrote:
> > On Tue, May 27, 2003 at 02:57:25PM +0400, Yura Zotov wrote:
> > > On Tue, May 27, 2003 at 02:28:22PM +0400, Dmitry V. Levin wrote:
> > > > On Tue, May 27, 2003 at 02:14:26PM +0400, Yura Zotov wrote:
> > > > > On Tue, May 27, 2003 at 02:05:33PM +0400, Dmitry V. Levin wrote:
> > > > > > On Tue, May 27, 2003 at 12:48:14PM +0300, Michael Shigorin wrote:
> > > > > > > On Mon, May 26, 2003 at 11:58:16PM +0400, Dmitry V. Levin wrote:
> > > > > > > > > PS: в recode есть некрасивость имени использующегося в одном
> > > > > > > > > codepath tmpnam(3), но патчить это сейчас уже совсем лень :-(
> > > > > > > > Зачем собирать пакеты, в которых заведомо есть block-баги?
> > > > > > > > Или это по принципу "работает и ладно"?
> > > > > > > 
> > > > > > > Это по принципу "так, а теперь кто отточил умение до автоматизма
> > > > > > > -- подскажите, что с _этим_ делать".  Потому что в 22:46:00 меня,
> > > > > > > очевидно, более чем на прогулку по manpages не хватило.
> > > > > > > 
> > > > > > > Это раз.  Два -- IMO это minor/major, но никак не block bug.
> > > > > > 
> > > > > > Любое использование tmpnam(3)&Co есть block bug, если только я не сказал
> > > > > > обратного.
> > > > > 
> > > > > Тогда вопрос. А что вместо него можно использовать? mkstemp?
> > > > 
> > > > Только mkstemp(3)/mkdtemp(3).
> > > > 
> > > > Бывают исключения, но их нужно оговаривать особо.
> > > 
> > > Я сейчас поглядел код ROOT на предмет tmpnam и обнаружил места,
> > > которые я не знаю, как перевести на mkstemp. Например:
> > > 
> > > tmpfilename = tmpnam(0);
> > > ofstream file1.open( tmpfilename);
> > А в чём собственно проблема?
> > В Сизифе есть куча програм исправленных на предмет tmpnam.
> > > 
> 
> Проблемы две:
> 
> 1. Я никогда ничего не патчил на предмет tmpnam, поэтому не
>    представляю сути проблемы использования tmpnam.
Проблема состоит в race "Time of check time of use". Между тем как
программа "получила" имя и открывает файл с этим именем вмечто  оного файла
могут "подсунуть" что угодно вплоть до системных файлов.
mkstemp не только придумывает имя, но и сразу открывает файл.
Кроме того не стоит создавать временный файл всегда в /tmp. Лучше в
каталоге пользователя (о чём говорит соотв. переменная среды)
> 
> 2. Пакет ROOT кроссплатформенный. В том числе используется и в
>    windows. Насколько я понял, mkstemp пришла из BSD и определена
>    с недавнего времени в POSIX. В windows этой функции, наверное,
>    нет. В связи с чем, я вообще не знаю, как этот момент обходить,
>    чтобы сделать нормальный патч, который бы приняли разработчики
>    ROOT.
> 
Поскольку Сизиф не BSD и не Window , то можно на первых порах не ломать голову 
о кросс-платформенности.

> Вы говорите много программ в Сизифе... А как их найти?
посмотрите pinfo. К счастью количество патчей уменьшается день ото дня.
> 
> А можно не пропатченный ROOT в Daedalus/unsupported положить?
> 
> --
> Юрий А. Зотов
> _______________________________________________
> Sisyphus mailing list
> Sisyphus на altlinux.ru
> http://altlinux.ru/mailman/listinfo/sisyphus



Подробная информация о списке рассылки Sisyphus