* [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