* 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-26 8:45 ` Alexey Tourbin
@ 2006-04-26 9:21 ` Michael Shigorin
2006-04-26 10:30 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Michael Shigorin @ 2006-04-26 9:21 UTC (permalink / raw)
To: ALT Devel discussion list
On Wed, Apr 26, 2006 at 12:45:56PM +0400, Alexey Tourbin wrote:
> > Source0: http://dl.sourceforge.net/varmon/%name-%version.tar.gz
> > # Source0-md5: fd251b64ad4976ef8573f0d2a20a02f9
> $ cat ./bash/sources
> ef5304c4b22aaa5088972c792ed45d72 bash-3.1.tar.gz
> a8c517c6a7b21b8b855190399c5935ae bash-doc-3.1.tar.gz
Кстати, как-то больше нравится.
--
---- 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 9:21 ` Michael Shigorin
@ 2006-04-26 10:30 ` Dmitry V. Levin
2006-04-26 12:27 ` Michael Shigorin
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-26 10:30 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 512 bytes --]
On Wed, Apr 26, 2006 at 12:21:34PM +0300, Michael Shigorin wrote:
> On Wed, Apr 26, 2006 at 12:45:56PM +0400, Alexey Tourbin wrote:
> > > Source0: http://dl.sourceforge.net/varmon/%name-%version.tar.gz
> > > # Source0-md5: fd251b64ad4976ef8573f0d2a20a02f9
> > $ cat ./bash/sources
> > ef5304c4b22aaa5088972c792ed45d72 bash-3.1.tar.gz
> > a8c517c6a7b21b8b855190399c5935ae bash-doc-3.1.tar.gz
>
> Кстати, как-то больше нравится.
А зачем оно надо в git, где имя объекта - это sha1sum?
--
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:30 ` Dmitry V. Levin
@ 2006-04-26 12:27 ` Michael Shigorin
0 siblings, 0 replies; 81+ messages in thread
From: Michael Shigorin @ 2006-04-26 12:27 UTC (permalink / raw)
To: ALT Devel discussion list
On Wed, Apr 26, 2006 at 02:30:14PM +0400, Dmitry V. Levin wrote:
> > > > Source0: http://dl.sourceforge.net/varmon/%name-%version.tar.gz
> > > > # Source0-md5: fd251b64ad4976ef8573f0d2a20a02f9
> > > $ cat ./bash/sources
> > > ef5304c4b22aaa5088972c792ed45d72 bash-3.1.tar.gz
> > > a8c517c6a7b21b8b855190399c5935ae bash-doc-3.1.tar.gz
> > Кстати, как-то больше нравится.
> А зачем оно надо в git, где имя объекта - это sha1sum?
Так это локальный. Не знаю, где как образовывается, но для
некоторых пакетов (вроде apache и mod_ssl) давно хотелось
иметь возможность отдельно посмотреть MD5/SHA1 и добавить
из доверенного источника, бишь upstream, и сравнивать при
сборке.
--
---- 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 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: Alexey Tourbin @ 2006-04-26 13:42 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 187 bytes --]
On Wed, Apr 26, 2006 at 03:34:00AM +0400, Dmitry V. Levin wrote:
> > Т.е. со временем отменить incoming как таковой?
> Да.
Будет отсев maintainer'ов, которые не смогут освоить git?
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 13:42 ` Alexey Tourbin
@ 2006-04-26 13:53 ` Michael Shigorin
2006-04-26 18:49 ` Anton Farygin
0 siblings, 1 reply; 81+ messages in thread
From: Michael Shigorin @ 2006-04-26 13:53 UTC (permalink / raw)
To: ALT Devel discussion list
On Wed, Apr 26, 2006 at 05:42:21PM +0400, Alexey Tourbin wrote:
> > > Т.е. со временем отменить incoming как таковой?
> > Да.
> Будет отсев maintainer'ов, которые не смогут освоить git?
Насколько понимаю, достаточно предоставить удобные базовые
средства работы и внятный QUICKSTART. Конфликтов или конфликтных
пакетных требований у него вроде нет же, да и принципиальные
враги этой SCM до сих пор молчат.
В конце концов, ftp://.../incoming, как в Red Hat, и не было
никогда...
--
---- 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 13:53 ` Michael Shigorin
@ 2006-04-26 18:49 ` Anton Farygin
2006-04-26 18:58 ` Michael Shigorin
0 siblings, 1 reply; 81+ messages in thread
From: Anton Farygin @ 2006-04-26 18:49 UTC (permalink / raw)
To: ALT Devel discussion list
Michael Shigorin wrote:
> On Wed, Apr 26, 2006 at 05:42:21PM +0400, Alexey Tourbin wrote:
>>>> Т.е. со временем отменить incoming как таковой?
>>> Да.
>> Будет отсев maintainer'ов, которые не смогут освоить git?
>
> Насколько понимаю, достаточно предоставить удобные базовые
> средства работы и внятный QUICKSTART. Конфликтов или конфликтных
> пакетных требований у него вроде нет же, да и принципиальные
> враги этой SCM до сих пор молчат.
>
> В конце концов, ftp://.../incoming, как в Red Hat, и не было
> никогда...
>
В общем случае git это не намного сложнее, чем rsync или cvs. особенно
если учитывать то, что над ним можно сделать облегчающие жизнь обвязки.
Rgds,
Rider
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 18:49 ` Anton Farygin
@ 2006-04-26 18:58 ` Michael Shigorin
2006-04-26 19:26 ` Anton Farygin
0 siblings, 1 reply; 81+ messages in thread
From: Michael Shigorin @ 2006-04-26 18:58 UTC (permalink / raw)
To: ALT Devel discussion list
On Wed, Apr 26, 2006 at 10:49:13PM +0400, Anton Farygin wrote:
> В общем случае git это не намного сложнее, чем rsync или cvs.
> особенно если учитывать то, что над ним можно сделать
> облегчающие жизнь обвязки.
Особенно если учесть то, что сейчас эти обвязки многие плетут
кто во что горазд, и лично меня мои уже подзаколебали.
--
---- 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 18:58 ` Michael Shigorin
@ 2006-04-26 19:26 ` Anton Farygin
2006-04-26 20:40 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Anton Farygin @ 2006-04-26 19:26 UTC (permalink / raw)
To: ALT Devel discussion list
Michael Shigorin wrote:
> On Wed, Apr 26, 2006 at 10:49:13PM +0400, Anton Farygin wrote:
>> В общем случае git это не намного сложнее, чем rsync или cvs.
>> особенно если учитывать то, что над ним можно сделать
>> облегчающие жизнь обвязки.
>
> Особенно если учесть то, что сейчас эти обвязки многие плетут
> кто во что горазд, и лично меня мои уже подзаколебали.
>
А мои меня радуют, хотя и там есть недостатки.
Я например иногда забываю коммитить ;)
собственно с git это решается проще - пакет на сборку запускать только
после merge с центральным репозитарием.
Rgds,
Rider
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 19:26 ` Anton Farygin
@ 2006-04-26 20:40 ` Dmitry V. Levin
2006-04-27 5:45 ` Anton Farygin
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-26 20:40 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 797 bytes --]
On Wed, Apr 26, 2006 at 11:26:53PM +0400, Anton Farygin wrote:
> Michael Shigorin wrote:
> > On Wed, Apr 26, 2006 at 10:49:13PM +0400, Anton Farygin wrote:
> >> В общем случае git это не намного сложнее, чем rsync или cvs.
> >> особенно если учитывать то, что над ним можно сделать
> >> облегчающие жизнь обвязки.
> >
> > Особенно если учесть то, что сейчас эти обвязки многие плетут
> > кто во что горазд, и лично меня мои уже подзаколебали.
>
> А мои меня радуют, хотя и там есть недостатки.
>
> Я например иногда забываю коммитить ;)
Я предлагаю собирать пакеты из репозитория пакета, а не из checkout'а.
Тогда ничего не будет забыто. commit'ы в git'е ничего не стоят, тем более
что их можно откатывать бесследно до тех пор, пока они не были
опубликованы.
--
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 20:40 ` Dmitry V. Levin
@ 2006-04-27 5:45 ` Anton Farygin
0 siblings, 0 replies; 81+ messages in thread
From: Anton Farygin @ 2006-04-27 5:45 UTC (permalink / raw)
To: ALT Devel discussion list
Dmitry V. Levin wrote:
> On Wed, Apr 26, 2006 at 11:26:53PM +0400, Anton Farygin wrote:
>> Michael Shigorin wrote:
>>> On Wed, Apr 26, 2006 at 10:49:13PM +0400, Anton Farygin wrote:
>>>> В общем случае git это не намного сложнее, чем rsync или cvs.
>>>> особенно если учитывать то, что над ним можно сделать
>>>> облегчающие жизнь обвязки.
>>> Особенно если учесть то, что сейчас эти обвязки многие плетут
>>> кто во что горазд, и лично меня мои уже подзаколебали.
>> А мои меня радуют, хотя и там есть недостатки.
>>
>> Я например иногда забываю коммитить ;)
>
> Я предлагаю собирать пакеты из репозитория пакета, а не из checkout'а.
> Тогда ничего не будет забыто. commit'ы в git'е ничего не стоят, тем более
> что их можно откатывать бесследно до тех пор, пока они не были
> опубликованы.
Но при этом желательно всё таки оставить возможность локально собрать
пакет hasher'ом. ;)
Для души ;)
А так - я целиком поддерживаю. к тому же там напрашиваются дальнейшие
улучшения (как-то автопересборка пакетов, в случае изменения чего-либо)
Rgds,
Rider
^ 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: Alexey Tourbin @ 2006-04-25 23:46 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1656 bytes --]
On Wed, Apr 26, 2006 at 02:47:36AM +0400, Dmitry V. Levin wrote:
> Предпосылка та же, что была при создании hasher'а: я предполагаю, что
> система предназначена не только для того, чтобы мантейнер собирал свои
> пакеты, но и для того, чтобы собирать чужие пакеты "не глядя".
>
> В этом случае содержимое репозитория следует рассматривать как untrusted
> input. В такой ситуации нельзя использовать простые методы, эквивалентные
> запуску произвольного кода, извлекаемого из репозитория. К этим простым
> методам относятся:
> - запускаемые скрипты;
> - включаемые makefile'ы;
> - specfile'ы, обрабатываемые rpmbuild'ом.
>
> Значит, чтобы собирать пакеты из репозитория, нужно либо иметь просто
> устроенные specfile'ы, либо завести служебный файл, примитивный внутри и
> достаточный для сборки пакета в типичных случаях устройства репозитория.
Здесь не понял ход мыслей. "Сборка specfile'ов небезопасна. Значит,
нужно упростить specfile'ы, чтобы сборка стала безопасной." Так?
Что имелось в виду под упрощением?
> Упростить 5.5 тысяч specfile'ов в обозримом будущем нереально, поэтому я
> предлагаю завести служебный файл. Имя его не столь важно, хотя значение
> по умолчанию должно быть достаточно редким. Во время тестирования я
> использовал имя ".buildspec".
Чем занимается этот служебный файл?
Проблема в том, что из спека на самом деле нетривиально получить src.rpm
для последующей сборки.
%if_with gnome
BuildRequires: gnome
%else
BuildRequires: kde
%endif
Если только запихнуть этот спек в чрут и сделать там
rpm -q --requires --specfile *.spec
но тогда опять же макросы могут не раскрыться.
[-- 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:46 ` Alexey Tourbin
@ 2006-04-25 23:56 ` Dmitry V. Levin
2006-04-26 0:06 ` Alexey Tourbin
0 siblings, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-25 23:56 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2193 bytes --]
On Wed, Apr 26, 2006 at 03:46:02AM +0400, Alexey Tourbin wrote:
> On Wed, Apr 26, 2006 at 02:47:36AM +0400, Dmitry V. Levin wrote:
> > Предпосылка та же, что была при создании hasher'а: я предполагаю, что
> > система предназначена не только для того, чтобы мантейнер собирал свои
> > пакеты, но и для того, чтобы собирать чужие пакеты "не глядя".
> >
> > В этом случае содержимое репозитория следует рассматривать как untrusted
> > input. В такой ситуации нельзя использовать простые методы, эквивалентные
> > запуску произвольного кода, извлекаемого из репозитория. К этим простым
> > методам относятся:
> > - запускаемые скрипты;
> > - включаемые makefile'ы;
> > - specfile'ы, обрабатываемые rpmbuild'ом.
> >
> > Значит, чтобы собирать пакеты из репозитория, нужно либо иметь просто
> > устроенные specfile'ы, либо завести служебный файл, примитивный внутри и
> > достаточный для сборки пакета в типичных случаях устройства репозитория.
>
> Здесь не понял ход мыслей. "Сборка specfile'ов небезопасна. Значит,
> нужно упростить specfile'ы, чтобы сборка стала безопасной." Так?
> Что имелось в виду под упрощением?
Думаю что упрощение specfile'ов до состояния, когда их можно будет
парсить без помощи rpmbuild, является недостижимой задачей.
> > Упростить 5.5 тысяч specfile'ов в обозримом будущем нереально, поэтому я
> > предлагаю завести служебный файл. Имя его не столь важно, хотя значение
> > по умолчанию должно быть достаточно редким. Во время тестирования я
> > использовал имя ".buildspec".
>
> Чем занимается этот служебный файл?
Он определяет, какие файлы из репозитория должны попасть во временный
srpm-пакет, а также простые преобразования, которые при этом следует
сделать (например, свернуть дерево в тарболл или сжать тарболл bzip'ом).
Примеры .buildspec'ов:
1-й тип (service):
tar: .
2-й тип (hasher):
spec: hasher/hasher.spec
tar: hasher
3-й тип (strace):
copy: *.patch
bzip2: *.tar
> Проблема в том, что из спека на самом деле нетривиально получить src.rpm
> для последующей сборки.
Нетривиально, но с помощью hasher'а можно. У меня есть мысли (и код) на
эту тему. А что, интересно?
--
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:56 ` Dmitry V. Levin
@ 2006-04-26 0:06 ` Alexey Tourbin
2006-04-26 0:21 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Alexey Tourbin @ 2006-04-26 0:06 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 499 bytes --]
On Wed, Apr 26, 2006 at 03:56:10AM +0400, Dmitry V. Levin wrote:
> Примеры .buildspec'ов:
>
> 1-й тип (service):
> tar: .
>
> 2-й тип (hasher):
> spec: hasher/hasher.spec
> tar: hasher
>
> 3-й тип (strace):
> copy: *.patch
> bzip2: *.tar
Понял.
> > Проблема в том, что из спека на самом деле нетривиально получить src.rpm
> > для последующей сборки.
>
> Нетривиально, но с помощью hasher'а можно. У меня есть мысли (и код) на
> эту тему. А что, интересно?
Интересно.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-26 0:06 ` Alexey Tourbin
@ 2006-04-26 0:21 ` Dmitry V. Levin
2006-04-26 8:56 ` [devel] BuildRequires(pre) Michael Shigorin
2006-04-28 9:35 ` [devel] Как сделать репозиторий в git Sergey Bolshakov
0 siblings, 2 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-26 0:21 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1463 bytes --]
On Wed, Apr 26, 2006 at 04:06:36AM +0400, Alexey Tourbin wrote:
> On Wed, Apr 26, 2006 at 03:56:10AM +0400, Dmitry V. Levin wrote:
[...]
> > > Проблема в том, что из спека на самом деле нетривиально получить src.rpm
> > > для последующей сборки.
> >
> > Нетривиально, но с помощью hasher'а можно. У меня есть мысли (и код) на
> > эту тему. А что, интересно?
>
> Интересно.
1. С помощью очень простого описания (примеры .buildspec'ов были приведены
ранее) можно сформировать файловое содержимое srpm'а, в виде тарболла. У
меня уже есть скрипт, который это делает.
2. В базовой сборочной среде (hsh --initroot) можно распаковать этот
тарболл, и с помощью команды вроде
sed '/^BuildRequires(pre):[[:space:]]*/!d;s///;q'
извлечь из specfile'а сборочные зависимости, которые необходимо
удовлетворить для того, чтобы можно было выполнить команду вроде
rpmbuild -bs --nodeps
и получить srpm, который уже можно собирать обычным образом.
3. hasher можно обучить обрабатывать такие специфические тарболлы и тем
самым снять дополнительную сложность сборки из git-репозитория.
У нас, правда, никаких BuildRequires(pre) (или как мы их назовём) ещё нет.
Я предполагаю, что кандидатами на попадание в BuildRequires(pre) являются
пакеты, предоставляющие реализации rpm-макросов, необходимых для сборки
srpm'ов, например, rpm-build-firefox.
Я надеюсь, что проставить такие зависимости будет относительно несложной
задачей.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* [devel] BuildRequires(pre)
2006-04-26 0:21 ` Dmitry V. Levin
@ 2006-04-26 8:56 ` Michael Shigorin
2006-04-26 10:31 ` Dmitry V. Levin
2006-04-28 9:35 ` [devel] Как сделать репозиторий в git Sergey Bolshakov
1 sibling, 1 reply; 81+ messages in thread
From: Michael Shigorin @ 2006-04-26 8:56 UTC (permalink / raw)
To: ALT Devel discussion list
On Wed, Apr 26, 2006 at 04:21:32AM +0400, Dmitry V. Levin wrote:
> У нас, правда, никаких BuildRequires(pre) (или как мы их
> назовём) ещё нет. Я предполагаю, что кандидатами на попадание
> в BuildRequires(pre) являются пакеты, предоставляющие
> реализации rpm-макросов, необходимых для сборки srpm'ов,
> например, rpm-build-firefox. Я надеюсь, что проставить такие
> зависимости будет относительно несложной задачей.
Оценку можно попробовать автоматизировать -- список пакетов,
держащих файл(ы) в /etc/rpm/macros.d/, получаем (можно заодно
и список макросов); после этого можно либо по имеющимся
BuildRequires получить оценку совсем сверху, либо по макросам
-- уже точную.
--
---- WBR, Michael Shigorin <mike@altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] BuildRequires(pre)
2006-04-26 8:56 ` [devel] BuildRequires(pre) Michael Shigorin
@ 2006-04-26 10:31 ` Dmitry V. Levin
0 siblings, 0 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-26 10:31 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 860 bytes --]
On Wed, Apr 26, 2006 at 11:56:22AM +0300, Michael Shigorin wrote:
> On Wed, Apr 26, 2006 at 04:21:32AM +0400, Dmitry V. Levin wrote:
> > У нас, правда, никаких BuildRequires(pre) (или как мы их
> > назовём) ещё нет. Я предполагаю, что кандидатами на попадание
> > в BuildRequires(pre) являются пакеты, предоставляющие
> > реализации rpm-макросов, необходимых для сборки srpm'ов,
> > например, rpm-build-firefox. Я надеюсь, что проставить такие
> > зависимости будет относительно несложной задачей.
>
> Оценку можно попробовать автоматизировать -- список пакетов,
> держащих файл(ы) в /etc/rpm/macros.d/, получаем (можно заодно
> и список макросов); после этого можно либо по имеющимся
> BuildRequires получить оценку совсем сверху, либо по макросам
> -- уже точную.
Главное в том, что добавить одну строчку в spec-файл легко.
--
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 0:21 ` Dmitry V. Levin
2006-04-26 8:56 ` [devel] BuildRequires(pre) Michael Shigorin
@ 2006-04-28 9:35 ` Sergey Bolshakov
2006-04-28 9:53 ` Alexey I. Froloff
2006-04-29 23:30 ` Dmitry V. Levin
1 sibling, 2 replies; 81+ messages in thread
From: Sergey Bolshakov @ 2006-04-28 9:35 UTC (permalink / raw)
To: ALT Devel discussion list
>>>>> "Dmitry" == Dmitry V Levin <ldv@altlinux.org> writes:
> On Wed, Apr 26, 2006 at 04:06:36AM +0400, Alexey Tourbin wrote:
>> On Wed, Apr 26, 2006 at 03:56:10AM +0400, Dmitry V. Levin wrote:
> [...]
>> > > Проблема в том, что из спека на самом деле нетривиально получить src.rpm
>> > > для последующей сборки.
>> >
>> > Нетривиально, но с помощью hasher'а можно. У меня есть мысли (и код) на
>> > эту тему. А что, интересно?
>>
>> Интересно.
> 1. С помощью очень простого описания (примеры .buildspec'ов были приведены
> ранее) можно сформировать файловое содержимое srpm'а, в виде тарболла. У
> меня уже есть скрипт, который это делает.
> 2. В базовой сборочной среде (hsh --initroot) можно распаковать этот
> тарболл, и с помощью команды вроде
> sed '/^BuildRequires(pre):[[:space:]]*/!d;s///;q'
> извлечь из specfile'а сборочные зависимости, которые необходимо
> удовлетворить для того, чтобы можно было выполнить команду вроде
> rpmbuild -bs --nodeps
> и получить srpm, который уже можно собирать обычным образом.
В этом месте предлагается устроить двухпроходное нечто,
бишь, после первого sed и доустановки пакета(ов), выполнять
второй вида rpmbuild -bE <specfile> |sed '/^BuildRequires:[[:space:]]*/!d;s///;q'
доустановить обнаруженное и закончить rpmbuild -bs.
Да, на всякий случай: тэги в rpm Case-InSensitivE :)
--
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-28 9:35 ` [devel] Как сделать репозиторий в git Sergey Bolshakov
@ 2006-04-28 9:53 ` Alexey I. Froloff
2006-04-28 9:55 ` Sergey Bolshakov
2006-04-29 23:30 ` Dmitry V. Levin
1 sibling, 1 reply; 81+ messages in thread
From: Alexey I. Froloff @ 2006-04-28 9:53 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 703 bytes --]
* Sergey Bolshakov <sbolshakov@> [060428 13:36]:
> В этом месте предлагается устроить двухпроходное нечто,
> бишь, после первого sed и доустановки пакета(ов), выполнять
> второй вида rpmbuild -bE <specfile> |sed '/^BuildRequires:[[:space:]]*/!d;s///;q'
> доустановить обнаруженное и закончить rpmbuild -bs.
Может это заскриптовать отдельно? Есть мнение, что двух проходов
может и не хватить. А ещё наверно хотелось бы передавать
некоторые зависимости вручную, например для выбора определённой
версии кого-ньдь.
--
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-28 9:53 ` Alexey I. Froloff
@ 2006-04-28 9:55 ` Sergey Bolshakov
0 siblings, 0 replies; 81+ messages in thread
From: Sergey Bolshakov @ 2006-04-28 9:55 UTC (permalink / raw)
To: devel
>>>>> "Alexey" == Alexey I Froloff <raorn@immo.ru> writes:
> * Sergey Bolshakov <sbolshakov@> [060428 13:36]:
>> В этом месте предлагается устроить двухпроходное нечто,
>> бишь, после первого sed и доустановки пакета(ов), выполнять
>> второй вида rpmbuild -bE <specfile> |sed '/^BuildRequires:[[:space:]]*/!d;s///;q'
>> доустановить обнаруженное и закончить rpmbuild -bs.
> Может это заскриптовать отдельно? Есть мнение, что двух проходов
> может и не хватить. А ещё наверно хотелось бы передавать
> некоторые зависимости вручную, например для выбора определённой
> версии кого-ньдь.
Можно наверное до совпадения списка пакетов с предыдущим проходом,
либо до MAXTRY, что наступит раньше.
--
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-28 9:35 ` [devel] Как сделать репозиторий в git Sergey Bolshakov
2006-04-28 9:53 ` Alexey I. Froloff
@ 2006-04-29 23:30 ` Dmitry V. Levin
2006-04-29 23:39 ` Alexey Tourbin
1 sibling, 1 reply; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-29 23:30 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1928 bytes --]
On Fri, Apr 28, 2006 at 01:35:58PM +0400, Sergey Bolshakov wrote:
> >>>>> "Dmitry" == Dmitry V Levin writes:
> > On Wed, Apr 26, 2006 at 04:06:36AM +0400, Alexey Tourbin wrote:
> >> On Wed, Apr 26, 2006 at 03:56:10AM +0400, Dmitry V. Levin wrote:
> > [...]
> >> > > Проблема в том, что из спека на самом деле нетривиально получить src.rpm
> >> > > для последующей сборки.
> >> >
> >> > Нетривиально, но с помощью hasher'а можно. У меня есть мысли (и код) на
> >> > эту тему. А что, интересно?
> >>
> >> Интересно.
>
> > 1. С помощью очень простого описания (примеры .buildspec'ов были приведены
> > ранее) можно сформировать файловое содержимое srpm'а, в виде тарболла. У
> > меня уже есть скрипт, который это делает.
>
> > 2. В базовой сборочной среде (hsh --initroot) можно распаковать этот
> > тарболл, и с помощью команды вроде
> > sed '/^BuildRequires(pre):[[:space:]]*/!d;s///;q'
> > извлечь из specfile'а сборочные зависимости, которые необходимо
> > удовлетворить для того, чтобы можно было выполнить команду вроде
> > rpmbuild -bs --nodeps
> > и получить srpm, который уже можно собирать обычным образом.
>
> В этом месте предлагается устроить двухпроходное нечто,
> бишь, после первого sed и доустановки пакета(ов), выполнять
> второй вида rpmbuild -bE <specfile> |sed '/^BuildRequires:[[:space:]]*/!d;s///;q'
> доустановить обнаруженное и закончить rpmbuild -bs.
Если уж делать, то не двухпроходное, а до тех пор, пока либо процесс не
сойдётся, либо установка пакета не пройдёт. Но первый sed нужен всё
равно, ибо есть такие spec-файлы, которых без недостающих макросов даже
rpmbuild -bE не принимает.
> Да, на всякий случай: тэги в rpm Case-InSensitivE :)
Ну это все помнят.
Вот только стоит ли делать icase для BuildRequires(pre)?
Раз против BuildRequires(pre) никто не возразил, предлагаю начинать
добавлять их там где надо.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-29 23:30 ` Dmitry V. Levin
@ 2006-04-29 23:39 ` Alexey Tourbin
2006-04-30 13:15 ` Dmitry V. Levin
0 siblings, 1 reply; 81+ messages in thread
From: Alexey Tourbin @ 2006-04-29 23:39 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 260 bytes --]
On Sun, Apr 30, 2006 at 03:30:04AM +0400, Dmitry V. Levin wrote:
> Раз против BuildRequires(pre) никто не возразил, предлагаю начинать
> добавлять их там где надо.
А где надо? Пока нет исчерпывающего описания проблемы, считай что нет
и самой проблемы.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 81+ messages in thread
* Re: [devel] Как сделать репозиторий в git
2006-04-29 23:39 ` Alexey Tourbin
@ 2006-04-30 13:15 ` Dmitry V. Levin
0 siblings, 0 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-30 13:15 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 733 bytes --]
On Sun, Apr 30, 2006 at 03:39:52AM +0400, Alexey Tourbin wrote:
> On Sun, Apr 30, 2006 at 03:30:04AM +0400, Dmitry V. Levin wrote:
> > Раз против BuildRequires(pre) никто не возразил, предлагаю начинать
> > добавлять их там где надо.
>
> А где надо? Пока нет исчерпывающего описания проблемы, считай что нет
> и самой проблемы.
Дано: имеет место быть базовый сборочный чрут (hsh --initroot),
в котором есть все файлы, которые должны войти в состав srpm-пакета.
Задача: изготовить этот самый srpm-пакет.
Идея: пометить сборочные зависимости, необходимые для успешного выполнения
команды @rpmbuild -bs --nodeps spec-файл" в базовом сборочном чруте, особым
образом: "BuildRequires(pre): зависимости".
--
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
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: Alexey I. Froloff @ 2006-04-26 5:11 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 723 bytes --]
* Dmitry V. Levin <ldv@> [060426 02:48]:
> 3. Однородный, свёрнутый: Файлы пакета находится в корневом каталоге
> репозитория. Пример:
> 4. Смешанный: комбинация 2-го и 3-го типов, одна часть файлов пакета
> находится в корневом каталоге репозитория, другая часть развёрнута в
> подкаталогах.
А такая структура куда попадает?
%name:
files/
%name.spec
%name/files:
%SOURCE0
%SOURCE1
%PATCH0
%PATCH1
...
Просто так исторически сложилось, что у меня уже года три именно
такая структура и не хочется всё переделывать...
--
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-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: Dmitry V. Levin @ 2006-04-26 10:33 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 742 bytes --]
On Wed, Apr 26, 2006 at 09:11:26AM +0400, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [060426 02:48]:
> > 3. Однородный, свёрнутый: Файлы пакета находится в корневом каталоге
> > репозитория. Пример:
> > 4. Смешанный: комбинация 2-го и 3-го типов, одна часть файлов пакета
> > находится в корневом каталоге репозитория, другая часть развёрнута в
> > подкаталогах.
> А такая структура куда попадает?
>
> %name:
> files/
> %name.spec
>
> %name/files:
> %SOURCE0
> %SOURCE1
> %PATCH0
> %PATCH1
> ...
Какой-то смешанный тип, ничего особенного.
> Просто так исторически сложилось, что у меня уже года три именно
> такая структура и не хочется всё переделывать...
Не хочется - не переделывай.
--
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: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: Dmitry V. Levin @ 2006-04-26 23:34 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 843 bytes --]
On Wed, Apr 26, 2006 at 02:33:34PM +0400, Dmitry V. Levin wrote:
> On Wed, Apr 26, 2006 at 09:11:26AM +0400, Alexey I. Froloff wrote:
> > * Dmitry V. Levin <ldv@> [060426 02:48]:
> > > 3. Однородный, свёрнутый: Файлы пакета находится в корневом каталоге
> > > репозитория. Пример:
> > > 4. Смешанный: комбинация 2-го и 3-го типов, одна часть файлов пакета
> > > находится в корневом каталоге репозитория, другая часть развёрнута в
> > > подкаталогах.
> > А такая структура куда попадает?
> >
> > %name:
> > files/
> > %name.spec
> >
> > %name/files:
> > %SOURCE0
> > %SOURCE1
> > %PATCH0
> > %PATCH1
> > ...
>
> Какой-то смешанный тип, ничего особенного.
А именно смесь типов 2 и 3, т.е. "разнородный, свёрнутый".
.buildspec будет выглядеть примерно так:
copy: files/*.patch
bzip2: files/*.tar
--
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: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: Alexey I. Froloff @ 2006-04-28 8:22 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1324 bytes --]
* Dmitry V. Levin <ldv@> [060426 14:34]:
> > Просто так исторически сложилось, что у меня уже года три именно
> > такая структура и не хочется всё переделывать...
> Не хочется - не переделывай.
$ eagr .git vim.src.rpm
eagr: .rules line 2: Invalid pattern "files/vim-*.tar" specified
[1] 29550 exit 1 ../../build/eagr .git vim.src.rpm
$ cat .rules
spec: vim.spec
bzip2: files/vim-*.tar
copy: files/*.patch
copy: files/*.alternatives
copy: files/gvim.desktop
copy: files/README.ALT-ru_RU.KOI8-R
copy: files/vim_faq_help.txt
copy: files/*.gvimrc
copy: files/*.vimrc
Если указывать без files/ то ничего не пакует, но и не ругается
что файлы не найдены.
А ещё встретился с такой проблемой:
$ rpm -qpl vim-7.0-alt0.1.f.src.rpm| grep tar
vim-7.0-langmap.tar.bz2
vim-7.0-langrc.tar.bz2
vim-7.0f-extra.tar.gz
vim-7.0f-lang.tar.gz
vim-7.0f.tar.bz2
Как правильно написать паттерны, желательно не привязываясь к
версии? Вот так наверно не прокатит:
gzip: vim-*-extra.tar
gzip: vim-*-lang.tar
bzip2: vim-*-langmap.tar
bzip2: vim-*-langrc.tar
bzip2: vim-*.tar
Только переводить всё к одному виду?
--
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-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: Dmitry V. Levin @ 2006-04-28 12:06 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1622 bytes --]
On Fri, Apr 28, 2006 at 12:22:59PM +0400, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [060426 14:34]:
> > > Просто так исторически сложилось, что у меня уже года три именно
> > > такая структура и не хочется всё переделывать...
> > Не хочется - не переделывай.
> $ eagr .git vim.src.rpm
> eagr: .rules line 2: Invalid pattern "files/vim-*.tar" specified
> [1] 29550 exit 1 ../../build/eagr .git vim.src.rpm
Это я недоделал. Спасибо за патч.
> $ cat .rules
> spec: vim.spec
> bzip2: files/vim-*.tar
> copy: files/*.patch
> copy: files/*.alternatives
> copy: files/gvim.desktop
> copy: files/README.ALT-ru_RU.KOI8-R
> copy: files/vim_faq_help.txt
> copy: files/*.gvimrc
> copy: files/*.vimrc
>
> Если указывать без files/ то ничего не пакует, но и не ругается
> что файлы не найдены.
А должен ругаться на то, что не найдено? Или лучше так:
ругаться по умолчанию, завести модификатор директивы, чтобы не ругаться.
Например, если вдруг в пакете извелись патчи, чтобы
copy-что-то-там: *.patch
продолжало работать.
> А ещё встретился с такой проблемой:
>
> $ rpm -qpl vim-7.0-alt0.1.f.src.rpm| grep tar
> vim-7.0-langmap.tar.bz2
> vim-7.0-langrc.tar.bz2
> vim-7.0f-extra.tar.gz
> vim-7.0f-lang.tar.gz
> vim-7.0f.tar.bz2
Зачем такая разнородность, кстати?
> Как правильно написать паттерны, желательно не привязываясь к
> версии? Вот так наверно не прокатит:
>
> gzip: vim-*-extra.tar
> gzip: vim-*-lang.tar
> bzip2: vim-*-langmap.tar
> bzip2: vim-*-langrc.tar
> bzip2: vim-*.tar
Почему не прокатит? По замыслу должно работать.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ 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: Alexey I. Froloff @ 2006-04-28 12:23 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 969 bytes --]
* Dmitry V. Levin <ldv@> [060428 16:06]:
> > Если указывать без files/ то ничего не пакует, но и не ругается
> > что файлы не найдены.
> А должен ругаться на то, что не найдено? Или лучше так:
> ругаться по умолчанию, завести модификатор директивы, чтобы не ругаться.
Ну, ругаться - если под маску ничего не попало.
> > vim-7.0f-extra.tar.gz
> > vim-7.0f-lang.tar.gz
> > vim-7.0f.tar.bz2
> Зачем такая разнородность, кстати?
А так в апстриме. -extra и -lang только в .gz есть. В принципе
не проблема всё в .bz2 запихать...
> > gzip: vim-*-extra.tar
> > gzip: vim-*-lang.tar
> > bzip2: vim-*-langmap.tar
> > bzip2: vim-*-langrc.tar
> > bzip2: vim-*.tar
> Почему не прокатит? По замыслу должно работать.
Только под vim-*.tar попадёт и vim-7.0f-extra.tar тоже...
--
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-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: Dmitry V. Levin @ 2006-04-28 12:35 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1002 bytes --]
On Fri, Apr 28, 2006 at 04:23:32PM +0400, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [060428 16:06]:
> > > Если указывать без files/ то ничего не пакует, но и не ругается
> > > что файлы не найдены.
> > А должен ругаться на то, что не найдено? Или лучше так:
> > ругаться по умолчанию, завести модификатор директивы, чтобы не ругаться.
> Ну, ругаться - если под маску ничего не попало.
OK, я понял
> > > vim-7.0f-extra.tar.gz
> > > vim-7.0f-lang.tar.gz
> > > vim-7.0f.tar.bz2
> > Зачем такая разнородность, кстати?
> А так в апстриме. -extra и -lang только в .gz есть. В принципе
> не проблема всё в .bz2 запихать...
В том то и дело.
> > > gzip: vim-*-extra.tar
> > > gzip: vim-*-lang.tar
> > > bzip2: vim-*-langmap.tar
> > > bzip2: vim-*-langrc.tar
> > > bzip2: vim-*.tar
> > Почему не прокатит? По замыслу должно работать.
> Только под vim-*.tar попадёт и vim-7.0f-extra.tar тоже...
А что, vim-*.tar задумывалось как правило по умолчанию?
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]
^ 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: Alexey I. Froloff @ 2006-04-28 12:47 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 669 bytes --]
* 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
Можно, конечно, придумать неестественный интеллект, который бы из
каждого результата раскрытия шаблона убирал ранее попавшие под
него файлы, но не знаю насколько это оправдано ;-)
--
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-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