Bug 10328 - [FR] Поддержка отдельных бранчей для компонентов пакетов в gear-srpmimport
: [FR] Поддержка отдельных бранчей для компонентов пакетов в gear-srpmimport
Status: NEW
: Sisyphus
(All bugs in Sisyphus/gear)
: unstable
: all Linux
: P2 enhancement
Assigned To:
:
: http://lists.altlinux.org/pipermail/d...
: patch
:
:
  Show dependency tree
 
Reported: 2006-11-27 02:35 by
Modified: 2010-12-28 00:03 (History)


Attachments
gear-1.1.0-alt-comp-branchs.patch (5.17 KB, patch)
2006-11-27 02:49, solo
no flags Details | Diff


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2006-11-27 02:35:54
Как показали эксперементы -- держать разные компаненты пакета в разных бранчах
достаточно осмысленно: как миниум, упроститься процесс написания и применения
шаблонов спеков.

Пример применения подобного подхода:

1. <git.alt:/people/solo/packages/cks.git>

2. <git.alt:/people/solo/packages/specs.git>
------- Comment #1 From 2006-11-27 02:49:15 -------
Created an attachment (id=1692) [details]
gear-1.1.0-alt-comp-branchs.patch

Патч добавляет к gear-srpmimport параметр --comp-branchs. При его применении:

1) все source*, patch* и .gear-rules выложены в отдельные бранчи вида
<branch>-<имя компанента>. <branch> (заданный через --branch) будет их merge;

2) для всех удачных соммитов (если были изменения) в <branch>-<имя> будут
поставлены теги вида <версия>-<имя компанента>;

3) для спека в качестве имени компанента используется "spec", для .gear-rules
-- "gear-rules"

PS: Патчу соответствует бранч solo/comp-branchs в
<git.alt:/people/solo/packages/gear.git>
------- Comment #2 From 2008-04-24 18:41:47 -------
Патч доработан и портирован на gear-1.4.0-alt1. В чистом виде, он содержится в
бранче solo/comp-branches (см.
http://git.altlinux.org/people/solo/packages/?p=gear.git;a=shortlog;h=solo/comp-branches).
 Пакет gear-1.4.0-alt1.1.src.rpm, его содержащий (бранч
solo/srpms/comp-branches, см.
http://git.altlinux.org/people/solo/packages/?p=gear.git;a=shortlog;h=solo/srpms/comp-branches)
-- отправлен в incoming/Daedalus.
------- Comment #3 From 2008-06-06 14:33:31 -------
К сожалению, новая возможность недостаточно хороша: Хотя %SOURCE кладётся в
одельную ветку, но файлы распологаются в отдельной папке (%name). Это неудобно
для прямого импорта из upstream: обычно дерево разворачивается прямо как есть в
рабочий каталог.

Чтобы понять, о чём идёт речь, гляньте сюда:
http://git.altlinux.org/people/ildar/packages/?p=balsa.git;a=commit;h=656c2f92cd7127b2d7d1fb1611ca8ec9cab0e1fc
------- Comment #4 From 2008-06-06 15:34:28 -------
(In reply to comment #3)
> К сожалению, новая возможность недостаточно хороша: Хотя %SOURCE кладётся в
> одельную ветку, но файлы распологаются в отдельной папке (%name). Это неудобно
> для прямого импорта из upstream: обычно дерево разворачивается прямо как есть
> в рабочий каталог.

  Правильно понимаю, что вы предлагаете не создавать подкаталог для архива в
бранче, куда распакован архив с исходниками? Тогда при мерже в srpm ветку будет
происходить перемещение файлов в подкаталоги соответствующие архивам. А это ещё
не удобнее (слишком много незначащего мусора на каждый импортированный пакет).
Хранить же в srpm ветке содержимое архивов не в подкаталоге нельзя, т. к.
уникальность имён файлов в разных архивах и отсутствие пересечений (в том числе
со служебными файлами и/или спеком) никто не гарантирует.

> 
> Чтобы понять, о чём идёт речь, гляньте сюда:
>
http://git.altlinux.org/people/ildar/packages/?p=balsa.git;a=commit;h=656c2f92cd7127b2d7d1fb1611ca8ec9cab0e1fc

  Данная структура репозитария может использоваться человеком, но не
генерироваться автоматом, т. к. не защищена от конфликта по именам файлов (+
непонятно что делать, если %SOURCE не один).


------- Comment #5 From 2009-09-28 18:22:14 -------
Я обновил патч. Теперь он базируется на 1.5.3-alt1 (см.
http://git.altlinux.org/people/solo/packages/?p=gear.git;a=tag;h=refs/tags/1.5.3-alt1.1)

PS: Краткое описание схемы (с обоснованием) см.
http://solo-oboroten.livejournal.com/89783.html