Bug 5761

Summary: update-mime-database полностью переписывает базу данных с MIME-типами
Product: Sisyphus Reporter: Alexey Rusakov <ktirf>
Component: shared-mime-infoAssignee: Yuri N. Sedunov <aris>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aris
Version: unstable   
Hardware: all   
OS: Linux   

Description Alexey Rusakov 2004-12-21 15:57:51 MSK
Возможно, это 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-типам?).
Comment 1 Yuri N. Sedunov 2004-12-21 16:34:00 MSK
(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-типам?).

У нас именно так.