[docs] сценарии работы с gear/git для чайников - часть2 ( gear-репозиторий с нуля )

Kirill Maslinsky kirill на altlinux.ru
Вт Дек 5 14:22:28 MSK 2006


Привет, 
пара комментариев

<...>

> 5. Перемиенуем каталог cpat-0.7 в cpat (зачем?)
Чтобы держать исходники в одном каталоге -- удобнее при обновлении 
версий будет отслеживать произошедшие изменения.

> $ mv cpat-0.7 cpat
> $ ls -gG
> итого 4
> drwxr-xr-x 5 4096 Июн 19 18:19 cpat

<...>

> 8. Для того, чтоб git-репозиторий стал gear-репозиторием (таким репозиторием 
> из которого можно собирать пакеты) нам предстоит добавить файл .gear-rules и 
> spec-файл для сборки cpat (с подробностями написания spec-файлов можно 
> ознакомиться на ... ссылка на доку для разработчика)
> $ cat <<EOF > cpat.spec
> > Name: cpat
> > Version: 0.7
> > Release: alt1
> >
> > Summary: cpat - a curses-based solitaire game
> > License: GPL
> > Group: Games/Cards
> > Url: http://sourceforge.net/projects/cpat
> >
> > Packager: You Name <youname at altlinux.ru>
              ^^^^      ^^^^
Лучше не приводить в пример грамматическую ошибку: Your Name

> >
> > Source: %name-%version.tar.gz
> >
> > %description
> > CPat is collection of solitaire card games. Different games
> > can be chosen from a menu at startup. Games implemented in
> > this collection include Freecell, Klondike, Spider and many
> > more.
> >
> > Author:
> > Trevor Carey-Smith <trev at highwater dot co dot nz>
> >
> > %prep
> > %setup -q
> >
> > %build
> > %configure
> > %make_build
> >
> > %install
> > %make_install DESTDIR=%buildroot install
> >
> > %files
> > %doc AUTHORS COPYING ChangeLog README
> > %_bindir/*
> > %_mandir/*/*
> >
> > %changelog
> > * Mon Dec 04 2006 You Name <youname at altlinux.ru> 0.7-alt1
                      ^^^^^     ^^^^^

> > - initial build for Sisyphus
> > EOF
> 
> $ ls -gG
> итого 8
> drwxr-xr-x 5 4096 Июн 19 18:19 cpat
> -rw-r--r-- 1  775 Дек  4 00:19 cpat.spec
> 
> $ git add cpat.spec
> $ git status
> $ git -p diff -M HEAD
> $ git commit -m "Added spec file"

> Далее скорее вопросы чем повествование...
> =========================================
> 
> 10. Сделать тэг? - Не знаю надо(Обязательно) ли... 
> 
> Опять же старый вопрос... Вот читаю
> "Для того, чтобы сделать commit очередной сборки пакета, имеет смысл
> воспользоваться утилитой gear-commit, которая помогает сформировать
> список изменений на основе записи в spec-файле:"
> $ gear-commit -a
> Но ведь у меня уже всё за-commit-чено и gear-commit -a просто не отработает 
> получается...

Стоит еще раз внимательно посмотреть man по gear-commit;
gear-commit  -  invoke  git-commit  using last changelog entry from spec
       file as commit message

Имеет смысл при публикации очередной версии пакета на git.alt 
публиковать сообщение в ChangeLog репозитория, совпадающее с 
сообщением в ChangeLog пакета: с одной стороны в таком сообщении
содержится "накопленная сумма изменений" по сравнению с предыдущей
сборкой, так что можно не читать сообщения при каждом коммите (которых
может быть и много), а читать только эту запись; с другой стороны
совпадение с ChangeLog'ом спек-файла помогает соотносить пакеты с
соответствующими моментами в истории репозитория.

gear-commit имеет смысл вызывать в качестве последнего изменения перед 
публикацией новой версии пакета, см. также, что он принимает ключ
--amend.

> 
> Ну да ладно. Сделаем руками. Важен ли его формат. gear-srpmimport сделел бы 
> здесь 0.6-alt1, ну и я так сделаю :-)
> $ git tag 0.7-alt1
> $ git-tag -l
> 0.7-alt1

Постановка тега с номером сборки и версии это немного другая история, 
эту операцию gear-commit не выполняет, и специальной утилиты для 
этого в пакете gear не предусмотрено. Функции утилиты 
gear-update-tag несколько в другом, но этого я до конца не понимаю,
как и того, будет ли она использоваться в свете отказа от сборки, 
основанной на публикации тега.

> 11. Так по сей день и не знаю что надо делать чтоб "отправить пакет" на сборку 
> в Сизиф...

Все таки не стоит в каждом сценарии включать закачку на git.alt
и публикацию в Сизифе. Это же общие для всех сценариев шаги и 
описывать их надо отдельно.

<...>

-- 
Kirill Maslinsky
ALT Linux Documentation Team
http://heap.altlinux.ru
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.altlinux.org/pipermail/docs/attachments/20061205/566d1a44/attachment.bin 


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