ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1)
@ 2009-04-24 17:43 Alexey Tourbin
  2009-04-24 17:57 ` Afanasov Dmitry
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Alexey Tourbin @ 2009-04-24 17:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2310 bytes --]

On Fri, Apr 24, 2009 at 08:01:39PM +0300, Slava Dubrovskiy wrote:
> >>> Why?  Just rebuild that another package with new fpc.
> >>>       
> >> Чтобы этот другой пакет пересобрать с новым fpc, нужно чтобы он (новый
> >> fpc) попал в репозитарий. А он не может, т.к. анметы не пускают.
> >> Замкнутый круг.
> >> Я так понимаю нужно или собирать все одновременно, или делать две версии
> >> fpc.
> >>     
> > Yes, you have to add that another package to your fpc task.
> > If you have ACL permissions to build that another package,
> > this is remarkably simple. :)  And if you don't, this is still
> > possible.
> >   
> Да, наверно сейчас, когда такой пакет всего один, это будет просто. А
> если завтра их будет больше одного? А каждый мантейнер личность и к
> каждому найти подход...

Okay, let's discuss again what I call "collaboration patterns".  The
problem is that we need to find the right balance between two things:
1) the maintainer must be responsible for the package, and thus she should
be able to control other the package; 2) sometimes, when it comes to the
repo, there should be other ways to make minor changes to the package,
perhaps even without the maintainer.

I see the following possibilities:

1) For fpc packages and packages which have fpc parts, you may ask
for permanent ACL permissions as a co-maintainer.  There might be
an informal agreement between you and maintainer so that you can
make fpc-related changes without prior notice (and otherwise discuss
any changes first).

2a) You can ask her for single NMU ACK.

2b) You can ask girar administrator for single NMU ACK.

3) You can share your fpc task and ask her to push new package
into your shared fpc task.

Are there any better possibilities?  I believe we need to make
rebuilding packages for new dependencies easily possible.  And
otherwise we face major problems.

> > Please don't do the second fpc package.
> Конечно не буду.

Now, what is the problem with two fpc packages, e.g. fpc1 and fpc2?
Consider there are two external fpc modules, foo-fpc and bar-fpc.
It is then possible that foo-fpc was build with fpc1, while bar-fpc
was built with fpc2.  So what?  There are no unmet dependencies,
but you cannot use both fpc-foo and fpc-bar for in a single program.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1)
  2009-04-24 17:43 [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1) Alexey Tourbin
@ 2009-04-24 17:57 ` Afanasov Dmitry
  2009-04-24 18:23   ` Alexey Tourbin
  2009-04-24 18:48 ` Damir Shayhutdinov
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Afanasov Dmitry @ 2009-04-24 17:57 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2009/4/24, Alexey Tourbin <at@altlinux.ru>:
> On Fri, Apr 24, 2009 at 08:01:39PM +0300, Slava Dubrovskiy wrote:
>  > Да, наверно сейчас, когда такой пакет всего один, это будет просто. А
>  > если завтра их будет больше одного? А каждый мантейнер личность и к
>  > каждому найти подход...
>  I see the following possibilities:
>  1) you may ask for permanent ACL permissions as a co-maintainer.
>  2a) You can ask her for single NMU ACK.
>  2b) You can ask girar administrator for single NMU ACK.
>  3) You can share your fpc task
>
>  Are there any better possibilities?
мне всё C на ум просится - versioning не сюда относится?

и вторая мысль - что случится, если у модуля добавилась функция, а
остальное осталось прежним? crc будет новым, а вот символы в модуле
сохранятся.

черт, надо разобраться, как работает fpc. как я понял, он вызывает ld
для линковки статики и динамики, а значит должен поддерживать работу и
с новыми модулями с имзененным crc.

но я  конечно могу ошибаться :)

>  There are no unmet dependencies,
>  but you cannot use both fpc-foo and fpc-bar for in a single program.
согласен, придется расщеплять и %_libdir/fpc/units/i386-linux/, что
неудобно, и версионировать и юниты.

-- 
С уважением
Афанасов Дмитрий

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1)
  2009-04-24 17:57 ` Afanasov Dmitry
@ 2009-04-24 18:23   ` Alexey Tourbin
  2009-04-24 18:30     ` Afanasov Dmitry
  0 siblings, 1 reply; 9+ messages in thread
From: Alexey Tourbin @ 2009-04-24 18:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2615 bytes --]

On Fri, Apr 24, 2009 at 09:57:02PM +0400, Afanasov Dmitry wrote:
> 2009/4/24, Alexey Tourbin <at@altlinux.ru>:
> > On Fri, Apr 24, 2009 at 08:01:39PM +0300, Slava Dubrovskiy wrote:
> >  > Да, наверно сейчас, когда такой пакет всего один, это будет просто. А
> >  > если завтра их будет больше одного? А каждый мантейнер личность и к
> >  > каждому найти подход...
> >  I see the following possibilities:
> >  1) you may ask for permanent ACL permissions as a co-maintainer.
> >  2a) You can ask her for single NMU ACK.
> >  2b) You can ask girar administrator for single NMU ACK.
> >  3) You can share your fpc task
> >
> >  Are there any better possibilities?
> мне всё C на ум просится - versioning не сюда относится?
> 
> и вторая мысль - что случится, если у модуля добавилась функция, а
> остальное осталось прежним? crc будет новым, а вот символы в модуле
> сохранятся.
> 
> черт, надо разобраться, как работает fpc. как я понял, он вызывает ld
> для линковки статики и динамики, а значит должен поддерживать работу и
> с новыми модулями с имзененным crc.
> 
> но я  конечно могу ошибаться :)

RTFS.

fpcbuild-2.2.0/fpcsrc/compiler/fppu.pas:
  1204          { load the used units from interface }
  1205          in_interface:=true;
  1206          pu:=tused_unit(used_units.first);
  1207          while assigned(pu) do
  1208           begin
  1209             if pu.in_interface then
  1210              begin
  1211                tppumodule(pu.u).loadppu;
  1212                { if this unit is compiled we can stop }
  1213                if state=ms_compiled then
  1214                 exit;
  1215                { add this unit to the dependencies }
  1216                pu.u.adddependency(self);
  1217                { need to recompile the current unit, check the interface
  1218                  crc. And when not compiled with -Ur then check the complete
  1219                  crc }
  1220                if (pu.u.interface_crc<>pu.interface_checksum) or
  1221                   (
  1222                    ((ppufile.header.flags and uf_release)=0) and
  1223                    (pu.u.crc<>pu.checksum)
  1224                   ) then
  1225                 begin
  1226                   Message2(unit_u_recompile_crc_change,realmodulename^,pu.u.realmodulename^,@queuecomment);
  1227                   recompile_reason:=rr_crcchanged;
  1228                   do_compile:=true;
  1229                   exit;
  1230                 end;
  1231              end;
  1232             pu:=tused_unit(pu.next);
  1233           end;

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1)
  2009-04-24 18:23   ` Alexey Tourbin
@ 2009-04-24 18:30     ` Afanasov Dmitry
  0 siblings, 0 replies; 9+ messages in thread
From: Afanasov Dmitry @ 2009-04-24 18:30 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2009/4/24, Alexey Tourbin <at@altlinux.ru>:
> On Fri, Apr 24, 2009 at 09:57:02PM +0400, Afanasov Dmitry wrote:
>  > как я понял, он вызывает ld
>  > но я  конечно могу ошибаться :)
>   1220                if (pu.u.interface_crc<>pu.interface_checksum) or
я действительно ошибался. значит работает по перечисленным
collaboration паттернам.

спасибо!
-- 
С уважением
Афанасов Дмитрий

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1)
  2009-04-24 17:43 [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1) Alexey Tourbin
  2009-04-24 17:57 ` Afanasov Dmitry
@ 2009-04-24 18:48 ` Damir Shayhutdinov
  2009-04-24 19:17   ` Alexey Tourbin
  2009-04-24 19:13 ` Alexey Tourbin
  2009-05-30 14:04 ` [devel] sisyphus-unmets: "смягчить" работу над shared tasks (was: collaboration patterns) Michael Shigorin
  3 siblings, 1 reply; 9+ messages in thread
From: Damir Shayhutdinov @ 2009-04-24 18:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

>> Да, наверно сейчас, когда такой пакет всего один, это будет просто. А
>> если завтра их будет больше одного? А каждый мантейнер личность и к
>> каждому найти подход...
Создайте команду fpc@

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1)
  2009-04-24 17:43 [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1) Alexey Tourbin
  2009-04-24 17:57 ` Afanasov Dmitry
  2009-04-24 18:48 ` Damir Shayhutdinov
@ 2009-04-24 19:13 ` Alexey Tourbin
  2009-04-24 19:28   ` Slava Dubrovskiy
  2009-05-30 14:04 ` [devel] sisyphus-unmets: "смягчить" работу над shared tasks (was: collaboration patterns) Michael Shigorin
  3 siblings, 1 reply; 9+ messages in thread
From: Alexey Tourbin @ 2009-04-24 19:13 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 247 bytes --]

On Fri, Apr 24, 2009 at 09:43:58PM +0400, Alexey Tourbin wrote:
> 3) You can share your fpc task and ask her to push new package
> into your shared fpc task.

BTW, you don't need another task for this.
You can share the existing task that failed.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1)
  2009-04-24 18:48 ` Damir Shayhutdinov
@ 2009-04-24 19:17   ` Alexey Tourbin
  0 siblings, 0 replies; 9+ messages in thread
From: Alexey Tourbin @ 2009-04-24 19:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 666 bytes --]

On Fri, Apr 24, 2009 at 10:48:23PM +0400, Damir Shayhutdinov wrote:
> >> Да, наверно сейчас, когда такой пакет всего один, это будет просто. А
> >> если завтра их будет больше одного? А каждый мантейнер личность и к
> >> каждому найти подход...
> Создайте команду fpc@

$ l libnumerix-*
-rw-r--r-- 2 copy copy  73278 Aug 25  2008 libnumerix-0.22-alt1.x86_64.rpm
-rw-r--r-- 2 copy copy   7630 Aug 25  2008 libnumerix-devel-0.22-alt1.x86_64.rpm
-rw-r--r-- 2 copy copy  14001 Aug 25  2008 libnumerix-fpc-unit-0.22-alt1.x86_64.rpm
-rw-r--r-- 2 copy copy 261088 Aug 25  2008 libnumerix-ocaml-0.22-alt1.x86_64.rpm
$

So, there is both -fpc and -ocaml parts.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1)
  2009-04-24 19:13 ` Alexey Tourbin
@ 2009-04-24 19:28   ` Slava Dubrovskiy
  0 siblings, 0 replies; 9+ messages in thread
From: Slava Dubrovskiy @ 2009-04-24 19:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 400 bytes --]

On 24.04.2009 22:13, Alexey Tourbin wrote:
> On Fri, Apr 24, 2009 at 09:43:58PM +0400, Alexey Tourbin wrote:
>   
>> 3) You can share your fpc task and ask her to push new package
>> into your shared fpc task.
>>     
> BTW, you don't need another task for this.
> You can share the existing task that failed.
>   
Не знал. Буду знать.
Спасибо.

-- 
WBR,
Dubrovskiy Vyacheslav


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 3262 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [devel] sisyphus-unmets: "смягчить" работу над shared tasks (was: collaboration patterns)
  2009-04-24 17:43 [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1) Alexey Tourbin
                   ` (2 preceding siblings ...)
  2009-04-24 19:13 ` Alexey Tourbin
@ 2009-05-30 14:04 ` Michael Shigorin
  3 siblings, 0 replies; 9+ messages in thread
From: Michael Shigorin @ 2009-05-30 14:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Fri, Apr 24, 2009 at 09:43:58PM +0400, Alexey Tourbin wrote:
> > > Yes, you have to add that another package to your fpc task.
> > > If you have ACL permissions to build that another package,
> > > this is remarkably simple. :)  And if you don't, this is
> > > still possible.
> > Да, наверно сейчас, когда такой пакет всего один, это будет
> > просто. А если завтра их будет больше одного? А каждый
> > мантейнер личность и к каждому найти подход...
> Okay, let's discuss again what I call "collaboration patterns".
[...]
> Are there any better possibilities?  I believe we need to make
> rebuilding packages for new dependencies easily possible.  And
> otherwise we face major problems.

Yup.

Вот что ещё подумалось: а можно ли обломавшиеся по причине
создания новых анметов задания сваливать в некую общую кучу
sisyphus-unmets или там sisyphus-next, в рамках которой не
требовалось бы отдельных действий по координации для исправления?

Это бы могло снизить потери времени на это самое взаимодействие
(что бывает особенно важно тогда, когда у разных людей сильно
разъезжаются окна времени для работы над сизифом) и вместе с тем
быть семантически ближе к тому, как публиковал сизиф ldv@,
что бывало менее категоричным, нежели текущая схема.

Возможность реализации IMHO зависит от того, насколько получается
предположить возможность исправления целостности получаемого
репозитория новоприбывшими пакетами -- примерно так:

- залил новые A и B;
- A собрался/проверился нормально и пошёл в Sisyphus;
- B сломал по установочным зависимостям пакеты C и D
  и потому был отправлен в sisyphus-unmets;
- майнтейнер C забросил новую сборку в git.alt или incoming;
- её пересборка в окружении sisyphus-unmets показала
  уменьшение количества анметов при транзакции
  => пакет определён в sisyphus-unmets;
- майнтейнер D тоже забросил сборку, но она не уменьшила
  количества анметов в рамках sisyphus-unmets, при этом
  пересборка на sisyphus показала неувеличение анметов
  => пакет определён в sisyphus;
- когда все порождённые B анметы "погашены" определёнными
  в sisyphus-unmets пакетами, B и пакеты, скомпенсировавшие
  именно им созданные анметами, отправляются на пересборку
  в Sisyphus (и при прохождении перекладываются туда).

Налицо существенные сомнения в "сходимости ряда" анметов таким
образом в разумное время, чтобы полученную "кучу" можно было
целиком перемещать в Sisyphus: скорее всего, куча будет
распухать со временем и блокировать возможность перекладывания
в сизиф статистически постоянным наличием/созданием анметов.
_Возможно_, от этого бы помогло установление некоего таймаута
(скажем, в неделю) и напускание stmpclean.

А ещё судьба пакета C может быть неожиданной для майнтейнера,
который и не собирался как-то особенно исправлять судьбу пакета B
(даже быть не в курсе), а просто намеревался увидеть новую сборку
пакета C в сизифе.

---

Предложение не претендует на реализуемость, но если вдруг
получится сделать так, чтобы простые вещи (вроде исправления
строго прибитых по V/VR зависимых пакетов пересборкой) делались
если не сами, то хотя бы просто и без отдельной синхронизации
людей -- то это бы здорово сэкономило времени и нервов на
полезную, а не формальную деятельность.

Получилось же сделать task add srpm, за что отдельное спасибо.

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-05-30 14:04 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-24 17:43 [devel] collaboration patterns (was: FAILED fpc.git=2.2.4-alt1) Alexey Tourbin
2009-04-24 17:57 ` Afanasov Dmitry
2009-04-24 18:23   ` Alexey Tourbin
2009-04-24 18:30     ` Afanasov Dmitry
2009-04-24 18:48 ` Damir Shayhutdinov
2009-04-24 19:17   ` Alexey Tourbin
2009-04-24 19:13 ` Alexey Tourbin
2009-04-24 19:28   ` Slava Dubrovskiy
2009-05-30 14:04 ` [devel] sisyphus-unmets: "смягчить" работу над shared tasks (was: collaboration patterns) Michael Shigorin

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