[devel] gem-chef стал валиться...

Alexey Sheplyakov asheplyakov на basealt.ru
Вт Июл 28 13:42:00 MSK 2020


On 7/27/20 8:01 PM, Alexey V. Vissarionov wrote:
> On 2020-07-27 19:52:24 +0400, Ivan A. Melnikov wrote:
> 
>   >>>> 1. Как так вышло что сбора на этом этапе стала виснуть на
>   >>>> сборке питона,
>   >>> /usr/src/tmp/gem-chef-buildroot/usr/lib/ruby/gems/2.7.0/gems/chef-16.2.89/ext/git/block/block/block/block/block/block/block/block/ewah/ewah/xdiff/compat:
>   >>> symbolic link to `.'
>   >> Если это апстрим -- надо обратить внимание всем стадионом.
>   >>> Видимо, /usr/lib/rpm/python.compileall.py не умеет обрабатывать
>   >>> циклы из символических ссылок.
>   >> Это realpath на каждый чих или как-то иначе?
>   > Их там просто несколько, так что у /usr/lib/rpm/python.compileall.py
>   > уходит достаточно большое время чтобы всеми возможными способами
>   > дойти до ELOOP
> 
> Ну классическая же грабля... и решение классическое: использовать
> lstat() вместо stat() (ну, или fstatat() с AT_SYMLINK_NOFOLLOW).


os.walk не ходит по симлинкам по умолчанию. Можно попросить followlinks=True,
но в документации предупреждают, что это чревато.

> Надеюсь, хотя бы такие элементарные вещи в пыхтоне все же есть?

В python много чего есть, но это никак не помешает желающим сделать
свой велосипед с квадратными колесами.


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