| Summary: | [fix 21] pam: change date format | ||
|---|---|---|---|
| Product: | [ROSA-based products] ROSA Fresh | Reporter: | Grigorev Andrey <survolog> |
| Component: | Packages from Main | Assignee: | ROSA Linux Bugs <bugs> |
| Status: | VERIFIED FIXED | QA Contact: | ROSA Linux Bugs <bugs> |
| Severity: | normal | ||
| Priority: | Normal | CC: | a.proklov, m.novosyolov, pastordidi, survolog, v.potapov |
| Version: | All | Flags: | v.potapov:
qa_verified+
a.proklov: published+ |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Platform: | --- | ROSA Vulnerability identifier: | |
| RPM Package: | ISO-related: | ||
| Bad POT generating: | Upstream: | ||
|
Description
Grigorev Andrey
2022-12-08 18:56:51 MSK
Написал бы комментарием в спеке, что на что меняется, не разберешь же без квасу man date Он не сложный. sed -i "/msgstr/ s/ \x25a \x25b \x25e \x25H:\x25M:\x25S \x25Z \x25Y/ \x25a, \x25e \x25B \x25H:\x25M/" Linux-PAM.po Вот это очень "понятно" Сколько времени нужно потратить, чтобы расшифровать? Зачем заставлять людей тратить это время? Можешь, пожалуйста, вставить комментарий, что на что заменяется? Например: # change %Y-%x to %Z-%m А еще лучше оставить символы через %, не кодируя их в вот такую абракадабру, но вместо одного знака % написать два (%%), чтобы экранировать в rpm, чтоб он не считал это макросами. Думаю, на ровном месте настолько усложнять разбор полетов в спеке неуместно, обязательно нужно уважить себя и других людей и привести конструкцию к упрощению ее понимания. А еще я бы сделал скриншоты gdm до и после правки, залил их на файлостор и комментариями вставил бы ссылки. Сейчас пос ловесному описанию непонятно, зачем это всё нужно, какое-то там время меняется, а где, что и т.д. непонятно. Может, это вообще сломает что-нибудь где-нибудь еще, я не могу сейчас подумать, нормальное ли изменение или нет, потому что непонятно, что на что меняется и зачем. Соответственно, в следующей платформе при обновлении PAM уберу эту абракадабру, если не смогу ее расшифровать и если PAM буду я обновлять. И, кстати, выпуском Linux PAM занимается русскоговорящий человек (https://github.com/linux-pam/linux-pam/releases), если считаешь, что в переводе ошибка, то сообщи о ней, пожалуйста, в апстрим (https://github.com/linux-pam/linux-pam/issues) и вставь в спек ссылку комментарием. (In reply to Mikhail Novosyolov from comment #4) > А еще я бы сделал скриншоты gdm до и после правки, залил их на файлостор и > комментариями вставил бы ссылки. Скриншоты лучше сразу в баг-репорт, просто ссылки на него будет достаточно, чтобы сходить, почитать и разобраться в абракадабре. Спустя ночь и утро, только сейчас, я, наверное, догадался, в чем проблема. Речь, наверное, о времени последнего входа в систему, которое в gdm показывается pam_lastlog после ввода пароля? То, что даже мне, знакомому с Росой, потребовалось столько времени, чтобы понять, о чем идет речь, и то, не понять, а предположить, говорит о недопустимо низком качестве комментирования сути проблемы. Понимаю, что не всем нравится писать много букв, но давайте уважать друг друга. (тогда возникает вопрос, причем тут, собственно, сам gdm, если речь о pam_lastlog...) Поведение hex-представления служебного символа заранее предсказуемо. Оно прозрачно проверяется и за пределами спека. Сравни echo "a%b" |sed "s/a%%b/c/" echo "a%b" |sed "s/a\x25b/c/" Вдобавок даже rpmlint на % в комментарии не первый год чиним. Это не похоже на ровное место. Экранировать процент процентом в комментариях (особенно временных) - частая и пустая процедура. Если что-нибудь случайно опирается на парсинг русского перевода времени последнего входа, при изменении поведения полезно узнать источник. Найти его не слишком просто. За последнее время мне попалось 5 таких источников, хотя, по идее, источник должен бы быть один. Причём текущий источник состоит из неиспользуемого кода и перепаковываемого бинарника из формата в формат. Не уверен, уместно ли тут сочетание слов "ошибка апстрима". Тут скорее что-то про необходимость рефакторинга впору писать. По-моему, такой апстрим лучше лишний раз не трогать. (In reply to Grigorev Andrey from comment #10) > Поведение hex-представления служебного символа заранее предсказуемо. > Оно прозрачно проверяется и за пределами спека. > > Сравни > echo "a%b" |sed "s/a%%b/c/" > echo "a%b" |sed "s/a\x25b/c/" > > Вдобавок даже rpmlint на % в комментарии не первый год чиним. Это не похоже > на ровное место. Экранировать процент процентом в комментариях (особенно > временных) - частая и пустая процедура. Сократи, пожалуйста, необходимое для распарсивания твоих конструкций время до времени на прочтение текста, умноженное на 2. Мне понятнее не стало. Причем тут rpmlint, не знаю, вообще пофиг, елси поругается. Вставил комментарий, что \x25 - это %. Таким образом сократил время на распарсивание конструкции. Сделал такой sed на git Linux-PAM, посмотрел git diff, понял, что изменено. Добавил в спек пояснение: https://abf.io/import/pam/commit/75a5d842e0f167816664a0d4fe39f87abdd2becd Выражаю большое спасибо тем, кто уважает труд коллег и не заставляет подтирать за собой. (In reply to Grigorev Andrey from comment #13) > Вставил комментарий, что \x25 - это %. > Таким образом сократил время на распарсивание конструкции. Мне не помогло сократить Я в чате Гном в ТГ писал, что надпись в gdm про последний вход в систему не "по-русски" пишет дату. В англоязычном формате. Андрей это правил, в gdm в "шапке", теперь в этой надписи. Видимо она оказалась из pam модуля. Дискуссия закончилась между вами? Можно брать в работу или будут еще правки? Бери в работу *************************** The update sent to testings Пускай пока так повисит. Вопрос довольно интересный. Помимо sed в спеках бывает awk, lua, perl, может что-то ещё. Макросы есть, наконец. Правильнее от такого "магического" кода в спеке избавляться, а не размножать его. Но в каком количестве избавляться - вопрос открытый. Если я какую-то часть sed посчитал нормой, а в hex представлении и вовсе не сомневался, это без общего обсуждения, а то и обучения мало что меняет. Наверное, лучше всего ориентироваться на поведение пользователя в терминале. А я честно не видел использования hex в терминале. Там дополнительных служебных символов нет, чтобы была тяга заменять их. В смысле опубликование поддерживаю. Спустя какое-то время вспомним вопрос - я об этом. pam-1.5.1-4 https://abf.io/build_lists/4183502 https://abf.io/build_lists/4183500 https://abf.io/build_lists/4183501 https://abf.io/build_lists/4183503 https://abf.io/build_lists/4183504 *************************** Advisory ************************* Fix last login date format in ru gdm. ************************************************************** QA Verified |