Re: KDE+HAL Часть вторая
На Mon, 22 Jan 2007 00:21:08 +0300 Alexander GQ Gerasiov [EMAIL PROTECTED] записано: Гайз, я тут тоже со связкой из сабжа поигрался: http://gq.net.ru/2007/01/21/kde-storagemount-charset-problem/ Эта, кто нить патченым пакетом пользовался? http://gq.net.ru/2007/01/25/kde-mountoptions-patch/ Нормально работает? А то я сейчас с одним из мейнтейнеров общаюсь, вдруг удастся в etch его пропихнуть-таки. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
В сообщении от Воскресенье 28 января 2007 20:27 Alexander GQ Gerasiov написал(a): Эта, кто нить патченым пакетом пользовался? http://gq.net.ru/2007/01/25/kde-mountoptions-patch/ Нормально работает? А то я сейчас с одним из мейнтейнеров общаюсь, вдруг удастся в etch его пропихнуть-таки. Зачем патчить KDE, когда можно пропатчить hal, чтобы он iocharset по текущей локали брал или из своего конфига?
Re: KDE+HAL Часть вторая
Twas brillig at 20:38:19 28.01.2007 UTC+03 when Pechnikov Alexey did gyre and gimble: PA Зачем патчить KDE, когда можно пропатчить hal, чтобы он iocharset PA по текущей локали брал или из своего конфига? А, извиняюсь, локаль какого из десяти залогиненных на машину пользователей - текущая для hal? Он вроде бы system-wide. -- JID: [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
В сообщении от Воскресенье 28 января 2007 20:44 Mikhail Gusarov написал(a): А, извиняюсь, локаль какого из десяти залогиненных на машину пользователей - текущая для hal? Он вроде бы system-wide. Которую dpkg-reconfigure locales дефолтовой выставляет.
Re: KDE+HAL Часть вторая
Twas brillig at 20:43:23 28.01.2007 UTC+03 when Pechnikov Alexey did gyre and gimble: PA Которую dpkg-reconfigure locales дефолтовой выставляет. И насколько это адекватное поведение? -- JID: [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
В сообщении от Воскресенье 28 января 2007 20:48 Mikhail Gusarov написал(a): И насколько это адекватное поведение? Нисколько не адекватное. Точно так же, что и с конфигами в /etc/hal - если 10 юзверей желают разные кодировки, они их не получат. Ну разве что у всех 10 есть рутовый пароль...
Re: KDE+HAL Часть вторая
On 2007.01.28 at 23:48:24 +0600, Mikhail Gusarov wrote: Twas brillig at 20:43:23 28.01.2007 UTC+03 when Pechnikov Alexey did gyre and gimble: PA Которую dpkg-reconfigure locales дефолтовой выставляет. И насколько это адекватное поведение? Скорее всего адекватное, так как с достаточно большими шансами локальные файловые системы (в смысле - постоянно смонтированные) используют ровно эту локаль. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
На Sun, 28 Jan 2007 20:48:07 +0300 Pechnikov Alexey [EMAIL PROTECTED] записано: В сообщении от Воскресенье 28 января 2007 20:48 Mikhail Gusarov написал(a): И насколько это адекватное поведение? Нисколько не адекватное. Точно так же, что и с конфигами в /etc/hal - если 10 юзверей желают разные кодировки, они их не получат. Ну разве что у всех 10 есть рутовый пароль... Если 10 юзеров желают разные кодировки, то им придется использовать что-то иное, а не KDE, потому что KDE вообще не позволяет выставлять iocharset. Однако, в большинстве случаев локаль у пользователей все же совпадает и, если администратор настроил default mountoptions в /etc/hal, то почему бы их не использовать? По поводу патчить hal - отвечу отдельно. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
На Sun, 28 Jan 2007 20:38:19 +0300 Pechnikov Alexey [EMAIL PROTECTED] записано: В сообщении от Воскресенье 28 января 2007 20:27 Alexander GQ Gerasiov написал(a): Эта, кто нить патченым пакетом пользовался? http://gq.net.ru/2007/01/25/kde-mountoptions-patch/ Нормально работает? А то я сейчас с одним из мейнтейнеров общаюсь, вдруг удастся в etch его пропихнуть-таки. Зачем патчить KDE, когда можно пропатчить hal, чтобы он iocharset по текущей локали брал или из своего конфига? Оставим в стороне вопрос, что текущая локаль это что-то очень неопределенная. Фишка в том, что изменять логику работы hal - это слишком жестоко. Во-первых, это изменит функциональность hal, а этого делать нельзя (да и никто не примет такой патч). Во-вторых - ты понимаешь, что для этого надо составлять таблицу локаль - опции монтирования. В-третьих, зачем патчить hal, если если и текущий хал замечательно работает (если его настроить), когда в качестве клиента используется pmount-hal, ivman или gnome? Логичнее пропатчить KDE в таком случае. А вообще да, мне как-то хал показался очень запущенным и по-хорошему надо его переписывать и вначале внятно продумать логику работы (или может разработчики чего-то очень сильно скрывают). -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
Фишка в том, что изменять логику работы hal - это слишком жестоко. Во-первых, это изменит функциональность hal, а этого делать нельзя (да и никто не примет такой патч). Во-вторых - ты понимаешь, что для этого надо составлять таблицу локаль - опции монтирования. В-третьих, зачем патчить hal, если если и текущий хал замечательно работает (если его настроить), когда в качестве клиента используется pmount-hal, ivman или gnome? Логичнее пропатчить KDE в таком случае. Мне так и не удалось понять, как же hal должен работать. А уж конфиги его... В коде почему-то сделана обработка далеко не всех опций конфигов. Но лазить в код монстров наподобии KDE, Open Office или Mozilla не хочу после развлечений с разработкой плугинов к Mozilla, где в очередном релизе что-то отваливается или начинает работать по-другому, причем в ченджлоге ни слова нет об этом. Лучше уж поправить одну утилиту, чем монстра KDE потрошить. А вообще да, мне как-то хал показался очень запущенным и по-хорошему надо его переписывать и вначале внятно продумать логику работы (или может разработчики чего-то очень сильно скрывают). Согласен.
Re: KDE+HAL Часть вторая
На Sun, 28 Jan 2007 21:59:27 +0300 Pechnikov Alexey [EMAIL PROTECTED] записано: Фишка в том, что изменять логику работы hal - это слишком жестоко. Во-первых, это изменит функциональность hal, а этого делать нельзя (да и никто не примет такой патч). Во-вторых - ты понимаешь, что для этого надо составлять таблицу локаль - опции монтирования. В-третьих, зачем патчить hal, если если и текущий хал замечательно работает (если его настроить), когда в качестве клиента используется pmount-hal, ivman или gnome? Логичнее пропатчить KDE в таком случае. Мне так и не удалось понять, как же hal должен работать. А уж конфиги его... В коде почему-то сделана обработка далеко не всех опций конфигов. Но лазить в код монстров наподобии KDE, Open Office или Mozilla не хочу после развлечений с разработкой плугинов к Mozilla, где в очередном релизе что-то отваливается или начинает работать по-другому, причем в ченджлоге ни слова нет об этом. Лучше уж поправить одну утилиту, чем монстра KDE потрошить. Да нет, за весь KDE не скажу, но halbackend в одном довольно небольшом файле. Собственно весь патч обошелся в 20 строчек, 10 из которых были осмысленным копипастом из pmount-hal А вообще да, мне как-то хал показался очень запущенным и по-хорошему надо его переписывать и вначале внятно продумать логику работы (или может разработчики чего-то очень сильно скрывают). Согласен. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
В сообщении от Воскресенье 28 января 2007 22:26 Alexander GQ Gerasiov написал(a): Да нет, за весь KDE не скажу, но halbackend в одном довольно небольшом файле. Собственно весь патч обошелся в 20 строчек, 10 из которых были осмысленным копипастом из pmount-hal Понятно, у меня патч для использования жестко заданного iocharset в hal примерно такой же. Знаю, что идеологически некорректно сделал, но как я понимаю, правильного пути пока не придумали (или не реализовали). Была мысль вписать чтение настроек из конфига hal вместо жестко забитых в коде (устанавливаются только для vfat), но проблема в том, что стандарта все равно нет, так что от этих конфигов проку мало.
Re: KDE+HAL Часть вторая
В сообщении от Воскресенье 28 января 2007 20:27 Alexander GQ Gerasiov написал(a): На Mon, 22 Jan 2007 00:21:08 +0300 Alexander GQ Gerasiov [EMAIL PROTECTED] записано: Гайз, я тут тоже со связкой из сабжа поигрался: http://gq.net.ru/2007/01/21/kde-storagemount-charset-problem/ Эта, кто нить патченым пакетом пользовался? http://gq.net.ru/2007/01/25/kde-mountoptions-patch/ Нормально работает? А то я сейчас с одним из мейнтейнеров общаюсь, вдруг удастся в etch его пропихнуть-таки. А кодировка, которая выставляется KDE для сетевых шар там нигде поблизости не пробегала? Что-то меня начинает доставать отображение крокозяблами русских названий на сетевых директориях. Пока что решаю это монтированием smbfs.
Re: KDE+HAL Часть вторая
На Mon, 29 Jan 2007 00:55:06 +0300 Pechnikov Alexey [EMAIL PROTECTED] записано: А кодировка, которая выставляется KDE для сетевых шар там нигде поблизости не пробегала? Что-то меня начинает доставать отображение крокозяблами русских названий на сетевых директориях. Пока что решаю это монтированием smbfs. Посмотрел. Там хитрая обертка вокруг libsmbclient. Смотри kdebase-3.5.5a.dfsg.1/kioslave/smb - там в kio_smb* всё это. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
В общем нарисовал я патчик для этой фигни: http://gq.net.ru/2007/01/25/kde-mountoptions-patch/ Патч не совсем честный, просто потому, что честного метода похоже не существует (точнее он заключается в том, чтобы задавать параметры в настройках KDE, а не в HAL, но возможность их задавать появится только в KDE 4). Тем не менее подожду еще немного (может из списка рассылки ответят-таки) и попробую протолкнуть его в дебиановский пакет для Etch. Типа “non-utf8-non-latin1 speaking communities need it very-very much”. Для того, чтобы KDE монтировал флэшки (и другие носители) с iocharset, а не с utf8 должен стоять пропатченный пакет kdebase-kio-plugin и в настройках HAL должно быть следующее (эти настройки, кстати, заставляют pmount-hal, gnome и ivman монтировать носители с правильной кодировкой): [EMAIL PROTECTED]:~# cat /etc/hal/fdi/policy/codepage.fdi ?xml version=1.0 encoding=UTF-8? !-- -*- SGML -*- -- deviceinfo version=0.2 device match key=volume.fstype string=vfat merge key=volume.policy.mount_option.utf8 type=boolfalse/merge merge key=volume.policy.mount_option.iocharset=koi8-r type=booltrue/merge merge key=volume.policy.mount_option.codepage=866 type=booltrue/merge /match /device /deviceinfo В принципе можно там дописать еще каких-нить опций, но учтите, что опции можно только добавлять к тем, которые устанавливает KDE (отменять можно только опцию utf8). Сделано так просто потому, что вменяемого способа работы с ключами в libhal-storage нету, а добавлять проверку к каждой опции мне показалось излишним. Патч: 40_use_hal_mountoptions.diff Пакет, собранный для Debian Etch: * kdebase-kio-plugins Также пришлось обновить, чтобы не было проблем по зависимостям: * kcontrol * kdebase-bin * kdesktop * kfind * konqueror В принципе все эти другие пакеты (которые тоже может потребоваться обновить) ставится из репозитория deb http://gq.net.ru/debian experimental/ diff -u -r kdebase-3.5.5a.dfsg.1.orig/kioslave/media/mediamanager/halbackend.cpp kdebase-3.5.5a.dfsg.1/kioslave/media/mediamanager/halbackend.cpp --- kdebase-3.5.5a.dfsg.1.orig/kioslave/media/mediamanager/halbackend.cpp 2006-10-01 21:31:54.0 +0400 +++ kdebase-3.5.5a.dfsg.1/kioslave/media/mediamanager/halbackend.cpp 2007-01-25 00:20:57.036700891 +0300 @@ -745,6 +745,33 @@ s_HALBackend-DeviceCondition(udi, condition_name); } +QStringList HALBackend::getHALmountoptions(QString udi) +{ +const char* _ppt_string; +LibHalVolume* volume; +LibHalDrive* drive; + +QString _ppt_QString; + +volume = libhal_volume_from_udi( m_halContext, udi.latin1() ); +if( volume ) +drive = libhal_drive_from_udi( m_halContext, libhal_volume_get_storage_device_udi( volume ) ); +else +drive = libhal_drive_from_udi( m_halContext, udi.latin1() ); + +if( !drive ) + return QString::null; + +if( volume ) + _ppt_string = libhal_volume_policy_get_mount_options ( drive, volume, NULL ); +else + _ppt_string = libhal_drive_policy_get_mount_options ( drive, NULL ); + +_ppt_QString = QString(_ppt_string ? _ppt_string : ); + + return QStringList::split(,,_ppt_QString); +} + QStringList HALBackend::mountoptions(const QString name) { const Medium* medium = m_mediaList.findById(name); @@ -824,7 +851,11 @@ if (valids.contains(utf8)) { value = config.readBoolEntry(utf8, true); -tmp = QString(utf8=%1).arg(value ? true : false); +tmp = QString(utf8=%1).arg( + (!libhal_device_property_exists(m_halContext, name.latin1(), volume.policy.mount_option.utf8,NULL)value + ||libhal_device_property_exists(m_halContext, name.latin1(), volume.policy.mount_option.utf8,NULL) + libhal_device_get_property_bool(m_halContext, name.latin1(), volume.policy.mount_option.utf8,NULL) + ) ? true : false); result tmp; } @@ -1069,10 +1100,20 @@ soptions QString(data=ordered); } +QStringList hal_mount_options = getHALmountoptions(medium-id()); +for (QValueListIteratorQString it=hal_mount_options.begin();it!=hal_mount_options.end();it++) +{ + soptions *it; + kdDebug()HALOption: *itendl; +} + const char **options = new const char*[soptions.size() + 1]; uint noptions = 0; for (QStringList::ConstIterator it = soptions.begin(); it != soptions.end(); ++it, ++noptions) +{ options[noptions] = (*it).latin1(); + kdDebug()Option: *itendl; +} options[noptions] = NULL; QString qerror = mount_priv(medium-id().latin1(), mount_point.utf8(), options, noptions, dbus_connection); diff -u -r kdebase-3.5.5a.dfsg.1.orig/kioslave/media/mediamanager/halbackend.h kdebase-3.5.5a.dfsg.1/kioslave/media/mediamanager/halbackend.h --- kdebase-3.5.5a.dfsg.1.orig/kioslave/media/mediamanager/halbackend.h 2006-07-22 12:15:45.0 +0400 +++ kdebase-3.5.5a.dfsg.1/kioslave/media/mediamanager/halbackend.h 2007-01-25 00:21:07.729315759 +0300 @@ -192,6 +192,7
Re: KDE+HAL Часть вторая
Alexander GQ Gerasiov [EMAIL PROTECTED] wrote: Типа вот: Upd: оказывается там все еще запутанней. volume.policy.mount_option вроде как depreciated =\ Написал в список рассылки hal - посмотрим, что они скажут, и, в случае чего, это будет временный патч, ?чтобы русский работал?. Что-то я про deprecated вижу только одно письмо датированное 2005-09-01. Судя по прошедшему времени - что-то оно плохо депрекатиться. Оно там даже в заголовке libhal-storage.h помечено. А можно цитату? А то что-то я этого в cvs не вижу. Во-первых, смотри баг в КДЕ: http://bugs.kde.org/show_bug.cgi?id=133456 Посмотрел. Много всякой мути. Впрочем, нефига не понятно как быть, если я хочу монтировать флешки через hal но без всяких kde/gnome/otherX11shiit. Во-вторых, смотри /usr/include/hal/libhal-storage.h const char *libhal_drive_policy_get_mount_options (LibHalDrive *drive, LibHalStoragePolicy *policy) LIBHAL_DEPRECATED; ^ New commits: diff-tree 989e1bcc472cd7c130ae828e7d5d2ca81ee300db (from 853115cf6749087546671c92fc64d51ec01e68ac) Author: David Zeuthen davidz at redhat.com Date: Sun Sep 10 11:08:41 2006 -0400 Попробуй спросить вот у этого товарисча, почему после его коммита появились LIBHAL_DEPRECATED. Мне аж даже интересно, что он ответит. PS: Спросил бы сам, да с англицким плохо. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
На Thu, 25 Jan 2007 14:28:07 +0300 Andrey Melnikoff [EMAIL PROTECTED] записано: Во-вторых, смотри /usr/include/hal/libhal-storage.h const char *libhal_drive_policy_get_mount_options (LibHalDrive *drive, LibHalStoragePolicy *policy) LIBHAL_DEPRECATED; ^ New commits: diff-tree 989e1bcc472cd7c130ae828e7d5d2ca81ee300db (from 853115cf6749087546671c92fc64d51ec01e68ac) Author: David Zeuthen davidz at redhat.com Date: Sun Sep 10 11:08:41 2006 -0400 Попробуй спросить вот у этого товарисча, почему после его коммита появились LIBHAL_DEPRECATED. Мне аж даже интересно, что он ответит. Да я уже написал в список рассылки: http://lists.freedesktop.org/archives/hal/2007-January/007089.html Но они там вымерли немножко и не отвечають =\ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
На Mon, 22 Jan 2007 20:53:32 +0300 Andrey Melnikoff [EMAIL PROTECTED] записано: Типа вот: Upd: оказывается там все еще запутанней. volume.policy.mount_option вроде как depreciated =\ Написал в список рассылки hal - посмотрим, что они скажут, и, в случае чего, это будет временный патч, ?чтобы русский работал?. Что-то я про deprecated вижу только одно письмо датированное 2005-09-01. Судя по прошедшему времени - что-то оно плохо депрекатиться. Оно там даже в заголовке libhal-storage.h помечено. Так что не знаю, насколько реально это все. Видимо сделаю почти хардкод =\ Временное решение, пока ничего лучше апстрим не придумает. Лучше сделать через hal, и ждать пока таки падишах помрет или ишак. Это-то понятно. Я сегодня сделаю, вот только апстрим это не примет точно, а мейнтейнер - не знаю, надо будет общаться. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
Alexander GQ Gerasiov [EMAIL PROTECTED] wrote: На Mon, 22 Jan 2007 20:53:32 +0300 Andrey Melnikoff [EMAIL PROTECTED] записано: Типа вот: Upd: оказывается там все еще запутанней. volume.policy.mount_option вроде как depreciated =\ Написал в список рассылки hal - посмотрим, что они скажут, и, в случае чего, это будет временный патч, ?чтобы русский работал?. Что-то я про deprecated вижу только одно письмо датированное 2005-09-01. Судя по прошедшему времени - что-то оно плохо депрекатиться. Оно там даже в заголовке libhal-storage.h помечено. А новый, кошерный вэй там конечно не помечен... как всё запущенно. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
Alexander GQ Gerasiov [EMAIL PROTECTED] wrote: На Mon, 22 Jan 2007 20:53:32 +0300 Andrey Melnikoff [EMAIL PROTECTED] записано: Типа вот: Upd: оказывается там все еще запутанней. volume.policy.mount_option вроде как depreciated =\ Написал в список рассылки hal - посмотрим, что они скажут, и, в случае чего, это будет временный патч, ?чтобы русский работал?. Что-то я про deprecated вижу только одно письмо датированное 2005-09-01. Судя по прошедшему времени - что-то оно плохо депрекатиться. Оно там даже в заголовке libhal-storage.h помечено. А можно цитату? А то что-то я этого в cvs не вижу. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
На Tue, 23 Jan 2007 23:05:21 +0300 Andrey Melnikoff [EMAIL PROTECTED] записано: Alexander GQ Gerasiov [EMAIL PROTECTED] wrote: На Mon, 22 Jan 2007 20:53:32 +0300 Andrey Melnikoff [EMAIL PROTECTED] записано: Типа вот: Upd: оказывается там все еще запутанней. volume.policy.mount_option вроде как depreciated =\ Написал в список рассылки hal - посмотрим, что они скажут, и, в случае чего, это будет временный патч, ?чтобы русский работал?. Что-то я про deprecated вижу только одно письмо датированное 2005-09-01. Судя по прошедшему времени - что-то оно плохо депрекатиться. Оно там даже в заголовке libhal-storage.h помечено. А можно цитату? А то что-то я этого в cvs не вижу. Во-первых, смотри баг в КДЕ: http://bugs.kde.org/show_bug.cgi?id=133456 Во-вторых, смотри /usr/include/hal/libhal-storage.h const char *libhal_drive_policy_get_mount_options (LibHalDrive *drive, LibHalStoragePolicy *policy) LIBHAL_DEPRECATED; ^ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
Alexander GQ Gerasiov [EMAIL PROTECTED] wrote: Гайз, я тут тоже со связкой из сабжа поигрался: http://gq.net.ru/2007/01/21/kde-storagemount-charset-problem/ [skipp] Собственно вопрос возник: Там логика у ее внутре такая: берем volume.mount.valid_options и дальше если разрешено в них, то пытаемся добавить кучу опций: noexec,nosuid,nodev,noatime,uid=1000,utf8,shortname=lower которые берутся из настроек (см клик по девайсу правой кнопкой/свойства). Я думаю, что логика там должна остаться та же, только из этого списка вычеркиваем те опции, которые в volume.policy.mount_option со значением false, и добавляем те опции, которые там со значением true. Есть возражения? Возьми сорцы pmount и выдери оттудова кусок, который этим всем заведует. Дешво и сердито. Ну и последний вопрос: как думаете, это в апстрим посылать или проще мейнтейнерам? Маинтейнерам. Они сами скорее всего перешлют в апстрим. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
На Mon, 22 Jan 2007 18:20:01 +0300 Andrey Melnikoff [EMAIL PROTECTED] записано: Alexander GQ Gerasiov [EMAIL PROTECTED] wrote: Гайз, я тут тоже со связкой из сабжа поигрался: http://gq.net.ru/2007/01/21/kde-storagemount-charset-problem/ [skipp] Собственно вопрос возник: Там логика у ее внутре такая: берем volume.mount.valid_options и дальше если разрешено в них, то пытаемся добавить кучу опций: noexec,nosuid,nodev,noatime,uid=1000,utf8,shortname=lower которые берутся из настроек (см клик по девайсу правой кнопкой/свойства). Я думаю, что логика там должна остаться та же, только из этого списка вычеркиваем те опции, которые в volume.policy.mount_option со значением false, и добавляем те опции, которые там со значением true. Есть возражения? Возьми сорцы pmount и выдери оттудова кусок, который этим всем заведует. Дешво и сердито. Ну не совсем, там есть небольшие хитрости, но это я и так догадался посмотреть. Ну и последний вопрос: как думаете, это в апстрим посылать или проще мейнтейнерам? Маинтейнерам. Они сами скорее всего перешлют в апстрим. Типа вот: Upd: оказывается там все еще запутанней. volume.policy.mount_option вроде как depreciated =\ Написал в список рассылки hal - посмотрим, что они скажут, и, в случае чего, это будет временный патч, “чтобы русский работал”. Так что не знаю, насколько реально это все. Видимо сделаю почти хардкод =\ Временное решение, пока ничего лучше апстрим не придумает.
Re: KDE+HAL Часть вторая
Alexander GQ Gerasiov [EMAIL PROTECTED] wrote: На Mon, 22 Jan 2007 18:20:01 +0300 Andrey Melnikoff [EMAIL PROTECTED] записано: Alexander GQ Gerasiov [EMAIL PROTECTED] wrote: Гайз, я тут тоже со связкой из сабжа поигрался: http://gq.net.ru/2007/01/21/kde-storagemount-charset-problem/ [skipp] Собственно вопрос возник: Там логика у ее внутре такая: берем volume.mount.valid_options и дальше если разрешено в них, то пытаемся добавить кучу опций: noexec,nosuid,nodev,noatime,uid=1000,utf8,shortname=lower которые берутся из настроек (см клик по девайсу правой кнопкой/свойства). Я думаю, что логика там должна остаться та же, только из этого списка вычеркиваем те опции, которые в volume.policy.mount_option со значением false, и добавляем те опции, которые там со значением true. Есть возражения? Возьми сорцы pmount и выдери оттудова кусок, который этим всем заведует. Дешво и сердито. Ну не совсем, там есть небольшие хитрости, но это я и так догадался посмотреть. Ну и последний вопрос: как думаете, это в апстрим посылать или проще мейнтейнерам? Маинтейнерам. Они сами скорее всего перешлют в апстрим. Типа вот: Upd: оказывается там все еще запутанней. volume.policy.mount_option вроде как depreciated =\ Написал в список рассылки hal - посмотрим, что они скажут, и, в случае чего, это будет временный патч, ?чтобы русский работал?. Что-то я про deprecated вижу только одно письмо датированное 2005-09-01. Судя по прошедшему времени - что-то оно плохо депрекатиться. Так что не знаю, насколько реально это все. Видимо сделаю почти хардкод =\ Временное решение, пока ничего лучше апстрим не придумает. Лучше сделать через hal, и ждать пока таки падишах помрет или ишак. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
KDE+HAL Часть вторая
Гайз, я тут тоже со связкой из сабжа поигрался: http://gq.net.ru/2007/01/21/kde-storagemount-charset-problem/ Начал отлаживать. Konqueror вызывает kio_media_mounthelper. Этот бинарник поставляется пакетом kdebase-kio-plugins. Скачал исходники. Оказалось и впраду, при монтировании KDE не смотрит на volume.policy.mount_option, а параметры там берутся из настроек, которые доступны по правой кнопке мыши на сменном носителе. Вот только возможности глобальной настройки там нету, а даже если бы и была - там нет возможности задать codepage и iocharset. Такая вот фигня. В принципе я понимаю, почему они используют свой механизм задания опций - хочется тотального гуя, но все же, игнорировать настройки hal, это как-то не комильфо. Рисую патч. Собственно вопрос возник: Там логика у ее внутре такая: берем volume.mount.valid_options и дальше если разрешено в них, то пытаемся добавить кучу опций: noexec,nosuid,nodev,noatime,uid=1000,utf8,shortname=lower которые берутся из настроек (см клик по девайсу правой кнопкой/свойства). Я думаю, что логика там должна остаться та же, только из этого списка вычеркиваем те опции, которые в volume.policy.mount_option со значением false, и добавляем те опции, которые там со значением true. Есть возражения? Ну и последний вопрос: как думаете, это в апстрим посылать или проще мейнтейнерам? -- Alexander. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: KDE+HAL Часть вторая
Начал отлаживать. Konqueror вызывает kio_media_mounthelper. Этот бинарник поставляется пакетом kdebase-kio-plugins. Скачал исходники. Оказалось и впраду, при монтировании KDE не смотрит на volume.policy.mount_option, а параметры там берутся из настроек, которые доступны по правой кнопке мыши на сменном носителе. Вот только возможности глобальной настройки там нету, а даже если бы и была - там нет возможности задать codepage и iocharset. Такая вот фигня. В принципе я понимаю, почему они используют свой механизм задания опций - хочется тотального гуя, но все же, игнорировать настройки hal, это как-то не комильфо. Рисую патч. Я у себя hal пропатчил, что если файловая система vfat, использовать iocharset=cp1251,codepage=866 и всем доволен. А разработчикам посылать не вижу смысла, ибо такие вещи на перле надо писать, сейчас все написано очень криво.
Re: KDE+HAL Часть вторая
Ну и последний вопрос: как думаете, это в апстрим посылать или проще мейнтейнерам? Думаю стоит занести баг-репорт в апстрим, а потом написать мейнтейнерам с ссылкой на баг-репорт. Мейнтейнеры могут отказаться принять патч пока он не будет признан :) -- Alexander.