[devel] Снова про карманы...

Evgeny Sinelnikov sin на altlinux.ru
Пн Фев 15 14:09:22 UTC 2010


Здравствуйте.

15 февраля 2010 г. 16:20 пользователь Alexey I. Froloff
<raorn at altlinux.org> написал:
> On Mon, Feb 15, 2010 at 04:01:37PM +0300, Андрей Черепанов wrote:
>> > > А ведь сообщество предлагало сделать карманы. ;)
>> > "Сообщество" нихрена не предлагало.  Сообщество стучало
>> > ложкой, требуя "карманы", "сборочно замкнутые main+contrib" и
>> > "отдельный репозитарий media/non-free".
>> Алексей, ты всё свалил в одну кучу.
> Если даже разобрать это на несколько, хм, кучек, лучше оно
> выглядеть не будет.
>

Хочу добавить два комментария.

Первый. Чтобы вести речь о "карманах" стоит уточнить что каждый под
ними подразумевает.

Второй. Я уже вёл речь о том, что в минимальном виде добавил
использование карманов на git.eter.
Но, добавил я, как все понимают, то, что сам считаю карманами. Конечно
до полной интеграции (я имею в виду транзакции по объединению в
основной репозиторий или автоматическую пересборку на основе
содержимого карманов) я не завершил. Но это идеал и достигать его
стоит совместно, ведь механизм пересборки требует отладки.

В общем, к чему бы это я...?  А... К тому, что фраза "Сообщество
стучало ложкой, требуя \"карманы\"" меня как-то задевает... Я давал
ссылки на girar-builder у меня в git-репозитории... Они и сейчас
актуальны...

Там всё очень просто.
Карман - это дополнительный репозиторий, для которого указывается базовый.
У него есть имя и нет (можно добавить) проверки acl.

При создании кармана указывается базовый репозиторий, который
добавляется в source.list во время сборки в карман. В отличие от
бывшего Дедала, если я не ошибаюсь, содержимое кармана тоже входит в
sourсe.list кармана.

Создание кармана:
$ ssh git.eter pocket --help
usage: girar-pocket {create|delete|show} <pocket-name>
usage: girar-pocket list
[sin at base ~]$ ssh git.eter pocket list
pocket tartarus: owner=sin repo=sisyphus
pocket uniset: owner=lav repo=sisyphus
pocket test: owner=sin repo=sisyphus
pocket mpu745: owner=sin repo=sisyphus
pocket python: owner=sin repo=sisyphus
[sin at base ~]$ ssh git.eter pocket show uniset
pocket uniset: owner=lav repo=sisyphus
[sin at base ~]$ ssh git.eter pocket create -b 5.1 new
girar-pocket create: Too many arguments.
usage: girar-pocket create <pocket_name> [<binary_repository_name>]

[sin at base ~]$ ssh git.eter pocket create new 5.1
new
new pocket new: owner=sin repo=5.1
[sin at base ~]$ ssh git.eter pocket show new
pocket new: owner=sin repo=5.1

Сборка в карман:
$ ssh git.eter task new -p new
new task #243: owner=sin repo=5.1 pocket=new
243
$ ssh git.eter task add 243 repo sisyphus_check 0.8.16-alt1.eter2
task #243: added #1: build tag 0.8.16-alt1.eter2 from
/people/sin/packages/sisyphus_check.git
$ ssh git.eter task run 243
task #243: queued, result will be emailed to sin at etersoft.ru

или проще

$ ssh git.eter build -p new sisyphus_check 0.8.16-alt1.eter2
new task #244: owner=sin repo=5.1 pocket=new
task #244: added #1: build tag 0.8.16-alt1.eter2 from
/people/sin/packages/sisyphus_check.git
task #244: queued, result will be emailed to sin at etersoft.ru


Далее этим репозиторием можно пользоваться совместно осуществляя
сборку и тестирование...

А вот ещё далее хотелось бы уметь автоматически переложить и/или
пересобрать собранные пакеты в основной репозиторий, чтобы не тратить
время на сбор информации об именах пакетов и тегов, а также
правильного порядка пересборки.

Вот что здесь сверхъестественного? И что из этого уже не предлагалось?

-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel