ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] I: mate-desktop: new dep
@ 2016-04-08 14:09 Ivan Zakharyaschev
  2016-04-09 19:43 ` Alexey Tourbin
  0 siblings, 1 reply; 6+ messages in thread
From: Ivan Zakharyaschev @ 2016-04-08 14:09 UTC (permalink / raw)
  To: devel

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

Здравствуйте!

У mate-desktop-synaptics как бы автообнаружилась новая зависимость из-за 
символической ссылки на /usr/share/X11/xorg.conf.d/50-synaptics.conf :

$ apt-cache depends mate-desktop-synaptics
mate-desktop-synaptics-1.12.1-alt2_1.1
   Depends: mate-desktop = 1.12.1-alt2_1.1
   Depends: xorg-drv-synaptics
   Depends: </usr/share/X11/xorg.conf.d/50-synaptics.conf>
     xorg-drv-synaptics-1:1.8.3-alt1

На самом деле, ничего не поменялось, потому что xorg-drv-synaptics уже 
было указано вручную (или ещё как-то).

-- 
Best regards,
Ivan

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

* Re: [devel] I: mate-desktop: new dep
  2016-04-08 14:09 [devel] I: mate-desktop: new dep Ivan Zakharyaschev
@ 2016-04-09 19:43 ` Alexey Tourbin
  2016-04-09 21:57   ` Ivan Zakharyaschev
  0 siblings, 1 reply; 6+ messages in thread
From: Alexey Tourbin @ 2016-04-09 19:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2016-04-08 17:09 GMT+03:00 Ivan Zakharyaschev <imz@altlinux.org>:
> Здравствуйте!
>
> У mate-desktop-synaptics как бы автообнаружилась новая зависимость из-за
> символической ссылки на /usr/share/X11/xorg.conf.d/50-synaptics.conf :

А почему она раньше не обнаруживалась?

> $ apt-cache depends mate-desktop-synaptics
> mate-desktop-synaptics-1.12.1-alt2_1.1
>   Depends: mate-desktop = 1.12.1-alt2_1.1
>   Depends: xorg-drv-synaptics
>   Depends: </usr/share/X11/xorg.conf.d/50-synaptics.conf>
>     xorg-drv-synaptics-1:1.8.3-alt1
>
> На самом деле, ничего не поменялось, потому что xorg-drv-synaptics уже было
> указано вручную (или ещё как-то).

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

* Re: [devel] I: mate-desktop: new dep
  2016-04-09 19:43 ` Alexey Tourbin
@ 2016-04-09 21:57   ` Ivan Zakharyaschev
  2016-04-09 22:27     ` Alexey Tourbin
  0 siblings, 1 reply; 6+ messages in thread
From: Ivan Zakharyaschev @ 2016-04-09 21:57 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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


On Sat, 9 Apr 2016, Alexey Tourbin wrote:

> 2016-04-08 17:09 GMT+03:00 Ivan Zakharyaschev <imz@altlinux.org>:

>> У mate-desktop-synaptics как бы автообнаружилась новая зависимость из-за
>> символической ссылки на /usr/share/X11/xorg.conf.d/50-synaptics.conf :
>
> А почему она раньше не обнаруживалась?

Там проверка на пустоту списка файловв find-requires применялась не совсем 
к тому/не совсем там, как задумано.

Так что если в пакете были только символические ссылки (абсолютные), то 
автозависимости в нём дальше не искались.

Я бы не драматизировал этот случай в том эмоциональном духе, как тут Миша 
высказался. (Миша заметил rpm среди обновлений, и я прокомментировал 
изменения. Вот эта бага, не замеченная долгое время, ещё с коммита at@ 
2011 или 2009 -- сейчас точно не помню, просто потому что редко случалось 
-- вот они эти три пакета. А обнаружилось вместе с другим изменением, 
потому что этот code path стал задействован чаще. Другое изменение: если 
символическая ссылка ведёт гарантированно -- внутри одного пакета -- на 
файл с настоящим содержимым, то обратывается она генератором зависимостей 
как файл того типа. Потому что при работе пакета она и будет всегда 
служить как файл того типа.)

>> $ apt-cache depends mate-desktop-synaptics
>> mate-desktop-synaptics-1.12.1-alt2_1.1
>>   Depends: mate-desktop = 1.12.1-alt2_1.1
>>   Depends: xorg-drv-synaptics
>>   Depends: </usr/share/X11/xorg.conf.d/50-synaptics.conf>
>>     xorg-drv-synaptics-1:1.8.3-alt1
>>
>> На самом деле, ничего не поменялось, потому что xorg-drv-synaptics уже было
>> указано вручную (или ещё как-то).

-- 
Best regards,
Ivan

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

* Re: [devel] I: mate-desktop: new dep
  2016-04-09 21:57   ` Ivan Zakharyaschev
@ 2016-04-09 22:27     ` Alexey Tourbin
  2016-04-10  3:07       ` Ivan Zakharyaschev
  0 siblings, 1 reply; 6+ messages in thread
From: Alexey Tourbin @ 2016-04-09 22:27 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2016-04-10 0:57 GMT+03:00 Ivan Zakharyaschev <imz@altlinux.org>:
> On Sat, 9 Apr 2016, Alexey Tourbin wrote:
>> 2016-04-08 17:09 GMT+03:00 Ivan Zakharyaschev <imz@altlinux.org>:
>>> У mate-desktop-synaptics как бы автообнаружилась новая зависимость из-за
>>> символической ссылки на /usr/share/X11/xorg.conf.d/50-synaptics.conf :
>> А почему она раньше не обнаруживалась?
>
> Там проверка на пустоту списка файловв find-requires применялась не совсем к
> тому/не совсем там, как задумано.
>
> Так что если в пакете были только символические ссылки (абсолютные), то
> автозависимости в нём дальше не искались.

Пожалуйста подробнее, с номерами строк.

> Я бы не драматизировал этот случай в том эмоциональном духе, как тут Миша
> высказался. (Миша заметил rpm среди обновлений, и я прокомментировал
> изменения. Вот эта бага, не замеченная долгое время, ещё с коммита at@ 2011
> или 2009 -- сейчас точно не помню, просто потому что редко случалось -- вот
> они эти три пакета. А обнаружилось вместе с другим изменением, потому что

Я к счастью не читал Мишу, что он там хочет высказать в русском эмоциональном
духе. При чем тут Миша вообще, он вам что, деньги платит? Ну его как
бы в задницу.
По смыслу пояснить можете?

> этот code path стал задействован чаще. Другое изменение: если символическая
> ссылка ведёт гарантированно -- внутри одного пакета -- на файл с настоящим
> содержимым, то обратывается она генератором зависимостей как файл того типа.
> Потому что при работе пакета она и будет всегда служить как файл того типа.)

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

* Re: [devel] I: mate-desktop: new dep
  2016-04-09 22:27     ` Alexey Tourbin
@ 2016-04-10  3:07       ` Ivan Zakharyaschev
  2016-04-10  6:29         ` Alexey Tourbin
  0 siblings, 1 reply; 6+ messages in thread
From: Ivan Zakharyaschev @ 2016-04-10  3:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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


On Sun, 10 Apr 2016, Alexey Tourbin wrote:

> 2016-04-10 0:57 GMT+03:00 Ivan Zakharyaschev <imz@altlinux.org>:
>> On Sat, 9 Apr 2016, Alexey Tourbin wrote:
>>> 2016-04-08 17:09 GMT+03:00 Ivan Zakharyaschev <imz@altlinux.org>:
>>>> У mate-desktop-synaptics как бы автообнаружилась новая зависимость из-за
>>>> символической ссылки на /usr/share/X11/xorg.conf.d/50-synaptics.conf :
>>> А почему она раньше не обнаруживалась?
>>
>> Там проверка на пустоту списка файловв find-requires применялась не совсем к
>> тому/не совсем там, как задумано.
>>
>> Так что если в пакете были только символические ссылки (абсолютные), то
>> автозависимости в нём дальше не искались.
>
> Пожалуйста подробнее, с номерами строк.

Я думал, Вы уже знаете, какие строчки были затронуты в обсуждаемых 
измененеях.

Эта проверка на строке 75 -- 
http://git.altlinux.org/gears/r/rpm.git?p=rpm.git;a=blob;f=autodeps/linux.req.in;h=0925c6848e81fdd2ee83af49fbe44f4a6d49b6c3;hb=484d6f523f53389bba6e9a43ca97b7f758030b64#l75 
.

Но не все файлы из списка файлов пакета, которые нужно обработать для 
поиска зависимостей записаны в этот момент в "$workdir"/files. Часть из 
них уже была сразу записана в "$workdir"/files+types в строке 70 , а 
остальные будут добавлены туда только в строке 81.

Исправление -- 
http://git.altlinux.org/gears/r/rpm.git?p=rpm.git;a=commitdiff;h=95ffed16a656532cc87e8ebf25fffb235f994e4b 
.

>> Я бы не драматизировал этот случай в том эмоциональном духе, как тут Миша
>> высказался. (Миша заметил rpm среди обновлений, и я прокомментировал
>> изменения. Вот эта бага, не замеченная долгое время, ещё с коммита at@ 2011
>> или 2009 -- сейчас точно не помню, просто потому что редко случалось -- вот
>> они эти три пакета. А обнаружилось вместе с другим изменением, потому что
>> этот code path стал задействован чаще. Другое изменение: если символическая
>> ссылка ведёт гарантированно -- внутри одного пакета -- на файл с настоящим
>> содержимым, то обратывается она генератором зависимостей как файл того типа.
>> Потому что при работе пакета она и будет всегда служить как файл того типа.)

-- 
Best regards,
Ivan

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

* Re: [devel] I: mate-desktop: new dep
  2016-04-10  3:07       ` Ivan Zakharyaschev
@ 2016-04-10  6:29         ` Alexey Tourbin
  0 siblings, 0 replies; 6+ messages in thread
From: Alexey Tourbin @ 2016-04-10  6:29 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2016-04-10 6:07 GMT+03:00 Ivan Zakharyaschev <imz@altlinux.org>:
>>> Так что если в пакете были только символические ссылки (абсолютные), то
>>> автозависимости в нём дальше не искались.
>>
>> Пожалуйста подробнее, с номерами строк.
>
> Я думал, Вы уже знаете, какие строчки были затронуты в обсуждаемых
> измененеях.
>
> Эта проверка на строке 75 --
> http://git.altlinux.org/gears/r/rpm.git?p=rpm.git;a=blob;f=autodeps/linux.req.in;h=0925c6848e81fdd2ee83af49fbe44f4a6d49b6c3;hb=484d6f523f53389bba6e9a43ca97b7f758030b64#l75
> .
>
> Но не все файлы из списка файлов пакета, которые нужно обработать для поиска
> зависимостей записаны в этот момент в "$workdir"/files. Часть из них уже
> была сразу записана в "$workdir"/files+types в строке 70 , а остальные будут
> добавлены туда только в строке 81.
>
> Исправление --
> http://git.altlinux.org/gears/r/rpm.git?p=rpm.git;a=commitdiff;h=95ffed16a656532cc87e8ebf25fffb235f994e4b
> .

Теперь понял. Да, скрипт глюкавый вышел. Предлагаю в связи с этим -
полагаю, вы уже знаете - почать еще одну бутылку белого вина!
Как писал Венедикт Ерофеев, чем хуже скрипт, тем лучше надо выпить.

Был такой скрипт, buildreq, который автоматически добавлял зависимости
BuildRequires. Он в том числе отслеживал вызовы stat(2) на файлы. Глюкавый
коммит появился тогда, когда я попытался отвадить file(1) делать лишние
вызовы stat: http://git.altlinux.org/gears/r/rpm.git?a=commitdiff;h=6f60362519
Потом Алексей Турбин пришел к выводу, что просто не нужно отслеживать
stat, а только open(2) и execve(2). Но было уже поздно.

Судьба buildreq печальна - автор его искорежил и забросил.
Я когда-то придумал алгоритм, который оптимизирует список BuildRequires.
Причем там речь идет не в терминах графа зависимостей, а наоборот -
в терминах того, что нужно задать линейный порядок на множестве пакетов.
Подробнее см. http://www.altlinux.ru/media/protva4.pdf с.62.

Потом вышел небольшой скандальчик: оказалось, что этот алгоритм
слишком хорошо оптимизирует зависимости между *-devel пакетами;
а зависимости между *-devel пакетами слишком подвержены интерпретации
Requires.private в pkg-config. Ослабив требование на Requires.private
http://git.altlinux.org/gears/p/pkg-config.git?a=commitdiff;h=b669b37e
мужчины недосчитываются пакетов в сборочном чруте.

Эх, воспоминание свой развивает свиток.

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

end of thread, other threads:[~2016-04-10  6:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-08 14:09 [devel] I: mate-desktop: new dep Ivan Zakharyaschev
2016-04-09 19:43 ` Alexey Tourbin
2016-04-09 21:57   ` Ivan Zakharyaschev
2016-04-09 22:27     ` Alexey Tourbin
2016-04-10  3:07       ` Ivan Zakharyaschev
2016-04-10  6:29         ` Alexey Tourbin

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