ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] следующий шаг интеграции prometheus2.0 и альтовой инфраструктуры
@ 2009-12-14 17:16 Igor Zubkov
  2009-12-14 21:55 ` Michael Shigorin
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Igor Zubkov @ 2009-12-14 17:16 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Hi!

В текущий момент обновление одного бранча на prometheus.altlinux.org
достаточно ёмкая задача по времени (выдержка из лога):
import src.rpm's
2009-12-14 05:15:05 +0300
2009-12-14 05:23:14 +0300
import i586.rpm's
2009-12-14 05:23:14 +0300
2009-12-14 05:32:59 +0300
import noarch.rpm's
2009-12-14 05:32:59 +0300
2009-12-14 05:40:23 +0300
import x86_64.rpm's
2009-12-14 05:40:23 +0300
2009-12-14 05:49:32 +0300

Итого, 34 минуты. А ещё надо ACLи обновить:
import acls
2009-12-14 05:49:32 +0300
2009-12-14 05:51:48 +0300

Ещё две минуты. Всего 36 минут. И это только для одного бранча (в
данном случае -- Сизиф). А надо ещё 5 таких обработать. Это слишком не
рентабельно по скорости и потребляемым ресурсам. И банально просто не
удобно т.к. раньше чем через сутки не видно изменений на сайте (это
относится к пакетам только, ACL'и обновляется каждый час).

Предлагаю доделать к сборочнице немного доп.функций для лёгкой
интеграции с prometheus2.0:
1) в папке с архивом сборки (или будет более правильно, задания)
(например, http://git.altlinux.org/tasks/archive/done/17030/) добавить
файл prometheus.log для парсинга prometehus2.0. О формате чуть позже.
2) после успешной сборки задания, делать pingback на сайт
prometheus.a.o. примерно вот так:
wget -c "http://prometheus.altlinux.org/pingback/номерзадания/prometheus.status"
далее, если в prometheus.status написано "ok" больше ничего не делать.
В противном случае, прийти через (к примеру) час.

О формате prometheus.log:
1) одна строка -- одна команда
2) команд сколько угодно
3) команды всегда большими

Формат prometheus.log для парсинга:
1) удаление пакета:
DELETE <бранч> <поле имя (Name:) из src.rpm> <кем (логин)>
Пример:
DELETE sisyphus nexuiz icesik

2) добавление нового пакета в репозиторий:
NEW <бранч> <поле имя (Name:) из src.rpm> <version> <release> <кем (логин)>
Пример:
NEW sisyphus nexuiz 2.5.2 alt1 icesik

Так как зная имя src.rpm нельзя быстро узнать список пакетов которые
собраны из него, то придётся их указывать:
PACKAGE <бранч> <поле имя (Name:) из src.rpm> <arch> <имя бинарного
пакета (поле Name: из него)>
Пример:
PACKAGE sisyphus nexuiz i586 nexuiz-client-sdl
PACKAGE sisyphus nexuiz i586 nexuiz-client-glx
PACKAGE sisyphus nexuiz i586 nexuiz-client-common
PACKAGE sisyphus nexuiz i586 nexuiz-server

3) обновление пакета:
UPDATE <бранч> <поле имя (Name:) из src.rpm> <version> <release> <кем (логин)>
Пример:
UPDATE sisyphus nexuiz 2.5.2 alt1 icesik

Так как зная имя src.rpm нельзя быстро узнать список пакетов которые
собраны из него, то придётся их указывать:
PACKAGE <бранч> <поле имя (Name:) из src.rpm> <arch> <имя бинарного
пакета (поле Name: из него)>
Пример:
PACKAGE sisyphus nexuiz i586 nexuiz-client-sdl
PACKAGE sisyphus nexuiz i586 nexuiz-client-glx
PACKAGE sisyphus nexuiz i586 nexuiz-client-common
PACKAGE sisyphus nexuiz i586 nexuiz-server

4) изменение ACL:
ACL <branch> <package name> (ADD|DELETE) login
Пример:
ACL sisyphus nexuiz ADD icesik

Это черновик того что охота (скорее я всё таки что-то забыл). Ну как?
Изменения в prometheus2.0 для поддержки такого я готов написать.
Осталось найти того кто напишет такое для girar.

Предлагаю обсудить это всё.

-- 
Igor Zubkov
http://hi.im/ice

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

end of thread, other threads:[~2009-12-15 17:13 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-14 17:16 [devel] следующий шаг интеграции prometheus2.0 и альтовой инфраструктуры Igor Zubkov
2009-12-14 21:55 ` Michael Shigorin
2009-12-15 14:53   ` Igor Zubkov
2009-12-15 17:13     ` Michael Shigorin
2009-12-14 22:40 ` Dmitry V. Levin
2009-12-14 23:34   ` Kirill A. Shutemov
2009-12-15 10:11 ` Stanislav Ievlev
2009-12-15 11:00   ` Michael Shigorin
2009-12-15 11:04     ` Dmitry V. Levin
2009-12-15 11:10       ` Michael Shigorin
2009-12-15 14:36     ` Igor Zubkov

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