Bug 17047

Summary: [FR] control facility
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: gdmAssignee: Alexey Rusakov <ktirf>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: aris, shaba
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 15333, 22550    
Attachments:
Description Flags
Control facility none

Description Michael Shigorin 2008-09-08 00:49:56 MSD
Просьба при удобном случае добавить control gdm-xdmcp, который бы включал отключенный (резонно) по умолчанию XDMCP.  Предполагается использовать для терминального варианта с GNOME.
Comment 1 Alexey Rusakov 2009-07-19 17:36:56 MSD
Осмысленно ли это вешать на control, если у XDMCP есть ещё букетик настроек?
Comment 2 Alexey Rusakov 2009-08-29 04:47:37 MSD
Миша, скажи что-нибудь, а то я закрою баг.
Comment 3 Michael Shigorin 2009-08-31 13:19:19 MSD
Хм, последний раз как смотрел на эту багу -- думал, думал, да так и запамятовал ответить.

В силу того, что мне создание Gnome Terminal облегчит именно удобная ручка для включения XDMCP -- решай сам, насколько осмысленно :)
Comment 4 Alexey Rusakov 2009-09-15 00:20:50 MSD
Это вымогательство :) Ладно, что-нибудь соображу.
Comment 5 Michael Shigorin 2009-09-18 23:27:18 MSD
(In reply to comment #4)
> Это вымогательство :) Ладно, что-нибудь соображу.
Да ладно, добрым словом и фичреквестом... или фичреквестом и пистолетом... [:)
Comment 6 Alexey Rusakov 2009-09-19 03:30:47 MSD
А задачка, вообще говоря, совсем нетривиальная. Ибо управляется это дело в GDM теперь через GConf (от имени GDM запускаемый же), а это значит, что
а) для изменения (да и для чтения, по-хорошему, тоже) этой настройки нужно нырять в псевдопользователя gdm (su - -s /bin/sh gdm, брр);
б) для чтения и изменения этой настройки не подойдёт new_subst, которым обычно пользуются в контрольных фасилитях такого рода; приходится в дополнение к /etc/control.d/functions писать свои навороты для чтения/записи значения GConf-ключей (тоже брр; офигительная, но совершенно бесполезная фича).
В общем, у меня стойкое ощущение, что я делаю что-то нехорошее. По-хорошему эту задачу надо решать с какого-то другого конца.
Comment 7 Alexey Rusakov 2009-09-19 04:25:24 MSD
Кажется, я прогнал. Настройки XDMCP по-прежнему хранятся в обычном ini-style файле. Даже жалко :)
Comment 8 Michael Shigorin 2009-09-19 12:49:43 MSD
<s>А если не control, а шельная пиналка?  Даже не глядя в состояние?  Такое необязательно класть в сам gdm, скорее лучше оформить installer-feature*stage3.</s>

...фух :)
Comment 9 Alexey Rusakov 2009-09-19 22:55:25 MSD
Убив почти сутки на эту задачу (цени :), попробовав между делом воспользоваться Перлом с его Config::IniFiles, я пришёл к старым-добрым awk и sed. Возможностей /etc/control.d/functions, конечно, совсем не хватило, слабый там API. Но в конечном счёте получилось даже почти красиво. Но добиться появления чего-нибудь на порте 177 я не смог - может быть, из-за local misconfiguration. В общем, просьба проверить, фасилити сейчас прикреплю.
Comment 10 Alexey Rusakov 2009-09-19 22:57:33 MSD
Created attachment 3904 [details]
Control facility

Класть в /etc/control.d/facilities.
Comment 11 Michael Shigorin 2009-09-20 16:05:56 MSD
(In reply to comment #9)
> Убив почти сутки на эту задачу (цени :)
Ценю, сам предыдущие два дня угробил на в итоге bug #21629 :)

> попробовав между делом воспользоваться Перлом с его Config::IniFiles
BTW led@ в ltsconf воспользовался какой-то библиотечкой на тикле, там удобно получалось.

> я пришёл к старым-добрым awk и sed
8)

> В общем, просьба проверить, фасилити сейчас прикреплю.
Спасибо!  Уже созреваю к очередному подходу к LTSP, осталось немного раскидаться и поездить.
Comment 12 Michael Shigorin 2009-12-09 22:27:17 MSK
(In reply to comment #10)
> Класть в /etc/control.d/facilities.
Положил, 177/udp слушать начинает, если сделать enabled -- просьба класть в пакет.  Спасибо!
Comment 13 Michael Shigorin 2009-12-10 01:04:16 MSK
Для 2.26.1 прикручено и проверено у меня в gdm.git::master (2.26.1-alt4.2):
http://git.altlinux.org/people/mike/packages/?p=gdm.git;a=commitdiff;h=ac89f6f0a6dd636016b3fb1e0d9856cbf002d4cd

Для 2.28.1 помержено в бранч sisyphus, но это не проверял (собираю образы на 5.1/branch).  Впрочем, подложенный руками control-файл тестовое обновление с 2.26.1 на 2.28.1 пережил нормально и работоспособность не утратил.

Первую исошку ltsp-gnome.cd уже заливаю на f.l.k.u. :)
Comment 14 Repository Robot 2009-12-11 15:02:22 MSK
gdm-2.26.1-alt5.M51.1 -> 5.1:

* Fri Dec 11 2009 Alexey Shabalin <shaba@altlinux> 2.26.1-alt5.M51.1

- mike@:
  + added XDMCP control support by ktirf@ (closes: #17047)
  + applied patch from RH#496882 to fix cookies when using XDMCP
Comment 15 Michael Shigorin 2009-12-11 18:01:26 MSK
Спасибо!
Comment 16 Valery Inozemtsev 2009-12-14 08:57:49 MSK
граждане, вы что курили?
#  apt-get install gdm                        
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  gdm-gnome geronimo-qname-1.1-api geronimo-specs-poms sun-stax-1.0-api xmlbeans xmlbeans-scripts
The following packages will be upgraded
  gdm gdm-gnome
The following NEW packages will be installed:
  geronimo-qname-1.1-api geronimo-specs-poms sun-stax-1.0-api xmlbeans xmlbeans-scripts
2 upgraded, 5 newly installed, 0 removed and 8 not upgraded.
Need to get 3351kB of archives.
After unpacking 3331kB of additional disk space will be used.
Do you want to continue? [Y/n]

смотрим в gdm_xdmcp.control. строка 49
if ! validate "$REQUEST"; then
Comment 17 Valery Inozemtsev 2009-12-14 11:38:06 MSK
что хотели:
# cat validate 
#!/bin/sh

. /etc/control.d/functions

validate $*
# sh -x validate help; echo $?
+ . /etc/control.d/functions
++ NAME_LIST=
++ '[' -n help ']'
+ validate help
+ printf %s help
+ grep -q '^[a-z0-9_]*$'
0

что получили:
# validate help; echo $?
/usr/bin/validate: line 22: /usr/bin/_setlib: No such file or directory
1
Comment 18 Michael Shigorin 2009-12-14 15:01:01 MSK
Офигеть.  У меня при локальной сборке (правда, своего) подобного не замечено.

А курили жейтуишники, когда такие generic-имена залапывали... :(
Comment 19 Repository Robot 2009-12-15 18:31:33 MSK
gdm-2.28.1-alt3 -> sisyphus:

* Mon Dec 14 2009 Valery Inozemtsev <shrek@altlinux> 2.28.1-alt3

- fixed spurious requires (closes: #17047)
Comment 20 Michael Shigorin 2009-12-15 20:14:39 MSK
Ай спасибо, ты быстрее добрался ;-)