* [devel] Q: редкие примеры .gear/rules ?
@ 2014-06-17 19:42 Igor Vlasenko
2014-06-18 4:45 ` Eugene Prokopiev
` (3 more replies)
0 siblings, 4 replies; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-17 19:42 UTC (permalink / raw)
To: devel
Господа,
не знает ли кто-нибудь примеров gear репозиториев
1) вне kernel-modules-*, в которых в .gear/rules
используется директива specsubst: ?
2) в которых в .gear/rules
в директивах tar*: diff*: используется опция spec=<альтернативный.spec>
потестировать, как с такими репозиториями будет
работать библиотечка perl-Gear-Rules.
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-17 19:42 [devel] Q: редкие примеры .gear/rules ? Igor Vlasenko
@ 2014-06-18 4:45 ` Eugene Prokopiev
2014-06-18 17:53 ` Igor Vlasenko
2014-06-19 7:52 ` Igor Vlasenko
2014-06-18 6:14 ` [devel] Q: редкие примеры .gear/rules ? Anton Farygin
` (2 subsequent siblings)
3 siblings, 2 replies; 34+ messages in thread
From: Eugene Prokopiev @ 2014-06-18 4:45 UTC (permalink / raw)
To: ALT Linux Team development discussions
17 июня 2014 г., 23:42 Igor Vlasenko написал:
> 1) вне kernel-modules-*, в которых в .gear/rules
> используется директива specsubst: ?
http://git.altlinux.org/people/enp/packages/netxms.git
обновлять его роботом (только для Сизифа) было бы очень интересно
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-17 19:42 [devel] Q: редкие примеры .gear/rules ? Igor Vlasenko
2014-06-18 4:45 ` Eugene Prokopiev
@ 2014-06-18 6:14 ` Anton Farygin
2014-06-18 10:30 ` Dmitry V. Levin
2014-06-18 18:30 ` Igor Vlasenko
2014-06-18 9:50 ` Anton V. Boyarshinov
2014-06-18 10:53 ` Sergey V Turchin
3 siblings, 2 replies; 34+ messages in thread
From: Anton Farygin @ 2014-06-18 6:14 UTC (permalink / raw)
To: devel
On 17.06.2014 23:42, Igor Vlasenko wrote:
> Господа,
>
> не знает ли кто-нибудь примеров gear репозиториев
>
> 1) вне kernel-modules-*, в которых в .gear/rules
> используется директива specsubst: ?
>
насколько я знаю - нигде. А почему-бы кому-то не грепнуть на git.alt ?
наверняка там где-то есть склонированные копии всех репозиториев.
> 2) в которых в .gear/rules
> в директивах tar*: diff*: используется опция spec=<альтернативный.spec>
а это реально где-то используется ? я даже и не знал о такой возможности ;)
>
> потестировать, как с такими репозиториями будет
> работать библиотечка perl-Gear-Rules.
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-17 19:42 [devel] Q: редкие примеры .gear/rules ? Igor Vlasenko
2014-06-18 4:45 ` Eugene Prokopiev
2014-06-18 6:14 ` [devel] Q: редкие примеры .gear/rules ? Anton Farygin
@ 2014-06-18 9:50 ` Anton V. Boyarshinov
2014-06-18 10:53 ` Sergey V Turchin
3 siblings, 0 replies; 34+ messages in thread
From: Anton V. Boyarshinov @ 2014-06-18 9:50 UTC (permalink / raw)
To: Igor Vlasenko; +Cc: devel
On Tue, 17 Jun 2014 22:42:00 +0300 Igor Vlasenko wrote:
> 1) вне kernel-modules-*, в которых в .gear/rules
> используется директива specsubst: ?
kernel-image-{std,un}-{def,pae}
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-18 6:14 ` [devel] Q: редкие примеры .gear/rules ? Anton Farygin
@ 2014-06-18 10:30 ` Dmitry V. Levin
2014-06-18 17:54 ` Igor Vlasenko
2014-06-18 18:30 ` Igor Vlasenko
1 sibling, 1 reply; 34+ messages in thread
From: Dmitry V. Levin @ 2014-06-18 10:30 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 4365 bytes --]
Hi,
On Wed, Jun 18, 2014 at 10:14:54AM +0400, Anton Farygin wrote:
> On 17.06.2014 23:42, Igor Vlasenko wrote:
> >
> >не знает ли кто-нибудь примеров gear
> >репозиториев
> >
> >1) вне kernel-modules-*, в которых в .gear/rules
> >используется директива specsubst: ?
>
> насколько я знаю - нигде. А почему-бы
> кому-то не грепнуть на git.alt ? наверняка
> там где-то есть склонированные копии
> всех репозиториев.
А почему бы, действительно, было не грепнуть?
Тем более, что любой из вас мог бы грепнуть.
$ for c in /gears/?; do for d in "$c"/*.git; do (git --git-dir="$d" cat-file blob sisyphus:.gear/rules || git --git-dir="$d" cat-file blob sisyphus:.gear-rules) 2>/dev/null | grep -q 'specsubst[[:space:]]*:' && echo "$d"; done; done
/gears/b/blender.git
/gears/k/kernel-image-led-vs.git
/gears/k/kernel-image-led-ws.git
/gears/k/kernel-image-led-xen.git
/gears/k/kernel-image-std-def.git
/gears/k/kernel-image-std-pae.git
/gears/k/kernel-image-un-def.git
/gears/k/kernel-modules-accel-ppp-std-def.git
/gears/k/kernel-modules-acpi_call-std-def.git
/gears/k/kernel-modules-acpi_call-std-pae.git
/gears/k/kernel-modules-acpi_call-un-def.git
/gears/k/kernel-modules-alx-std-def.git
/gears/k/kernel-modules-alx-std-pae.git
/gears/k/kernel-modules-bbswitch-std-def.git
/gears/k/kernel-modules-bbswitch-std-pae.git
/gears/k/kernel-modules-bbswitch-un-def.git
/gears/k/kernel-modules-bcmwl-std-def.git
/gears/k/kernel-modules-bcmwl-std-pae.git
/gears/k/kernel-modules-bcmwl-un-def.git
/gears/k/kernel-modules-dahdi-ovz-el.git
/gears/k/kernel-modules-dahdi-std-def.git
/gears/k/kernel-modules-dahdi-std-pae.git
/gears/k/kernel-modules-drbd-el-def.git
/gears/k/kernel-modules-emlog-std-def.git
/gears/k/kernel-modules-emlog-std-pae.git
/gears/k/kernel-modules-emlog-un-def.git
/gears/k/kernel-modules-fglrx-el-def.git
/gears/k/kernel-modules-fglrx-ovz-el.git
/gears/k/kernel-modules-fglrx-std-def.git
/gears/k/kernel-modules-fglrx-std-pae.git
/gears/k/kernel-modules-fglrx-un-def.git
/gears/k/kernel-modules-ipset-std-def.git
/gears/k/kernel-modules-ipset-std-pae.git
/gears/k/kernel-modules-ipset-un-def.git
/gears/k/kernel-modules-ipt_netflow-std-def.git
/gears/k/kernel-modules-ipt_netflow-std-pae.git
/gears/k/kernel-modules-ipt_netflow-un-def.git
/gears/k/kernel-modules-knem-el-def.git
/gears/k/kernel-modules-lsadrv-std-def.git
/gears/k/kernel-modules-lsadrv-std-pae.git
/gears/k/kernel-modules-lsadrv-un-def.git
/gears/k/kernel-modules-nvidia-el-def.git
/gears/k/kernel-modules-nvidia-hpc-skif.git
/gears/k/kernel-modules-nvidia-led-vs.git
/gears/k/kernel-modules-nvidia-led-ws.git
/gears/k/kernel-modules-nvidia-ovz-el.git
/gears/k/kernel-modules-nvidia-std-def.git
/gears/k/kernel-modules-nvidia-std-pae.git
/gears/k/kernel-modules-nvidia-un-def.git
/gears/k/kernel-modules-omnibook-ovz-el.git
/gears/k/kernel-modules-omnibook-std-def.git
/gears/k/kernel-modules-omnibook-std-pae.git
/gears/k/kernel-modules-pf_ring-ovz-el.git
/gears/k/kernel-modules-r8168-std-def.git
/gears/k/kernel-modules-r8168-std-pae.git
/gears/k/kernel-modules-r8168-un-def.git
/gears/k/kernel-modules-tp_smapi-ovz-el.git
/gears/k/kernel-modules-tp_smapi-std-def.git
/gears/k/kernel-modules-tp_smapi-std-pae.git
/gears/k/kernel-modules-tp_smapi-un-def.git
/gears/k/kernel-modules-vhba-std-def.git
/gears/k/kernel-modules-vhba-std-pae.git
/gears/k/kernel-modules-vhba-un-def.git
/gears/k/kernel-modules-virtualbox-addition-ovz-el.git
/gears/k/kernel-modules-virtualbox-addition-std-def.git
/gears/k/kernel-modules-virtualbox-addition-std-pae.git
/gears/k/kernel-modules-virtualbox-addition-un-def.git
/gears/k/kernel-modules-virtualbox-ovz-el.git
/gears/k/kernel-modules-virtualbox-std-def.git
/gears/k/kernel-modules-virtualbox-std-pae.git
/gears/k/kernel-modules-virtualbox-un-def.git
/gears/k/kernel-modules-xtables-addons-std-def.git
/gears/k/kernel-modules-zfs-el-def.git
/gears/n/netxms.git
/gears/p/python-module-enchant.git
/gears/p/python3-module-enchant.git
> >2) в которых в .gear/rules
> >в директивах tar*: diff*: используется опция
> >spec=<альтернативный.spec>
>
> а это реально где-то используется ? я даже
> и не знал о такой возможности ;)
В Сизифе примеров использования не нашлось.
Видимо, осталось невостребованным, или не прижилось.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-17 19:42 [devel] Q: редкие примеры .gear/rules ? Igor Vlasenko
` (2 preceding siblings ...)
2014-06-18 9:50 ` Anton V. Boyarshinov
@ 2014-06-18 10:53 ` Sergey V Turchin
3 siblings, 0 replies; 34+ messages in thread
From: Sergey V Turchin @ 2014-06-18 10:53 UTC (permalink / raw)
To: ALT Linux Team development discussions
[-- Attachment #1: Type: text/plain, Size: 451 bytes --]
On Tuesday 17 June 2014 22:42:00 Igor Vlasenko wrote:
> Господа,
>
> не знает ли кто-нибудь примеров gear репозиториев
>
> 1) вне kernel-modules-*, в которых в .gear/rules
> используется директива specsubst: ?
Когда http://bugzilla.altlinux.org/29822 , наверняка станет много.
[...]
--
Regards, Sergey. ALT Linux, http://www.altlinux.ru/
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-18 4:45 ` Eugene Prokopiev
@ 2014-06-18 17:53 ` Igor Vlasenko
2014-06-19 7:52 ` Igor Vlasenko
1 sibling, 0 replies; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-18 17:53 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Wed, Jun 18, 2014 at 08:45:39AM +0400, Eugene Prokopiev wrote:
> 17 июня 2014 г., 23:42 Igor Vlasenko написал:
>
> > 1) вне kernel-modules-*, в которых в .gear/rules
> > используется директива specsubst: ?
>
> http://git.altlinux.org/people/enp/packages/netxms.git
О, спасибо!
> обновлять его роботом (только для Сизифа) было бы очень интересно
первым делом хочу проверить и допилить мои утилиты,
чтобы они нормально работали с таким репозиторием.
для обновления еше код не написан.
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-18 10:30 ` Dmitry V. Levin
@ 2014-06-18 17:54 ` Igor Vlasenko
0 siblings, 0 replies; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-18 17:54 UTC (permalink / raw)
To: ALT Linux Team development discussions
Замечательно, спасибо большое!
On Wed, Jun 18, 2014 at 02:30:23PM +0400, Dmitry V. Levin wrote:
> Hi,
>
> On Wed, Jun 18, 2014 at 10:14:54AM +0400, Anton Farygin wrote:
> > On 17.06.2014 23:42, Igor Vlasenko wrote:
> > >
> > >не знает ли кто-нибудь примеров gear
> > >репозиториев
> > >
> > >1) вне kernel-modules-*, в которых в .gear/rules
> > >используется директива specsubst: ?
> >
> > насколько я знаю - нигде. А почему-бы
> > кому-то не грепнуть на git.alt ? наверняка
> > там где-то есть склонированные копии
> > всех репозиториев.
>
> А почему бы, действительно, было не грепнуть?
> Тем более, что любой из вас мог бы грепнуть.
>
> $ for c in /gears/?; do for d in "$c"/*.git; do (git --git-dir="$d" cat-file blob sisyphus:.gear/rules || git --git-dir="$d" cat-file blob sisyphus:.gear-rules) 2>/dev/null | grep -q 'specsubst[[:space:]]*:' && echo "$d"; done; done
> /gears/b/blender.git
> /gears/k/kernel-image-led-vs.git
> /gears/k/kernel-image-led-ws.git
> /gears/k/kernel-image-led-xen.git
> /gears/k/kernel-image-std-def.git
> /gears/k/kernel-image-std-pae.git
> /gears/k/kernel-image-un-def.git
> /gears/k/kernel-modules-accel-ppp-std-def.git
> /gears/k/kernel-modules-acpi_call-std-def.git
> /gears/k/kernel-modules-acpi_call-std-pae.git
> /gears/k/kernel-modules-acpi_call-un-def.git
> /gears/k/kernel-modules-alx-std-def.git
> /gears/k/kernel-modules-alx-std-pae.git
> /gears/k/kernel-modules-bbswitch-std-def.git
> /gears/k/kernel-modules-bbswitch-std-pae.git
> /gears/k/kernel-modules-bbswitch-un-def.git
> /gears/k/kernel-modules-bcmwl-std-def.git
> /gears/k/kernel-modules-bcmwl-std-pae.git
> /gears/k/kernel-modules-bcmwl-un-def.git
> /gears/k/kernel-modules-dahdi-ovz-el.git
> /gears/k/kernel-modules-dahdi-std-def.git
> /gears/k/kernel-modules-dahdi-std-pae.git
> /gears/k/kernel-modules-drbd-el-def.git
> /gears/k/kernel-modules-emlog-std-def.git
> /gears/k/kernel-modules-emlog-std-pae.git
> /gears/k/kernel-modules-emlog-un-def.git
> /gears/k/kernel-modules-fglrx-el-def.git
> /gears/k/kernel-modules-fglrx-ovz-el.git
> /gears/k/kernel-modules-fglrx-std-def.git
> /gears/k/kernel-modules-fglrx-std-pae.git
> /gears/k/kernel-modules-fglrx-un-def.git
> /gears/k/kernel-modules-ipset-std-def.git
> /gears/k/kernel-modules-ipset-std-pae.git
> /gears/k/kernel-modules-ipset-un-def.git
> /gears/k/kernel-modules-ipt_netflow-std-def.git
> /gears/k/kernel-modules-ipt_netflow-std-pae.git
> /gears/k/kernel-modules-ipt_netflow-un-def.git
> /gears/k/kernel-modules-knem-el-def.git
> /gears/k/kernel-modules-lsadrv-std-def.git
> /gears/k/kernel-modules-lsadrv-std-pae.git
> /gears/k/kernel-modules-lsadrv-un-def.git
> /gears/k/kernel-modules-nvidia-el-def.git
> /gears/k/kernel-modules-nvidia-hpc-skif.git
> /gears/k/kernel-modules-nvidia-led-vs.git
> /gears/k/kernel-modules-nvidia-led-ws.git
> /gears/k/kernel-modules-nvidia-ovz-el.git
> /gears/k/kernel-modules-nvidia-std-def.git
> /gears/k/kernel-modules-nvidia-std-pae.git
> /gears/k/kernel-modules-nvidia-un-def.git
> /gears/k/kernel-modules-omnibook-ovz-el.git
> /gears/k/kernel-modules-omnibook-std-def.git
> /gears/k/kernel-modules-omnibook-std-pae.git
> /gears/k/kernel-modules-pf_ring-ovz-el.git
> /gears/k/kernel-modules-r8168-std-def.git
> /gears/k/kernel-modules-r8168-std-pae.git
> /gears/k/kernel-modules-r8168-un-def.git
> /gears/k/kernel-modules-tp_smapi-ovz-el.git
> /gears/k/kernel-modules-tp_smapi-std-def.git
> /gears/k/kernel-modules-tp_smapi-std-pae.git
> /gears/k/kernel-modules-tp_smapi-un-def.git
> /gears/k/kernel-modules-vhba-std-def.git
> /gears/k/kernel-modules-vhba-std-pae.git
> /gears/k/kernel-modules-vhba-un-def.git
> /gears/k/kernel-modules-virtualbox-addition-ovz-el.git
> /gears/k/kernel-modules-virtualbox-addition-std-def.git
> /gears/k/kernel-modules-virtualbox-addition-std-pae.git
> /gears/k/kernel-modules-virtualbox-addition-un-def.git
> /gears/k/kernel-modules-virtualbox-ovz-el.git
> /gears/k/kernel-modules-virtualbox-std-def.git
> /gears/k/kernel-modules-virtualbox-std-pae.git
> /gears/k/kernel-modules-virtualbox-un-def.git
> /gears/k/kernel-modules-xtables-addons-std-def.git
> /gears/k/kernel-modules-zfs-el-def.git
> /gears/n/netxms.git
> /gears/p/python-module-enchant.git
> /gears/p/python3-module-enchant.git
>
> > >2) в которых в .gear/rules
> > >в директивах tar*: diff*: используется опция
> > >spec=<альтернативный.spec>
> >
> > а это реально где-то используется ? я даже
> > и не знал о такой возможности ;)
>
> В Сизифе примеров использования не нашлось.
> Видимо, осталось невостребованным, или не прижилось.
>
>
> --
> ldv
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-18 6:14 ` [devel] Q: редкие примеры .gear/rules ? Anton Farygin
2014-06-18 10:30 ` Dmitry V. Levin
@ 2014-06-18 18:30 ` Igor Vlasenko
2014-06-18 18:40 ` Pavel Vainerman
1 sibling, 1 reply; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-18 18:30 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Wed, Jun 18, 2014 at 10:14:54AM +0400, Anton Farygin wrote:
> On 17.06.2014 23:42, Igor Vlasenko wrote:
> >Господа,
> >
> >не знает ли кто-нибудь примеров gear репозиториев
> >2) в которых в .gear/rules
> >в директивах tar*: diff*: используется опция spec=<альтернативный.spec>
>
> а это реально где-то используется ? я даже и не знал о такой возможности ;)
описано в man gear-rules
Valid options are:
[...]
spec=path_to_file
Use another file instead of the main spec file to define
keyword values.
Но, похоже, эту опцию действительно никто не использует.
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-18 18:30 ` Igor Vlasenko
@ 2014-06-18 18:40 ` Pavel Vainerman
2014-06-18 19:08 ` Anton Farygin
0 siblings, 1 reply; 34+ messages in thread
From: Pavel Vainerman @ 2014-06-18 18:40 UTC (permalink / raw)
To: ALT Linux Team development discussions
> описано в man gear-rules
> Valid options are:
> [...]
> spec=path_to_file
>
> Use another file instead of the main spec file to define
> keyword values.
>
> Но, похоже, эту опцию действительно никто не использует.
У себя во "внутренних" проектах мы используем..
(когда spec лежит не в корне проекта, а в подкаталоге)
--
Pavel Vainerman
www.etersoft.ru
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-18 18:40 ` Pavel Vainerman
@ 2014-06-18 19:08 ` Anton Farygin
0 siblings, 0 replies; 34+ messages in thread
From: Anton Farygin @ 2014-06-18 19:08 UTC (permalink / raw)
To: devel
On 18.06.2014 22:40, Pavel Vainerman wrote:
>> описано в man gear-rules
>> Valid options are:
>> [...]
>> spec=path_to_file
>>
>> Use another file instead of the main spec file to define
>> keyword values.
>>
>> Но, похоже, эту опцию действительно никто не использует.
>
> У себя во "внутренних" проектах мы используем..
> (когда spec лежит не в корне проекта, а в подкаталоге)
Это не то.
Спек в .gear/ и я частенько держу.
Здесь речь идёт о том, что есть возможность для некоторых директив в
gear/rules указывать другой спек.
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-18 4:45 ` Eugene Prokopiev
2014-06-18 17:53 ` Igor Vlasenko
@ 2014-06-19 7:52 ` Igor Vlasenko
2014-06-19 8:00 ` Eugene Prokopiev
1 sibling, 1 reply; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 7:52 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Wed, Jun 18, 2014 at 08:45:39AM +0400, Eugene Prokopiev wrote:
> > 1) вне kernel-modules-*, в которых в .gear/rules
> > используется директива specsubst: ?
>
> http://git.altlinux.org/people/enp/packages/netxms.git
>
> обновлять его роботом (только для Сизифа) было бы очень интересно
Прошу прощения, пришлите, пожалуйста, из netxms.git еще для опытов
.git/config и, если есть что-то в .git/remotes/ (в старом формате),
то и их.
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Q: редкие примеры .gear/rules ?
2014-06-19 7:52 ` Igor Vlasenko
@ 2014-06-19 8:00 ` Eugene Prokopiev
2014-06-19 11:08 ` [devel] Gear и внешние VCS Igor Vlasenko
0 siblings, 1 reply; 34+ messages in thread
From: Eugene Prokopiev @ 2014-06-19 8:00 UTC (permalink / raw)
To: ALT Linux Team development discussions
19 июня 2014 г., 11:52 Igor Vlasenko написал:
> Прошу прощения, пришлите, пожалуйста, из netxms.git еще для опытов
> .git/config и, если есть что-то в .git/remotes/ (в старом формате),
> то и их.
Пожалуйста:
$ cat git/netxms/.git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[svn-remote "svn"]
url = https://svn.netxms.org/public/netxms
fetch = trunk:refs/remotes/trunk
branches = branches/*:refs/remotes/*
tags = tags/*:refs/remotes/tags/*
[remote "origin"]
url = git.alt:packages/netxms
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "upstream"]
url = git://git.netxms.org/public/netxms.git
fetch = +refs/heads/*:refs/remotes/upstream/*
$ ls git/netxms/.git/remotes
ls: невозможно получить доступ к git/netxms/.git/remotes: Нет такого
файла или каталога
Апстрим переехал с svn на git некоторое время назад
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 8:00 ` Eugene Prokopiev
@ 2014-06-19 11:08 ` Igor Vlasenko
2014-06-19 11:10 ` Anton Farygin
0 siblings, 1 reply; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 11:08 UTC (permalink / raw)
To: ALT Linux Team development discussions
На примере netxms расскажу планы по автоматизации работы
с VCS - обновляемыми gear репозиториями.
Итак, если у нас один VCS - обновляемый gear репозиторий,
то проверить, есть ли обновление, тривиально. заходим,
запускаем git fetch <upstream>, глазами смотрим, что приехало.
Если же у нас 100 gear репозиториев, то, тратя по 20 секунд
на репозиторий, их ручная проверка заберет у нас больше, чем пол часа.
Хотелось бы в духе unix-way напустить на нашу коллекцию
gear репозиториев какой-нибудь умный скрипт, скажем,
будущий rpm-uscan, который меньше чем за минуту
проверил бы все репозитории, съэкономив бы нам полчаса,
и даже эту минуту, пока он работал, можно было бы потратить с пользой,
сделав новую чашку кофе.
С tarball обновляемыми gear репозиториями справляется
и старый rpm-uscan, осталось научиться работать
с VCS - обновляемыми gear репозиториями.
Там тоже простой алгоритм - руками мы
запускаем git fetch <upstream>, глазами смотрим, что приехало.
Просмотр робот будет делать так: запускает git tags, фильтрует
(по умолчанию будет фильтр ^ v?([0-9\.]+[0-9]) $,
если апстрим любит теги в другом формате, к примеру,
1.2-release, то для них надо будет создать специальный
файл, скажем, .gear/upstream/tag-filter, формат и опции
будут похожи на debian/watch),
сравнивает версии из отфильтрованных тегов с текущей,
и если найдет бОльшую, то приехало обновление.
но, перед просмотром, робот должен знать remote <upstream>.
просто просмотреть теги ему достаточно будет git ls-remote --tags <upstream>
а для обновления ему понадобится сделать git fetch <upstream>.
Соответственно, нужно указать роботу, какой remote использовать.
для этого нужен будет специальный файл, скажем, .gear/upstream/remotes.
Формат этого файла, думаю, формат git-config(1).
в нем должен находиться фрагмент .git/config,
который отвечает за текущие используемые remotes.
Для netxms .gear/upstream/remotes будет иметь вид:
==== .gear/upstream/remotes =========================
[remote "upstream"]
url = git://git.netxms.org/public/netxms.git
fetch = +refs/heads/*:refs/remotes/upstream/*
=====================================================
если бы использовался мерж в локальную ветвь upstream,
то там могло бы быть что-то вроде
==== .gear/upstream/remotes =========================
[remote "upstream"]
url = git://git.netxms.org/public/netxms.git
fetch = +refs/heads/*:refs/remotes/upstream/*
[branch "upstream"]
remote = upstream
merge = refs/heads/upstream
=====================================================
его можно легко создать руками, скопировав туда нужный
кусок из .git/config.
Обратно восстановить рабочий .git/config в клоне из
неполноценной копии на git.alt тоже тривиально:
cat .gear/upstream/remotes >> .git/config.
Но, конечно, лучше иметь специализированные утилиты
gear-store-remotes / gear-restore-remotes.
так, gear-restore-remotes сделает backup .git/config,
проверит, нет ли уже там тех ключей, и не
запустится, если найдет.
gear-store-remotes проверит сначала, есть ли .git/remotes/*.
если найдется .git/remotes/foo, не указывающий на git.alt,
gear-store-remotes посоветует сначала сконвертировать его
в новый формат (в .git/config) командой
git remote rename foo foo
и с таким сообщением завершится.
Далее, в случае .git/config для netxms внизу,
gear-store-remotes проигнорирует [remote "origin"],
так как он указывает на git.alt.
Для netxms останется 2 remote:
[svn-remote "svn"] и [remote "upstream"].
если бы остался только один,
gear-store-remotes его бы молча и выбрал,
а также, если есть, связанные с этим remotes бранчи.
Поскольку найдено 2 remote, то утилита спросит у майнтайнера,
какие из них сохранить. можно ей указать опциями, --all-remotes,
или --remotes=upstream, или же она выведет dialog(1)
чтобы майнтайнер отметил, какие remotes он светит наружу,
для того, чтобы другие майнтайнеры и роботы могли пользоваться
его gear репозиторием.
Затем утилита записывает выбранный фрагмент конфига
в .gear/upstream/remotes и вызывает
git add .gear/upstream/remotes.
Теперь репозиторий, в котором есть .gear/upstream/remotes,
становится полноценным с точки зрения возможности совместной рааботы.
Работа с ним выглядит приблизительно так:
$ girar-clone-build-commit foo
$ cd foo.git
$ gear-restore-remotes
$ gear-fetch
$ fix bugs (например, оформляем апстримный коммит с исправлением как патч)
$ srpmnmu -i *.spec
$ girar-nmu-helper-git-push-build -c -T
$ cd ..
$ rm -rf foo.git
Соответственно, когда такие утилиты будут готовы,
надо будет просить всех майнтайнеров, использующих
VCS - обновляемые gear репозитории, создать и опубликовать
в этих репозиториях .gear/upstream/remotes,
а если есть желание ограничить доступ к своему репозиторию,
то делать это с помощью acl, а не сокрытием его служебной
информации.
On Thu, Jun 19, 2014 at 12:00:08PM +0400, Eugene Prokopiev wrote:
> 19 июня 2014 г., 11:52 Igor Vlasenko написал:
> > Прошу прощения, пришлите, пожалуйста, из netxms.git еще для опытов
> > .git/config и, если есть что-то в .git/remotes/ (в старом формате),
> > то и их.
> Пожалуйста:
>
> $ cat git/netxms/.git/config
> [core]
> repositoryformatversion = 0
> filemode = true
> bare = false
> logallrefupdates = true
> [svn-remote "svn"]
> url = https://svn.netxms.org/public/netxms
> fetch = trunk:refs/remotes/trunk
> branches = branches/*:refs/remotes/*
> tags = tags/*:refs/remotes/tags/*
> [remote "origin"]
> url = git.alt:packages/netxms
> fetch = +refs/heads/*:refs/remotes/origin/*
> [branch "master"]
> remote = origin
> merge = refs/heads/master
> [remote "upstream"]
> url = git://git.netxms.org/public/netxms.git
> fetch = +refs/heads/*:refs/remotes/upstream/*
>
> $ ls git/netxms/.git/remotes
> ls: невозможно получить доступ к git/netxms/.git/remotes: Нет такого
> файла или каталога
>
> Апстрим переехал с svn на git некоторое время назад
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 11:08 ` [devel] Gear и внешние VCS Igor Vlasenko
@ 2014-06-19 11:10 ` Anton Farygin
2014-06-19 11:55 ` Igor Vlasenko
0 siblings, 1 reply; 34+ messages in thread
From: Anton Farygin @ 2014-06-19 11:10 UTC (permalink / raw)
To: devel
On 19.06.2014 15:08, Igor Vlasenko wrote:
> Соответственно, когда такие утилиты будут готовы,
> надо будет просить всех майнтайнеров, использующих
> VCS - обновляемые gear репозитории, создать и опубликовать
> в этих репозиториях .gear/upstream/remotes,
> а если есть желание ограничить доступ к своему репозиторию,
> то делать это с помощью acl, а не сокрытием его служебной
> информации.
я в соседнем письме написал, почему нет смысла использовать для этого
.gear/upstream/remotes
т.е. - я не хотел бы использовать инструмент, который будет мне
предоставлять алгоритм работы другого ментейнра.
например, мне привычнее upstream remote держать в бранче не upstream, а
source.
Как тут быть ?
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 11:10 ` Anton Farygin
@ 2014-06-19 11:55 ` Igor Vlasenko
2014-06-19 12:10 ` Anton Farygin
0 siblings, 1 reply; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 11:55 UTC (permalink / raw)
To: ALT Linux Team development discussions; +Cc: Anton Farygin
On Thu, Jun 19, 2014 at 03:10:55PM +0400, Anton Farygin wrote:
> On 19.06.2014 15:08, Igor Vlasenko wrote:
> >Соответственно, когда такие утилиты будут готовы,
> >надо будет просить всех майнтайнеров, использующих
> >VCS - обновляемые gear репозитории, создать и опубликовать
> >в этих репозиториях .gear/upstream/remotes,
> >а если есть желание ограничить доступ к своему репозиторию,
> >то делать это с помощью acl, а не сокрытием его служебной
> >информации.
>
> я в соседнем письме написал, почему нет смысла использовать для
> этого .gear/upstream/remotes
> т.е. - я не хотел бы использовать инструмент, который будет мне
> предоставлять алгоритм работы другого ментейнра.
> например, мне привычнее upstream remote держать в бранче не
> upstream, а source.
>
> Как тут быть ?
Легко :)
2 файла .gear/upstream/tag-filter и
.gear/upstream/remotes - это формат,
в котором будет храниться служебная информация,
которая будет необходима для watch по tag.
При этом .gear/upstream/remotes имеет более
глубокий смысл -
* он позволяет сделать информацию о remotes публичной,
* может использоваться независимо от того, нужен ли watch по tag,
* крайне нужен NMUшникам.
Но из этого совершенно не следует, что если пакет foo
одновременно сопровождает 2 майнтайнера A и B, то
если один из них создал .gear/upstream/remotes,
(например, А), то второй (В)
отгребет из этого файла не нужные ему ветви.
Ведь никто не заставляет выполнять у себя
gear-restore-remotes, и робот тоже не будет этого
делать. Я в позапрошлом письме рассматривал алгоритм
обновления. Если в gear/rules тег, как в
tar:v@version@: .
то там достаточно использовать временную служебную ветвь,
какой-нибудь gearobersturmbannbranch.
Однако, служебная ветвь -- это мусор в репозитории,
поэтому умный робот проверит, есть ли в .git/config
ветви, описанные в .gear/upstream/remotes,
если есть, будет использовать их, чтобы не мусорить,
если же нет, создаст свой gearobersturmbannbranch.
Если майнтайнер B тоже не хочет, чтобы у него создавался
gearobersturmbannbranch, а использовались его собственные,
отличные от майнтайнера A названия ветвей,
он может добавить файл .gear/upstream/remotes.$USER,
который будет иметь приоритет перед .gear/upstream/remotes.
А еще можно export GEAR_UPSTREAM_REMOTES_SUFFIX=..smth..,
и перекрыть все с помощью
.gear/upstream/remotes.$GEAR_UPSTREAM_REMOTES_SUFFIX
если вдруг понадобится.
Конечно, в gear/rules архив может создаваться не по тегу,
а по ветви: tar:upstream: .
но тогда от создания у себя ветви upstream никуда не деться,
против лома нет приема, она железобетонно прописана в gear/rules,
разве что форкать свои .gear/rules.
Так хорошо?
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 11:55 ` Igor Vlasenko
@ 2014-06-19 12:10 ` Anton Farygin
2014-06-19 12:17 ` Igor Vlasenko
0 siblings, 1 reply; 34+ messages in thread
From: Anton Farygin @ 2014-06-19 12:10 UTC (permalink / raw)
To: devel
On 19.06.2014 15:55, Igor Vlasenko wrote:
> On Thu, Jun 19, 2014 at 03:10:55PM +0400, Anton Farygin wrote:
>> On 19.06.2014 15:08, Igor Vlasenko wrote:
>>> Соответственно, когда такие утилиты будут готовы,
>>> надо будет просить всех майнтайнеров, использующих
>>> VCS - обновляемые gear репозитории, создать и опубликовать
>>> в этих репозиториях .gear/upstream/remotes,
>>> а если есть желание ограничить доступ к своему репозиторию,
>>> то делать это с помощью acl, а не сокрытием его служебной
>>> информации.
>>
>> я в соседнем письме написал, почему нет смысла использовать для
>> этого .gear/upstream/remotes
>> т.е. - я не хотел бы использовать инструмент, который будет мне
>> предоставлять алгоритм работы другого ментейнра.
>> например, мне привычнее upstream remote держать в бранче не
>> upstream, а source.
>>
>> Как тут быть ?
>
> Легко :)
>
> 2 файла .gear/upstream/tag-filter и
> .gear/upstream/remotes - это формат,
> в котором будет храниться служебная информация,
> которая будет необходима для watch по tag.
>
> При этом .gear/upstream/remotes имеет более
> глубокий смысл -
>
> * он позволяет сделать информацию о remotes публичной,
> * может использоваться независимо от того, нужен ли watch по tag,
> * крайне нужен NMUшникам.
>
> Но из этого совершенно не следует, что если пакет foo
> одновременно сопровождает 2 майнтайнера A и B, то
> если один из них создал .gear/upstream/remotes,
> (например, А), то второй (В)
> отгребет из этого файла не нужные ему ветви.
следует что каждому мейнтейнеру для каждого своего пакета придётся
делать действия, которых можно было бы избежать.
>
> Ведь никто не заставляет выполнять у себя
> gear-restore-remotes, и робот тоже не будет этого
> делать. Я в позапрошлом письме рассматривал алгоритм
> обновления. Если в gear/rules тег, как в
> tar:v@version@: .
> то там достаточно использовать временную служебную ветвь,
> какой-нибудь gearobersturmbannbranch.
> Однако, служебная ветвь -- это мусор в репозитории,
> поэтому умный робот проверит, есть ли в .git/config
> ветви, описанные в .gear/upstream/remotes,
> если есть, будет использовать их, чтобы не мусорить,
> если же нет, создаст свой gearobersturmbannbranch.
Умный робот мог бы посмотреть, если ли remotes на апстрим, описанный в
watch файле и если есть - сделать fetch им, а не в отдельную служебную
ветку.
>
> Если майнтайнер B тоже не хочет, чтобы у него создавался
> gearobersturmbannbranch, а использовались его собственные,
> отличные от майнтайнера A названия ветвей,
> он может добавить файл .gear/upstream/remotes.$USER,
> который будет иметь приоритет перед .gear/upstream/remotes.
> А еще можно export GEAR_UPSTREAM_REMOTES_SUFFIX=..smth..,
> и перекрыть все с помощью
> .gear/upstream/remotes.$GEAR_UPSTREAM_REMOTES_SUFFIX
> если вдруг понадобится.
а что делать, если мейнтейнер не хочет записывать что-то в
.gear/upstream (и тем более публиковать это) ?
>
> Конечно, в gear/rules архив может создаваться не по тегу,
> а по ветви: tar:upstream: .
> но тогда от создания у себя ветви upstream никуда не деться,
> против лома нет приема, она железобетонно прописана в gear/rules,
> разве что форкать свои .gear/rules.
>
> Так хорошо?
Нет, плохо.
Мне хотелось бы понять, чем не устраивает вариант с созданием веток под
"настройки мейнтейнера" а не в соответствии с .gear/upstream/remotes ?
Зачем плодить лишние сущности ?
сделайте в домашнем каталоге .uupdate-branches и в нём пропишите все
необходимые ветки.
ну и дефолт в виде upstream upstream
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 12:10 ` Anton Farygin
@ 2014-06-19 12:17 ` Igor Vlasenko
2014-06-19 12:49 ` Anton Farygin
0 siblings, 1 reply; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 12:17 UTC (permalink / raw)
To: ALT Linux Team development discussions; +Cc: Anton Farygin
On Thu, Jun 19, 2014 at 04:10:14PM +0400, Anton Farygin wrote:
> >Но из этого совершенно не следует, что если пакет foo
> >одновременно сопровождает 2 майнтайнера A и B, то
> >если один из них создал .gear/upstream/remotes,
> >(например, А), то второй (В)
> >отгребет из этого файла не нужные ему ветви.
>
> следует что каждому мейнтейнеру для каждого своего пакета придётся
> делать действия, которых можно было бы избежать.
В смысле? я же вроде бы описал, что не нужно никаких
действий.
Можно на примере? какие придется делать действия?
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 12:17 ` Igor Vlasenko
@ 2014-06-19 12:49 ` Anton Farygin
2014-06-19 13:09 ` Anton Farygin
2014-06-19 14:24 ` Igor Vlasenko
0 siblings, 2 replies; 34+ messages in thread
From: Anton Farygin @ 2014-06-19 12:49 UTC (permalink / raw)
To: devel
On 19.06.2014 16:17, Igor Vlasenko wrote:
> On Thu, Jun 19, 2014 at 04:10:14PM +0400, Anton Farygin wrote:
>>> Но из этого совершенно не следует, что если пакет foo
>>> одновременно сопровождает 2 майнтайнера A и B, то
>>> если один из них создал .gear/upstream/remotes,
>>> (например, А), то второй (В)
>>> отгребет из этого файла не нужные ему ветви.
>>
>> следует что каждому мейнтейнеру для каждого своего пакета придётся
>> делать действия, которых можно было бы избежать.
>
> В смысле? я же вроде бы описал, что не нужно никаких
> действий.
>
> Можно на примере? какие придется делать действия?
Создавать и поддерживать в рабочем состоянии .gear/upstream/*
Да, понимаю что это вызов скрипта, но всё-таки - зачем, если можно и без
этого обойтись ?
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 12:49 ` Anton Farygin
@ 2014-06-19 13:09 ` Anton Farygin
2014-06-19 14:38 ` Igor Vlasenko
2014-06-19 14:24 ` Igor Vlasenko
1 sibling, 1 reply; 34+ messages in thread
From: Anton Farygin @ 2014-06-19 13:09 UTC (permalink / raw)
To: devel
On 19.06.2014 16:49, Anton Farygin wrote:
> On 19.06.2014 16:17, Igor Vlasenko wrote:
>> On Thu, Jun 19, 2014 at 04:10:14PM +0400, Anton Farygin wrote:
>>>> Но из этого совершенно не следует, что если пакет foo
>>>> одновременно сопровождает 2 майнтайнера A и B, то
>>>> если один из них создал .gear/upstream/remotes,
>>>> (например, А), то второй (В)
>>>> отгребет из этого файла не нужные ему ветви.
>>>
>>> следует что каждому мейнтейнеру для каждого своего пакета придётся
>>> делать действия, которых можно было бы избежать.
>>
>> В смысле? я же вроде бы описал, что не нужно никаких
>> действий.
>>
>> Можно на примере? какие придется делать действия?
>
> Создавать и поддерживать в рабочем состоянии .gear/upstream/*
>
> Да, понимаю что это вызов скрипта, но всё-таки - зачем, если можно и без
> этого обойтись ?
Добавлю пример: пакет glusterfs3
склонировал прямо из gears
ветка sisyphus
смотрим rules:
$ cat .gear/rules
copy: *.glusterfs
copy: *.logrotate
copy: *.service
copy: *.sysconfig
copy: *.init
spec: glusterfs3.spec
tar: v@version@:.
diff: v@version@:. .
ага, мейнтейнер собирает по тэгу, отлично.
гуглим апстрим.
добавляем upstream remote
делаю ему fetch
прилетает новый тэг.
делаю merge с этим тэгом прямо в ветку sisyphus (без upstream бранча, он
не нужен вообще когда можно брать тарболл по апстримному тэгу, да и в
других случаях его необходимость вещь весьма условная).
резолвим конфликты, возникшие при merge и начинаем собирать.
Вот зачем мне в этом usecase информация о том, где и в каких ветках
Alexei Takaseev хранит апстримы и с чем делает мерж ?
Вся недостающая информация - это адрес апстримного гита и формат тэга,
который описывает релиз.
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 12:49 ` Anton Farygin
2014-06-19 13:09 ` Anton Farygin
@ 2014-06-19 14:24 ` Igor Vlasenko
2014-06-19 17:02 ` Anton Farygin
1 sibling, 1 reply; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 14:24 UTC (permalink / raw)
To: ALT Linux Team development discussions; +Cc: Anton Farygin
On Thu, Jun 19, 2014 at 04:49:47PM +0400, Anton Farygin wrote:
> Да, понимаю что это вызов скрипта, но всё-таки - зачем, если можно и
> без этого обойтись ?
Это смотря кому можно обойтись.
Майнтайнеру-одиночке, не подпускающего никого
к своим пакетам, да, можно без этого обойтись.
Но тем самым, не разглашая информацию о своих remotes,
такой майнтайнер экономя секунду ввоего времени,
забирает в сумме часы у других.
> гуглим апстрим.
> добавляем upstream remote
Вот-вот. гуглим. 5 минут на репозиторий, 100+ репозиториев perl -
только склонировать и проставить upstream remotе - это
день работы. Поэтому эти репозитории так и стоят протухшие.
Слишком затратно по времени с ними возиться.
> Вот зачем мне в этом usecase информация о том, где и в каких ветках
> Alexei Takaseev хранит апстримы и с чем делает мерж ?
Никто же не заставляет ей пользоваться.
Alexei Takaseev поделился этой информацией с сообществом,
он выполнил свой долг, создав файл .gear/upstream/remotes.
Если нет желания смотреть в этот файл,
никто ж не мешает сесть и полчаса погуглить.
В чем проблема поделиться с коллегами настройками своего репозитория,
чтобы они не тратили свое время, пытаясь угадать и воспроизвести
эти настройки?
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 13:09 ` Anton Farygin
@ 2014-06-19 14:38 ` Igor Vlasenko
0 siblings, 0 replies; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 14:38 UTC (permalink / raw)
To: ALT Linux Team development discussions; +Cc: Anton Farygin
On Thu, Jun 19, 2014 at 05:09:26PM +0400, Anton Farygin wrote:
> Вот зачем мне в этом usecase информация о том, где и в каких ветках
> Alexei Takaseev хранит апстримы и с чем делает мерж ?
>
> Вся недостающая информация - это адрес апстримного гита и формат
> тэга, который описывает релиз.
Сорри, только сейчас обратил внимание. да,
адрес апстримного гита и формат тэга, который описывает релиз -
основная информация, а информация о ветвях -
вспомогательная, которую можно не указывать.
Вообще, наверное, рано спорить, надо сначала
написать код и посмотреть, что ему реально будет нужно.
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 14:24 ` Igor Vlasenko
@ 2014-06-19 17:02 ` Anton Farygin
2014-06-19 18:20 ` Igor Vlasenko
0 siblings, 1 reply; 34+ messages in thread
From: Anton Farygin @ 2014-06-19 17:02 UTC (permalink / raw)
To: devel
On 19.06.2014 18:24, Igor Vlasenko wrote:
> On Thu, Jun 19, 2014 at 04:49:47PM +0400, Anton Farygin wrote:
>> Да, понимаю что это вызов скрипта, но всё-таки - зачем, если можно и
>> без этого обойтись ?
>
> Это смотря кому можно обойтись.
>
> Майнтайнеру-одиночке, не подпускающего никого
> к своим пакетам, да, можно без этого обойтись.
>
> Но тем самым, не разглашая информацию о своих remotes,
> такой майнтайнер экономя секунду ввоего времени,
> забирает в сумме часы у других.
Игорь, я же говорю - remotes надо описывать в watch файле.
Больше ничего не нужно.
>
>> гуглим апстрим.
>> добавляем upstream remote
>
> Вот-вот. гуглим. 5 минут на репозиторий, 100+ репозиториев perl -
> только склонировать и проставить upstream remotе - это
> день работы. Поэтому эти репозитории так и стоят протухшие.
> Слишком затратно по времени с ними возиться.
>
>> Вот зачем мне в этом usecase информация о том, где и в каких ветках
>> Alexei Takaseev хранит апстримы и с чем делает мерж ?
>
> Никто же не заставляет ей пользоваться.
> Alexei Takaseev поделился этой информацией с сообществом,
> он выполнил свой долг, создав файл .gear/upstream/remotes.
Зачем эта информация сообществу ?
>
> Если нет желания смотреть в этот файл,
> никто ж не мешает сесть и полчаса погуглить.
>
> В чем проблема поделиться с коллегами настройками своего репозитория,
> чтобы они не тратили свое время, пытаясь угадать и воспроизвести
> эти настройки?
В том, что remotes не нужны для публикации.
Надо меня услышать: я предлагаю в watch файл писать адрес апстримного
git репозитория. Этого достаточно для всего что хочется реализовать.
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 17:02 ` Anton Farygin
@ 2014-06-19 18:20 ` Igor Vlasenko
2014-06-19 18:35 ` Anton Farygin
2014-06-20 5:01 ` Eugene Prokopiev
0 siblings, 2 replies; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 18:20 UTC (permalink / raw)
To: ALT Linux Team development discussions; +Cc: Anton Farygin
[-- Attachment #1: Type: text/plain, Size: 2715 bytes --]
On Thu, Jun 19, 2014 at 09:02:06PM +0400, Anton Farygin wrote:
> Игорь, я же говорю - remotes надо описывать в watch файле.
На watch файлы в свое время было много нареканий, что сложный в
освоении и запутанный формат. Основная причина, почему я взялся -
это много тысяч готовых watch файлов, которые можно скопировать
не читая из дистрибутивов, основанных на debian.
git+gear -- alt специфический, там нет такой необходимости
быть с чем-то совместимым. плюс специфика кода, я много
усилий вложил в минимизацию diff с debian в участках кода,
работающего с watch файлами, чтобы можно было бесконфликтно
мержится с debian. Не хочется опять все ломать.
Просто посмотрите на .gear/upstream/remotes, что это такой
хитрый watch файл для git tags, а git-config -- это
такой у него формат.
Прилагаю к письму proof-of-concept скрипт,
"watch для gear tags", test-tag-watch.
пока поддерживает только стандартные теги v@version@ и @version@,
для работы нужно скопировать секцию remote из .git/config
в .gear/upstream/remotes.
Проверьте у себя, пожалуйста. При запуске в корне gear репозитория
должен выдать что-то вроде "Repository is up to date."
> >он выполнил свой долг, создав файл .gear/upstream/remotes.
> Зачем эта информация сообществу ?
Меня тоже надо услышать. Мне лично и прямо сейчас такая информация
уже нужна для пакетов perl-*. Я ведь не исключен из сообщества?
А по закону больших чисел такая информация понадобится не раз и не
два еще не одному десятку майнтайнеров. Да, у нас массовые обновления
и исправления пакетов не очень распространены. Но не потому, что
не нужны, а потому что требуется слишком много усилий из-за
несовершенства инструментов.
--
I V
[-- Attachment #2: test-tag-watch --]
[-- Type: text/plain, Size: 2023 bytes --]
#!/usr/bin/perl
use strict;
use warnings;
use RPM::uscan;
my $pattern='v?([\d\.]*\d)';
my $pkg_dir='.';
my $debug=0;
print 'remotes=', join("\n",get_remotes($pkg_dir)),"\n" if $debug;
my @tags=get_tags();
@tags = map {$_->[0]} Devscripts::Versort::upstream_versort(map {[$_,$_]}@tags);
print 'tags=', join(" ",@tags),"\n" if $debug;
my (undef, $upackage, $uversion) = RPM::uscan::altlinux_guess_package_and_version($pkg_dir);
my $version_cmp=Devscripts::Versort::myvercmp($uversion, $tags[0]);
if ($version_cmp>1) {
print "Oops! local repository ($uversion) is ahead of remote repository ($tags[0]).\n";
} elsif ($version_cmp==0) {
print "repository is up to date.\n";
} else {
print "New version $tags[0] is available.\n";
}
sub get_tags {
my @tags;
foreach my $remote (&get_remotes($pkg_dir)) {
foreach my $tag (&exec2array('git ls-remote --tags '.$remote)) {
$tag=~s!^\S+\s+refs/tags/!!;
$tag=~s!\^\{\}$!!;
#print "testing: $tag\n";
push @tags, $1 if $tag=~/^$pattern$/;
}
}
return @tags;
}
sub exec2array {
my ($cmd)=@_;
my @out;
my $fn;
open ($fn, "$cmd |") or die "$!: can't exec $cmd\n";
local $_;
while (<$fn>) {
chomp;
push @out, $_;
}
close ($fn);
#print 'out=', join(";",@out),"\n";
return @out;
}
sub get_remotes {
my ($pkg_dir)=@_;
my @remotes;
die "can't find $pkg_dir/.gear/upstream/remotes\n" unless -r $pkg_dir.'/.gear/upstream/remotes';
my $fn;
open ($fn, 'git config --file '.$pkg_dir.'/.gear/upstream/remotes --list|') or die "$!: can't open .gear/upstream/remotes\n";
local $_;
while (<$fn>) {
chomp;
next unless /^remote\.([^\.]+)\.url=(\S+)/;
my $remote=$1;
#my $url=$2;
push @remotes, $remote;
}
close ($fn);
my %local_remotes=map{$_=>1} &exec2array('git remote');
foreach my $remote (@remotes) {
die "Oops: remote $remote is present in .gear/upstream/remotes, but not in .git/config!\n" unless $local_remotes{$remote};
}
return @remotes;
}
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 18:20 ` Igor Vlasenko
@ 2014-06-19 18:35 ` Anton Farygin
2014-06-19 18:52 ` Igor Vlasenko
2014-06-20 5:01 ` Eugene Prokopiev
1 sibling, 1 reply; 34+ messages in thread
From: Anton Farygin @ 2014-06-19 18:35 UTC (permalink / raw)
To: devel
On 19.06.2014 22:20, Igor Vlasenko wrote:
> On Thu, Jun 19, 2014 at 09:02:06PM +0400, Anton Farygin wrote:
>> Игорь, я же говорю - remotes надо описывать в watch файле.
>
> На watch файлы в свое время было много нареканий, что сложный в
> освоении и запутанный формат. Основная причина, почему я взялся -
> это много тысяч готовых watch файлов, которые можно скопировать
> не читая из дистрибутивов, основанных на debian.
>
> git+gear -- alt специфический, там нет такой необходимости
> быть с чем-то совместимым. плюс специфика кода, я много
> усилий вложил в минимизацию diff с debian в участках кода,
> работающего с watch файлами, чтобы можно было бесконфликтно
> мержится с debian. Не хочется опять все ломать.
не надо всё ломать, уверен, что можно легко определить git или не git в
описании и для него вызвать другой обработчик.
>
> Просто посмотрите на .gear/upstream/remotes, что это такой
> хитрый watch файл для git tags, а git-config -- это
> такой у него формат.
это иллюзия. Мало ли какие remotes я использую для разработки.
Я ведь могу мержить свои репозитории и из своих гитов, которые тоже не
каким образом не имеют отношения к публичности.
Или вот пример:
[remote "]jooQueiniweitahki4Boz3ai2zi8Bi"]
url =
git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
fetch = +refs/heads/*:refs/remotes/upstream/*
[remote "rider"]
url = git+ssh://git.alt/people/rider/packages/btrfs-progs.git
fetch = +refs/heads/*:refs/remotes/rider/*
[remote "vet7ahpheachiree7xiRae3xa7Vaiw"]
url = git://repo.or.cz/btrfs-progs-unstable/devel.git
fetch = +refs/heads/*:refs/remotes/upstream-devel/*
легче станет сообществу ?
>
> Прилагаю к письму proof-of-concept скрипт,
> "watch для gear tags", test-tag-watch.
>
> пока поддерживает только стандартные теги v@version@ и @version@,
> для работы нужно скопировать секцию remote из .git/config
> в .gear/upstream/remotes.
а если таких секций цать ?
>
> Проверьте у себя, пожалуйста. При запуске в корне gear репозитория
> должен выдать что-то вроде "Repository is up to date."
>
>>> он выполнил свой долг, создав файл .gear/upstream/remotes.
>> Зачем эта информация сообществу ?
>
> Меня тоже надо услышать. Мне лично и прямо сейчас такая информация
> уже нужна для пакетов perl-*. Я ведь не исключен из сообщества?
Зачем ? Не понимаю, что даст то, что я назвал ветку askjdfaskdhauhkjhasd ?
Вы действительно хотите увидеть мои названия веток ? может быть я их
называю не совсем приличными словами, ибо в некоторых проектах
приличными не получается.
> А по закону больших чисел такая информация понадобится не раз и не
> два еще не одному десятку майнтайнеров. Да, у нас массовые обновления
> и исправления пакетов не очень распространены. Но не потому, что
> не нужны, а потому что требуется слишком много усилий из-за
> несовершенства инструментов.
информация о локальных ветках в секции remotes никому не нужна.
Нужна возможность мейнтейнеру указать, где и что искать в апстримном гите.
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 18:35 ` Anton Farygin
@ 2014-06-19 18:52 ` Igor Vlasenko
2014-06-19 19:08 ` Anton Farygin
0 siblings, 1 reply; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 18:52 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Thu, Jun 19, 2014 at 10:35:27PM +0400, Anton Farygin wrote:
> Я ведь могу мержить свои репозитории и из своих гитов, которые тоже
> не каким образом не имеют отношения к публичности.
Но ведь их не надо наблюдать? соответственно, не нужно их
вносить в .gear/upstream/remotes. только то, что реально
внешнее.
> Или вот пример:
>
> [remote "]jooQueiniweitahki4Boz3ai2zi8Bi"]
> url =
> git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
> fetch = +refs/heads/*:refs/remotes/upstream/*
> [remote "rider"]
> url = git+ssh://git.alt/people/rider/packages/btrfs-progs.git
> fetch = +refs/heads/*:refs/remotes/rider/*
> [remote "vet7ahpheachiree7xiRae3xa7Vaiw"]
> url = git://repo.or.cz/btrfs-progs-unstable/devel.git
> fetch = +refs/heads/*:refs/remotes/upstream-devel/*
>
> легче станет сообществу ?
(Облизываясь) Если бы perl-* - Мммм!
btrfs-progs - еще не сталкивался. Но, думаю, хуже не стало.
> >Прилагаю к письму proof-of-concept скрипт,
> >"watch для gear tags", test-tag-watch.
Как, получилось ли со скриптом test-tag-watch?
Достаточно ли
> >пока поддерживает только стандартные теги v@version@ и @version@,
?
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 18:52 ` Igor Vlasenko
@ 2014-06-19 19:08 ` Anton Farygin
2014-06-19 19:46 ` Igor Vlasenko
0 siblings, 1 reply; 34+ messages in thread
From: Anton Farygin @ 2014-06-19 19:08 UTC (permalink / raw)
To: devel
On 19.06.2014 22:52, Igor Vlasenko wrote:
> On Thu, Jun 19, 2014 at 10:35:27PM +0400, Anton Farygin wrote:
>> Я ведь могу мержить свои репозитории и из своих гитов, которые тоже
>> не каким образом не имеют отношения к публичности.
>
> Но ведь их не надо наблюдать? соответственно, не нужно их
> вносить в .gear/upstream/remotes. только то, что реально
> внешнее.
>
>> Или вот пример:
>>
>> [remote "]jooQueiniweitahki4Boz3ai2zi8Bi"]
>> url =
>> git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git
>> fetch = +refs/heads/*:refs/remotes/upstream/*
>> [remote "rider"]
>> url = git+ssh://git.alt/people/rider/packages/btrfs-progs.git
>> fetch = +refs/heads/*:refs/remotes/rider/*
>> [remote "vet7ahpheachiree7xiRae3xa7Vaiw"]
>> url = git://repo.or.cz/btrfs-progs-unstable/devel.git
>> fetch = +refs/heads/*:refs/remotes/upstream-devel/*
>>
>> легче станет сообществу ?
>
> (Облизываясь) Если бы perl-* - Мммм!
> btrfs-progs - еще не сталкивался. Но, думаю, хуже не стало.
т.е. - названия бранчей устраивают ?
>
>
>>> Прилагаю к письму proof-of-concept скрипт,
>>> "watch для gear tags", test-tag-watch.
>
> Как, получилось ли со скриптом test-tag-watch?
конечно нет:
$ ~/test-tag-watch
can't find ./.gear/upstream/remotes
откуда ж им взяться, если мне эта идея не нравится.
поправил на .git/config:
$ ~/test-tag-watch
Use of uninitialized value $ver in substitution (s///) at
/usr/share/perl5/RPM/uscan.pm line 1831.
Use of uninitialized value $tags[0] in concatenation (.) or string at
/home/rider/test-tag-watch line 23.
New version is available.
пакет php5
>
> Достаточно ли
>>> пока поддерживает только стандартные теги v@version@ и @version@,
> ?
нет, см. php5
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 19:08 ` Anton Farygin
@ 2014-06-19 19:46 ` Igor Vlasenko
2014-06-19 19:50 ` Igor Vlasenko
2014-06-20 5:51 ` Anton Farygin
0 siblings, 2 replies; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 19:46 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Thu, Jun 19, 2014 at 11:08:17PM +0400, Anton Farygin wrote:
> >Достаточно ли
> >>>пока поддерживает только стандартные теги v@version@ и @version@,
> >?
> нет, см. php5
Пока не определился с форматом .gear/upstream/tag-filter,
прикрепляю новый test-tag-watch, для php5 запускать как
test-tag-watch --pattern 'php-([0-9\.]+)'
когда станет ясно содержимое .gear/upstream/tag-filter,
php-([0-9\.]+) можно будет вписать туда.
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 19:46 ` Igor Vlasenko
@ 2014-06-19 19:50 ` Igor Vlasenko
2014-06-20 5:51 ` Anton Farygin
1 sibling, 0 replies; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-19 19:50 UTC (permalink / raw)
To: ALT Linux Team development discussions; +Cc: Anton Farygin
[-- Attachment #1: Type: text/plain, Size: 761 bytes --]
On Thu, Jun 19, 2014 at 10:46:26PM +0300, Igor Vlasenko wrote:
> On Thu, Jun 19, 2014 at 11:08:17PM +0400, Anton Farygin wrote:
> > >Достаточно ли
> > >>>пока поддерживает только стандартные теги v@version@ и @version@,
> > >?
> > нет, см. php5
>
> Пока не определился с форматом .gear/upstream/tag-filter,
> прикрепляю новый test-tag-watch, для php5 запускать как
>
> test-tag-watch --pattern 'php-([0-9\.]+)'
>
> когда станет ясно содержимое .gear/upstream/tag-filter,
> php-([0-9\.]+) можно будет вписать туда.
забыл сам скрипт прикрепить - прикрепляю.
--
I V
[-- Attachment #2: test-tag-watch --]
[-- Type: text/plain, Size: 2353 bytes --]
#!/usr/bin/perl
use strict;
use warnings;
use RPM::uscan;
use Getopt::Long;
my $pattern='v?([\d\.]*\d)';
my $pkg_dir='.';
my $debug=0;
my ($verbose,$help);
my $result = GetOptions (
'verbose+' => \$verbose,
'q|quiet' => sub {$verbose=0},
'h|help' => \$help,
'pattern=s' => \$pattern,
);
$debug=1 if $verbose;
print "pattern=$pattern\n" if $debug;
print 'remotes=', join("\n",get_remotes($pkg_dir)),"\n" if $debug;
my @tags=get_tags();
die "no tags found that match pattern $pattern\n" unless @tags;
@tags = map {$_->[0]} Devscripts::Versort::upstream_versort(map {[$_,$_]}@tags);
print 'tags=', join(" ",@tags),"\n" if $debug;
my (undef, $upackage, $uversion) = RPM::uscan::altlinux_guess_package_and_version($pkg_dir);
my $version_cmp=Devscripts::Versort::myvercmp($uversion, $tags[0]);
if ($version_cmp>1) {
print "Oops! local repository ($uversion) is ahead of remote repository ($tags[0]).\n";
} elsif ($version_cmp==0) {
print "Repository is up to date.\n";
} else {
print "New version $tags[0] is available.\n";
}
sub get_tags {
my @tags;
foreach my $remote (&get_remotes($pkg_dir)) {
foreach my $tag (&exec2array('git ls-remote --tags '.$remote)) {
$tag=~s!^\S+\s+refs/tags/!!;
$tag=~s!\^\{\}$!!;
print "testing: $tag\n" if $debug;
push @tags, $1 if $tag=~/^$pattern$/;
}
}
return @tags;
}
sub exec2array {
my ($cmd)=@_;
my @out;
my $fn;
open ($fn, "$cmd |") or die "$!: can't exec $cmd\n";
local $_;
while (<$fn>) {
chomp;
push @out, $_;
}
close ($fn);
#print 'out=', join(";",@out),"\n";
return @out;
}
sub get_remotes {
my ($pkg_dir)=@_;
my @remotes;
die "can't find $pkg_dir/.gear/upstream/remotes\n" unless -r $pkg_dir.'/.gear/upstream/remotes';
my $fn;
open ($fn, 'git config --file '.$pkg_dir.'/.gear/upstream/remotes --list|') or die "$!: can't open .gear/upstream/remotes\n";
local $_;
while (<$fn>) {
chomp;
next unless /^remote\.([^\.]+)\.url=(\S+)/;
my $remote=$1;
#my $url=$2;
push @remotes, $remote;
}
close ($fn);
my %local_remotes=map{$_=>1} &exec2array('git remote');
foreach my $remote (@remotes) {
die "Oops: remote $remote is present in .gear/upstream/remotes, but not in .git/config!\n" unless $local_remotes{$remote};
}
return @remotes;
}
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 18:20 ` Igor Vlasenko
2014-06-19 18:35 ` Anton Farygin
@ 2014-06-20 5:01 ` Eugene Prokopiev
2014-06-20 12:11 ` Igor Vlasenko
1 sibling, 1 reply; 34+ messages in thread
From: Eugene Prokopiev @ 2014-06-20 5:01 UTC (permalink / raw)
To: ALT Linux Team development discussions; +Cc: Anton Farygin
19 июня 2014 г., 22:20 Igor Vlasenko написал:
> Меня тоже надо услышать. Мне лично и прямо сейчас такая информация
> уже нужна для пакетов perl-*. Я ведь не исключен из сообщества?
> А по закону больших чисел такая информация понадобится не раз и не
> два еще не одному десятку майнтайнеров. Да, у нас массовые обновления
> и исправления пакетов не очень распространены. Но не потому, что
> не нужны, а потому что требуется слишком много усилий из-за
> несовершенства инструментов.
Игорь, можно еще раз? Мне тоже кажется, что чем меньше дополнительной
информации в разных местах хранить, тем более чистой и удобной
становится сама концепция :) Т.е. раз мы уже используем watch-файлы,
то логично в них же хранить ссылку на внешнюю VCS + регэксп для
релизных тегов. Тогда для облегчения работы мы могли бы сказать:
$ gear-restore-remotes (один раз сразу после git clone для извлечения
remotes - но тут нужно дать капризным майнтейнерам возможность
задавать имя remotes)
$ git remotes fetch
$ gear-watch (посмотреть глазами, есть ли новые теги?)
$ girar-update-by-upstream-tag (мержит апстримный тег, правит спек,
коммитит, может даже ставит теги для сизифа и бранчей)
$ gear-hsh ... (собираем теги для сизифа и бранчей)
Имена новых утилит, естественно, условные ...
По дефолту, наверное, стоит ставить теги и собирать только для сизифа,
а в случае присутствия specsubst также и для бранчей (указанных в
каком-то специального вида комментарии в спеке, например).
Все эти команды я могу дать вручную, а могу и роботу поручить, если
пакетов куча.
Зачем здесь апстримные бранчи? Можно ведь таким образом собирать те же
starman и perl-Mojolicious непосредственно по тегам? И netxms можно
было бы.
Есть другой вопрос: бывает нужно собирать не апстримные, а собственные
теги. Или вот я сам собираю себе freeswitch, т.к. не нашел общего
языка с майнтейнером -
http://git.altlinux.org/people/enp/packages/freeswitch.git. Мержить
можно было бы и апстримные теги, но еще мне нужно вычислять разницу
между бранчами upstream/v1.2.stable и patch/ldap -
http://git.altlinux.org/people/enp/packages/freeswitch.git?p=freeswitch.git;a=blob;f=.gear/rules;h=a4a4163b4b0ed5bf439d2603c21431edd0466635;hb=f5d4ebe340bcb69df0076a9fa2f28aba5cf45231.
Где хранить информацию об этом - тоже в watch-файле?
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-19 19:46 ` Igor Vlasenko
2014-06-19 19:50 ` Igor Vlasenko
@ 2014-06-20 5:51 ` Anton Farygin
2014-06-20 12:23 ` Igor Vlasenko
1 sibling, 1 reply; 34+ messages in thread
From: Anton Farygin @ 2014-06-20 5:51 UTC (permalink / raw)
To: devel
On 19.06.2014 23:46, Igor Vlasenko wrote:
> On Thu, Jun 19, 2014 at 11:08:17PM +0400, Anton Farygin wrote:
>>> Достаточно ли
>>>>> пока поддерживает только стандартные теги v@version@ и @version@,
>>> ?
>> нет, см. php5
>
> Пока не определился с форматом .gear/upstream/tag-filter,
> прикрепляю новый test-tag-watch, для php5 запускать как
>
> test-tag-watch --pattern 'php-([0-9\.]+)'
>
> когда станет ясно содержимое .gear/upstream/tag-filter,
> php-([0-9\.]+) можно будет вписать туда.
>
>
более сложный пример - пакет curl
апстрим:git://github.com/bagder/curl.git
мне кажется, что формат watch файлов всё-таки не просто-так стал таким
сложным.
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-20 5:01 ` Eugene Prokopiev
@ 2014-06-20 12:11 ` Igor Vlasenko
2014-06-20 12:20 ` Eugene Prokopiev
0 siblings, 1 reply; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-20 12:11 UTC (permalink / raw)
To: ALT Linux Team development discussions
Я плохо прошлый раз объяснил, только всех запутал:(
Как говорится, чтобы правильно задать вопрос, нужно знать
50% ответа. Вместо этого я завел слушателей во что-то не то.
Коротко скажу, что
> Зачем здесь апстримные бранчи?
и не зачем, и не при чем, и только запутал слушателей и ввел
их в заблуждение. У мнея смешались в кучу кони, люди, NMU,
наблюдение за тегами и автообновление.
Не удивительно, что я всех запутал.
Прошу тайм-аут.
Возможно, стоит сейчас отложить написание кода,
это сейчас менее приоритетная задача,
пусть время устаканит концепцию.
On Fri, Jun 20, 2014 at 09:01:10AM +0400, Eugene Prokopiev wrote:
> 19 июня 2014 г., 22:20 Igor Vlasenko написал:
>
> > Меня тоже надо услышать. Мне лично и прямо сейчас такая информация
> > уже нужна для пакетов perl-*. Я ведь не исключен из сообщества?
> > А по закону больших чисел такая информация понадобится не раз и не
> > два еще не одному десятку майнтайнеров. Да, у нас массовые обновления
> > и исправления пакетов не очень распространены. Но не потому, что
> > не нужны, а потому что требуется слишком много усилий из-за
> > несовершенства инструментов.
>
> Игорь, можно еще раз? Мне тоже кажется, что чем меньше дополнительной
> информации в разных местах хранить, тем более чистой и удобной
> становится сама концепция :) Т.е. раз мы уже используем watch-файлы,
> то логично в них же хранить ссылку на внешнюю VCS + регэксп для
> релизных тегов. Тогда для облегчения работы мы могли бы сказать:
>
> $ gear-restore-remotes (один раз сразу после git clone для извлечения
> remotes - но тут нужно дать капризным майнтейнерам возможность
> задавать имя remotes)
> $ git remotes fetch
> $ gear-watch (посмотреть глазами, есть ли новые теги?)
> $ girar-update-by-upstream-tag (мержит апстримный тег, правит спек,
> коммитит, может даже ставит теги для сизифа и бранчей)
> $ gear-hsh ... (собираем теги для сизифа и бранчей)
>
> Имена новых утилит, естественно, условные ...
>
> По дефолту, наверное, стоит ставить теги и собирать только для сизифа,
> а в случае присутствия specsubst также и для бранчей (указанных в
> каком-то специального вида комментарии в спеке, например).
>
> Все эти команды я могу дать вручную, а могу и роботу поручить, если
> пакетов куча.
>
> Зачем здесь апстримные бранчи? Можно ведь таким образом собирать те же
> starman и perl-Mojolicious непосредственно по тегам? И netxms можно
> было бы.
>
> Есть другой вопрос: бывает нужно собирать не апстримные, а собственные
> теги. Или вот я сам собираю себе freeswitch, т.к. не нашел общего
> языка с майнтейнером -
> http://git.altlinux.org/people/enp/packages/freeswitch.git. Мержить
> можно было бы и апстримные теги, но еще мне нужно вычислять разницу
> между бранчами upstream/v1.2.stable и patch/ldap -
> http://git.altlinux.org/people/enp/packages/freeswitch.git?p=freeswitch.git;a=blob;f=.gear/rules;h=a4a4163b4b0ed5bf439d2603c21431edd0466635;hb=f5d4ebe340bcb69df0076a9fa2f28aba5cf45231.
> Где хранить информацию об этом - тоже в watch-файле?
>
> --
> WBR,
> Eugene Prokopiev
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-20 12:11 ` Igor Vlasenko
@ 2014-06-20 12:20 ` Eugene Prokopiev
0 siblings, 0 replies; 34+ messages in thread
From: Eugene Prokopiev @ 2014-06-20 12:20 UTC (permalink / raw)
To: ALT Linux Team development discussions
20 июня 2014 г., 16:11 Igor Vlasenko написал:
> Не удивительно, что я всех запутал.
> Прошу тайм-аут.
>
> Возможно, стоит сейчас отложить написание кода,
> это сейчас менее приоритетная задача,
> пусть время устаканит концепцию.
Конечно, но нужно бросать - это очень важное и полезное дело
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 34+ messages in thread
* Re: [devel] Gear и внешние VCS.
2014-06-20 5:51 ` Anton Farygin
@ 2014-06-20 12:23 ` Igor Vlasenko
0 siblings, 0 replies; 34+ messages in thread
From: Igor Vlasenko @ 2014-06-20 12:23 UTC (permalink / raw)
To: ALT Linux Team development discussions
On Fri, Jun 20, 2014 at 09:51:00AM +0400, Anton Farygin wrote:
> мне кажется, что формат watch файлов всё-таки не просто-так стал
> таким сложным.
с тегами там 2 задачи - отфильтровать нужные и потом преобразовать их
к виду, пригодному для вставки в тег rpm Version:.
Это типичная задача-однострочник на sed, awk, perl.
Я вот думаю, а зачем вообще изобретать формат.
в случае нестандартных тегов
майнтайнер создает скрипты .gear/upstream/tag-filter,
.gear/upstream/tag-mangle,
например, для php -
grep /^php-[0-9\.]*$/ и sed -e 's,php-,,'
а скрипт скармливает им все теги через pipe и берет с выхода
уже отфильтрованные и преобразованные.
--
I V
^ permalink raw reply [flat|nested] 34+ messages in thread
end of thread, other threads:[~2014-06-20 12:23 UTC | newest]
Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-17 19:42 [devel] Q: редкие примеры .gear/rules ? Igor Vlasenko
2014-06-18 4:45 ` Eugene Prokopiev
2014-06-18 17:53 ` Igor Vlasenko
2014-06-19 7:52 ` Igor Vlasenko
2014-06-19 8:00 ` Eugene Prokopiev
2014-06-19 11:08 ` [devel] Gear и внешние VCS Igor Vlasenko
2014-06-19 11:10 ` Anton Farygin
2014-06-19 11:55 ` Igor Vlasenko
2014-06-19 12:10 ` Anton Farygin
2014-06-19 12:17 ` Igor Vlasenko
2014-06-19 12:49 ` Anton Farygin
2014-06-19 13:09 ` Anton Farygin
2014-06-19 14:38 ` Igor Vlasenko
2014-06-19 14:24 ` Igor Vlasenko
2014-06-19 17:02 ` Anton Farygin
2014-06-19 18:20 ` Igor Vlasenko
2014-06-19 18:35 ` Anton Farygin
2014-06-19 18:52 ` Igor Vlasenko
2014-06-19 19:08 ` Anton Farygin
2014-06-19 19:46 ` Igor Vlasenko
2014-06-19 19:50 ` Igor Vlasenko
2014-06-20 5:51 ` Anton Farygin
2014-06-20 12:23 ` Igor Vlasenko
2014-06-20 5:01 ` Eugene Prokopiev
2014-06-20 12:11 ` Igor Vlasenko
2014-06-20 12:20 ` Eugene Prokopiev
2014-06-18 6:14 ` [devel] Q: редкие примеры .gear/rules ? Anton Farygin
2014-06-18 10:30 ` Dmitry V. Levin
2014-06-18 17:54 ` Igor Vlasenko
2014-06-18 18:30 ` Igor Vlasenko
2014-06-18 18:40 ` Pavel Vainerman
2014-06-18 19:08 ` Anton Farygin
2014-06-18 9:50 ` Anton V. Boyarshinov
2014-06-18 10:53 ` Sergey V Turchin
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git