Summary: | Не пора ли обновить? | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Sergey V Turchin <zerg> |
Component: | altlinux-mime-defaults | Assignee: | viy <viy> |
Status: | ASSIGNED --- | QA Contact: | qa-sisyphus |
Severity: | enhancement | ||
Priority: | P5 | CC: | aris, viy |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Sergey V Turchin
2022-04-25 11:22:05 MSK
Собственно, в p10 даже больше волнует. да, пора. посмотрю в близжайшее время. По поводу не тех обработчиков заметил интересную проблему - нехватку алиасов mime типов в usr-share-info. Т.е. в desktop файлах пишут такие mime типы, которых нет у нас в /usr/share/mime. Пример. image/jpeg есть, но у него там нет алиаса image/jpg. В то же время в .desktop файлах есть и обработчики image/jpg. Получается, у image/jpeg и image/jpg свои списки обработчиков, так как из-за отсутствия alias image/jpg не отображается на image/jpeg. Пусть эти обработчики image/jpg=atril.desktop;... image/jpeg=Berry.desktop;...;atril.desktop;... тогда, если кликнуть на .jpg картинку, то будут использован /usr/share/mime, будет определен тип как image/jpeg и будет обработка с помощью Berry.desktop. Если же .jpg картинка придет, к примеру, с браузера, то там mime тип будет такой, который сообщил сервер, т.е. может image/jpeg, а может и image/jpg, соответственно, может неожиданно для нас обработчиком запуститься atril. И таких дубликатов десятки. Я займусь этой темой плотнее, что потребует больше времени. Соберу базу потеряшек, которые есть в в desktop файлах, но нет у нас в /usr/share/mime. Составлю для них таблицу алиасов. Напишу патчгенератор, который будет патчить xml в shared-mime-info. Сгенерирую altlinux-mime-defaults уже с новыми alias. От вас же прошу замечать все такие случаи: какой реальный тип файла, какой его mime тип в /usr/share/mime, какой его объявленный (в браузере, в почте) mime тип, какой реальный обработчик, и какой желательный обработчик? (Ответ для viy на комментарий #3) > Составлю для них таблицу алиасов. Напишу патчгенератор, который будет > патчить xml в shared-mime-info. Не надо портить shared-mime-info. (Ответ для Yuri N. Sedunov на комментарий #4) > Не надо портить shared-mime-info. Гм. не понял вас. Поясните, пожалуйста, на примере. у нас есть до сотни обработчиков для image/png не буду их перечислять и также у нас есть десятки обработчиков для image/x-png org.gnome.gThumb.desktop org.gnome.eog.desktop eom.desktop gqview.desktop pqiv.desktop geeqie.desktop atril.desktop org.gnome.Shotwell-Viewer.desktop; feh.desktop; gimagereader-gtk.desktop; gimagereader-qt5.desktop;gliv.desktop; pix.desktop;viewnior.desktop; xviewer.desktop;xreader.desktop; gnome-paint.desktop;mtpaint.desktop; photoflare.desktop;pinta.desktop; shutter.desktop но image/x-png в базе нет. как именно испортится shared-mime-info, если к image/png будет добавлен алиас image/x-png ? Хороший пример. > но image/x-png в базе нет. И в современной спецификации такого нет. http://www.iana.org/assignments/media-types/media-types.xhtml#image Этот префикс "x-" означает, что тип нестандартный. x-png сушествовал (давно) до принятия IANA png в качестве официального типа. Временно описание x-png можно положить в /usr/share/mime-info/ (не путать с /usr/share/mime), но лучше исправить десктоп-файлы, разумеется, автоматически при пересборке пакетов. (Ответ для Yuri N. Sedunov на комментарий #6) > И в современной спецификации такого нет. > http://www.iana.org/assignments/media-types/media-types.xhtml#image > > Этот префикс "x-" означает, что тип нестандартный. x-png сушествовал (давно) > до принятия IANA png в качестве официального типа. > > Временно описание x-png можно положить в /usr/share/mime-info/ (не путать с > /usr/share/mime), но лучше исправить десктоп-файлы, разумеется, > автоматически при пересборке пакетов. Спасибо, теперь вас понял. Это было недоразумение - вы предположили, что я предлагаю описывать тот же x-png как отдельный mime тип. Я полностью с вами согласен в критике такого предложения. 2 разных mime типа для одного файла - это бедствие. Однако, по счастью, я такого не предлагал, а предлагал добавить alias в уже существующий mime тип. Извиняюсь, что не расписал технические детали, чем, похоже, ввел вас в заблуждение. добавление alias это стандартный для shared-mime-info способ решать подобные проблемы. К примеру, посмотрим на определение mime-type application/pdf в packages/freedesktop.org.xml <mime-type type="application/pdf"> <comment>PDF document</comment> ... <magic> <match type="string" value="%PDF-" offset="0:1024"/> </magic> <glob pattern="*.pdf"/> <alias type="application/x-pdf"/> <alias type="image/pdf"/> <alias type="application/acrobat"/> <alias type="application/nappdf"/> </mime-type> Там есть 4 alias-а: application/x-pdf, image/pdf, application/{acrobat,nappdf} на все случаи жизни. К сожалению, база alias-ов freedesktop.org.xml не настолько полна, как хотелось бы. К примеру, для <mime-type type="image/png"> просится добавить <alias type="image/x-png"/> и таких реально встречающихся alias-ов там по факту еще надо добавить наверное до десятка-полтора. В базе alias-ов freedesktop.org.xml сейчас более 300 алиасов, это увеличит ее на 3-5%. А есть ли какой-то команднострочный редактор xml-файлов? Я как-то давным-давно искал себе и какую-то шнягу вроде-бы даже нашёл, точно не помню уже. Может, сейчас что-то нормальное появилось? Тогда при сборке будет несложно добавить нужные alias-ы к нужным типам, если будет список, кого куда. (Ответ для Sergey V Turchin на комментарий #8) > А есть ли какой-то команднострочный редактор xml-файлов? Формально есть xslt и proc'и к нему, но на практике мне проще питоньим скриптом, в сложных случаях xslt API, в простых случаях массив словарей API. > Тогда при сборке будет несложно добавить нужные alias-ы к нужным типам, если > будет список, кого куда. Да, я так и хочу. Скрипт, список алиасов добавить, и после обработки статистика: X отвергнуто (нет такого mime-type) Y уже есть Z добавлено. медленно спускаюсь с горы: пишу автоматизацию, чтобы получать готовый отчет в любое время как ее часть, в сизиф пришел [#299403] DONE srpm=repocop-collector-mime-0.01-alt1.src.rpm (Ответ для Sergey V Turchin на комментарий #0) > У меня что-то Firefox стал плохо предлагать открыть файлы приложениями. Кстати: тоже заметил описанную вами проблему в firefox (в p10, firefox-95.0.1-alt1.x86_64). Он у меня пытается открыть pdf с помощью LibreOffice Draw. Это именно глюк firefox, с консоли xdg-open document.pdf работает как положенно. У меня сейчас нет под рукой Сизифа. Если можно, вы не могли бы проверить, есть ли этот баг на Сизифном firefox (99.0.1) ? В зависимости от этого, я бы повесил баг либо на Сизифный firefox, что у них слетела поддержка https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.1.html либо баг с просьбой скопировать firefox 99 в p10. (Ответ для viy на комментарий #11) > вы не могли бы проверить, есть ли этот баг на Сизифном firefox (99.0.1) ? С новым профилем открывает нормально с http://oreol-tour.ru/zp_obrazci_pdf.html В KDE по умолчанию сам, после настройки "спрашивать" предлагает Okular. [...] (Ответ для Sergey V Turchin на комментарий #12) > (Ответ для viy на комментарий #11) > > вы не могли бы проверить, есть ли этот баг на Сизифном firefox (99.0.1) ? > С новым профилем открывает нормально Я у себя под p10 тоже проверил. Создал нового пользователя и запустил firefox. С новым профилем открыл pdf правильно. :( Т.е. это в каких-то версиях firefox тонко сломалась совместимость. Профиль у меня старый, более 10 лет. Такой баг разве в апстрим вешать, и то не понятно, как. Им для отладки нужен профиль, а там конфиденциальное. Так что в итоге баги вешать не буду, а для себя займусь миграцией - сохраню закладки, пароли и перейду на новый чистый профиль firefox. Ну да фиг с ним тогда. altlinux-mime-defaults обновить только. (Ответ для Sergey V Turchin на комментарий #14) > Ну да фиг с ним тогда. altlinux-mime-defaults обновить только. я обновил в сизифе (и отправил в p10 #300061 EPERM #1 p10 altlinux-mime-defaults.git=0.437-alt0.p10.1) но закрывать баг не надо, я еще не написал скрипты для подсчета недостающих алиасов. как сделаю, можно будет подправить shared-mime-info, после чего я выложу altlinux-mime-defaults еще раз. |