19.02.2013 23:46, Aleksey Avdeev пишет: > 19.02.2013 23:25, Dmitry V. Levin пишет: >> On Tue, Feb 19, 2013 at 06:02:00PM +0400, Aleksey Avdeev wrote: >>> 19.02.2013 15:04, Aleksey Avdeev пишет: >>>> 18.01.2013 15:41, REAL пишет: >>>>> привет! >>>>> >>>>> кто-нибудь может подсказать, что изменилось и как теперь с этим жить? >>>> >>>> См. >>>> . >> >> Я же ясно там написал: "A lot of code relies on C collation, C messages >> and so on. Do not pretend it is expected to work with a non-C locale." >> Скажите, пожалуйста, какая часть этого комментария недостаточно понятна? > > Этот комментарий понятен. Но не UTF8 локаль _гарантировано_ ломает > байткомпиляцию pycairo (с чего всё и началось): > > Bytecompiling python3 modules in > /usr/src/tmp/python3-module-pycairo-buildroot using /usr/bin/python3 > Traceback (most recent call last): > File "/usr/lib/rpm/python3.compileall.py", line 131, in > exit_status = bool(main()) > File "/usr/lib/rpm/python3.compileall.py", line 128, in main > return compile_path(**dopt) > File "/usr/lib/rpm/python3.compileall.py", line 93, in compile_path > compile_all(join_prefix(prefix,item),[join_prefix(prefix,x) for x in > exclude],deep,skip_x,clean,prefix) > File "/usr/lib/rpm/python3.compileall.py", line 81, in compile_all > compile_all(p,exclude,deep-1,skip_x,clean,prefix) > File "/usr/lib/rpm/python3.compileall.py", line 81, in compile_all > compile_all(p,exclude,deep-1,skip_x,clean,prefix) > File "/usr/lib/rpm/python3.compileall.py", line 84, in compile_all > if not (skip_x and executable(p)) : > File "/usr/lib/rpm/python3.compileall.py", line 60, in executable > line = open(file).readline() > File "/usr/lib64/python3.2/encodings/ascii.py", line 26, in decode > return codecs.ascii_decode(input, self.errors)[0] > UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 14: > ordinal not in range(128) > > Как быть с этим? > > Т. е. на данный момент ситуация выглядит так: > > 1. Локаль отличная от C зло, т. к. может взорвать некоторые скрипты. > > 2. У нас есть миниум 1 модуль, сборка которого взрывается, если локаль C > прибить гвоздями. Другой вариант: Изменить 096-bytecompile_python3.brp так, чтобы при наличии переменной RPM_BUILD_PYTHON_LANG для работы python`а выставлялась локальная локаль ($RPM_BUILD_PYTHON_LANG)... Но помоему это ещё более криво. ... >> >> Надо убрать этот %_build_lang подальше, его включение ломает скрипты, >> совсем недавно кто-то на это опять наступил. > > А я сейчас (как и real@ ранее) -- наступил на слом сборки, если локаль > не UTF8... И как быть? -- С уважением. Алексей.