ALT Linux Team development discussions
 help / color / mirror / Atom feed
* Re: [devel] Как сделать репозиторий в git
@ 2006-04-25 22:47 Dmitry V. Levin
  2006-04-25 23:02 ` Alexey Tourbin
                   ` (6 more replies)
  0 siblings, 7 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-25 22:47 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 3853 bytes --]

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-й типы (довольно схожие, кстати) соответствуют пакетам,
разработка которых сконцентрирована у мантейнера.

Продолжение следует.  Комментарии приветствуются.


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

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

* [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] Как сделать репозиторий в 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] 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  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  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-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-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 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 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 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 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-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-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-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  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  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  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: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 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 13:03     ` Alexey I. Froloff
@ 2006-04-27 13:08       ` Dmitry V. Levin
  0 siblings, 0 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-27 13:08 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 488 bytes --]

On Thu, Apr 27, 2006 at 05:03:35PM +0400, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [060427 16:57]:
> > Во первых, каждому члену team будет предоставлено место на
> > ftp.altlinux (в people или где-то ещё - пока неясно) для этих
> > целей.
> Хотелось бы иметь нечто нативное, типа git:// или ssh://...

git-daemon годится только для anonymous readonly access.
Так что в первую очередь нужно будет сделать ssh://...
Мне ещё предстоит с этим повозиться...


-- 
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: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: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: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-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 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-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] Как сделать репозиторий в 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-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: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

* 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-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: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] Как сделать репозиторий в 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] Как назвать утилиту
  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-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-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-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

* [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] [JT] Re: Как назвать файл с правилами
  2006-04-28 11:05       ` [devel] [JT] " Michael Shigorin
@ 2006-04-28 11:09         ` Led
  2006-04-28 11:15           ` Michael Shigorin
  0 siblings, 1 reply; 81+ messages in thread
From: Led @ 2006-04-28 11:09 UTC (permalink / raw)
  To: ALT Devel discussion list

В сообщении от 28 апреля 2006 14:05 Michael Shigorin написал(a):
> On Fri, Apr 28, 2006 at 02:06:10AM +0400, Dmitry V. Levin wrote:
> > Кажется желательным избежать как слова build, так и слова spec.
> > .extract-rules
> > .extract-hints
> > ?
>
> .tarballize?

а почему, собственно, tar, а не cpio?

-- 
Led.


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

* Re: [devel] [JT] Re: Как назвать файл с правилами
  2006-04-28 11:09         ` Led
@ 2006-04-28 11:15           ` Michael Shigorin
  2006-04-28 11:27             ` Led
  0 siblings, 1 reply; 81+ messages in thread
From: Michael Shigorin @ 2006-04-28 11:15 UTC (permalink / raw)
  To: ALT Devel discussion list

On Fri, Apr 28, 2006 at 02:09:51PM +0300, Led wrote:
> а почему, собственно, tar, а не cpio?

А cpio-то тут при чём?

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


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

* Re: [devel] [JT] Re: Как назвать файл с правилами
  2006-04-28 11:15           ` Michael Shigorin
@ 2006-04-28 11:27             ` Led
  0 siblings, 0 replies; 81+ messages in thread
From: Led @ 2006-04-28 11:27 UTC (permalink / raw)
  To: ALT Devel discussion list

В сообщении от 28 апреля 2006 14:15 Michael Shigorin написал(a):
> On Fri, Apr 28, 2006 at 02:09:51PM +0300, Led wrote:
> > а почему, собственно, tar, а не cpio?
>
> А cpio-то тут при чём?

Может и ни причём... Вообще-то, судя по "?" в моей фразе, - это был вопрос:)

-- 
Led.


^ 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  7:04                 ` Anton Farygin
@ 2006-04-28 12:08                   ` Dmitry V. Levin
  0 siblings, 0 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-28 12:08 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 601 bytes --]

On Fri, Apr 28, 2006 at 11:04:29AM +0400, Anton Farygin wrote:
> *** 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.

Правду говорит.

См. git-commit-tree(1) на тему "COMMIT INFORMATION".

> Пришлось ему в конфиг прописывать в .git/config ;(

Лучше в ~/.bash_profile


-- 
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] Как назвать файл с правилами
  2006-04-27 16:54         ` Kirill Maslinsky
@ 2006-04-28 12:38           ` Dmitry V. Levin
  0 siblings, 0 replies; 81+ messages in thread
From: Dmitry V. Levin @ 2006-04-28 12:38 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 282 bytes --]

On Thu, Apr 27, 2006 at 08:54:52PM +0400, Kirill Maslinsky wrote:
> Вариант: включить в имя файла название той утилиты, которая с ним будет
> работать, т. е. .eagr-rules или .gear.rules или что там выйдет.

Логично.  Пусть будет gear и соответственно .gear-rules


-- 
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-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-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-30 23:07                 ` Dmitry V. Levin
@ 2006-05-01  9:43                   ` Alexey I. Froloff
  0 siblings, 0 replies; 81+ messages in thread
From: Alexey I. Froloff @ 2006-05-01  9:43 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 522 bytes --]

* Dmitry V. Levin <ldv@> [060501 03:14]:
> > > > А что, 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 достаточно.
vim-7.0g-extra.tar туда тоже попадёт.  Там просто версия сразу
после vim-...

Я уже почти смирился с мыслью держать всё либо в .gz либо в .bz2
в пределах одного пакета...

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 191 bytes --]

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

end of thread, other threads:[~2006-05-01  9:43 UTC | newest]

Thread overview: 81+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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:18     ` Alexey Tourbin
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  9:21             ` Michael Shigorin
2006-04-26 10:30               ` Dmitry V. Levin
2006-04-26 12:27                 ` Michael Shigorin
2006-04-26 13:42         ` Alexey Tourbin
2006-04-26 13:53           ` Michael Shigorin
2006-04-26 18:49             ` Anton Farygin
2006-04-26 18:58               ` Michael Shigorin
2006-04-26 19:26                 ` Anton Farygin
2006-04-26 20:40                   ` Dmitry V. Levin
2006-04-27  5:45                     ` Anton Farygin
2006-04-25 23:46 ` Alexey Tourbin
2006-04-25 23:56   ` Dmitry V. Levin
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-26 10:31           ` Dmitry V. Levin
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
2006-04-29 23:39             ` Alexey Tourbin
2006-04-30 13:15               ` Dmitry V. Levin
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
2006-04-28 12:06       ` Dmitry V. Levin
2006-04-28 12:23         ` Alexey I. Froloff
2006-04-28 12:35           ` Dmitry V. Levin
2006-04-28 12:47             ` Alexey I. Froloff
2006-04-29  9:20               ` Kirill A. Shutemov
2006-04-30 23:07                 ` Dmitry V. Levin
2006-05-01  9:43                   ` Alexey I. Froloff
2006-04-26  7:13 ` Vital Khilko
2006-04-26 10:35   ` Dmitry V. Levin
2006-04-26 11:21     ` Kirill A. Shutemov
2006-04-26 18:46 ` Anton Farygin
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  5:51         ` Alexey I. Froloff
2006-04-27 12:33           ` Dmitry V. Levin
2006-04-27 13:01             ` Alexey I. Froloff
2006-04-27 23:55               ` Dmitry V. Levin
2006-04-28  7:04                 ` Anton Farygin
2006-04-28 12:08                   ` Dmitry V. Levin
2006-04-27  6:15     ` Anton Farygin
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
2006-04-27 14:00     ` Kirill A. Shutemov
2006-04-27 14:14       ` Alexey I. Froloff
2006-04-27 14:44         ` Dmitry V. Levin
2006-04-27 22:26     ` [devel] Как назвать утилиту Dmitry V. Levin
2006-04-27 16:53       ` Kirill Maslinsky
2006-04-28  7:07       ` Anton Farygin
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
2006-04-27 13:08       ` Dmitry V. Levin
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
2006-04-27 22:32       ` Sviatoslav Sviridov
2006-04-27 16:54         ` Kirill Maslinsky
2006-04-28 12:38           ` Dmitry V. Levin
2006-04-28 11:05       ` [devel] [JT] " Michael Shigorin
2006-04-28 11:09         ` Led
2006-04-28 11:15           ` Michael Shigorin
2006-04-28 11:27             ` Led
2006-04-28 10:56 ` [devel] Как сделать репозиторий в git Anton Farygin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git