Bug 29879

Summary: Не печатает в случае LANG=ru_RU.KOI8-R
Product: Sisyphus Reporter: Sergey Y. Afonin <asy>
Component: cupsAssignee: Fr. Br. George <george>
Status: ASSIGNED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: alx_me, asingl, boyarsh, george, mike, rider
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Rude patch to fix the problem
none
pstocapt2fix-0.1-alt2.src.rpm none

Description Sergey Y. Afonin 2014-03-09 19:32:06 MSK
Не знаю, CUPS крайний, или LibreOffice4, но если локаль ru_RU.KOI8-R, LibreOffice не печатает.

Ошибка в CUPS:

D [09/Mar/2014:19:11:53 +0400] Create-Job ipp://localhost:631/printers/hp_LaserJet_1010
D [09/Mar/2014:19:11:53 +0400] Create-Job client-error-attributes-or-values-not-supported: Bad job-name value: Bad UTF-8 sequence.
E [09/Mar/2014:19:11:53 +0400] Returning IPP client-error-attributes-or-values-not-supported for Create-Job (ipp://localhost:631/printers/hp_LaserJet_1010) from localhost

Если офис запустить в виде "LANG=POSIX libreoffice4.1 --writer", то печатает. Проверялось, правда, на сборке в p7: LibreOffice4-4.1-alt8.M70P.1
Comment 1 Michael Shigorin 2014-03-10 11:59:11 MSK
Боюсь, придётся мигрировать на ru_RU.UTF-8 (см. тж. enconvmv) -- мне на одном из давних хостов именно из-за OOo пришлось это сделать где-то в районе бранча 5.1 или t6.

Облом с печатью тоже из OOo в случае ru_RU.CP1251 мы году в 2007 диагностировали -- там получалась восьмибитка в заголовке PS/PDF, от которой впадал в задумчивость (или выпадал?) ghostcript.  Тогда было замечено на том, что документы, содержащие только ASCII в заголовках, печатаются.  Был сделан даже специальный пакетик, но когда не так давно вспомнил и попытался найти -- не нашёл в онлайновых архивах (может быть в офлайновых, но это малореально).
Comment 2 Sergey Y. Afonin 2014-03-11 11:48:11 MSK
(In reply to comment #1)

> Боюсь, придётся мигрировать на ru_RU.UTF-8 (см. тж. enconvmv)

"Светлое будущее" зовёт ? Вот только что делать, в итоге, с ограничением в 255 символов на имена файлов, если, вдруг, что... В попытке прикинуть переход, на это сразу же и нарвался. Хотя, это единичный случай у меня, обойдусь, но напомнило...
Comment 3 Anton Farygin 2014-03-11 12:26:22 MSK
кодировку файловой системы можно делать не такую, как локаль.
Comment 4 Sergey Y. Afonin 2014-03-11 12:50:15 MSK
С одной стороны можно, с другой - неудобно: может получиться, что символ в имени можно будет задать, а на ФС он не запишется. Хотя мысль интересная сама по себе, в голову не сразу приходит.
Comment 5 Sergey Y. Afonin 2014-03-11 14:43:10 MSK
(In reply to comment #3)

> кодировку файловой системы можно делать не такую, как локаль.

Только стоп. В опциях монтирование такое доступно только для fat же ? Плюс ограничение не в самой ФС, а в ядре. Не поможет...
Comment 6 Sergey Y. Afonin 2014-03-16 15:02:01 MSK
(In reply to comment #1)

> Боюсь, придётся мигрировать на ru_RU.UTF-8 (см. тж. enconvmv)

В общем, переехал. Но с enconvmv не всё гладко. Если заранее известно, что не надо угадывать кодировку, получается, что лучше convmv: Bug 29891
Comment 7 Fr. Br. George 2014-04-16 13:00:21 MSK
В новом CUPS есть какие-то патчи на этот счёт. Надо проверить на Сизифе. Но вообще, с не-UTF кодировками всё плохо: довольно много GTK-приложений тоже просто падают. Я из-за этого перешёл на UTF.
Comment 8 Fr. Br. George 2014-04-16 13:03:40 MSK
Перевесил на CUPS: Bad job-name value: Bad UTF-8 sequence -- это именно job name; надо будет запатчить, чтобы ошибку не выдавало (если не уже)
Comment 9 Sergey Y. Afonin 2014-04-16 14:50:58 MSK
Вообще, я этой проблемы ни с чем не замечал вроде бы больше. Точно это CUPS виноват, а не LO неправильно имя задания в utf8 конвертирует ?
Comment 10 Fr. Br. George 2014-04-21 18:21:44 MSK
(В ответ на комментарий №9)
> Вообще, я этой проблемы ни с чем не замечал вроде бы больше. Точно это CUPS
> виноват, а не LO неправильно имя задания в utf8 конвертирует ?

А он не конвертирует. Строго говоря, да, надо бы в соответствующем URL преобразование делать. Но в CUPS объезжать это тоже надо.
Comment 11 Gulevich A.I. 2017-02-09 08:05:13 MSK
Created attachment 6966 [details]
Rude patch to fix the problem

May be this small patch helps someone to save their nerves.
It changes cupsCreateJob function in util.c in minimal manner. It makes 'title' to iconving to reduntant but universal utf-8 code as expected by cupsd.
Comment 12 Gulevich A.I. 2017-02-09 08:10:25 MSK
Чё-то я зарапортовался. Прошу прощения что по ошибке написал комментарий на инглише. Смысл патча в том чтобы преобразовать title который попортил мне кучу нервов в utf-8 из текущей локали. Сто пудов я чего-то не учёл, да и static... . Но хоть так. Сам я ничего помогающего пользователям однобайтовых кодировок в сети не нашёл. А компании апле на них плевать.
Comment 13 Michael Shigorin 2017-02-09 15:15:12 MSK
(В ответ на комментарий №12)
> Смысл патча в том чтобы преобразовать title который попортил мне кучу
> нервов в utf-8 из текущей локали.
Напарывались: http://freesource.info/wiki/HCL/Periferija/Printery/Canon
(pstocapt2fix сходу по архивам не нашёл, если вдруг кому будет нужен -- можно глянуть более внимательно).
Comment 14 Michael Shigorin 2017-02-09 18:45:41 MSK
Created attachment 6967 [details]
pstocapt2fix-0.1-alt2.src.rpm

> (pstocapt2fix сходу по архивам не нашёл, если вдруг кому будет нужен --
> можно глянуть более внимательно)
find по сусекам отработал и всё-таки выловил :)
Comment 15 Gulevich A.I. 2017-02-10 23:54:32 MSK
На моей машине вообще нет pstocapt2fix. Сдаётся мне что рецепт с подменой локали устарел. Кроме того непонятно зачем тут фигачить на C. Если для замены env "CHARSET=utf8" вполне подойдёт /bin/sh.
Странно всё.
Comment 16 asingl 2018-01-17 08:06:43 MSK
(В ответ на комментарий №12)
> Чё-то я зарапортовался. Прошу прощения что по ошибке написал комментарий на
> инглише. Смысл патча в том чтобы преобразовать title который попортил мне кучу
> нервов в utf-8 из текущей локали. Сто пудов я чего-то не учёл, да и static... .
> Но хоть так. Сам я ничего помогающего пользователям однобайтовых кодировок в
> сети не нашёл. А компании апле на них плевать.

Спасибо огромное за патч, очень выручил. Система OpenSuse 42.3, локаль CP1251, cups 1.7.5.