[devel] gear - с чего начинать
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Сб Май 6 17:00:13 MSD 2006
On Sat, May 06, 2006 at 04:08:31PM +0400, Epiphanov Sergei wrote:
> В сообщении от Saturday 06 May 2006 15:39 Dmitry V. Levin написал(a):
> > > Дима, ты мог бы расписать пробный вариант сценария работы с git + gear ?
> > > Начиная с пункта "я решил собрать пакет в Сизиф", и заканчивая: "src.rpm
> > > готов".
> >
> > Каковы стартовые условия? У тебя есть собственный проект в
> > git-репозитории (или в другом репозитории, который конвертируется в git),
> > или у тебя есть только src.rpm прежней сборки?
>
> Мне было бы интереснее услышать, имея стартовые условия: я имею готовый пакет
> src.rpm, который хотел бы выложить в Сизиф. Как мне его ввернуть в git+gear,
Если у вас есть непустой список srpm-файлов, то из них можно сделать
git-репозиторий. Вот пример, с которым я экспериментирую:
$ mkdir имя-пакета
$ cd имя-пакета
$ git-init-db
$ commit-package список-srpm-файлов
Тестовый скрипт commit-package прилагается. Разумеется, файл правил
упаковки (.gear-rules) получается неоптимальный.
Например,
$ commit-package path/to/tcb-1.0-alt1.src.rpm path/to/tcb-1.0-alt2.src.rpm
tcb-1.0-alt1
97 blocks
Committing initial tree 619a4245f1d1847c3a5be39d79ef5828c750640d
tcb-1.0-alt2
97 blocks
При этом получается вот что:
$ git-rev-list --pretty HEAD |sed -e '/^$/d;s/altlinux.org//'
commit 2a60ff34d429197c3000be73e9f266b09cfe83a0
Author: Dmitry V. Levin <ldv@>
Date: Thu Jan 12 00:39:30 2006 +0000
1.0-alt2
commit 6aaedcf0025be8fff55dff456765a1000f27eab3
Author: Dmitry V. Levin <ldv@>
Date: Sat Dec 31 00:14:14 2005 +0000
1.0-alt1
$ git-ls-files
.gear-rules
tcb-0.9.9-alt-makefile-pam.patch
tcb-0.9.9-alt-tcb_convert-try_auth.patch
tcb-1.0.tar
tcb.spec
tcb_chkpwd.control
$ cat .gear-rules
copy: tcb-0.9.9-alt-makefile-pam.patch
copy: tcb-0.9.9-alt-tcb_convert-try_auth.patch
bzip2: tcb-1.0.tar
copy: tcb_chkpwd.control
После первоначального импорта можно нормально работать с этим
репозиторием дальше, а .gear-rules упростить, например:
$ cat >.gear-rules
copy: *.control *.patch *.tar
$ subst 's/\.bz2//' tcb.spec
> чтобы не вылететь из команды? У меня пока каша в голове от этой ветки
> обсуждения. Надеюсь, что смогу сам понять, куда пихать потом файлы.
Не волнуйтесь. :)
--
ldv
----------- следующая часть -----------
#!/bin/sh -eu
for f; do
[ -f "$f" ] || continue
name="$(rpmquery -p --qf '%{NAME}' "$f")"
version="$(rpmquery -p --qf '%{VERSION}-%{RELEASE}' "$f")"
printf '%s-%s\n' "$name" "$version"
[ ! -f .gear-rules ] || git-rm -f -- '*'
rpm2cpio "$f" |cpio -im
for f in *; do
case "$f" in
*.gz)
gunzip "$f"
printf 'gzip: %s\n' "${f%.gz}" >>.gear-rules
;;
*.bz2)
bunzip2 "$f"
printf 'bzip2: %s\n' "${f%.bz2}" >>.gear-rules
;;
*.spec)
# ignore specfile
;;
*)
printf 'copy: %s\n' "$f" >>.gear-rules
;;
esac
done
git-add '*'
TZ=UTC faketime -r "$f" -- git-commit -a -m "$version"
TZ=UTC faketime -r "$f" -- git-tag -a -m "$name $version" "$version"
done
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060506/89347068/attachment-0001.bin>
Подробная информация о списке рассылки Devel