ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Q: perl-Gtk2, Xvfb
@ 2004-12-13  1:54 Alexey Tourbin
  2004-12-13  6:07 ` Yuri N. Sedunov
  0 siblings, 1 reply; 11+ messages in thread
From: Alexey Tourbin @ 2004-12-13  1:54 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 928 bytes --]

Здравствуйте.
perl-Gtk2 сломался, однако же автоматическая пересборка этого не
выявляет, т.к. в spec-файле используется конструкция

%ifndef _build_display
%def_without test
%endif

$ grep _build_display ~/.rpmmacros
%_build_display :0
$

Т.е. когда я собираю пакет, тесты всегда выполняются, а при
автоматической пересборке не выполняются.  В связи с чем обратил
внимание на Xvfb: с его помощью можно выполнять тесты даже в
изолированный сборочной среде.  Нарисовался код:

start_Xvfb()
{
	local n=0; while [ -e /tmp/.X$n-lock ]; do n=$[$n+1]; done
	/usr/X11R6/bin/Xvfb :$n & sleep 1; kill -0 %+
	trap "kill $(cat /tmp/.X$n-lock)" SIGHUP SIGPIPE SIGINT SIGQUIT SIGTERM EXIT
	export DISPLAY=:$n
}
[ -n "$DISPLAY" ] || start_Xvfb

Вопрос: предложите более корректный вариант кода запуска Xvfb, который
можно использовать в скриптах и вставлять в spec-файлы.  А также
предложите название rpm макроса.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Q: perl-Gtk2, Xvfb
  2004-12-13  1:54 [devel] Q: perl-Gtk2, Xvfb Alexey Tourbin
@ 2004-12-13  6:07 ` Yuri N. Sedunov
  2004-12-13  6:31   ` [devel] " Alexey Tourbin
  2004-12-13  7:05   ` Alexey Tourbin
  0 siblings, 2 replies; 11+ messages in thread
From: Yuri N. Sedunov @ 2004-12-13  6:07 UTC (permalink / raw)
  To: devel

On Понедельник 13 Декабрь 2004 04:54, Alexey Tourbin wrote:
<skip>
> В связи с чем обратил
> внимание на Xvfb: с его помощью можно выполнять тесты даже в
> изолированный сборочной среде.  Нарисовался код:
>
> start_Xvfb()
> {
>  local n=0; while [ -e /tmp/.X$n-lock ]; do n=$[$n+1]; done
>  /usr/X11R6/bin/Xvfb :$n & sleep 1; kill -0 %+
>  trap "kill $(cat /tmp/.X$n-lock)" SIGHUP SIGPIPE SIGINT SIGQUIT SIGTERM
> EXIT export DISPLAY=:$n
> }
> [ -n "$DISPLAY" ] || start_Xvfb
>

Кажется, этот велосипед уже придумали, называется xvfb-run. Мне известны две 
реализации, одна из них находится в одноименном пакете.

> Вопрос: предложите более корректный вариант кода запуска Xvfb, который
> можно использовать в скриптах и вставлять в spec-файлы.  А также
> предложите название rpm макроса.

%xvfb_run

-- 
Yuri N. Sedunov
12/13/04 09:01:57


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [devel] Re: Q: perl-Gtk2, Xvfb
  2004-12-13  6:07 ` Yuri N. Sedunov
@ 2004-12-13  6:31   ` Alexey Tourbin
  2004-12-13  6:48     ` Yuri N. Sedunov
  2004-12-13  7:05   ` Alexey Tourbin
  1 sibling, 1 reply; 11+ messages in thread
From: Alexey Tourbin @ 2004-12-13  6:31 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 989 bytes --]

On Mon, Dec 13, 2004 at 09:07:50AM +0300, Yuri N. Sedunov wrote:
> > start_Xvfb()
> > {
> >  local n=0; while [ -e /tmp/.X$n-lock ]; do n=$[$n+1]; done
> >  /usr/X11R6/bin/Xvfb :$n & sleep 1; kill -0 %+
> >  trap "kill $(cat /tmp/.X$n-lock)" SIGHUP SIGPIPE SIGINT SIGQUIT SIGTERM
> > EXIT export DISPLAY=:$n
> > }
> > [ -n "$DISPLAY" ] || start_Xvfb
> >
> 
> Кажется, этот велосипед уже придумали, называется xvfb-run. Мне известны две 
> реализации, одна из них находится в одноименном пакете.

Не совсем то, но утилизировать можно вполне успешно.
Спасибо за наводку.

> > Вопрос: предложите более корректный вариант кода запуска Xvfb, который
> > можно использовать в скриптах и вставлять в spec-файлы.  А также
> > предложите название rpm макроса.
> 
> %xvfb_run

Макрос в таком случае наверное не нужен.  Макрос был бы нужен, если бы
он раскрывался в shell-код, который в конечном счете делает export
DISPLAY.

> -- 
> Yuri N. Sedunov
> 12/13/04 09:01:57

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Re: Q: perl-Gtk2, Xvfb
  2004-12-13  6:31   ` [devel] " Alexey Tourbin
@ 2004-12-13  6:48     ` Yuri N. Sedunov
  2004-12-13  9:07       ` Alexey Tourbin
  2004-12-13  9:14       ` Mikhail Zabaluev
  0 siblings, 2 replies; 11+ messages in thread
From: Yuri N. Sedunov @ 2004-12-13  6:48 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1062 bytes --]

On Понедельник 13 Декабрь 2004 09:31, Alexey Tourbin wrote:
> On Mon, Dec 13, 2004 at 09:07:50AM +0300, Yuri N. Sedunov wrote:
> > > start_Xvfb()
> > > {
> > >  local n=0; while [ -e /tmp/.X$n-lock ]; do n=$[$n+1]; done
> > >  /usr/X11R6/bin/Xvfb :$n & sleep 1; kill -0 %+
> > >  trap "kill $(cat /tmp/.X$n-lock)" SIGHUP SIGPIPE SIGINT SIGQUIT
> > > SIGTERM EXIT export DISPLAY=:$n
> > > }
> > > [ -n "$DISPLAY" ] || start_Xvfb
> >
> > Кажется, этот велосипед уже придумали, называется xvfb-run. Мне известны
> > две реализации, одна из них находится в одноименном пакете.
>
> Не совсем то, но утилизировать можно вполне успешно.

На всякий случай прикладываю еще одни xvfb_run более чем двухлетней давности, 
если мне не изменяет память, Миша Забалуев приложил к нему руку.

> Спасибо за наводку.
<skip>
> > %xvfb_run
>
> Макрос в таком случае наверное не нужен.  Макрос был бы нужен, если бы
> он раскрывался в shell-код, который в конечном счете делает export
> DISPLAY.

Макрос всегда хорошо, он лучше заметен в спеке.

-- 
Yuri N. Sedunov
12/13/04 09:46:29

[-- Attachment #2: xvfb-run.bz2 --]
[-- Type: application/x-bzip2, Size: 1985 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [devel] Re: Q: perl-Gtk2, Xvfb
  2004-12-13  6:07 ` Yuri N. Sedunov
  2004-12-13  6:31   ` [devel] " Alexey Tourbin
@ 2004-12-13  7:05   ` Alexey Tourbin
  2004-12-13 10:54     ` [devel] xvfb Dmitry V. Levin
  1 sibling, 1 reply; 11+ messages in thread
From: Alexey Tourbin @ 2004-12-13  7:05 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 1026 bytes --]

On Mon, Dec 13, 2004 at 09:07:50AM +0300, Yuri N. Sedunov wrote:
> > start_Xvfb()
> > {
> >  local n=0; while [ -e /tmp/.X$n-lock ]; do n=$[$n+1]; done
> >  /usr/X11R6/bin/Xvfb :$n & sleep 1; kill -0 %+
> >  trap "kill $(cat /tmp/.X$n-lock)" SIGHUP SIGPIPE SIGINT SIGQUIT SIGTERM
> > EXIT export DISPLAY=:$n
> > }
> > [ -n "$DISPLAY" ] || start_Xvfb
> >
> 
> Кажется, этот велосипед уже придумали, называется xvfb-run. Мне известны две 
> реализации, одна из них находится в одноименном пакете.

Хех.  Сигналы оно плоховато ловит.

$ killall Xvfb xvfb-run
Xvfb: no process killed
xvfb-run: no process killed
$ xvfb-run cat & sleep 10; kill -HUP %+
[1] 26180
xauth:  creating new authority file /home/at/.Xauthority
[1]  + suspended (tty input)  xvfb-run cat
Hangup
[1]  + exit 129   xvfb-run cat
$ ps -auwx |grep vfb
at       26188  5.3  2.1  6904 2732 pts/3    SN   10:02   0:02 Xvfb :99 -screen 0 640x480x8 -nolisten tcp
at       26194  0.0  0.4  1660  564 pts/3    S    10:03   0:00 grep vfb
$

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [devel] Re: Q: perl-Gtk2, Xvfb
  2004-12-13  6:48     ` Yuri N. Sedunov
@ 2004-12-13  9:07       ` Alexey Tourbin
  2004-12-13  9:14       ` Mikhail Zabaluev
  1 sibling, 0 replies; 11+ messages in thread
From: Alexey Tourbin @ 2004-12-13  9:07 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 326 bytes --]

On Mon, Dec 13, 2004 at 09:48:52AM +0300, Yuri N. Sedunov wrote:
> На всякий случай прикладываю еще одни xvfb_run более чем двухлетней давности, 
> если мне не изменяет память, Миша Забалуев приложил к нему руку.

Нарисовано красивше, но сигналы всё равно не ловит.
Т.е. xvfb-run должен стопудово уносить за собой Xvfb.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Re: Q: perl-Gtk2, Xvfb
  2004-12-13  6:48     ` Yuri N. Sedunov
  2004-12-13  9:07       ` Alexey Tourbin
@ 2004-12-13  9:14       ` Mikhail Zabaluev
  2004-12-13 10:52         ` Dmitry V. Levin
  1 sibling, 1 reply; 11+ messages in thread
From: Mikhail Zabaluev @ 2004-12-13  9:14 UTC (permalink / raw)
  To: ALT Devel discussion list

В Пнд, 13/12/2004 в 09:48 +0300, Yuri N. Sedunov пишет:
> On Понедельник 13 Декабрь 2004 09:31, Alexey Tourbin wrote:
> > On Mon, Dec 13, 2004 at 09:07:50AM +0300, Yuri N. Sedunov wrote:
> > > > start_Xvfb()
> > > > {
> > > >  local n=0; while [ -e /tmp/.X$n-lock ]; do n=$[$n+1]; done
> > > >  /usr/X11R6/bin/Xvfb :$n & sleep 1; kill -0 %+
> > > >  trap "kill $(cat /tmp/.X$n-lock)" SIGHUP SIGPIPE SIGINT SIGQUIT
> > > > SIGTERM EXIT export DISPLAY=:$n
> > > > }
> > > > [ -n "$DISPLAY" ] || start_Xvfb
> > >
> > > Кажется, этот велосипед уже придумали, называется xvfb-run. Мне известны
> > > две реализации, одна из них находится в одноименном пакете.
> >
> > Не совсем то, но утилизировать можно вполне успешно.
> 
> На всякий случай прикладываю еще одни xvfb_run более чем двухлетней давности, 
> если мне не изменяет память, Миша Забалуев приложил к нему руку.

Тот, что в пакете, по-моему, лучше.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Re: Q: perl-Gtk2, Xvfb
  2004-12-13  9:14       ` Mikhail Zabaluev
@ 2004-12-13 10:52         ` Dmitry V. Levin
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry V. Levin @ 2004-12-13 10:52 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1135 bytes --]

On Mon, Dec 13, 2004 at 12:14:14PM +0300, Mikhail Zabaluev wrote:
> В Пнд, 13/12/2004 в 09:48 +0300, Yuri N. Sedunov пишет:
> > On Понедельник 13 Декабрь 2004 09:31, Alexey Tourbin wrote:
> > > On Mon, Dec 13, 2004 at 09:07:50AM +0300, Yuri N. Sedunov wrote:
> > > > > start_Xvfb()
> > > > > {
> > > > >  local n=0; while [ -e /tmp/.X$n-lock ]; do n=$[$n+1]; done
> > > > >  /usr/X11R6/bin/Xvfb :$n & sleep 1; kill -0 %+
> > > > >  trap "kill $(cat /tmp/.X$n-lock)" SIGHUP SIGPIPE SIGINT SIGQUIT
> > > > > SIGTERM EXIT export DISPLAY=:$n
> > > > > }
> > > > > [ -n "$DISPLAY" ] || start_Xvfb
> > > >
> > > > Кажется, этот велосипед уже придумали, называется xvfb-run. Мне известны
> > > > две реализации, одна из них находится в одноименном пакете.
> > >
> > > Не совсем то, но утилизировать можно вполне успешно.
> > 
> > На всякий случай прикладываю еще одни xvfb_run более чем двухлетней давности, 
> > если мне не изменяет память, Миша Забалуев приложил к нему руку.
> 
> Тот, что в пакете, по-моему, лучше.

Тот, что в пакете, по-моему, тоже лучше.

Пример использования см. в пакете xres.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] xvfb
  2004-12-13  7:05   ` Alexey Tourbin
@ 2004-12-13 10:54     ` Dmitry V. Levin
  2004-12-13 11:17       ` [devel] xvfb Alexey Tourbin
  0 siblings, 1 reply; 11+ messages in thread
From: Dmitry V. Levin @ 2004-12-13 10:54 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 704 bytes --]

On Mon, Dec 13, 2004 at 10:05:07AM +0300, Alexey Tourbin wrote:
> On Mon, Dec 13, 2004 at 09:07:50AM +0300, Yuri N. Sedunov wrote:
> > > start_Xvfb()
> > > {
> > >  local n=0; while [ -e /tmp/.X$n-lock ]; do n=$[$n+1]; done
> > >  /usr/X11R6/bin/Xvfb :$n & sleep 1; kill -0 %+
> > >  trap "kill $(cat /tmp/.X$n-lock)" SIGHUP SIGPIPE SIGINT SIGQUIT SIGTERM
> > > EXIT export DISPLAY=:$n
> > > }
> > > [ -n "$DISPLAY" ] || start_Xvfb
> > >
> > 
> > Кажется, этот велосипед уже придумали, называется xvfb-run. Мне известны две 
> > реализации, одна из них находится в одноименном пакете.
> 
> Хех.  Сигналы оно плоховато ловит.

Оно сигналы ловит, но Xvfb не убивает.  Надо?


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [devel] Re: xvfb
  2004-12-13 10:54     ` [devel] xvfb Dmitry V. Levin
@ 2004-12-13 11:17       ` Alexey Tourbin
  2004-12-13 11:31         ` Dmitry V. Levin
  0 siblings, 1 reply; 11+ messages in thread
From: Alexey Tourbin @ 2004-12-13 11:17 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 492 bytes --]

On Mon, Dec 13, 2004 at 01:54:34PM +0300, Dmitry V. Levin wrote:
> > Хех.  Сигналы оно плоховато ловит.
> Оно сигналы ловит, но Xvfb не убивает.  Надо?

Думаю, что "по смыслу" -- надо.  Какой смысл оставлять висеть Xvfb
после завершения xvfb-run?  Т.е. это не клиент-сервер, а wrapper.
Думаю даже, что и процесс, который выполняется под Xvfb, тоже нужно
убивать.  А то бывает нажмёшь C-C на каком-нибудь скрипте, а тебе
на экран продолжает сыпаться всякая дребедень.

> -- 
> ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [devel] Re: xvfb
  2004-12-13 11:17       ` [devel] xvfb Alexey Tourbin
@ 2004-12-13 11:31         ` Dmitry V. Levin
  0 siblings, 0 replies; 11+ messages in thread
From: Dmitry V. Levin @ 2004-12-13 11:31 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 626 bytes --]

On Mon, Dec 13, 2004 at 02:17:36PM +0300, Alexey Tourbin wrote:
> On Mon, Dec 13, 2004 at 01:54:34PM +0300, Dmitry V. Levin wrote:
> > > Хех.  Сигналы оно плоховато ловит.
> > Оно сигналы ловит, но Xvfb не убивает.  Надо?
> 
> Думаю, что "по смыслу" -- надо.  Какой смысл оставлять висеть Xvfb
> после завершения xvfb-run?  Т.е. это не клиент-сервер, а wrapper.
> Думаю даже, что и процесс, который выполняется под Xvfb, тоже нужно
> убивать.  А то бывает нажмёшь C-C на каком-нибудь скрипте, а тебе
> на экран продолжает сыпаться всякая дребедень.

Ok, реализация тривиальна и скоро будет в Сизифе.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2004-12-13 11:31 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-12-13  1:54 [devel] Q: perl-Gtk2, Xvfb Alexey Tourbin
2004-12-13  6:07 ` Yuri N. Sedunov
2004-12-13  6:31   ` [devel] " Alexey Tourbin
2004-12-13  6:48     ` Yuri N. Sedunov
2004-12-13  9:07       ` Alexey Tourbin
2004-12-13  9:14       ` Mikhail Zabaluev
2004-12-13 10:52         ` Dmitry V. Levin
2004-12-13  7:05   ` Alexey Tourbin
2004-12-13 10:54     ` [devel] xvfb Dmitry V. Levin
2004-12-13 11:17       ` [devel] xvfb Alexey Tourbin
2004-12-13 11:31         ` Dmitry V. Levin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git