* [sisyphus] Perl content: почему dict перестал видеть словари ?
@ 2006-01-16 15:03 Arioch
2006-01-16 20:11 ` Dmitry Marochko
` (2 more replies)
0 siblings, 3 replies; 17+ messages in thread
From: Arioch @ 2006-01-16 15:03 UTC (permalink / raw)
To: sisyphus
По идее скрипт /usr/sbin/dictdconfig должен перечислять все базы и
записывать из в список, однако....
zsh 642 % cat /var/lib/dictd/db.list
- - - SKIP - - -
# See dictdconfig(8) for details.
- - - SKIP - - -
database engcom {
data /usr/share/dictd/engcom.dict.dz
index /usr/share/dictd/engcom.index
}
database foldoc {
data /usr/share/dictd/foldoc.dict.dz
index /usr/share/dictd/foldoc.index
}
database vera {
data /usr/share/dictd/vera.dict.dz
index /usr/share/dictd/vera.index
}
database jargon {
data /usr/share/dictd/jargon.dict.dz
index /usr/share/dictd/jargon.index
}
Чем они отличаюся от других???
zsh 643 % ll /usr/share/dictd
итого 38052
drwxr-xr-x 377 root root 11064 Янв 14 18:10 ../
drwxr-xr-x 2 root root 656 Янв 6 00:11 ./
-rw-r--r-- 1 root root 209247 Янв 6 00:11 engcom.dict.dz
-rw-r--r-- 1 root root 35725 Янв 6 00:11 engcom.index
-rw-r--r-- 1 root root 3952339 Ноя 27 22:08 gcide.index
-rw-r--r-- 1 root root 13527757 Ноя 27 22:08 gcide.dict.dz
-rw-r--r-- 1 root root 2105578 Сен 14 15:00 foldoc.dict.dz
-rw-r--r-- 1 root root 281456 Сен 14 15:00 foldoc.index
-rw-r--r-- 1 root root 164177 Май 24 2005 vera.dict.dz
-rw-r--r-- 1 root root 120783 Май 24 2005 vera.index
-rw-r--r-- 1 root root 832116 Мар 4 2005 slovnyk_ru-en.dict.dz
-rw-r--r-- 1 root root 1486899 Мар 4 2005 slovnyk_ru-en.index
-rw-r--r-- 1 root root 972387 Мар 4 2005 slovnyk_en-ru.dict.dz
-rw-r--r-- 1 root root 977100 Мар 4 2005 slovnyk_en-ru.index
-rw-r--r-- 1 root root 2767389 Мар 4 2005 mueller7.dict.dz
-rw-r--r-- 1 root root 786401 Мар 4 2005 mueller7.index
-rw-r--r-- 1 root root 636409 Мар 4 2005 jargon.dict.dz
-rw-r--r-- 1 root root 43202 Мар 4 2005 jargon.index
-rw-r--r-- 1 root root 8808006 Мар 4 2005 dalf.dict.dz
-rw-r--r-- 1 root root 1175086 Мар 4 2005 dalf.index
Вот по идее фнукция, котораядолжна проверять наличие пар файлов, но
видимо она на Словнике затыкается. Не любит дефисы/подчеркиваия ?
sub CheckDatabase {
my ( $base_name ) = @_;
my $name;
my $datafile;
my $indexfile;
if ( $base_name =~ m#.*/(.*)# ) { $name = $1 }
else { $name = $base_name }
if ( $base_name =~ m#^/# ) { $datafile = $indexfile = $base_name }
else { $datafile = $indexfile = "$db_dir/$base_name" }
$datafile .= ".dict.dz";
$datafile =~ s/\.dz$// unless -f $datafile;
$indexfile .= ".index";
if ( ! $db_entered{ $name } && -f $datafile && -f $indexfile ) {
AddEntry( $name, $datafile, $indexfile );
}
}
sub CheckDirectory {
my ( $dir ) = @_;
$dir = "$db_dir/$dir" unless $dir =~ m#^/#;
opendir DIR, $dir;
for (readdir DIR) {
if ( /(^.*)\.index$/ ) { CheckDatabase( "$dir$1" ) }
}
closedir DIR;
}
Я в Перле ни бум-бум, о м.б. кто подскажет чего поправить ?
Кстати, нет man page для dictdconfig, а в вывод скрипта идет ссылка на
man :)
PS: удалил slovnyk - ничего не изменилось, видит только первые 4
словаря, и всё тут :(
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Perl content: почему dict перестал видеть словари ?
2006-01-16 15:03 [sisyphus] Perl content: почему dict перестал видеть словари ? Arioch
@ 2006-01-16 20:11 ` Dmitry Marochko
2006-01-17 7:41 ` Epiphanov Sergei
2006-01-17 9:54 ` [sisyphus] Perl content: почему dict перестал видеть словари ? Epiphanov Sergei
2 siblings, 0 replies; 17+ messages in thread
From: Dmitry Marochko @ 2006-01-16 20:11 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
[-- Attachment #1: Type: text/plain, Size: 1118 bytes --]
И правда, в чем дело?
$ dict -D
Databases available:
engcom
jargon Jargon File (4.3.1, 29 Jun 2001)
$ l /usr/share/dictd
итого 18376
drwxr-xr-x 252 root root 8192 Янв 13 22:21 ../
-rw-r--r-- 1 root root 206843 Ноя 30 18:57 engcom.dict.dz
-rw-r--r-- 1 root root 35443 Ноя 30 18:57 engcom.index
drwxr-xr-x 2 root root 4096 Сен 22 18:02 ./
-rw-r--r-- 1 root root 2767389 Фев 2 2004 mueller7.dict.dz
-rw-r--r-- 1 root root 786401 Фев 2 2004 mueller7.index
-rw-r--r-- 1 root root 8808006 Июл 27 2003 dalf.dict.dz
-rw-r--r-- 1 root root 1175086 Июл 27 2003 dalf.index
-rw-r--r-- 1 root root 636409 Янв 31 2003 jargon.dict.dz
-rw-r--r-- 1 root root 43202 Янв 31 2003 jargon.index
-rw-r--r-- 1 root root 1486899 Янв 15 2003 slovnyk_ru-en.index
-rw-r--r-- 1 root root 832116 Янв 15 2003 slovnyk_ru-en.dict.dz
-rw-r--r-- 1 root root 977100 Янв 15 2003 slovnyk_en-ru.index
-rw-r--r-- 1 root root 972387 Янв 15 2003 slovnyk_en-ru.dict.dz
Остальные не видит. До обновления все работало.
--
With best wishes,
Dmitry Marochko aka Mothlike
[-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Perl content: почему dict перестал видеть словари ?
2006-01-16 15:03 [sisyphus] Perl content: почему dict перестал видеть словари ? Arioch
2006-01-16 20:11 ` Dmitry Marochko
@ 2006-01-17 7:41 ` Epiphanov Sergei
2006-01-17 9:24 ` [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ? Arioch
2006-01-17 9:54 ` [sisyphus] Perl content: почему dict перестал видеть словари ? Epiphanov Sergei
2 siblings, 1 reply; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-17 7:41 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
В сообщении от Monday 16 January 2006 18:03 Arioch написал(a):
> По идее скрипт /usr/sbin/dictdconfig должен перечислять все базы и
> записывать из в список, однако....
>
> zsh 642 % cat /var/lib/dictd/db.list
> - - - SKIP - - -
> # See dictdconfig(8) for details.
> - - - SKIP - - -
> database engcom {
> data /usr/share/dictd/engcom.dict.dz
> index /usr/share/dictd/engcom.index
> }
> database foldoc {
> data /usr/share/dictd/foldoc.dict.dz
> index /usr/share/dictd/foldoc.index
> }
> database vera {
> data /usr/share/dictd/vera.dict.dz
> index /usr/share/dictd/vera.index
> }
> database jargon {
> data /usr/share/dictd/jargon.dict.dz
> index /usr/share/dictd/jargon.index
> }
>
>
>
> Чем они отличаюся от других???
Тем, что они прописаны в файле /etc/dictd.order.
Есть такой файл /etc/dictd.order. Вот почему-то при генерации списка словарей
dictdconfig не лезет в каталог /usr/share/dictd, как там указано в файле, а
перечисляет только явно указанные. Когда туда вписал все имеющиеся у меня
словари и скомандовал 'dictdconfig -w', то они все появились.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ?
2006-01-17 7:41 ` Epiphanov Sergei
@ 2006-01-17 9:24 ` Arioch
2006-01-17 9:59 ` Epiphanov Sergei
0 siblings, 1 reply; 17+ messages in thread
From: Arioch @ 2006-01-17 9:24 UTC (permalink / raw)
To: sisyphus
> Тем, что они прописаны в файле /etc/dictd.order.
Была у меня такая мысль, но вроде в скрипте он лезет именно в папку. Или мне
так показалось, Перл я, повторюсь, не знаю
У кого етс mgfhjkm от багзиллы под руками - киньте туда plz, и упомяните,
кстати, что не хватает man dictdconfig
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Perl content: почему dict перестал видеть словари ?
2006-01-16 15:03 [sisyphus] Perl content: почему dict перестал видеть словари ? Arioch
2006-01-16 20:11 ` Dmitry Marochko
2006-01-17 7:41 ` Epiphanov Sergei
@ 2006-01-17 9:54 ` Epiphanov Sergei
2 siblings, 0 replies; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-17 9:54 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
В сообщении от Monday 16 January 2006 18:03 Arioch написал(a):
> if ( /(^.*)\.index$/ ) { CheckDatabase( "$dir$1" ) }
Возможно, так:
if ( /(^.*)\.index$/ ) { CheckDatabase( "$dir/$1" ) }
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ?
2006-01-17 9:24 ` [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ? Arioch
@ 2006-01-17 9:59 ` Epiphanov Sergei
2006-01-17 10:09 ` Epiphanov Sergei
2006-01-17 14:57 ` Arioch
0 siblings, 2 replies; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-17 9:59 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
В сообщении от Tuesday 17 January 2006 12:24 Arioch написал(a):
> > Тем, что они прописаны в файле /etc/dictd.order.
>
> Была у меня такая мысль, но вроде в скрипте он лезет именно в папку. Или
> мне так показалось, Перл я, повторюсь, не знаю
>
> У кого етс mgfhjkm от багзиллы под руками - киньте туда plz, и упомяните,
> кстати, что не хватает man dictdconfig
Вот где глюк:
for (@db_order) {
if ( m#/$# ) { CheckDirectory( $_ ) }
else { CheckDatabase( $_ ) }
}
Поэтому необходимо, чтобы в /etc/dictd.order вместо
/usr/share/dictd
надо вписать
/usr/share/dictd/
со слешем на конце. Тогда всё работает.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ?
2006-01-17 9:59 ` Epiphanov Sergei
@ 2006-01-17 10:09 ` Epiphanov Sergei
2006-01-17 14:57 ` Arioch
1 sibling, 0 replies; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-17 10:09 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
В сообщении от Tuesday 17 January 2006 12:59 Epiphanov Sergei написал(a):
> Вот где глюк:
>
> for (@db_order) {
> if ( m#/$# ) { CheckDirectory( $_ ) }
> else { CheckDatabase( $_ ) }
> }
>
> Поэтому необходимо, чтобы в /etc/dictd.order вместо
>
> /usr/share/dictd
>
> надо вписать
>
> /usr/share/dictd/
>
> со слешем на конце. Тогда всё работает.
В bugzilla #8859.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ?
2006-01-17 9:59 ` Epiphanov Sergei
2006-01-17 10:09 ` Epiphanov Sergei
@ 2006-01-17 14:57 ` Arioch
2006-01-18 10:02 ` Epiphanov Sergei
1 sibling, 1 reply; 17+ messages in thread
From: Arioch @ 2006-01-17 14:57 UTC (permalink / raw)
To: sisyphus
> Поэтому необходимо, чтобы в /etc/dictd.order вместо
Требовать наличие слэша - логично, хотя и не обязательно.
Но, по-моему, баг в первую очередь в том, что dictd.order стал замещать
dictd.conf
.order - это порядок словарей, их приоритеты, но никак не замена списку.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ?
2006-01-17 14:57 ` Arioch
@ 2006-01-18 10:02 ` Epiphanov Sergei
2006-01-18 10:23 ` Arioch
0 siblings, 1 reply; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-18 10:02 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
В сообщении от Tuesday 17 January 2006 17:57 Arioch написал(a):
> > Поэтому необходимо, чтобы в /etc/dictd.order вместо
>
> Требовать наличие слэша - логично, хотя и не обязательно.
Это требует программа dictdconfig. В противном случае она считает, что строка
описывает одну базу данных.
> Но, по-моему, баг в первую очередь в том, что dictd.order стал замещать
> dictd.conf
>
> .order - это порядок словарей, их приоритеты, но никак не замена списку.
Не замещает. dictd.order нужен для dictdconfig только для создания описания
словарей в /var/lib/dictd/db.list. А dictd.conf (и созданный
файл /var/lib/dictd/db.list) используется программой dictd. Всё правильно.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ?
2006-01-18 10:02 ` Epiphanov Sergei
@ 2006-01-18 10:23 ` Arioch
2006-01-18 11:16 ` Epiphanov Sergei
0 siblings, 1 reply; 17+ messages in thread
From: Arioch @ 2006-01-18 10:23 UTC (permalink / raw)
To: sisyphus
> > Требовать наличие слэша - логично, хотя и не обязательно.
>
> Это требует программа dictdconfig.
Я знаю. И это - не обязательно, проверить всегда можно :)
А если обязательно - должна была вылезать ошибка.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ?
2006-01-18 10:23 ` Arioch
@ 2006-01-18 11:16 ` Epiphanov Sergei
2006-01-18 13:01 ` Arioch
0 siblings, 1 reply; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-18 11:16 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
В сообщении от Wednesday 18 January 2006 13:23 Arioch написал(a):
> > > Требовать наличие слэша - логично, хотя и не обязательно.
> >
> > Это требует программа dictdconfig.
>
> Я знаю. И это - не обязательно, проверить всегда можно :)
> А если обязательно - должна была вылезать ошибка.
Не должна вылезать, ибо есть определение: если на конце слеш, то строка -
каталог и надо его просмотреть, если нет слеша на конце, то строка -
отдельный словарь, который может быть расположен где угодно.
Наберите dictdconfig --help
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ?
2006-01-18 11:16 ` Epiphanov Sergei
@ 2006-01-18 13:01 ` Arioch
2006-01-18 13:52 ` [sisyphus] Почему dict перестал видеть словари? Epiphanov Sergei
2006-01-18 14:01 ` [sisyphus] Почему dict перестал видеть словари? Epiphanov Sergei
0 siblings, 2 replies; 17+ messages in thread
From: Arioch @ 2006-01-18 13:01 UTC (permalink / raw)
To: sisyphus
Epiphanov Sergei <serpiph@...> writes:
> то строка -
> отдельный словарь, который может быть расположен
> где угодно.
Где написано, что словарь может отсутствовать и это штатная ситуация ?
программа пытается открыть файл. Файл не открывается. Например его нету, или
это не файл, а директория, или я вытащил дискету, на которой лежал файл - все,
файл не читается, ошибка.
В любой программе практически - это ошибка. И только в некоторых случаях - это
нормально. Была бы выведена ошибка, или хотя бы warning - и эта проблема была
бы найдена еще при сборке пакета наверняка!
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Почему dict перестал видеть словари?
2006-01-18 13:01 ` Arioch
@ 2006-01-18 13:52 ` Epiphanov Sergei
2006-01-18 14:05 ` [sisyphus] Re: Почему dict пересталвидетьсловари? Arioch
2006-01-18 14:01 ` [sisyphus] Почему dict перестал видеть словари? Epiphanov Sergei
1 sibling, 1 reply; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-18 13:52 UTC (permalink / raw)
To: sisyphus; +Cc: Arioch
В сообщении от Wednesday 18 January 2006 16:01 Arioch написал(a):
> Epiphanov Sergei <serpiph@...> writes:
> > то строка -
> > отдельный словарь, который может быть расположен
> > где угодно.
>
> Где написано, что словарь может отсутствовать и это штатная ситуация ?
А где написано, что это нештатная ситуация? Как решил автор dictdconfig, так
и будет. Не нравится - переписывайте программу. И программ, не выдающих
ничего при ошибке, тьма-тьмущая. Если Вы думаете так, то это не значит, что
так думают все.
> программа пытается открыть файл. Файл не открывается. Например его нету,
> или это не файл, а директория, или я вытащил дискету, на которой лежал
> файл - все, файл не читается, ошибка.
Если на момент сканирования словарей какой-то словарь недоступен, то он и не
попадает в список словарей. А вот если на момент сканирования он был
доступен, попал в список, а при запуске dictd он недоступен, то dictd будет
орать об этом. Кстати, в /etc/dictd.order прописан каталог, который частью
floppy так просто не станет, каталог по-умолчанию /usr/share/dictd, плюс
dictdconfig доступна только root. Я думаю, root должен понимать что делает.
Ваши слова из разряда "А если вместо гвоздя палец положить, то что будет с
молотком?"
> В любой программе практически - это ошибка. И только в некоторых случаях -
> это нормально. Была бы выведена ошибка, или хотя бы warning - и эта
> проблема была бы найдена еще при сборке пакета наверняка!
Всё может быть. Так, программа может быть запакована с минимальным набором
словарей или каждый словарь может идти отдельно. Один хочет только engcom,
другой mueller7, а программа будет и тому, и другому ломать жизнь, не
создавая список словарей? Кстати, dictdconfig вызывается ТОЛЬКО после
установки ГОТОВОГО пакета в систему, поэтому при сборке НИЧЕГО Вы не
найдёте.
Единственный ляп - нет толковой документации на dictdconfig.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Почему dict перестал видеть словари?
2006-01-18 13:01 ` Arioch
2006-01-18 13:52 ` [sisyphus] Почему dict перестал видеть словари? Epiphanov Sergei
@ 2006-01-18 14:01 ` Epiphanov Sergei
1 sibling, 0 replies; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-18 14:01 UTC (permalink / raw)
To: sisyphus
В сообщении от Wednesday 18 January 2006 16:01 Arioch написал(a):
> Epiphanov Sergei <serpiph@...> writes:
> > то строка -
> > отдельный словарь, который может быть расположен
> > где угодно.
>
> Где написано, что словарь может отсутствовать и это штатная ситуация ?
А где написано, что это нештатная ситуация? Как решил автор dictdconfig, так
и будет. Не нравится - переписывайте программу. И программ, не выдающих
ничего при ошибке, тьма-тьмущая. Если Вы думаете так, то это не значит, что
так думают все.
> программа пытается открыть файл. Файл не открывается. Например его нету,
> или это не файл, а директория, или я вытащил дискету, на которой лежал
> файл - все, файл не читается, ошибка.
Какая программа? Если на момент сканирования словарей какой-то словарь
недоступен, то он и не попадает в список словарей. А вот если на момент
сканирования он был доступен, попал в список, а при запуске dictd он
недоступен, то dictd будет орать об этом. Кстати, в /etc/dictd.order
прописан каталог, который частью floppy так просто не станет, каталог
по-умолчанию /usr/share/dictd, плюс dictdconfig доступна только root. Я
думаю, root должен понимать что делает. А Ваши слова из разряда "А если
вместо гвоздя палец положить, то что будет с молотком?" - "Отскочит и даст
по лбу."
> В любой программе практически - это ошибка. И только в некоторых случаях -
> это нормально. Была бы выведена ошибка, или хотя бы warning - и эта
> проблема была бы найдена еще при сборке пакета наверняка!
Всё может быть. Так, программа dictd может быть запакована с минимальным
набором словарей или каждый словарь может идти отдельно. Один хочет только
engcom, другой mueller7, а программа будет и тому, и другому ломать жизнь,
не создавая список словарей? Кстати, dictdconfig вызывается ТОЛЬКО после
установки ГОТОВОГО пакета в систему (%postin или %postun), поэтому при
сборке НИЧЕГО Вы не найдёте. По-моему, проще оставить как есть (исправив
строку с каталогом), нежели каждый раз ковырять файл /etc/dictd.order при
установке или удалении пакета (и не факт, что сразу получится).
Единственный ляп - нет толковой документации на dictdconfig.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* [sisyphus] Re: Почему dict пересталвидетьсловари?
2006-01-18 13:52 ` [sisyphus] Почему dict перестал видеть словари? Epiphanov Sergei
@ 2006-01-18 14:05 ` Arioch
2006-01-18 14:48 ` Epiphanov Sergei
0 siblings, 1 reply; 17+ messages in thread
From: Arioch @ 2006-01-18 14:05 UTC (permalink / raw)
To: sisyphus
> > Где написано, что словарь может отсутствовать и это
> штатная ситуация ?
>
> А где написано, что это нештатная ситуация? Как решил
> автор dictdconfig, так и будет.
А результаты свидетельствуют. ;)
> Не нравится - переписывайте программу.
А для этого нужна дока, мало ли что имел ввиду автор, вот такие умолчания
сбивают.
Но я переписываю для себя (вот бы еще iconv от ejabberd оторвать :) ), но в
дистр это не пойдет, скрипты на Эрланге - этого вроде люди уже не перенесут :)
Но судя по отсутствию следов этой проги на dict.org - она похоже специфично
Альтовая ? Тогда в принципе можно извращаться :)
> И
> программ, не выдающих
> ничего при ошибке, тьма-тьмущая.
Либо они обрабатывают ошибку, восстанавливаются. Либо предупреждают.
> Если на момент сканирования словарей какой-то
> словарь недоступен, то он и не
> попадает в список словарей. А вот если на момент
> сканирования он был
> доступен, попал в список, а при запуске dictd он
> недоступен, то dictd будет
> орать об этом.
Лучше бы это все же в init-скрипте было.
Впрочем и правда слишком далеко зашло.
> Ваши слова из разряда "А если вместо гвоздя палец
> положить, то что будет с
> молотком?"
Угу, только пальцы опложил не я а мантейнер, и пальцы в том чисkе мои.
Cомнительное изящество (лаконичность) файла настройки - и грабли разлаженные
на миллиметр в сторону от тропинки.
> > Была бы выведена ошибка, или хотя бы
> > warning - и эта
> > проблема была бы найдена еще при сборке пакета наверняка!
> Один хочет только engcom,
> другой mueller7, а программа будет и тому, и другому ломать
> жизнь, не
> создавая список словарей?
Если он создаст *директорию* mueller7, то можно и сломать. Уж создавая
доноименные папки человек точно знает куда кладет пальцы. :)
Но на самом деле это к тому же, приоритет (order) - это одно, а список - другое.
Объединили - получили неустойчивую конструкцию.
> Кстати, dictdconfig вызывается
> ТОЛЬКО после
> установки ГОТОВОГО пакета в систему, поэтому при
> сборке НИЧЕГО Вы не
> найдёте.
Хашер проверяет пакеты на установку ? Зазвенел бы при установке первого из
словарей. Я имел ввиду hasher.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [sisyphus] Re: Почему dict пересталвидетьсловари?
2006-01-18 14:05 ` [sisyphus] Re: Почему dict пересталвидетьсловари? Arioch
@ 2006-01-18 14:48 ` Epiphanov Sergei
2006-01-18 15:10 ` Arioch
0 siblings, 1 reply; 17+ messages in thread
From: Epiphanov Sergei @ 2006-01-18 14:48 UTC (permalink / raw)
To: ALT Linux Sisyphus discussion list
В сообщении от Wednesday 18 January 2006 17:05 Arioch написал(a):
> > > Где написано, что словарь может отсутствовать и это
> >
> > штатная ситуация ?
> >
> > А где написано, что это нештатная ситуация? Как решил
> > автор dictdconfig, так и будет.
>
> А результаты свидетельствуют. ;)
Кому? :) В любом конфиге могут быть ошибки.
> > Не нравится - переписывайте программу.
>
> А для этого нужна дока, мало ли что имел ввиду автор, вот такие умолчания
> сбивают.
> Но я переписываю для себя (вот бы еще iconv от ejabberd оторвать :) ), но
> в дистр это не пойдет, скрипты на Эрланге - этого вроде люди уже не
> перенесут :)
>
> Но судя по отсутствию следов этой проги на dict.org - она похоже
> специфично Альтовая ? Тогда в принципе можно извращаться :)
Да над любой под GPL можно извращаться. Вот только всё равно в пакете на
ftp.altlinux.org ничего не изменится.
> > И
> > программ, не выдающих
> > ничего при ошибке, тьма-тьмущая.
>
> Либо они обрабатывают ошибку, восстанавливаются. Либо предупреждают.
Есть которые не делают ни того, ни другого, ни третьего, а просто тихо
завершаются. Уже натыкался.
> > Если на момент сканирования словарей какой-то
> > словарь недоступен, то он и не
> > попадает в список словарей. А вот если на момент
> > сканирования он был
> > доступен, попал в список, а при запуске dictd он
> > недоступен, то dictd будет
> > орать об этом.
>
> Лучше бы это все же в init-скрипте было.
А зачем каждый тратить время на бесполезное дело? У Вас случайно могут
измениться в системном каталоге словари в процессе работы системы?
> Впрочем и правда слишком далеко зашло.
>
> > Ваши слова из разряда "А если вместо гвоздя палец
> > положить, то что будет с
> > молотком?"
>
> Угу, только пальцы опложил не я а мантейнер, и пальцы в том чисkе мои.
> Cомнительное изящество (лаконичность) файла настройки - и грабли
> разлаженные на миллиметр в сторону от тропинки.
А уж сколько граблей на самой тропинке в других программах - "и не
сосчитаешь!" :) Я нашёл грабли и отложил в сторону, повесив знак "осторожно,
bugzilla #8859". Вот этот знак и теребите.
> > > Была бы выведена ошибка, или хотя бы
> > > warning - и эта
> > > проблема была бы найдена еще при сборке пакета наверняка!
> >
> > Один хочет только engcom,
> > другой mueller7, а программа будет и тому, и другому ломать
> > жизнь, не
> > создавая список словарей?
>
> Если он создаст *директорию* mueller7, то можно и сломать. Уж создавая
> доноименные папки человек точно знает куда кладет пальцы. :)
Но это уже вопрос к мантейнеру словарей, а не к dictdconfig. Она так и
делает, только молчит при этом.
> Но на самом деле это к тому же, приоритет (order) - это одно, а список -
> другое. Объединили - получили неустойчивую конструкцию.
Ну, дали файлу суффикс order, а на самом деле файл - список желаемых словарей
(чтобы чего лишнего не попало).
> > Кстати, dictdconfig вызывается
> > ТОЛЬКО после
> > установки ГОТОВОГО пакета в систему, поэтому при
> > сборке НИЧЕГО Вы не
> > найдёте.
>
> Хашер проверяет пакеты на установку ? Зазвенел бы при установке первого из
> словарей. Я имел ввиду hasher.
Нет, это выявляется только в момент реальной установки.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 17+ messages in thread
* [sisyphus] Re: Почему dict пересталвидетьсловари?
2006-01-18 14:48 ` Epiphanov Sergei
@ 2006-01-18 15:10 ` Arioch
0 siblings, 0 replies; 17+ messages in thread
From: Arioch @ 2006-01-18 15:10 UTC (permalink / raw)
To: sisyphus
Epiphanov Sergei <serpiph@...> writes:
> > А результаты свидетельствуют. ;)
>
> Кому? :) В любом конфиге могут быть ошибки.
Чем больше ошибок будет ловиться - тем лучше.
Чем меньше - тем больше вероятность словить нежданчик.
> > > Не нравится - переписывайте программу.
...
> все равно ... ничего не изменится.
:-(
> Есть которые не делают ни того, ни другого, ни
> третьего, а просто тихо
> завершаются. Уже натыкался.
Говорящее слово "натыкался". Натыкаются на что-то неприятное. :)
> > > Если на момент сканирования словарей какой-то
> > > словарь недоступен, то он и не
> > > попадает в список словарей. А вот если на момент
> > > сканирования он был
> > > доступен, попал в список, а при запуске dictd он
> > > недоступен, то dictd будет
> > > орать об этом.
> >
> > Лучше бы это все же в init-скрипте было.
>
> А зачем каждый тратить время на бесполезное дело?
Не понял.
> Вас случайно могут
> измениться в системном каталоге словари в процессе
> работы системы?
В процессе - нет.
Но, вы же говорили, что dictdconfig не сообщает про ошибки, поскольку это
полезно на случай что словари то есть, то нету. Типа сетевых подключений или
дискет. На этот случай подойдет init-script. :-) Это даже более логично.
Проверять нужно непосредственно при старте сервера ,мало ли что могло смениться
с посл. запуска config.
Наоборот, если измениться может только через rpm/apt - то config должен
отсутствующие файлы считать ошибкой.
Случай когда я в обход rpm/apt руками что-то копирую и правлю - в этом случае
config сообщая об ошибке помог бы мне в случае опечатки.
Я просто пытаюсь конкретно в случае dictdconfig представить случай когда
полезно именно проглатывать ошибки.
> > Cомнительное изящество (лаконичность) файла
> настройки - и грабли
> > разлаженные на миллиметр в сторону от тропинки.
>
> А уж сколько граблей на самой тропинке в других
> программах - "и не
> сосчитаешь!" :)
И в любых - это плохо :)
> bugzilla #8859". Вот этот знак и теребите.
А посмотрим, где мантейнер раньше откликнется, там и потеребим.
> Но это уже вопрос к мантейнеру словарей, а не к dictdconfig.
мантейнеры - тоже люди и тоже делают очепятки. :(
> > приоритеты выбора - это одно, а список -
> > другое. Объединили - получили неустойчивую конструкцию.
>
> Ну, дали файлу суффикс order, а на самом деле файл - список
> желаемых словарей
...и описание в справке.
Нет, это не суффикс, а как раз чтобы самому задавть порядок словарей, в котором
перебор выполняется. Отсюда и молчание - для приоритетов не важно ,есть ли
словарь или нету. Для базы данных - важно.
> Нет, это выявляется только в момент реальной установки.
Жаль. А ведь наверное это было бы быстрее компиляции.
Впрочем пока на этом поалуй ловятся только относительно небольшие баги.
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2006-01-18 15:10 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-16 15:03 [sisyphus] Perl content: почему dict перестал видеть словари ? Arioch
2006-01-16 20:11 ` Dmitry Marochko
2006-01-17 7:41 ` Epiphanov Sergei
2006-01-17 9:24 ` [sisyphus] Re: Perl contest: почему dict пересталвидетьсловари ? Arioch
2006-01-17 9:59 ` Epiphanov Sergei
2006-01-17 10:09 ` Epiphanov Sergei
2006-01-17 14:57 ` Arioch
2006-01-18 10:02 ` Epiphanov Sergei
2006-01-18 10:23 ` Arioch
2006-01-18 11:16 ` Epiphanov Sergei
2006-01-18 13:01 ` Arioch
2006-01-18 13:52 ` [sisyphus] Почему dict перестал видеть словари? Epiphanov Sergei
2006-01-18 14:05 ` [sisyphus] Re: Почему dict пересталвидетьсловари? Arioch
2006-01-18 14:48 ` Epiphanov Sergei
2006-01-18 15:10 ` Arioch
2006-01-18 14:01 ` [sisyphus] Почему dict перестал видеть словари? Epiphanov Sergei
2006-01-17 9:54 ` [sisyphus] Perl content: почему dict перестал видеть словари ? Epiphanov Sergei
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git