Возможно, это by design (если да, просьба оставить здесь линк на авторитетный источник), но update-mime-database /some/dir /var/cache/mime, похоже, приводит к выбрасыванию на фиг всего того, что было в /var/cache/mime, и заполнению его с нуля. Steps to Reproduce: Предлагаю работающий у меня вариант. Предполагается, что запущен GNOME. 1. Возьмите программу, использующую shared-mime-info (отличительный признак - выполнение update-mime-database при make install/uninstall). 2. Попробуйте ее установить в префикс, отличный от /usr (например, в /usr/local). 3. Проследите, что при установке выполнился update-mime-database. 4. killall nautilus. 5. Nautilus автоматически перезапускается. 6. Наблюдаем application/octet-stream в качестве MIME-типа для большинства файлов (если только они не описаны в базе данных только что установленного приложения). 7. Чертыхаемся, делаем update-mime-database /usr/share/mime /var/cache/mime 8. killall nautilus 9. MIME-типы в Наутилусе восстанавливаются. Expected Results: Хотелось бы, чтобы, как в любом порядочном кэше, MIME-типы накапливались. Также интересно, не существует ли списка путей, по которым надо искать базы данных MIME-типов (или предполагается, что /var/cache/mime и является первичным источником всей информации по MIME-типам?).
(In reply to comment #0) > Возможно, это by design (если да, просьба оставить здесь линк на авторитетный > источник), Авторитетные источники на freedesktop.org Менее авториетные в нашем пакете shared-mime-info. > но update-mime-database /some/dir /var/cache/mime, похоже, приводит к > выбрасыванию на фиг всего того, что было в /var/cache/mime, и заполнению его с нуля. Это нормально. > Steps to Reproduce: > Предлагаю работающий у меня вариант. Предполагается, что запущен GNOME. > 1. Возьмите программу, использующую shared-mime-info (отличительный признак - > выполнение update-mime-database при make install/uninstall). 1) Не надо ничего устанавливать из тарболов в rpm-based дистрибутиве. 2) Всегда используйте в спеках макросы %{update,clean}_mimedb. 3) $ update-mime-database Usage: update-mime-database [-hv] MIME-DIR CACHE-DIR Сравните с вызовом update-mime-database при make install из тарбола. 4) https://freedesktop.org/bugzilla/show_bug.cgi?id=915 <skip> Также > интересно, не существует ли списка путей, по которым надо искать базы данных > MIME-типов $ cat /etc/profile.d/shared-mime-info.sh export XDG_DATA_DIRS="/usr/share:/var/cache" (или предполагается, что /var/cache/mime и является первичным > источником всей информации по MIME-типам?). У нас именно так.