Re: debconf packets which doesn't use debconf
On Wed, Jun 27, 2007 at 10:51:14AM +0400, Dmitry E. Oboukhov wrote: On 10:38 Wed 27 Jun , Vadim Vatlin wrote: Есть пакет samba. Происходит путаница. Какой версии пакет вы установили? Из etch? 3.0.24-6etch4? Уточните пожалуйста. делаю: shell echo samba samba/generate_smbpasswd boolean false | debconf-set-selections проверяю: shell debconf-get-selections | grep generate_smbpasswd samba samba/generate_smbpasswdboolean false aptitude install samba И он мне вкачивает всех пользователей из /etc/passwd, а вопрос generate_smbpasswd получает значение true. Это нормальное поведение или bugreport писать? ага похоже на то вот глянь что у них скрипт делает: Какой версии пакет у Вас? # We vary the priority of the next question depending on whether # the password database already exists... if [ -e /etc/samba/smbpasswd -o -e /var/lib/samba/passdb.tdb ]; then PRIORITY=low else # If 'encrypt passwords' is true in smb.conf, and smbpasswd # does not exist, default to yes here. FILE=/etc/samba/smb.conf db_fget samba/generate_smbpasswd seen Этой строки в 3.0.24-6etch4 я не вижу. if [ $RET = false ] [ -f $FILE ]; then В этой строке в 3.0.24-6etch4 отсутствует '[ $RET = false ] ' То есть даже если seen == true будет выполняться то, что ниже. ENCRYPT=`smbconf_retr encrypt passwords` if [ $ENCRYPT ]; then ENCRYPT=`echo $ENCRYPT | tr '[A-Z]' '[a-z]'` if [ $ENCRYPT = yes ]; then ENCRYPT=true fi if [ $ENCRYPT = no ]; then ENCRYPT=false fi fi db_set samba/generate_smbpasswd $ENCRYPT fi PRIORITY=medium fi db_input $PRIORITY samba/generate_smbpasswd || true db_go по ходу надо не только false поставить но и некоторые файлы создать попробовать Различия между скриптами кажется лежат тут: http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=config.patch;att=1;bug=350926 в unstable починили... WBR Dmitri Ivanov -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: debconf packets which doesn't use debconf
On 19:07:40 Июн 27, 2007, Dmitri V. Ivanov wrote: On Wed, Jun 27, 2007 at 10:51:14AM +0400, Dmitry E. Oboukhov wrote: On 10:38 Wed 27 Jun , Vadim Vatlin wrote: Самбу я пока не устанавливаю. делаю: shell echo samba samba/generate_smbpasswd boolean false | debconf-set-selections проверяю: shell debconf-get-selections | grep generate_smbpasswd samba samba/generate_smbpasswdboolean false aptitude install samba И он мне вкачивает всех пользователей из /etc/passwd, а вопрос generate_smbpasswd получает значение true. Это нормальное поведение или bugreport писать? ага похоже на то вот глянь что у них скрипт делает: # We vary the priority of the next question depending on whether # the password database already exists... if [ -e /etc/samba/smbpasswd -o -e /var/lib/samba/passdb.tdb ]; then PRIORITY=low else # If 'encrypt passwords' is true in smb.conf, and smbpasswd # does not exist, default to yes here. FILE=/etc/samba/smb.conf db_fget samba/generate_smbpasswd seen Вот здесь мы проверили стоит ли у нас на переменной samba/generate_smbpasswd флаг seen (что пользователь уже отвечал на этот вопрос). debconf-(set|get)-selections похоже не имеют механизма передачи этого флага (в формате не предусмотрен), а он вообще-то нужен. Или я ошибаюсь? Хм.. Я не представляю когда может понадобиться c помощью debconf-(set|get)-selections получать/устанавливать флаг seen. Да и в этом случае _лично_ мне не понятна логика человека сопровождающего пакет. Зачем проверять флаг seen если можно напрямую получить значение ответа на вопрос samba/generate_smbpasswd и уже из этого исходить. -- Ватлин В.Г. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: debconf packets which doesn't use debconf
On Thu, Jun 28, 2007 at 03:05:30PM +0400, Vadim Vatlin wrote: db_fget samba/generate_smbpasswd seen Вот здесь мы проверили стоит ли у нас на переменной samba/generate_smbpasswd флаг seen (что пользователь уже отвечал на этот вопрос). debconf-(set|get)-selections похоже не имеют механизма передачи этого флага (в формате не предусмотрен), а он вообще-то нужен. Или я ошибаюсь? Хм.. Я не представляю когда может понадобиться c помощью debconf-(set|get)-selections получать/устанавливать флаг seen. Да и в этом случае _лично_ мне не понятна логика человека сопровождающего пакет. Зачем проверять флаг seen если можно напрямую получить значение ответа на вопрос samba/generate_smbpasswd и уже из этого исходить. Проблема в том, что у переменной может быть значение по умолчанию или то значение, которое подставил пользователь. Иногда эти ситуации хочется различать (вопрос мог быть пользователю просто не задан на основании приоритета, используемого frontend-а или по результатам предыдущих ответов). Переменная не обязательно принадлежит к одному пакету. Проверять seen - рекомендуемый путь (может у maintainer-а были и другие соображения, но чтобы это понять надо глубоко копаться). Чтобы понять почему именно такой подход (проверка seen) необходим в большинстве случаев посмотрите вывод debconf-show console-data (переменные с флагом seen отмечены звездочкой). Если вас это убедит IMHO стоит слать bugreport на debconf-utils (а maintainer-а пакета samba не беспокоить - он все правильно сделал(tm) в отношении этой переменной). Я с ходу не готов сказать будет ли достаточным выводить с помощью debconf-get-selections только переменные с установленным флагом seen, а в debconf-set-selections его просто устанавливать для всех переменных, которые записываются в базу или изменять формат файла (например добавлять эту самую звездочку перед именем переменной). Мне кажется, что это серьезная и крайне неприятная ошибка для тех, кто захочет поставить много одинаковых машин. Если вы не хотите отсылать bugreport на debconf прошу дать знать (отошлю я на своем олбанском). Исправление этой ошибки как мне кажется решит замеченную вами проблему. WBR Dmitri Ivanov -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: debconf packets which doesn't use debconf
On 20:55:03 Июн 28, 2007, Dmitri V. Ivanov wrote: Проблема в том, что у переменной может быть значение по умолчанию или то Что за значение по умолчанию? Не встречал такого. IMHO Либо пользователь ответил на вопрос, либо в ответе пусто. (ответ установленный с помощью db_set или debconf-set-selections думаю стоит рассматривать как ответ пользователя). И тогда, на основании либо пусто, либо ответ и следует дальше принимать решения, а не на основе флага seen. Я не прав? Проверять seen - рекомендуемый путь не подскажете где прочитать об этом можно? Если вы не хотите отсылать bugreport на debconf прошу дать знать (отошлю я на своем олбанском). Отошлите лучше вы, думаю у вас лучше получится объяснить. -- Ватлин В.Г. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: debconf packets which doesn't use debconf
On 00:06:35 Июн 29, 2007, Vadim Vatlin wrote: On 20:55:03 Июн 28, 2007, Dmitri V. Ivanov wrote: Проблема в том, что у переменной может быть значение по умолчанию или то Что за значение по умолчанию? Не встречал такого. Извиняюсь... Не знал, что параметр Default не только предлагает ответ по умолчанию, но и устанавливает его в случае если вопрос не показывается. Тогда, скорее всего вы правы. -- Ватлин В.Г. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: debconf packets which doesn't use debconf
On 10:51:14 Июн 27, 2007, Dmitry E. Oboukhov wrote: по ходу надо не только false поставить но и некоторые файлы создать попробовать хех. ну да. Пожалуй сочиню bugreport, а то поведеиние по-мойму не совсем интуитивно понятное. -- Ватлин В.Г. Системный администратор Т.Д. Шемякиных -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: debconf packets which doesn't use debconf
On Wed, Jun 27, 2007 at 10:51:14AM +0400, Dmitry E. Oboukhov wrote: On 10:38 Wed 27 Jun , Vadim Vatlin wrote: Самбу я пока не устанавливаю. делаю: shell echo samba samba/generate_smbpasswd boolean false | debconf-set-selections проверяю: shell debconf-get-selections | grep generate_smbpasswd samba samba/generate_smbpasswdboolean false aptitude install samba И он мне вкачивает всех пользователей из /etc/passwd, а вопрос generate_smbpasswd получает значение true. Это нормальное поведение или bugreport писать? ага похоже на то вот глянь что у них скрипт делает: # We vary the priority of the next question depending on whether # the password database already exists... if [ -e /etc/samba/smbpasswd -o -e /var/lib/samba/passdb.tdb ]; then PRIORITY=low else # If 'encrypt passwords' is true in smb.conf, and smbpasswd # does not exist, default to yes here. FILE=/etc/samba/smb.conf db_fget samba/generate_smbpasswd seen Вот здесь мы проверили стоит ли у нас на переменной samba/generate_smbpasswd флаг seen (что пользователь уже отвечал на этот вопрос). debconf-(set|get)-selections похоже не имеют механизма передачи этого флага (в формате не предусмотрен), а он вообще-то нужен. Или я ошибаюсь? Тогда багу/отсутствующую фичу нужно добавлять в debconf-(set|get)-selections IMHO. Видимо с dpkg-preconfigure эта бага не вылезет. if [ $RET = false ] [ -f $FILE ]; then ENCRYPT=`smbconf_retr encrypt passwords` if [ $ENCRYPT ]; then ENCRYPT=`echo $ENCRYPT | tr '[A-Z]' '[a-z]'` if [ $ENCRYPT = yes ]; then ENCRYPT=true fi if [ $ENCRYPT = no ]; then ENCRYPT=false fi fi db_set samba/generate_smbpasswd $ENCRYPT fi PRIORITY=medium fi Кусок выше при передаче метаданных как надо не выполнялся бы. db_input $PRIORITY samba/generate_smbpasswd || true db_go WBR Dmitri Ivanov -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]