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