* Re: [devel] Как сделать репозиторий в git
2006-04-25 22:47 [devel] Как сделать репозиторий в git Dmitry V. Levin
@ 2006-04-25 23:02 ` Alexey Tourbin
2006-04-25 23:10 ` Dmitry V. Levin
2006-04-25 23:46 ` Alexey Tourbin
` (5 subsequent siblings)
6 siblings, 1 reply; 81+ messages in thread
From: Alexey Tourbin @ 2006-04-25 23:02 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 449 bytes --]
On Wed, Apr 26, 2006 at 02:47:36AM +0400, Dmitry V. Levin wrote:
> On Tue, Apr 25, 2006 at 04:32:13PM +0400, Dmitry V. Levin wrote:
> > On Tue, Apr 25, 2006 at 09:53:28AM +0400, Anton Farygin wrote:
> [...]
> > > Хм. расскажи плз, как это сделать ?
> > Расскажу обязательно, вот закончу тестировать и расскажу.
> Начну понемногу рассказывать, как я это вижу.
А что именно в конечном счете предлагается сделать?
Начни с постановки задачи.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 23:02 ` Alexey Tourbin
@ 2006-04-25 23:10 ` Dmitry V. Levin
2006-04-25 23:18 ` Alexey Tourbin
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-25 23:10 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 734 bytes --]
On Wed, Apr 26, 2006 at 03:02:41AM +0400, Alexey Tourbin wrote:
> On Wed, Apr 26, 2006 at 02:47:36AM +0400, Dmitry V. Levin wrote:
> > On Tue, Apr 25, 2006 at 04:32:13PM +0400, Dmitry V. Levin wrote:
> > > On Tue, Apr 25, 2006 at 09:53:28AM +0400, Anton Farygin wrote:
> > [...]
> > > > Хм. расскажи плз, как это сделать ?
> > > Расскажу обязательно, вот закончу тестировать и расскажу.
> > Начну понемногу рассказывать, как я это вижу.
>
> А что именно в конечном счете предлагается сделать?
> Начни с постановки задачи.
Каждому мантейнеру - по репозиторию исходного кода на каждый пакет,
который он ведёт. srpm'ы годятся только в качестве временного контейнера
исходного кода на время сборки пакета.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 23:10 ` Dmitry V. Levin
@ 2006-04-25 23:18 ` Alexey Tourbin
2006-04-25 23:34 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Alexey Tourbin @ 2006-04-25 23:18 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 577 bytes --]
On Wed, Apr 26, 2006 at 03:10:05AM +0400, Dmitry V. Levin wrote:
> > > Начну понемногу рассказывать, как я это вижу.
> >
> > А что именно в конечном счете предлагается сделать?
> > Начни с постановки задачи.
>
> Каждому мантейнеру - по репозиторию исходного кода на каждый пакет,
> который он ведёт. srpm'ы годятся только в качестве временного контейнера
> исходного кода на время сборки пакета.
Т.е. со временем отменить incoming как таковой?
А тарболлы обязательно будет самому класть в репозитарий?
В смысле экономии трафика стоило бы сделать URL и md5sum.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 23:18 ` Alexey Tourbin
@ 2006-04-25 23:34 ` Dmitry V. Levin
2006-04-26 8:36 ` Michael Shigorin
2006-04-26 13:42 ` Alexey Tourbin
0 siblings, 2 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-25 23:34 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 954 bytes --]
On Wed, Apr 26, 2006 at 03:18:36AM +0400, Alexey Tourbin wrote:
> On Wed, Apr 26, 2006 at 03:10:05AM +0400, Dmitry V. Levin wrote:
> > > > Начну понемногу рассказывать, как я это вижу.
> > >
> > > А что именно в конечном счете предлагается сделать?
> > > Начни с постановки задачи.
> >
> > Каждому мантейнеру - по репозиторию исходного кода на каждый пакет,
> > который он ведёт. srpm'ы годятся только в качестве временного контейнера
> > исходного кода на время сборки пакета.
>
> Т.е. со временем отменить incoming как таковой?
Да.
> А тарболлы обязательно будет самому класть в репозитарий?
У мантейнера должны быть тарболлы, иначе ему ничего не собрать.
> В смысле экономии трафика стоило бы сделать URL и md5sum.
Э, git оперирует sha1sum'ами. Нет, пока что git-push этой оптимизации
не умеет. Кроме того, в репозитории тарболлы лучше держать
распакованными, тогда они занимают меньше места на диске.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 23:34 ` Dmitry V. Levin
@ 2006-04-26 8:36 ` Michael Shigorin
2006-04-26 8:45 ` Alexey Tourbin
2006-04-26 13:42 ` Alexey Tourbin
1 sibling, 1 reply; 81+ messages in thread
From: Michael Shigorin @ 2006-04-26 8:36 UTC (permalink / raw)
To: ALT Devel discussion list
On Wed, Apr 26, 2006 at 03:34:00AM +0400, Dmitry V. Levin wrote:
> > В смысле экономии трафика стоило бы сделать URL и md5sum.
> Э, git оперирует sha1sum'ами. Нет, пока что git-push этой
> оптимизации не умеет. Кроме того, в репозитории тарболлы лучше
> держать распакованными, тогда они занимают меньше места на
> диске.
Наверное, Лёша подразумевал что-то вроде того, что встречается
в PLD'шных спеках (не знаю, как оно у них используется):
Source0: http://dl.sourceforge.net/varmon/%name-%version.tar.gz
# Source0-md5: fd251b64ad4976ef8573f0d2a20a02f9
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 8:36 ` Michael Shigorin
@ 2006-04-26 8:45 ` Alexey Tourbin
2006-04-26 9:21 ` Michael Shigorin
0 siblings, 1 reply; 81+ messages in thread
From: Alexey Tourbin @ 2006-04-26 8:45 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 860 bytes --]
On Wed, Apr 26, 2006 at 11:36:33AM +0300, Michael Shigorin wrote:
> On Wed, Apr 26, 2006 at 03:34:00AM +0400, Dmitry V. Levin wrote:
> > > В смысле экономии трафика стоило бы сделать URL и md5sum.
> > Э, git оперирует sha1sum'ами. Нет, пока что git-push этой
> > оптимизации не умеет. Кроме того, в репозитории тарболлы лучше
> > держать распакованными, тогда они занимают меньше места на
> > диске.
>
> Наверное, Лёша подразумевал что-то вроде того, что встречается
> в PLD'шных спеках (не знаю, как оно у них используется):
>
> Source0: http://dl.sourceforge.net/varmon/%name-%version.tar.gz
> # Source0-md5: fd251b64ad4976ef8573f0d2a20a02f9
Да где только не встречал.
$ pwd
/home/at/AnonCVS/FC-devel
$ cat ./bash/sources
ef5304c4b22aaa5088972c792ed45d72 bash-3.1.tar.gz
a8c517c6a7b21b8b855190399c5935ae bash-doc-3.1.tar.gz
$
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 23:34 ` Dmitry V. Levin
2006-04-26 8:36 ` Michael Shigorin
@ 2006-04-26 13:42 ` Alexey Tourbin
2006-04-26 13:53 ` Michael Shigorin
1 sibling, 1 reply; 81+ messages in thread
From: @ 2006-04-26 13:42 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 22:47 [devel] Как сделать репозиторий в git Dmitry V. Levin
2006-04-25 23:02 ` Alexey Tourbin
@ 2006-04-25 23:46 ` Alexey Tourbin
2006-04-25 23:56 ` Dmitry V. Levin
2006-04-26 5:11 ` Alexey I. Froloff
` (4 subsequent siblings)
6 siblings, 1 reply; 81+ messages in thread
From: @ 2006-04-25 23:46 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 22:47 [devel] Как сделать репозиторий в git Dmitry V. Levin
2006-04-25 23:02 ` Alexey Tourbin
2006-04-25 23:46 ` Alexey Tourbin
@ 2006-04-26 5:11 ` Alexey I. Froloff
2006-04-26 10:33 ` Dmitry V. Levin
2006-04-26 7:13 ` Vital Khilko
` (3 subsequent siblings)
6 siblings, 1 reply; 81+ messages in thread
From: @ 2006-04-26 5:11 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 5:11 ` Alexey I. Froloff
@ 2006-04-26 10:33 ` Dmitry V. Levin
2006-04-26 23:34 ` Dmitry V. Levin
2006-04-28 8:22 ` Alexey I. Froloff
0 siblings, 2 replies; 81+ messages in thread
From: @ 2006-04-26 10:33 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 10:33 ` Dmitry V. Levin
@ 2006-04-26 23:34 ` Dmitry V. Levin
2006-04-28 8:22 ` Alexey I. Froloff
1 sibling, 0 replies; 81+ messages in thread
From: @ 2006-04-26 23:34 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 10:33 ` Dmitry V. Levin
2006-04-26 23:34 ` Dmitry V. Levin
@ 2006-04-28 8:22 ` Alexey I. Froloff
2006-04-28 12:06 ` Dmitry V. Levin
1 sibling, 1 reply; 81+ messages in thread
From: @ 2006-04-28 8:22 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-28 8:22 ` Alexey I. Froloff
@ 2006-04-28 12:06 ` Dmitry V. Levin
2006-04-28 12:23 ` Alexey I. Froloff
0 siblings, 1 reply; 81+ messages in thread
From: @ 2006-04-28 12:06 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-28 12:06 ` Dmitry V. Levin
@ 2006-04-28 12:23 ` Alexey I. Froloff
2006-04-28 12:35 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: @ 2006-04-28 12:23 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-28 12:23 ` Alexey I. Froloff
@ 2006-04-28 12:35 ` Dmitry V. Levin
2006-04-28 12:47 ` Alexey I. Froloff
0 siblings, 1 reply; 81+ messages in thread
From: @ 2006-04-28 12:35 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-28 12:35 ` Dmitry V. Levin
@ 2006-04-28 12:47 ` Alexey I. Froloff
2006-04-29 9:20 ` Kirill A. Shutemov
0 siblings, 1 reply; 81+ messages in thread
From: @ 2006-04-28 12:47 UTC (permalink / raw)
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-28 12:47 ` Alexey I. Froloff
@ 2006-04-29 9:20 ` Kirill A. Shutemov
2006-04-30 23:07 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Kirill A. Shutemov @ 2006-04-29 9:20 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1069 bytes --]
On 16:47 Fri 28 Apr, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [060428 16:36]:
> > > Только под vim-*.tar попадёт и vim-7.0f-extra.tar тоже...
> > А что, vim-*.tar задумывалось как правило по умолчанию?
> Нет, как правило для:
>
> vim-6.4.tar.bz2
> vim-7.0f.tar.bz2
> vim-20060428.tar.bz2
>
> Zsh (и ksh) например может:
>
> vim-([0-9a-z.])##.tar
>
> Можно, конечно, придумать неестественный интеллект, который бы из
> каждого результата раскрытия шаблона убирал ранее попавшие под
> него файлы, но не знаю насколько это оправдано ;-)
Не, лучше не надо. Может целесобразней использовать реальные regexp'ы
вместо шелловских звёздочек и прочих вопросиков?
--
Kirill A. Shutemov Belarus, Minsk
E-mail: k.shutemov (AT) sam-solutions.net
JID: kas (AT) altlinux.org
ICQ: 152302675
> А почему вы думаете, что меня, как "конечного пользователя"
> дистрибутива, должен заботить этот нюанс?
Потому что я вижу, что вы формулируете вопросы, которые "конечный
пользователь" не в состоянии сформулировать.
-- ldv in community@
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-29 9:20 ` Kirill A. Shutemov
@ 2006-04-30 23:07 ` Dmitry V. Levin
2006-05-01 9:43 ` Alexey I. Froloff
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-30 23:07 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 969 bytes --]
On Sat, Apr 29, 2006 at 12:20:15PM +0300, Kirill A. Shutemov wrote:
> On 16:47 Fri 28 Apr, Alexey I. Froloff wrote:
> > * Dmitry V. Levin <ldv@> [060428 16:36]:
> > > > Только под vim-*.tar попадёт и vim-7.0f-extra.tar тоже...
> > > А что, vim-*.tar задумывалось как правило по умолчанию?
> > Нет, как правило для:
> >
> > vim-6.4.tar.bz2
> > vim-7.0f.tar.bz2
> > vim-20060428.tar.bz2
> >
> > Zsh (и ksh) например может:
> >
> > vim-([0-9a-z.])##.tar
Для этого и vim-[0-9]*.tar достаточно.
> > Можно, конечно, придумать неестественный интеллект, который бы из
> > каждого результата раскрытия шаблона убирал ранее попавшие под
> > него файлы, но не знаю насколько это оправдано ;-)
> Не, лучше не надо. Может целесобразней использовать реальные regexp'ы
> вместо шелловских звёздочек и прочих вопросиков?
Сделать не сложно, насчёт целесообразности не уверен.
В %files используется glob, все привыкли, зачем здесь regexp'ы?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 22:47 [devel] Как сделать репозиторий в git Dmitry V. Levin
` (2 preceding siblings ...)
2006-04-26 5:11 ` Alexey I. Froloff
@ 2006-04-26 7:13 ` Vital Khilko
2006-04-26 10:35 ` Dmitry V. Levin
2006-04-26 18:46 ` Anton Farygin
` (2 subsequent siblings)
6 siblings, 1 reply; 81+ messages in thread
From: Vital Khilko @ 2006-04-26 7:13 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1900 bytes --]
У Срд, 26/04/2006 у 02:47 +0400, Dmitry V. Levin піша:
> On Tue, Apr 25, 2006 at 04:32:13PM +0400, Dmitry V. Levin wrote:
> > On Tue, Apr 25, 2006 at 09:53:28AM +0400, Anton Farygin wrote:
> [...]
> > > Хм. расскажи плз, как это сделать ?
> > Расскажу обязательно, вот закончу тестировать и расскажу.
>
> Начну понемногу рассказывать, как я это вижу.
>
> Предпосылка та же, что была при создании hasher'а: я предполагаю, что
> система предназначена не только для того, чтобы мантейнер собирал свои
> пакеты, но и для того, чтобы собирать чужие пакеты "не глядя".
>
> В этом случае содержимое репозитория следует рассматривать как untrusted
> input. В такой ситуации нельзя использовать простые методы, эквивалентные
> запуску произвольного кода, извлекаемого из репозитория. К этим простым
> методам относятся:
> - запускаемые скрипты;
> - включаемые makefile'ы;
> - specfile'ы, обрабатываемые rpmbuild'ом.
>
У нас в bte2 сборка временного srpm пакета проходит несколько иначе -
внутри чрута вызовом rpm -bs .spec с разбором вывода rpm на предмет
ругани об отсутствии файла. Подкладывания необходимого и повторный вызов
rpm -bs .spec, и так пока rpm не будет удовлетворён.
[-- Attachment #2: Гэтая частка паведамленьня падпісаная электроным подпісам --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 7:13 ` Vital Khilko
@ 2006-04-26 10:35 ` Dmitry V. Levin
2006-04-26 11:21 ` Kirill A. Shutemov
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-26 10:35 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1517 bytes --]
On Wed, Apr 26, 2006 at 10:13:25AM +0300, Vital Khilko wrote:
> У Срд, 26/04/2006 у 02:47 +0400, Dmitry V. Levin п??ша:
> > On Tue, Apr 25, 2006 at 04:32:13PM +0400, Dmitry V. Levin wrote:
> > > On Tue, Apr 25, 2006 at 09:53:28AM +0400, Anton Farygin wrote:
> > [...]
> > > > Хм. расскажи плз, как это сделать ?
> > > Расскажу обязательно, вот закончу тестировать и расскажу.
> >
> > Начну понемногу рассказывать, как я это вижу.
> >
> > Предпосылка та же, что была при создании hasher'а: я предполагаю, что
> > система предназначена не только для того, чтобы мантейнер собирал свои
> > пакеты, но и для того, чтобы собирать чужие пакеты "не глядя".
> >
> > В этом случае содержимое репозитория следует рассматривать как untrusted
> > input. В такой ситуации нельзя использовать простые методы, эквивалентные
> > запуску произвольного кода, извлекаемого из репозитория. К этим простым
> > методам относятся:
> > - запускаемые скрипты;
> > - включаемые makefile'ы;
> > - specfile'ы, обрабатываемые rpmbuild'ом.
> >
> У нас в bte2 сборка временного srpm пакета проходит несколько иначе -
> внутри чрута вызовом rpm -bs .spec с разбором вывода rpm на предмет
> ругани об отсутствии файла. Подкладывания необходимого и повторный вызов
> rpm -bs .spec, и так пока rpm не будет удовлетворён.
А проверка на сходимость итерационного процесса есть? :)
Что делать, если rpmbuild ругается на синтаксическую ошибку, вызванную
нераскрытым макросом из-за неустановленного пакета?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 10:35 ` Dmitry V. Levin
@ 2006-04-26 11:21 ` Kirill A. Shutemov
0 siblings, 0 replies; 81+ messages in thread
From: Kirill A. Shutemov @ 2006-04-26 11:21 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2069 bytes --]
On 14:35 Wed 26 Apr, Dmitry V. Levin wrote:
> On Wed, Apr 26, 2006 at 10:13:25AM +0300, Vital Khilko wrote:
> > У Срд, 26/04/2006 у 02:47 +0400, Dmitry V. Levin п??ша:
> > > On Tue, Apr 25, 2006 at 04:32:13PM +0400, Dmitry V. Levin wrote:
> > > > On Tue, Apr 25, 2006 at 09:53:28AM +0400, Anton Farygin wrote:
> > > [...]
> > > > > Хм. расскажи плз, как это сделать ?
> > > > Расскажу обязательно, вот закончу тестировать и расскажу.
> > >
> > > Начну понемногу рассказывать, как я это вижу.
> > >
> > > Предпосылка та же, что была при создании hasher'а: я предполагаю, что
> > > система предназначена не только для того, чтобы мантейнер собирал свои
> > > пакеты, но и для того, чтобы собирать чужие пакеты "не глядя".
> > >
> > > В этом случае содержимое репозитория следует рассматривать как untrusted
> > > input. В такой ситуации нельзя использовать простые методы, эквивалентные
> > > запуску произвольного кода, извлекаемого из репозитория. К этим простым
> > > методам относятся:
> > > - запускаемые скрипты;
> > > - включаемые makefile'ы;
> > > - specfile'ы, обрабатываемые rpmbuild'ом.
> > >
> > У нас в bte2 сборка временного srpm пакета проходит несколько иначе -
> > внутри чрута вызовом rpm -bs .spec с разбором вывода rpm на предмет
> > ругани об отсутствии файла. Подкладывания необходимого и повторный вызов
> > rpm -bs .spec, и так пока rpm не будет удовлетворён.
>
> А проверка на сходимость итерационного процесса есть? :)
> Что делать, если rpmbuild ругается на синтаксическую ошибку, вызванную
> нераскрытым макросом из-за неустановленного пакета?
При отсутвии файла rpm ругается вполне характерно, так что с другой
руганью перепутать сложно.
--
Kirill A. Shutemov Belarus, Minsk
E-mail: k.shutemov (AT) sam-solutions.net
JID: kas (AT) altlinux.org
ICQ: 152302675
активность там [fest-discuss@] в основном за неделю до феста ("у кого есть
место в палатке?", "как добраться?", "что брать?") и неделю после ("никто
не видел мой мобильник/палатку/подружку/плавки?")
-- genix in community@
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 22:47 [devel] Как сделать репозиторий в git Dmitry V. Levin
` (3 preceding siblings ...)
2006-04-26 7:13 ` Vital Khilko
@ 2006-04-26 18:46 ` Anton Farygin
2006-04-26 21:36 ` Dmitry V. Levin
2006-04-27 7:19 ` [devel] Как сделать репозиторий в git Stanislav Ievlev
2006-04-28 10:56 ` [devel] Как сделать репозиторий в git Anton Farygin
6 siblings, 1 reply; 81+ messages in thread
From: Anton Farygin @ 2006-04-26 18:46 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Tue, Apr 25, 2006 at 04:32:13PM +0400, Dmitry V. Levin wrote:
>> On Tue, Apr 25, 2006 at 09:53:28AM +0400, Anton Farygin wrote:
> [...]
>>> Хм. расскажи плз, как это сделать ?
>> Расскажу обязательно, вот закончу тестировать и расскажу.
>
> Начну понемногу рассказывать, как я это вижу.
>
> Предпосылка та же, что была при создании hasher'а: я предполагаю, что
> система предназначена не только для того, чтобы мантейнер собирал свои
> пакеты, но и для того, чтобы собирать чужие пакеты "не глядя".
>
> В этом случае содержимое репозитория следует рассматривать как untrusted
> input. В такой ситуации нельзя использовать простые методы, эквивалентные
> запуску произвольного кода, извлекаемого из репозитория. К этим простым
> методам относятся:
> - запускаемые скрипты;
> - включаемые makefile'ы;
> - specfile'ы, обрабатываемые rpmbuild'ом.
>
> Значит, чтобы собирать пакеты из репозитория, нужно либо иметь просто
> устроенные specfile'ы, либо завести служебный файл, примитивный внутри и
> достаточный для сборки пакета в типичных случаях устройства репозитория.
>
> Упростить 5.5 тысяч specfile'ов в обозримом будущем нереально, поэтому я
> предлагаю завести служебный файл. Имя его не столь важно, хотя значение
> по умолчанию должно быть достаточно редким. Во время тестирования я
> использовал имя ".buildspec".
>
> Я прикинул, как обычно бывает устроен репозиторий пакета, и насчитал три
> образующих типа, и ещё один смешанный:
>
> 1. Однородный, развёрнутый: Дерево файлов пакета находится в репозитории
> в развёрнутом виде, specfile и .buildspec размещены в корневом каталоге
> репозитория. Пример:
> $ ls -Alog service/
> total 40
> -rw-r--r-- 1 7 Apr 24 17:44 .buildspec
> drwxr-xr-x 8 4096 Apr 25 02:35 .git
> -rw-r--r-- 1 340 Apr 10 21:24 post_service
> -rw-r--r-- 1 352 Apr 10 21:24 preun_service
> drwxr-xr-x 3 4096 Apr 10 21:24 rc.d
> -rwxr-xr-x 1 407 Apr 10 21:26 run-parts
> -rw-r--r-- 1 1186 Apr 10 21:26 service
> -rw-r--r-- 1 6756 Apr 10 21:26 service.spec
> drwxr-xr-x 2 4096 Apr 12 16:11 src
> Для сборки пакета из этого репозитория нужно получить srpm, состоящий из
> service.spec и service-0.5.9.tar[.bz2] (который содержит всё дерево, включая
> service.spec и .buildspec; разумеется, .git в него не входит)
>
> 2. Разнородный, развёрнутый: Дерево файлов пакета находится в репозитории
> в развёрнутом виде в отдельном подкаталоге, а .buildspec (и, возможно,
> specfile) размещён в корневом каталоге репозитория. Пример:
> $ ls -Alog hasher/
> total 12
> -rw-r--r-- 1 37 Apr 25 03:30 .buildspec
> drwxr-xr-x 8 4096 Apr 25 03:35 .git
> drwxr-xr-x 2 4096 Apr 25 04:52 hasher
> Для сборки пакета из этого репозитория нужно получить srpm, состоящий из
> hasher.spec и hasher-1.0.29.tar[.bz2]
>
> 3. Однородный, свёрнутый: Файлы пакета находится в корневом каталоге
> репозитория. Пример:
> $ ls -Alog strace/
> total 3016
> -rw-r--r-- 1 20 Apr 25 18:37 .buildspec
> drwxr-xr-x 8 4096 Apr 25 18:37 .git
> -rw-r--r-- 1 3569 Jan 17 17:40 strace-4.5.14-alt-keep_status.patch
> -rw-r--r-- 1 25616 Jan 17 18:05 strace-4.5.14-alt-quotactl.patch
> -rw-r--r-- 1 3649 Mar 29 04:56 strace-4.5.14-alt-tcb.patch
> -rw-r--r-- 1 349 Apr 21 22:24 strace-4.5.14-owl-x86_64.patch
> -rw-r--r-- 1 3020800 Jan 17 09:29 strace-4.5.14.tar
> -rw-r--r-- 1 10321 Apr 25 04:03 strace.spec
> Для сборки пакета из этого репозитория нужно получить srpm, состоящий из
> всех вышеперечисленных файлов, за исключением быть может .buildspec (.git
> в рассмотрение не входит).
>
> 4. Смешанный: комбинация 2-го и 3-го типов, одна часть файлов пакета
> находится в корневом каталоге репозитория, другая часть развёрнута в
> подкаталогах.
>
> Очевидно, 3-й тип наиболее характерен для пакетов в Сизифе.
> 1-й и 2-й типы (довольно схожие, кстати) соответствуют пакетам,
> разработка которых сконцентрирована у мантейнера.
>
> Продолжение следует. Комментарии приветствуются.
>
Интересно было бы взглянуть на:
1) формат buildspec
2) типовой набор команд для того, что бы с этим работать
- если я правильно понял, то предполагается каждый пакет держать в
отдельном GIT репозитарии. Вопрос собственно простой: каким образом 1)
скачать все пакеты
2) добавлять пакеты в центральный репозитарий
3) удалять пакеты из центрального репозитария
4) обновлять весь центральный репозитарий (можно конечно сделать for i
in *;do... done, то на мой взгляд в этом случае мы не отследим
добавление/удаление пакетов.
Rgds,
Rider
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 18:46 ` Anton Farygin
@ 2006-04-26 21:36 ` Dmitry V. Levin
2006-04-26 21:58 ` Alexey I. Froloff
` (3 more replies)
0 siblings, 4 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-26 21:36 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 3553 bytes --]
On Wed, Apr 26, 2006 at 10:46:06PM +0400, Anton Farygin wrote:
> Интересно было бы взглянуть на:
> 1) формат buildspec
Тот формат, который сформировался на сегодняшний день, устроен следующим
образом.
buildspec - простой текстовый файл, обрабатываемый построчно.
Каждая строка имеет вид "директива: параметры"
Директивы такие: spec, copy, gzip, bzip2, tar, tar.gz, tar.bz2
- т.е. кажется всё, что нужно для извлечения из репозитория.
Параметр spec: путь_к_файлу
Параметры copy|gzip|bzip2: glob_pattern..
Параметры tar|tar.gz|tar.bz2: путь_к_каталогу [options]
где options это
spec=путь_к_файлу - путь к specfile'у, из которого можно извлечь имя
и/или версию для тарболла;
name=имя_архива - имя для тарболла;
version=версия_архива - версия для тарболла.
Фраза "spec-файл, из которого можно извлечь имя" означает, что команда
sed '/^Name:[[:space:]]*/!d;s///;q' <spec-файл
выводит нормальное имя. Имя называется нормальным, если не содержит
недопустимых символов.
Аналогично трактуется и фраза про версию.
Примеры я уже приводил в этом треде. Могу ещё придумать, если нужно.
> 2) типовой набор команд для того, что бы с этим работать
$ git2tar -h
git2tar - make tarball from git package repository.
Usage: git2tar [options] <path-to-git-directory> <output-tarball-name>
Options:
-b, --buildspec=FILENAME buildspec file name;
--bzip2 compress output archive using bzip2;
--gzip compress output archive using gzip;
-t, --tree-ish=ID tree, commit or tag object name;
-q, --quiet try to be more quiet;
-v, --verbose print a message for each action;
-V, --version print program version and exit;
-h, --help show this text and exit.
Т.е. есть простая утилита, у которой на входе git-репозиторий и tree-ish
(по умолчанию --tree-ish=HEAD) и на выходе tarball специального вида, из
которого hasher скоро научится собирать пакеты.
Ещё раз обращаю внимание: собирать пакеты надо из того, что есть в
репозитории, а не из неза'commit'енного checkout'а. Те, кто хоть немного
представляют себе, как устроен git, согласятся, что это не создаст
дополнительных сложностей. Зато появится одно полезное свойство - вряд ли
удастся забыть за'commit'ить нужное изменение.
> - если я правильно понял, то предполагается каждый пакет держать в
> отдельном GIT репозитарии.
Несомненно. Я не вижу других вариантов.
> Вопрос собственно простой: каким образом
Я пока не определился, как именно будет устроен центральный репозиторий
для Sisyphus. Тут есть варианты, надо понять, на чём остановиться.
Я сейчас занимаюсь доработкой попакетного репозитория, объединительные
репозитории - это следующий этап.
> 1) скачать все пакеты
Скачать список всех пакетов.
Скачать (git-clone, git-fetch, etc) каждый пакет из списка.
> 2) добавлять пакеты в центральный репозиторий
Видимо примерно так же, как и обновлять их (git-push).
> 3) удалять пакеты из центрального репозитория
Не думаю что удалить каталог это проблема. :)
> 4) обновлять весь центральный репозиторий (можно конечно сделать for i
> in *;do... done, то на мой взгляд в этом случае мы не отследим
> добавление/удаление пакетов.
Весь репозиторий - это каталог с репозиториями. Можно использовать
какой-нибудь dumb transport (e.g. rsync), можно прочитать список и сделать
git-pull для каждого.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 21:36 ` Dmitry V. Levin
@ 2006-04-26 21:58 ` Alexey I. Froloff
2006-04-26 22:16 ` Dmitry V. Levin
2006-04-27 6:15 ` Anton Farygin
` (2 subsequent siblings)
3 siblings, 1 reply; 81+ messages in thread
From: Alexey I. Froloff @ 2006-04-26 21:58 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 648 bytes --]
* Dmitry V. Levin <ldv@> [060427 01:46]:
> Фраза "spec-файл, из которого можно извлечь имя" означает, что команда
> sed '/^Name:[[:space:]]*/!d;s///;q' <spec-файл
> выводит нормальное имя. Имя называется нормальным, если не содержит
> недопустимых символов.
А какие символы считаются недопустимыми?
i386-mingw32msvc-gcc:Name: %cross_arch-%pkgname
libcacao:Name: lib%lname
mutt1.5:Name: %oname%branch
rpm:Name: %rpm_name
ruby-intl:Name: ruby-%module
vim-doc-ru:Name: vim-doc-%doclang
С другой стороны, у меня есть код на VimL который позволяет в
некоторых случаях раскрыть не очень сложные макросы...
--
Regards,
Sir Raorn.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 21:58 ` Alexey I. Froloff
@ 2006-04-26 22:16 ` Dmitry V. Levin
2006-04-27 5:51 ` Alexey I. Froloff
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-26 22:16 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 734 bytes --]
On Thu, Apr 27, 2006 at 01:58:36AM +0400, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [060427 01:46]:
> > Фраза "spec-файл, из которого можно извлечь имя" означает, что команда
> > sed '/^Name:[[:space:]]*/!d;s///;q' <spec-файл
> > выводит нормальное имя. Имя называется нормальным, если не содержит
> > недопустимых символов.
> А какие символы считаются недопустимыми?
>
> i386-mingw32msvc-gcc:Name: %cross_arch-%pkgname
> libcacao:Name: lib%lname
> mutt1.5:Name: %oname%branch
> rpm:Name: %rpm_name
> ruby-intl:Name: ruby-%module
> vim-doc-ru:Name: vim-doc-%doclang
Они самые и считаются недопустимыми. Но это касается только тех, кому
нужно сворачивать деревья из репозитория в тарболлы.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 22:16 ` Dmitry V. Levin
@ 2006-04-27 5:51 ` Alexey I. Froloff
2006-04-27 12:33 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Alexey I. Froloff @ 2006-04-27 5:51 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 764 bytes --]
* Dmitry V. Levin <ldv@> [060427 02:16]:
> > > Фраза "spec-файл, из которого можно извлечь имя" означает, что команда
> > > sed '/^Name:[[:space:]]*/!d;s///;q' <spec-файл
> > rpm:Name: %rpm_name
> > ruby-intl:Name: ruby-%module
> Они самые и считаются недопустимыми.
Т.е. "spec-файл, из которого можно извлечь имя" и "spec-файл,
который находится в src.rpm собираемого пакета" - это разные
понятия? Хотя могут иногда совпадать.
> Но это касается только тех, кому нужно сворачивать деревья из
> репозитория в тарболлы.
Теперь понял. Это аналог sandman'овского module.
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 5:51 ` Alexey I. Froloff
@ 2006-04-27 12:33 ` Dmitry V. Levin
2006-04-27 13:01 ` Alexey I. Froloff
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 12:33 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1054 bytes --]
On Thu, Apr 27, 2006 at 09:51:59AM +0400, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [060427 02:16]:
> > > > Фраза "spec-файл, из которого можно извлечь имя" означает, что команда
> > > > sed '/^Name:[[:space:]]*/!d;s///;q' <spec-файл
> > > rpm:Name: %rpm_name
> > > ruby-intl:Name: ruby-%module
> > Они самые и считаются недопустимыми.
> Т.е. "spec-файл, из которого можно извлечь имя" и "spec-файл,
> который находится в src.rpm собираемого пакета" - это разные
> понятия? Хотя могут иногда совпадать.
Ну да. "spec-файл, который находится в src.rpm собираемого пакета" может
превратиться в "spec-файл, из которого можно извлечь имя" только если из
spec-файла нужно извлечь имя. А это бывает нечасто:
> > Но это касается только тех, кому нужно сворачивать деревья из
> > репозитория в тарболлы.
> Теперь понял. Это аналог sandman'овского module.
Простите мою серость. :)
Между прочим, на данном этапе развития этой затеи я ещё ничего никому
не навязываю, а, наоборот, готов воспринимать здравые идеи.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 12:33 ` Dmitry V. Levin
@ 2006-04-27 13:01 ` Alexey I. Froloff
2006-04-27 23:55 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Alexey I. Froloff @ 2006-04-27 13:01 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 534 bytes --]
* Dmitry V. Levin <ldv@> [060427 16:34]:
> Между прочим, на данном этапе развития этой затеи я ещё ничего никому
> не навязываю, а, наоборот, готов воспринимать здравые идеи.
Чтобы появились идеи, нужен некоторый опыт работы с этим. Хотя
бы локально. С git'ом я уже недельку развлекаюсь. Можно эту
обвязку где-ньдь взять чтобы самому пощупать?
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 13:01 ` Alexey I. Froloff
@ 2006-04-27 23:55 ` Dmitry V. Levin
2006-04-28 7:04 ` Anton Farygin
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 23:55 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1020 bytes --]
On Thu, Apr 27, 2006 at 05:01:54PM +0400, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [060427 16:34]:
> > Между прочим, на данном этапе развития этой затеи я ещё ничего никому
> > не навязываю, а, наоборот, готов воспринимать здравые идеи.
> Чтобы появились идеи, нужен некоторый опыт работы с этим. Хотя
> бы локально.
Разумеется.
> С git'ом я уже недельку развлекаюсь. Можно эту
> обвязку где-ньдь взять чтобы самому пощупать?
Выложил пощупать:
git-clone rsync://rsync.altlinux.org/people/ldv/scm/other/build.git &&
cd build &&
git-checkout &&
./eagr --help
Мои пакеты, на которых можно поразвлекаться, можно взять из
rsync://rsync.altlinux.org/people/ldv/scm/packages/
(там ещё используется .buildspec, а eagr по умолчанию ищет .rules).
Например,
git-clone rsync://rsync.altlinux.org/people/ldv/scm/packages/control.git
eagr -r .buildspec control/.git $TMPDIR/control.tar && less $TMPDIR/control.tar
eagr -r .buildspec control/.git --rpmbuild -- rpmbuild -ba
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 23:55 ` Dmitry V. Levin
@ 2006-04-28 7:04 ` Anton Farygin
2006-04-28 12:08 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Anton Farygin @ 2006-04-28 7:04 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Thu, Apr 27, 2006 at 05:01:54PM +0400, Alexey I. Froloff wrote:
>> * Dmitry V. Levin <ldv@> [060427 16:34]:
>>> Между прочим, на данном этапе развития этой затеи я ещё ничего никому
>>> не навязываю, а, наоборот, готов воспринимать здравые идеи.
>> Чтобы появились идеи, нужен некоторый опыт работы с этим. Хотя
>> бы локально.
>
> Разумеется.
>
>> С git'ом я уже недельку развлекаюсь. Можно эту
>> обвязку где-ньдь взять чтобы самому пощупать?
>
> Выложил пощупать:
>
> git-clone rsync://rsync.altlinux.org/people/ldv/scm/other/build.git &&
> cd build &&
> git-checkout &&
> ./eagr --help
>
> Мои пакеты, на которых можно поразвлекаться, можно взять из
> rsync://rsync.altlinux.org/people/ldv/scm/packages/
> (там ещё используется .buildspec, а eagr по умолчанию ищет .rules).
>
> Например,
> git-clone rsync://rsync.altlinux.org/people/ldv/scm/packages/control.git
> eagr -r .buildspec control/.git $TMPDIR/control.tar && less $TMPDIR/control.tar
> eagr -r .buildspec control/.git --rpmbuild -- rpmbuild -ba
О как.. работает.
а чего он хочет от меня, когда я пытаюсь сделать commit ?
*** Environment problem:
*** Your name cannot be determined from your system services (gecos).
*** You would need to set GIT_AUTHOR_NAME and GIT_COMMITTER_NAME
*** environment variables; otherwise you won't be able to perform
*** certain operations because of "empty ident" errors.
*** Alternatively, you can use user.name configuration variable.
fatal: empty ident <rider@rider.malta.altlinux.ru> not allowed
Пришлось ему в конфиг прописывать в .git/config ;(
Rgds,
Rider
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 21:36 ` Dmitry V. Levin
2006-04-26 21:58 ` Alexey I. Froloff
@ 2006-04-27 6:15 ` Anton Farygin
2006-04-27 12:47 ` Dmitry V. Levin
2006-04-27 14:00 ` Kirill A. Shutemov
2006-04-27 22:26 ` [devel] Как назвать утилиту Dmitry V. Levin
3 siblings, 1 reply; 81+ messages in thread
From: Anton Farygin @ 2006-04-27 6:15 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Wed, Apr 26, 2006 at 10:46:06PM +0400, Anton Farygin wrote:
>> Интересно было бы взглянуть на:
>> 1) формат buildspec
>
> Тот формат, который сформировался на сегодняшний день, устроен следующим
> образом.
>
> buildspec - простой текстовый файл, обрабатываемый построчно.
> Каждая строка имеет вид "директива: параметры"
> Директивы такие: spec, copy, gzip, bzip2, tar, tar.gz, tar.bz2
> - т.е. кажется всё, что нужно для извлечения из репозитория.
>
> Параметр spec: путь_к_файлу
> Параметры copy|gzip|bzip2: glob_pattern..
> Параметры tar|tar.gz|tar.bz2: путь_к_каталогу [options]
> где options это
> spec=путь_к_файлу - путь к specfile'у, из которого можно извлечь имя
> и/или версию для тарболла;
> name=имя_архива - имя для тарболла;
> version=версия_архива - версия для тарболла.
>
> Фраза "spec-файл, из которого можно извлечь имя" означает, что команда
> sed '/^Name:[[:space:]]*/!d;s///;q' <spec-файл
> выводит нормальное имя. Имя называется нормальным, если не содержит
> недопустимых символов.
> Аналогично трактуется и фраза про версию.
>
> Примеры я уже приводил в этом треде. Могу ещё придумать, если нужно.
Вопрос: если я правильно понял, то .buildspec будет распарсиваться неким
скриптом на стороне сервера (или локально?)
А можно ли предложить какой-то инструмент, для сборки пакета из
локальной копии репозитария, минуя hasher ?
Т.е. - я очень много собираю без hasher'а, прямо в локальной системе.
>
>> 2) типовой набор команд для того, что бы с этим работать
>
> $ git2tar -h
> git2tar - make tarball from git package repository.
>
> Usage: git2tar [options] <path-to-git-directory> <output-tarball-name>
>
> Options:
> -b, --buildspec=FILENAME buildspec file name;
> --bzip2 compress output archive using bzip2;
> --gzip compress output archive using gzip;
> -t, --tree-ish=ID tree, commit or tag object name;
> -q, --quiet try to be more quiet;
> -v, --verbose print a message for each action;
> -V, --version print program version and exit;
> -h, --help show this text and exit.
>
> Т.е. есть простая утилита, у которой на входе git-репозиторий и tree-ish
> (по умолчанию --tree-ish=HEAD) и на выходе tarball специального вида, из
> которого hasher скоро научится собирать пакеты.
>
> Ещё раз обращаю внимание: собирать пакеты надо из того, что есть в
> репозитории, а не из неза'commit'енного checkout'а. Те, кто хоть немного
> представляют себе, как устроен git, согласятся, что это не создаст
> дополнительных сложностей. Зато появится одно полезное свойство - вряд ли
> удастся забыть за'commit'ить нужное изменение.
>
>> - если я правильно понял, то предполагается каждый пакет держать в
>> отдельном GIT репозитарии.
>
> Несомненно. Я не вижу других вариантов.
>
>> Вопрос собственно простой: каким образом
>
> Я пока не определился, как именно будет устроен центральный репозиторий
> для Sisyphus. Тут есть варианты, надо понять, на чём остановиться.
> Я сейчас занимаюсь доработкой попакетного репозитория, объединительные
> репозитории - это следующий этап.
Ясно. Меня в большей степени интересует вопрос с объединением. И с
правами доступа к каждому из пакетов (желательно что бы права доступа
были в достаточной мере открыты - что-то вроде teams по интересам).
>
>> 1) скачать все пакеты
>
> Скачать список всех пакетов.
> Скачать (git-clone, git-fetch, etc) каждый пакет из списка.
>
>> 2) добавлять пакеты в центральный репозиторий
>
> Видимо примерно так же, как и обновлять их (git-push).
>
>> 3) удалять пакеты из центрального репозитория
>
> Не думаю что удалить каталог это проблема. :)
>
>> 4) обновлять весь центральный репозиторий (можно конечно сделать for i
>> in *;do... done, то на мой взгляд в этом случае мы не отследим
>> добавление/удаление пакетов.
>
> Весь репозиторий - это каталог с репозиториями. Можно использовать
> какой-нибудь dumb transport (e.g. rsync), можно прочитать список и сделать
> git-pull для каждого.
>
И ещё пока вспомнил: крайне желателен инструмент, позволяющий закачивать
в git большие тарболлы минуя commit (или каким-то средством на стороне
сервера).
Поясню:
например есть необходимость положить в git приложение, исходник которого
в распакованном виде занимает 600Mb (например - openoffice.org).
в случае с тарболлом, который нужно из локального репозитария залить на
сервер - трафик составит 600Mb исходящий (если не использовать сжатие на
уровне ssh).
При этом у мантейнера канал может быть достаточно дохлый (например модем
или gprs).
Было бы очень здорово предоставить инструмент, который смог бы:
- выкачивать файл с заданного URL
- проверять md5sum
- распаковывать
- коммитить
Rgds,
Rider
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 6:15 ` Anton Farygin
@ 2006-04-27 12:47 ` Dmitry V. Levin
2006-04-27 13:25 ` Sergey Vlasov
` (2 more replies)
0 siblings, 3 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 12:47 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2565 bytes --]
On Thu, Apr 27, 2006 at 10:15:35AM +0400, Anton Farygin wrote:
> Вопрос: если я правильно понял, то .buildspec будет распарсиваться неким
> скриптом на стороне сервера (или локально?)
Локально (там, где нужно собирать пакеты).
> А можно ли предложить какой-то инструмент, для сборки пакета из
> локальной копии репозитария, минуя hasher ?
Минуя hasher, конечно можно (если что-то можно собрать hasher'ом, то это
можно собрать и нативно).
Минуя репозиторий, наверное, тоже можно, но вот нужно ли? Если нужно, то
я это реализую, но тогда ты опять станешь забывать commit'ить.
> Т.е. - я очень много собираю без hasher'а, прямо в локальной системе.
OK, это будет.
> > Я пока не определился, как именно будет устроен центральный репозиторий
> > для Sisyphus. Тут есть варианты, надо понять, на чём остановиться.
> > Я сейчас занимаюсь доработкой попакетного репозитория, объединительные
> > репозитории - это следующий этап.
>
> Ясно. Меня в большей степени интересует вопрос с объединением. И с
> правами доступа к каждому из пакетов (желательно что бы права доступа
> были в достаточной мере открыты - что-то вроде teams по интересам).
Прежде чем объединённый репозиторий начнёт функционировать, нужно создать
базу; должно пройти некоторое время, пока мантейнеры просто привыкнут
вести репозиторий для каждого своего пакета. А за это время я уже
что-нибудь организую. Не без вашего содействия, конечно.
> И ещё пока вспомнил: крайне желателен инструмент, позволяющий закачивать
> в git большие тарболлы минуя commit (или каким-то средством на стороне
> сервера).
В git есть git-mktag и git-mktree, но нет git-mkblob; впрочем, сделать
его несложно, поскольку код нижнего уровня есть.
> Поясню:
>
> например есть необходимость положить в git приложение, исходник которого
> в распакованном виде занимает 600Mb (например - openoffice.org).
>
> в случае с тарболлом, который нужно из локального репозитария залить на
> сервер - трафик составит 600Mb исходящий (если не использовать сжатие на
> уровне ssh).
Между прочим, не использовать сжатие на уровне ssh практически невозможно.
:)
> При этом у мантейнера канал может быть достаточно дохлый (например модем
> или gprs).
>
> Было бы очень здорово предоставить инструмент, который смог бы:
> - выкачивать файл с заданного URL
> - проверять md5sum
> - распаковывать
> - коммитить
Только не коммитить, а помещать в базу данных объектов.
Да, было бы неплохо это сделать. Ничего принципиально сложного я не вижу.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 12:47 ` Dmitry V. Levin
@ 2006-04-27 13:25 ` Sergey Vlasov
2006-04-27 13:30 ` Dmitry V. Levin
2006-04-27 13:48 ` Anton Farygin
2006-04-27 14:18 ` Michael Shigorin
2 siblings, 1 reply; 81+ messages in thread
From: Sergey Vlasov @ 2006-04-27 13:25 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 169 bytes --]
On Thu, Apr 27, 2006 at 04:47:22PM +0400, Dmitry V. Levin wrote:
> В git есть git-mktag и git-mktree, но нет git-mkblob
Есть, только он называется git-hash-object.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 13:25 ` Sergey Vlasov
@ 2006-04-27 13:30 ` Dmitry V. Levin
0 siblings, 0 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 13:30 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 314 bytes --]
On Thu, Apr 27, 2006 at 05:25:44PM +0400, Sergey Vlasov wrote:
> On Thu, Apr 27, 2006 at 04:47:22PM +0400, Dmitry V. Levin wrote:
> > В git есть git-mktag и git-mktree, но нет git-mkblob
>
> Есть, только он называется git-hash-object.
Нелогичное название. Ну да ладно, раз есть, тем проще.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 12:47 ` Dmitry V. Levin
2006-04-27 13:25 ` Sergey Vlasov
@ 2006-04-27 13:48 ` Anton Farygin
2006-04-27 14:18 ` Michael Shigorin
2 siblings, 0 replies; 81+ messages in thread
From: Anton Farygin @ 2006-04-27 13:48 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Thu, Apr 27, 2006 at 10:15:35AM +0400, Anton Farygin wrote:
>> Вопрос: если я правильно понял, то .buildspec будет распарсиваться неким
>> скриптом на стороне сервера (или локально?)
>
> Локально (там, где нужно собирать пакеты).
>
>> А можно ли предложить какой-то инструмент, для сборки пакета из
>> локальной копии репозитария, минуя hasher ?
>
> Минуя hasher, конечно можно (если что-то можно собрать hasher'ом, то это
> можно собрать и нативно).
> Минуя репозиторий, наверное, тоже можно, но вот нужно ли? Если нужно, то
> я это реализую, но тогда ты опять станешь забывать commit'ить.
>
>> Т.е. - я очень много собираю без hasher'а, прямо в локальной системе.
>
> OK, это будет.
отлично. Я готов уже сейчас перевести то что у меня есть на git
(собственно я уже пытался, правда безуспешно)
>
>>> Я пока не определился, как именно будет устроен центральный репозиторий
>>> для Sisyphus. Тут есть варианты, надо понять, на чём остановиться.
>>> Я сейчас занимаюсь доработкой попакетного репозитория, объединительные
>>> репозитории - это следующий этап.
>> Ясно. Меня в большей степени интересует вопрос с объединением. И с
>> правами доступа к каждому из пакетов (желательно что бы права доступа
>> были в достаточной мере открыты - что-то вроде teams по интересам).
>
> Прежде чем объединённый репозиторий начнёт функционировать, нужно создать
> базу; должно пройти некоторое время, пока мантейнеры просто привыкнут
> вести репозиторий для каждого своего пакета. А за это время я уже
> что-нибудь организую. Не без вашего содействия, конечно.
>
>> И ещё пока вспомнил: крайне желателен инструмент, позволяющий закачивать
>> в git большие тарболлы минуя commit (или каким-то средством на стороне
>> сервера).
>
> В git есть git-mktag и git-mktree, но нет git-mkblob; впрочем, сделать
> его несложно, поскольку код нижнего уровня есть.
Ага. Отлично !
>
>> Поясню:
>>
>> например есть необходимость положить в git приложение, исходник которого
>> в распакованном виде занимает 600Mb (например - openoffice.org).
>>
>> в случае с тарболлом, который нужно из локального репозитария залить на
>> сервер - трафик составит 600Mb исходящий (если не использовать сжатие на
>> уровне ssh).
>
> Между прочим, не использовать сжатие на уровне ssh практически невозможно.
> :)
Ну да.. но оно всё-равно не нужно, если можно каким-то образом
центральному репозитарию сказать что бы он выполнил это ресурсоёмкое
действие.
>
>> При этом у мантейнера канал может быть достаточно дохлый (например модем
>> или gprs).
>>
>> Было бы очень здорово предоставить инструмент, который смог бы:
>> - выкачивать файл с заданного URL
>> - проверять md5sum
>> - распаковывать
>> - коммитить
>
> Только не коммитить, а помещать в базу данных объектов.
> Да, было бы неплохо это сделать. Ничего принципиально сложного я не вижу.
Да, именно так.
Это бы в значительной степени облегчило жизнь многим мантейнерам.
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 12:47 ` Dmitry V. Levin
2006-04-27 13:25 ` Sergey Vlasov
2006-04-27 13:48 ` Anton Farygin
@ 2006-04-27 14:18 ` Michael Shigorin
2 siblings, 0 replies; 81+ messages in thread
From: Michael Shigorin @ 2006-04-27 14:18 UTC (permalink / raw)
To: ALT Devel discussion list
On Thu, Apr 27, 2006 at 04:47:22PM +0400, Dmitry V. Levin wrote:
> > Ясно. Меня в большей степени интересует вопрос с
> > объединением. И с правами доступа к каждому из пакетов
> > (желательно что бы права доступа были в достаточной мере
> > открыты - что-то вроде teams по интересам).
> Прежде чем объединённый репозиторий начнёт функционировать,
> нужно создать базу; должно пройти некоторое время, пока
> мантейнеры просто привыкнут вести репозиторий для каждого
> своего пакета. А за это время я уже что-нибудь организую.
> Не без вашего содействия, конечно.
Вообще натыкаясь с разных сторон на кучу самопальных баз
с людьми, давно уже начал опасаться, что тут пахнет LDAP.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 21:36 ` Dmitry V. Levin
2006-04-26 21:58 ` Alexey I. Froloff
2006-04-27 6:15 ` Anton Farygin
@ 2006-04-27 14:00 ` Kirill A. Shutemov
2006-04-27 14:14 ` Alexey I. Froloff
2006-04-27 22:26 ` [devel] Как назвать утилиту Dmitry V. Levin
3 siblings, 1 reply; 81+ messages in thread
From: Kirill A. Shutemov @ 2006-04-27 14:00 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]
On 01:36 Thu 27 Apr, Dmitry V. Levin wrote:
> On Wed, Apr 26, 2006 at 10:46:06PM +0400, Anton Farygin wrote:
> > Интересно было бы взглянуть на:
> > 1) формат buildspec
>
> Тот формат, который сформировался на сегодняшний день, устроен следующим
> образом.
>
> buildspec - простой текстовый файл, обрабатываемый построчно.
> Каждая строка имеет вид "директива: параметры"
> Директивы такие: spec, copy, gzip, bzip2, tar, tar.gz, tar.bz2
> - т.е. кажется всё, что нужно для извлечения из репозитория.
Зачем городить новый синтаксис? Чем плох обычный makefile который на
выходе даёт tar(как это сделано в sandman)?
--
Kirill A. Shutemov Belarus, Minsk
E-mail: k.shutemov (AT) sam-solutions.net
JID: kas (AT) altlinux.org
ICQ: 152302675
> > Конечные пользователи обитают в community@.
> А что, разве у Сизифа уже не может быть конечных пользователей?
Не, у Сизифа коллеги. Способность наезжать конструктивно их
отличает от конченых пользователей.
-- aris in sisyphus@
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 14:00 ` Kirill A. Shutemov
@ 2006-04-27 14:14 ` Alexey I. Froloff
2006-04-27 14:44 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Alexey I. Froloff @ 2006-04-27 14:14 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 725 bytes --]
* Kirill A. Shutemov <kas@> [060427 18:02]:
> > buildspec - простой текстовый файл, обрабатываемый построчно.
> > Каждая строка имеет вид "директива: параметры"
> > Директивы такие: spec, copy, gzip, bzip2, tar, tar.gz, tar.bz2
> > - т.е. кажется всё, что нужно для извлечения из репозитория.
> Зачем городить новый синтаксис? Чем плох обычный makefile который на
> выходе даёт tar(как это сделано в sandman)?
Тем, что в makefile можно прописать произвольные команды и
выполнять эти команды в "пустом read-only chroot'е" не получится.
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 14:14 ` Alexey I. Froloff
@ 2006-04-27 14:44 ` Dmitry V. Levin
0 siblings, 0 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 14:44 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 856 bytes --]
On Thu, Apr 27, 2006 at 06:14:09PM +0400, Alexey I. Froloff wrote:
> * Kirill A. Shutemov <kas@> [060427 18:02]:
> > > buildspec - простой текстовый файл, обрабатываемый построчно.
> > > Каждая строка имеет вид "директива: параметры"
> > > Директивы такие: spec, copy, gzip, bzip2, tar, tar.gz, tar.bz2
> > > - т.е. кажется всё, что нужно для извлечения из репозитория.
> > Зачем городить новый синтаксис? Чем плох обычный makefile который на
> > выходе даёт tar(как это сделано в sandman)?
> Тем, что в makefile можно прописать произвольные команды и
> выполнять эти команды в "пустом read-only chroot'е" не получится.
Да, я уже объяснял свою позицию в начале треда.
Наличие Makefile'а вынуждает запускать make в чруте, а это не всегда
удобно, ибо тогда придётся делать bind mount репозитория в чрут, что не
всегда доступно.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как назвать утилиту
2006-04-26 21:36 ` Dmitry V. Levin
` (2 preceding siblings ...)
2006-04-27 14:00 ` Kirill A. Shutemov
@ 2006-04-27 22:26 ` Dmitry V. Levin
2006-04-27 16:53 ` Kirill Maslinsky
2006-04-28 7:07 ` Anton Farygin
3 siblings, 2 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 22:26 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1370 bytes --]
On Thu, Apr 27, 2006 at 01:36:33AM +0400, Dmitry V. Levin wrote:
> > 2) типовой набор команд для того, что бы с этим работать
>
> $ git2tar -h
> git2tar - make tarball from git package repository.
>
> Usage: git2tar [options] <path-to-git-directory> <output-tarball-name>
>
> Options:
> -b, --buildspec=FILENAME buildspec file name;
> --bzip2 compress output archive using bzip2;
> --gzip compress output archive using gzip;
> -t, --tree-ish=ID tree, commit or tag object name;
> -q, --quiet try to be more quiet;
> -v, --verbose print a message for each action;
> -V, --version print program version and exit;
> -h, --help show this text and exit.
>
> Т.е. есть простая утилита, у которой на входе git-репозиторий и tree-ish
> (по умолчанию --tree-ish=HEAD) и на выходе tarball специального вида, из
> которого hasher скоро научится собирать пакеты.
Кстати, git2tar - это всего лишь рабочее название, хотелось бы придумать
что-нибудь более подходящее для утилиты, которая извлекает из
git-репозитория пакета файл архива (преимущественно в виде тарболла, но
возможны и другие варианты).
eagr - Extract Archive from Git package Repository?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как назвать утилиту
2006-04-27 22:26 ` [devel] Как назвать утилиту Dmitry V. Levin
@ 2006-04-27 16:53 ` Kirill Maslinsky
2006-04-28 7:07 ` Anton Farygin
1 sibling, 0 replies; 81+ messages in thread
From: Kirill Maslinsky @ 2006-04-27 16:53 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 666 bytes --]
> > Т.е. есть простая утилита, у которой на входе git-репозиторий и tree-ish
> > (по умолчанию --tree-ish=HEAD) и на выходе tarball специального вида, из
> > которого hasher скоро научится собирать пакеты.
>
> Кстати, git2tar - это всего лишь рабочее название, хотелось бы придумать
> что-нибудь более подходящее для утилиты, которая извлекает из
> git-репозитория пакета файл архива (преимущественно в виде тарболла, но
> возможны и другие варианты).
>
> eagr - Extract Archive from Git package Repository?
gear - Get Every Archive from any Repository
Сразу и благозвучнее, и общий случай ;)
--
Kirill Maslinsky
ALT Linux Documentation Team
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как назвать утилиту
2006-04-27 22:26 ` [devel] Как назвать утилиту Dmitry V. Levin
2006-04-27 16:53 ` Kirill Maslinsky
@ 2006-04-28 7:07 ` Anton Farygin
1 sibling, 0 replies; 81+ messages in thread
From: Anton Farygin @ 2006-04-28 7:07 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Thu, Apr 27, 2006 at 01:36:33AM +0400, Dmitry V. Levin wrote:
>>> 2) типовой набор команд для того, что бы с этим работать
>> $ git2tar -h
>> git2tar - make tarball from git package repository.
>>
>> Usage: git2tar [options] <path-to-git-directory> <output-tarball-name>
>>
>> Options:
>> -b, --buildspec=FILENAME buildspec file name;
>> --bzip2 compress output archive using bzip2;
>> --gzip compress output archive using gzip;
>> -t, --tree-ish=ID tree, commit or tag object name;
>> -q, --quiet try to be more quiet;
>> -v, --verbose print a message for each action;
>> -V, --version print program version and exit;
>> -h, --help show this text and exit.
>>
>> Т.е. есть простая утилита, у которой на входе git-репозиторий и tree-ish
>> (по умолчанию --tree-ish=HEAD) и на выходе tarball специального вида, из
>> которого hasher скоро научится собирать пакеты.
>
> Кстати, git2tar - это всего лишь рабочее название, хотелось бы придумать
> что-нибудь более подходящее для утилиты, которая извлекает из
> git-репозитория пакета файл архива (преимущественно в виде тарболла, но
> возможны и другие варианты).
>
> eagr - Extract Archive from Git package Repository?
Ну звучно..
Git Archive Extractor
garche
Rgds,
Rider
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 22:47 [devel] Как сделать репозиторий в git Dmitry V. Levin
` (4 preceding siblings ...)
2006-04-26 18:46 ` Anton Farygin
@ 2006-04-27 7:19 ` Stanislav Ievlev
2006-04-27 12:56 ` Dmitry V. Levin
2006-04-28 10:56 ` [devel] Как сделать репозиторий в git Anton Farygin
6 siblings, 1 reply; 81+ messages in thread
From: Stanislav Ievlev @ 2006-04-27 7:19 UTC (permalink / raw)
To: ALT Devel discussion list
Дима, такие вопросы:
1. Правильно ли я понял, что в одном из вариантов работы возможна
автоматическая генерация spec-файла на основании более простого
.buildspec?
2. Если это так, то как примерно предполагается создание buildspec
специфичных для тех или иных классов приложений, например, для модулей
perl,python etc.
Если эти "библиотеки" сборки тоже будут лежать в каких-то
git-репозитариях, то можно ли их будет как-то "вклеивать" их в структуру
своего репозитария, дабы собирать всегда с самыми свежими их версиями?
3. Я не очень понял насчёт BuildRequires.
Как предполагается их заполнять: вручную или будут какие-нибудь средства типа buildreq для того
чтобы автоматом заполнять содержимое .buildspec? И аналогичный вопрос тому
что был к пункту 2: как планируется хранить подобные "служебные" утилиты?
4. (возможно ответ на это где-то уже прозвучал) Где будут храниться git архивы с пакетами? Будет ли возможность как-то узнать местоположение архива интересующего меня пакета, чтобы сделать свою копию и начать
коллективную разработку в команде?
--
Стас.
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 7:19 ` [devel] Как сделать репозиторий в git Stanislav Ievlev
@ 2006-04-27 12:56 ` Dmitry V. Levin
2006-04-27 13:03 ` Alexey I. Froloff
` (4 more replies)
0 siblings, 5 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 12:56 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1251 bytes --]
On Thu, Apr 27, 2006 at 11:19:43AM +0400, Stanislav Ievlev wrote:
> Дима, такие вопросы:
> 1. Правильно ли я понял, что в одном из вариантов работы возможна
> автоматическая генерация spec-файла на основании более простого
> .buildspec?
Нет, ничего подобного я не предлагал. За исключением BuildRequires(pre),
я не предлагаю ничего менять в spec-файлах по сравнению с тем, что в них
есть сейчас.
Давайте дадим .buildspec'у другое, более удачное имя, чтобы он не
ассоциировался со spec-файлом.
Напоминаю, .buildspec - это файл, содержащий правила, по которым из
git-репозитория пакета формируется tarball специального вида, из которого
формируется srpm, из которого собирается пакет.
> 4. (возможно ответ на это где-то уже прозвучал)
> Где будут храниться git архивы с пакетами?
Где угодно.
> Будет ли возможность как-то узнать местоположение архива интересующего
> меня пакета, чтобы сделать свою копию и начать
> коллективную разработку в команде?
Во первых, каждому члену team будет предоставлено место на ftp.altlinux
(в people или где-то ещё - пока неясно) для этих целей.
Кроме того, будет как минимум один объединяющий репозиторий Sisyphus, в
котром будут отражаться мантейнерские репозитории.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 12:56 ` Dmitry V. Levin
@ 2006-04-27 13:03 ` Alexey I. Froloff
2006-04-27 13:08 ` Dmitry V. Levin
2006-04-27 13:32 ` Sviatoslav Sviridov
` (3 subsequent siblings)
4 siblings, 1 reply; 81+ messages in thread
From: Alexey I. Froloff @ 2006-04-27 13:03 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 421 bytes --]
* Dmitry V. Levin <ldv@> [060427 16:57]:
> Во первых, каждому члену team будет предоставлено место на
> ftp.altlinux (в people или где-то ещё - пока неясно) для этих
> целей.
Хотелось бы иметь нечто нативное, типа git:// или ssh://...
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 12:56 ` Dmitry V. Levin
2006-04-27 13:03 ` Alexey I. Froloff
@ 2006-04-27 13:32 ` Sviatoslav Sviridov
2006-04-27 13:57 ` Anton Farygin
` (2 subsequent siblings)
4 siblings, 0 replies; 81+ messages in thread
From: Sviatoslav Sviridov @ 2006-04-27 13:32 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 862 bytes --]
Dmitry V. Levin wrote on 4/27/2006 3:56 PM:
> On Thu, Apr 27, 2006 at 11:19:43AM +0400, Stanislav Ievlev wrote:
>
>> Дима, такие вопросы:
>> 1. Правильно ли я понял, что в одном из вариантов работы возможна
>> автоматическая генерация spec-файла на основании более простого
>> .buildspec?
>>
>
> Нет, ничего подобного я не предлагал. За исключением BuildRequires(pre),
> я не предлагаю ничего менять в spec-файлах по сравнению с тем, что в них
> есть сейчас.
>
> Давайте дадим .buildspec'у другое, более удачное имя, чтобы он не
> ассоциировался со spec-файлом.
> Напоминаю, .buildspec - это файл, содержащий правила, по которым из
> git-репозитория пакета формируется tarball специального вида, из которого
> формируется srpm, из которого собирается пакет.
>
.buildrules
.rules
?
--
Best Regards,
Sviatoslav Sviridov
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 12:56 ` Dmitry V. Levin
2006-04-27 13:03 ` Alexey I. Froloff
2006-04-27 13:32 ` Sviatoslav Sviridov
@ 2006-04-27 13:57 ` Anton Farygin
2006-04-27 14:24 ` Michael Shigorin
2006-04-27 22:06 ` [devel] Как назвать файл с правилами Dmitry V. Levin
4 siblings, 0 replies; 81+ messages in thread
From: Anton Farygin @ 2006-04-27 13:57 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Thu, Apr 27, 2006 at 11:19:43AM +0400, Stanislav Ievlev wrote:
>> Дима, такие вопросы:
>> 1. Правильно ли я понял, что в одном из вариантов работы возможна
>> автоматическая генерация spec-файла на основании более простого
>> .buildspec?
>
> Нет, ничего подобного я не предлагал. За исключением BuildRequires(pre),
> я не предлагаю ничего менять в spec-файлах по сравнению с тем, что в них
> есть сейчас.
>
> Давайте дадим .buildspec'у другое, более удачное имя, чтобы он не
> ассоциировался со spec-файлом.
> Напоминаю, .buildspec - это файл, содержащий правила, по которым из
> git-репозитория пакета формируется tarball специального вида, из которого
> формируется srpm, из которого собирается пакет.
pkgpolicy ?
Rgds,
Rider
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-27 12:56 ` Dmitry V. Levin
` (2 preceding siblings ...)
2006-04-27 13:57 ` Anton Farygin
@ 2006-04-27 14:24 ` Michael Shigorin
2006-04-27 22:06 ` [devel] Как назвать файл с правилами Dmitry V. Levin
4 siblings, 0 replies; 81+ messages in thread
From: Michael Shigorin @ 2006-04-27 14:24 UTC (permalink / raw)
To: ALT Devel discussion list
On Thu, Apr 27, 2006 at 04:56:15PM +0400, Dmitry V. Levin wrote:
> Давайте дадим .buildspec'у другое, более удачное имя, чтобы он
> не ассоциировался со spec-файлом.
altlinux/rules? 8-)
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как назвать файл с правилами
2006-04-27 12:56 ` Dmitry V. Levin
` (3 preceding siblings ...)
2006-04-27 14:24 ` Michael Shigorin
@ 2006-04-27 22:06 ` Dmitry V. Levin
2006-04-27 22:32 ` Sviatoslav Sviridov
2006-04-28 11:05 ` [devel] [JT] " Michael Shigorin
4 siblings, 2 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 22:06 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 915 bytes --]
On Thu, Apr 27, 2006 at 04:56:15PM +0400, Dmitry V. Levin wrote:
> On Thu, Apr 27, 2006 at 11:19:43AM +0400, Stanislav Ievlev wrote:
> > Дима, такие вопросы:
> > 1. Правильно ли я понял, что в одном из вариантов работы возможна
> > автоматическая генерация spec-файла на основании более простого
> > .buildspec?
>
> Нет, ничего подобного я не предлагал. За исключением BuildRequires(pre),
> я не предлагаю ничего менять в spec-файлах по сравнению с тем, что в них
> есть сейчас.
>
> Давайте дадим .buildspec'у другое, более удачное имя, чтобы он не
> ассоциировался со spec-файлом.
> Напоминаю, .buildspec - это файл, содержащий правила, по которым из
> git-репозитория пакета формируется tarball специального вида, из которого
> формируется srpm, из которого собирается пакет.
Кажется желательным избежать как слова build, так и слова spec.
.extract-rules
.extract-hints
?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как назвать файл с правилами
2006-04-27 22:06 ` [devel] Как назвать файл с правилами Dmitry V. Levin
@ 2006-04-27 22:32 ` Sviatoslav Sviridov
2006-04-27 16:54 ` Kirill Maslinsky
2006-04-28 11:05 ` [devel] [JT] " Michael Shigorin
1 sibling, 1 reply; 81+ messages in thread
From: Sviatoslav Sviridov @ 2006-04-27 22:32 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1500 bytes --]
Dmitry V. Levin пишет:
> On Thu, Apr 27, 2006 at 04:56:15PM +0400, Dmitry V. Levin wrote:
>
>> On Thu, Apr 27, 2006 at 11:19:43AM +0400, Stanislav Ievlev wrote:
>>
>>> Дима, такие вопросы:
>>> 1. Правильно ли я понял, что в одном из вариантов работы возможна
>>> автоматическая генерация spec-файла на основании более простого
>>> .buildspec?
>>>
>> Нет, ничего подобного я не предлагал. За исключением BuildRequires(pre),
>> я не предлагаю ничего менять в spec-файлах по сравнению с тем, что в них
>> есть сейчас.
>>
>> Давайте дадим .buildspec'у другое, более удачное имя, чтобы он не
>> ассоциировался со spec-файлом.
>> Напоминаю, .buildspec - это файл, содержащий правила, по которым из
>> git-репозитория пакета формируется tarball специального вида, из которого
>> формируется srpm, из которого собирается пакет.
>>
>
> Кажется желательным избежать как слова build, так и слова spec.
>
> .extract-rules
> .extract-hints
> ?
>
"extract" все же будет немного конфузить при первом взгляде. Название
подразумевает некоторое "извлечение", а содержимое (директивы) больше
наводят на мысль об "упаковке". И только при достижении состояния
просвещения становится понятно, что подразумевалось "извлечение" из
репозитория.... А в сумме имеет место "преобразование"...
Можно было бы, конечно, предложить что-то типа .convert-rules, но мне
больше нравится просто .rules...
--
Best regards,
Sviatoslav Sviridov
--
You have an ambitious nature and may make a name for yourself.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как назвать файл с правилами
2006-04-27 22:32 ` Sviatoslav Sviridov
@ 2006-04-27 16:54 ` Kirill Maslinsky
2006-04-28 12:38 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Kirill Maslinsky @ 2006-04-27 16:54 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 788 bytes --]
> > Кажется желательным избежать как слова build, так и слова spec.
> >
> > .extract-rules
> > .extract-hints
> > ?
> >
>
> "extract" все же будет немного конфузить при первом взгляде. Название
> подразумевает некоторое "извлечение", а содержимое (директивы) больше
> наводят на мысль об "упаковке". И только при достижении состояния
> просвещения становится понятно, что подразумевалось "извлечение" из
> репозитория.... А в сумме имеет место "преобразование"...
>
> Можно было бы, конечно, предложить что-то типа .convert-rules, но мне
> больше нравится просто .rules...
Вариант: включить в имя файла название той утилиты, которая с ним будет
работать, т. е. .eagr-rules или .gear.rules или что там выйдет.
--
Kirill Maslinsky
ALT Linux Documentation Team
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* [devel] [JT] Re: Как назвать файл с правилами
2006-04-27 22:06 ` [devel] Как назвать файл с правилами Dmitry V. Levin
2006-04-27 22:32 ` Sviatoslav Sviridov
@ 2006-04-28 11:05 ` Michael Shigorin
2006-04-28 11:09 ` Led
1 sibling, 1 reply; 81+ messages in thread
From: Michael Shigorin @ 2006-04-28 11:05 UTC (permalink / raw)
To: ALT Devel discussion list
On Fri, Apr 28, 2006 at 02:06:10AM +0400, Dmitry V. Levin wrote:
> Кажется желательным избежать как слова build, так и слова spec.
> .extract-rules
> .extract-hints
> ?
.tarballize?
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-25 22:47 [devel] Как сделать репозиторий в git Dmitry V. Levin
` (5 preceding siblings ...)
2006-04-27 7:19 ` [devel] Как сделать репозиторий в git Stanislav Ievlev
@ 2006-04-28 10:56 ` Anton Farygin
6 siblings, 0 replies; 81+ messages in thread
From: Anton Farygin @ 2006-04-28 10:56 UTC (permalink / raw)
To: devel
Dmitry V. Levin wrote:
> On Tue, Apr 25, 2006 at 04:32:13PM +0400, Dmitry V. Levin wrote:
>> On Tue, Apr 25, 2006 at 09:53:28AM +0400, Anton Farygin wrote:
> [...]
>>> Хм. расскажи плз, как это сделать ?
>> Расскажу обязательно, вот закончу тестировать и расскажу.
>
> Начну понемногу рассказывать, как я это вижу.
>
> Предпосылка та же, что была при создании hasher'а: я предполагаю, что
> система предназначена не только для того, чтобы мантейнер собирал свои
> пакеты, но и для того, чтобы собирать чужие пакеты "не глядя".
>
> В этом случае содержимое репозитория следует рассматривать как untrusted
> input. В такой ситуации нельзя использовать простые методы, эквивалентные
> запуску произвольного кода, извлекаемого из репозитория. К этим простым
> методам относятся:
> - запускаемые скрипты;
> - включаемые makefile'ы;
> - specfile'ы, обрабатываемые rpmbuild'ом.
>
> Значит, чтобы собирать пакеты из репозитория, нужно либо иметь просто
> устроенные specfile'ы, либо завести служебный файл, примитивный внутри и
> достаточный для сборки пакета в типичных случаях устройства репозитория.
>
> Упростить 5.5 тысяч specfile'ов в обозримом будущем нереально, поэтому я
> предлагаю завести служебный файл. Имя его не столь важно, хотя значение
> по умолчанию должно быть достаточно редким. Во время тестирования я
> использовал имя ".buildspec".
>
> Я прикинул, как обычно бывает устроен репозиторий пакета, и насчитал три
> образующих типа, и ещё один смешанный:
>
> 1. Однородный, развёрнутый: Дерево файлов пакета находится в репозитории
> в развёрнутом виде, specfile и .buildspec размещены в корневом каталоге
> репозитория. Пример:
> $ ls -Alog service/
> total 40
> -rw-r--r-- 1 7 Apr 24 17:44 .buildspec
> drwxr-xr-x 8 4096 Apr 25 02:35 .git
> -rw-r--r-- 1 340 Apr 10 21:24 post_service
> -rw-r--r-- 1 352 Apr 10 21:24 preun_service
> drwxr-xr-x 3 4096 Apr 10 21:24 rc.d
> -rwxr-xr-x 1 407 Apr 10 21:26 run-parts
> -rw-r--r-- 1 1186 Apr 10 21:26 service
> -rw-r--r-- 1 6756 Apr 10 21:26 service.spec
> drwxr-xr-x 2 4096 Apr 12 16:11 src
> Для сборки пакета из этого репозитория нужно получить srpm, состоящий из
> service.spec и service-0.5.9.tar[.bz2] (который содержит всё дерево, включая
> service.spec и .buildspec; разумеется, .git в него не входит)
>
> 2. Разнородный, развёрнутый: Дерево файлов пакета находится в репозитории
> в развёрнутом виде в отдельном подкаталоге, а .buildspec (и, возможно,
> specfile) размещён в корневом каталоге репозитория. Пример:
> $ ls -Alog hasher/
> total 12
> -rw-r--r-- 1 37 Apr 25 03:30 .buildspec
> drwxr-xr-x 8 4096 Apr 25 03:35 .git
> drwxr-xr-x 2 4096 Apr 25 04:52 hasher
> Для сборки пакета из этого репозитория нужно получить srpm, состоящий из
> hasher.spec и hasher-1.0.29.tar[.bz2]
>
> 3. Однородный, свёрнутый: Файлы пакета находится в корневом каталоге
> репозитория. Пример:
> $ ls -Alog strace/
> total 3016
> -rw-r--r-- 1 20 Apr 25 18:37 .buildspec
> drwxr-xr-x 8 4096 Apr 25 18:37 .git
> -rw-r--r-- 1 3569 Jan 17 17:40 strace-4.5.14-alt-keep_status.patch
> -rw-r--r-- 1 25616 Jan 17 18:05 strace-4.5.14-alt-quotactl.patch
> -rw-r--r-- 1 3649 Mar 29 04:56 strace-4.5.14-alt-tcb.patch
> -rw-r--r-- 1 349 Apr 21 22:24 strace-4.5.14-owl-x86_64.patch
> -rw-r--r-- 1 3020800 Jan 17 09:29 strace-4.5.14.tar
> -rw-r--r-- 1 10321 Apr 25 04:03 strace.spec
> Для сборки пакета из этого репозитория нужно получить srpm, состоящий из
> всех вышеперечисленных файлов, за исключением быть может .buildspec (.git
> в рассмотрение не входит).
>
> 4. Смешанный: комбинация 2-го и 3-го типов, одна часть файлов пакета
> находится в корневом каталоге репозитория, другая часть развёрнута в
> подкаталогах.
>
> Очевидно, 3-й тип наиболее характерен для пакетов в Сизифе.
> 1-й и 2-й типы (довольно схожие, кстати) соответствуют пакетам,
> разработка которых сконцентрирована у мантейнера.
>
> Продолжение следует. Комментарии приветствуются.
Возник ещё один весьма интересный вопрос:
- массовая расстановка тегов и массовое создание branch'ей.
Например - нам нужно как-то сделать бранчи для всех пакетов, которые
вошли в Master 3.1.
Как это предполагается реализовать ? (это вопрос к размышлению).
Rgds,
Rider
^ permalink raw reply [flat|nested] 81+ messages in thread