[devel] Cronbuild service is launched

Igor Vlasenko vlasenko на imath.kiev.ua
Вт Сен 7 09:00:06 UTC 2010


On Tue, Sep 07, 2010 at 10:53:43AM +0300, Igor Vlasenko wrote:
> On Tue, Sep 07, 2010 at 01:04:45AM +0400, Alexey I. Froloff wrote:
> > Как можно этим роботом собирать пакет ruby-tzinfo?
> > Не по крону, а по мере выхода новых версий.
> вот пример скриптов 
[...]
> С этими скриптами putty будет автоматически обновляться
> по мере выхода новых версий.

Тот пример можно улучшить, так как скрипт качал 
исходники каждый раз. Робот за ним проверял, что обновление
не произошло, но это не красиво.

Вот улучшенный пример, выложен также на wiki:

== пример скрипта для обновления при выходе новых версий 
с помошью .watch файла ==

Этот скрипт работает в случае, когда исходники публикуются в виде тарбола, а в git репозитарии хранятся в распакованном виде в поддиректории $PKGNAME. выход новых версий проверяется с помощью .watch файла.

.gear/gronbuild-update-source:

#!/bin/sh -ve
PKGNAME=<...>
url=`uscan -f $PKGNAME.watch`
file=`basename "$url"`
version=${file##$PKGNAME-}
version=${version%%\.tar.*}
echo $file $version
eval `gear --command env | grep gear_pkg_version`
[ "x$version" = "x$gear_pkg_version" ] && exit 0;
rm -f $PKGNAME-*.tar.*
wget -c $url
tar xf $file
rm -f $file
git rm -r -f $PKGNAME
rm -rf $PKGNAME
mv $PKGNAME-*/ $PKGNAME
git add $PKGNAME
eval `gear --command env | grep gear_specfile`
sed -i "s|^\(Version:).*|\1 $version|" $gear_specfile

Заметим, что в скрипте также обновлялась версия, поэтому нужно создать пустой исполняемый файл .gear/gronbuild-update-version

#!/bin/sh -ve

чтобы переопределить стандартный метод. 

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine



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