* [devel] python module provides @ 2009-06-06 14:17 Alexey Morsov 2009-06-06 16:18 ` Dmitry V. Levin 0 siblings, 1 reply; 19+ messages in thread From: Alexey Morsov @ 2009-06-06 14:17 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 650 bytes --] Приветствую, а как можно сказать гирару что вот "этот пакет провайдит вот такой модуль теперь"? Я тут просто пересобрал PIL по багу (вынес .pth из -devel и внес в основной) но гирар не пропустил по причине new unmets. -- WBR,Алексей Морсов программист ЗАО "ИК "Риком-Траст" Jabber: samurai@www.fondmarket.ru ALT Linux Team Member <Voins> посади дебианщика за alt так он сразу локали сломает! :))) [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 489 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] python module provides 2009-06-06 14:17 [devel] python module provides Alexey Morsov @ 2009-06-06 16:18 ` Dmitry V. Levin 2009-06-07 10:22 ` Alexey Morsov 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2009-06-06 16:18 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 522 bytes --] On Sat, Jun 06, 2009 at 06:17:10PM +0400, Alexey Morsov wrote: > а как можно сказать гирару что вот "этот пакет провайдит вот такой модуль > теперь"? Нет, это неправильная постановка задачи: если вам удастся обмануть сборочную систему, и кривой пакет попадёт в Сизиф, то он просто сломает пакеты, которые на него завязаны. > Я тут просто пересобрал PIL по багу (вынес .pth из -devel и внес в > основной) но гирар не пропустил по причине new unmets. Значит, вы что-то не то или не так делаете. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] python module provides 2009-06-06 16:18 ` Dmitry V. Levin @ 2009-06-07 10:22 ` Alexey Morsov 2009-06-07 10:52 ` Dmitry V. Levin 0 siblings, 1 reply; 19+ messages in thread From: Alexey Morsov @ 2009-06-07 10:22 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 2621 bytes --] On Sat, Jun 06, 2009 at 08:18:15PM +0400, Dmitry V. Levin wrote: > Нет, это неправильная постановка задачи: если вам удастся обмануть > сборочную систему, и кривой пакет попадёт в Сизиф, то он просто сломает > пакеты, которые на него завязаны. Возможно. > > > Я тут просто пересобрал PIL по багу (вынес .pth из -devel и внес в > > основной) но гирар не пропустил по причине new unmets. > > Значит, вы что-то не то или не так делаете. Ну по сути. Сейчас python-module-imaging-devel содержит файл PIL.pth. Из-за этого допустим при инсталяции uniconverter тянется именно -devel а не сам пакет. тут https://bugzilla.altlinux.org/show_bug.cgi?id=18529 предложено перенести PIL.pth в сам пакет исключив его из -devel. спек можно видеть в моем гите. Собственно как я представляю ситуацию и то почему гирар меня отлупил по анметам: в некоторых пакетах (бинарных) есть (автоматическая?) зависимость на того кто предоставляет python(PIL). До сего момента выходило что его предоставлял -devel (поскольку в нем PIL.pth). Т.е. либо в тех пакетах надо напрямую указывать что они требуют именно python-module-imaging (что наверное не очень сейчас правильно), либо каким-то образом указать что теперь python-module-imaging (не -devel) предоставялет то самый python(PIL). На моей локальной машине теперь при apt-get install uniconverter тянется именно python-module-imaging, а не девел, как до пересборки. -- WBR,Алексей Морсов программист ЗАО "ИК "Риком-Траст" Jabber: samurai@www.fondmarket.ru ALT Linux Team Member Я опять изобрел велосипед. [...] Но данный конкретные велосипед работает очень хорошо, гораздо лучше предыдущих. -- at in devel@ [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 489 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] python module provides 2009-06-07 10:22 ` Alexey Morsov @ 2009-06-07 10:52 ` Dmitry V. Levin 2009-06-07 12:24 ` Alexey Morsov 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2009-06-07 10:52 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 880 bytes --] On Sun, Jun 07, 2009 at 02:22:25PM +0400, Alexey Morsov wrote: > On Sat, Jun 06, 2009 at 08:18:15PM +0400, Dmitry V. Levin wrote: [...] > > > Я тут просто пересобрал PIL по багу (вынес .pth из -devel и внес в > > > основной) но гирар не пропустил по причине new unmets. > > > > Значит, вы что-то не то или не так делаете. > Ну по сути. Сейчас python-module-imaging-devel содержит файл PIL.pth. > Из-за этого допустим при инсталяции uniconverter тянется именно -devel а > не сам пакет. > > тут https://bugzilla.altlinux.org/show_bug.cgi?id=18529 предложено > перенести PIL.pth в сам пакет исключив его из -devel. > > спек можно видеть в моем гите. Если просто пересобрать нынешний python-module-imaging-1.1.6-alt2.src.rpm в текущей среде, то полученный бинарный python-module-imaging теряет python2.5(PIL) и python2.5(PIL.*) из своих Provides. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] python module provides 2009-06-07 10:52 ` Dmitry V. Levin @ 2009-06-07 12:24 ` Alexey Morsov 2009-06-07 12:59 ` Dmitry V. Levin 0 siblings, 1 reply; 19+ messages in thread From: Alexey Morsov @ 2009-06-07 12:24 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 890 bytes --] On Sun, Jun 07, 2009 at 02:52:40PM +0400, Dmitry V. Levin wrote: > Если просто пересобрать нынешний python-module-imaging-1.1.6-alt2.src.rpm > в текущей среде, то полученный бинарный python-module-imaging теряет > python2.5(PIL) и python2.5(PIL.*) из своих Provides. Ну... таки баг и таки не просто так alt3 ? -- WBR,Алексей Морсов программист ЗАО "ИК "Риком-Траст" Jabber: samurai@www.fondmarket.ru ALT Linux Team Member > Как всем этим воспользоваться? В каких смыслах? Можно на лобовуху в машине повесить, можно в соседа метнуть. Можно в сидюк вставить и с него загрузиться... -- vyt in community@ [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 489 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] python module provides 2009-06-07 12:24 ` Alexey Morsov @ 2009-06-07 12:59 ` Dmitry V. Levin 2009-06-07 15:25 ` Terechkov Evgenii 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2009-06-07 12:59 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 482 bytes --] On Sun, Jun 07, 2009 at 04:24:30PM +0400, Alexey Morsov wrote: > On Sun, Jun 07, 2009 at 02:52:40PM +0400, Dmitry V. Levin wrote: > > > Если просто пересобрать нынешний python-module-imaging-1.1.6-alt2.src.rpm > > в текущей среде, то полученный бинарный python-module-imaging теряет > > python2.5(PIL) и python2.5(PIL.*) из своих Provides. > > Ну... таки баг и таки не просто так alt3 ? В alt3 ситуация аналогичная: нет python2.5(PIL) и python2.5(PIL.*). -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] python module provides 2009-06-07 12:59 ` Dmitry V. Levin @ 2009-06-07 15:25 ` Terechkov Evgenii 2009-06-07 16:41 ` [devel] rpm-build-python-0.34-alt1 regression Dmitry V. Levin 0 siblings, 1 reply; 19+ messages in thread From: Terechkov Evgenii @ 2009-06-07 15:25 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 906 bytes --] 07.06.2009 Dmitry V. Levin писал: > > > Если просто пересобрать нынешний python-module-imaging-1.1.6-alt2.src.rpm > > > в текущей среде, то полученный бинарный python-module-imaging теряет > > > python2.5(PIL) и python2.5(PIL.*) из своих Provides. > > Ну... таки баг и таки не просто так alt3 ? > В alt3 ситуация аналогичная: нет python2.5(PIL) и python2.5(PIL.*). Судя по коммитам, переход alt2 -> alt3 сделан корректно, перенесением файла PIL.pth из одного подпакета в другой. Пересборка python-module-imaging-1.1.6-alt3 в среде с rpm-build-python-0.33.2-alt1 даёт Provides: python2.5(PIL), python2.5(PIL.*) в подпакете python-module-imaging. Я думаю, это регрессия в rpm-build-python. -- С уважением, Терешков Евгений, ALT Linux Team [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-07 15:25 ` Terechkov Evgenii @ 2009-06-07 16:41 ` Dmitry V. Levin 2009-06-08 7:34 ` Alexey Tourbin 0 siblings, 1 reply; 19+ messages in thread From: Dmitry V. Levin @ 2009-06-07 16:41 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 855 bytes --] On Sun, Jun 07, 2009 at 11:25:24PM +0800, Terechkov Evgenii wrote: > 07.06.2009 Dmitry V. Levin писал: > > > > > Если просто пересобрать нынешний python-module-imaging-1.1.6-alt2.src.rpm > > > > в текущей среде, то полученный бинарный python-module-imaging теряет > > > > python2.5(PIL) и python2.5(PIL.*) из своих Provides. > > > Ну... таки баг и таки не просто так alt3 ? > > В alt3 ситуация аналогичная: нет python2.5(PIL) и python2.5(PIL.*). > > Судя по коммитам, переход alt2 -> alt3 сделан корректно, перенесением > файла PIL.pth из одного подпакета в другой. Да, вполне. > Пересборка python-module-imaging-1.1.6-alt3 в среде с > rpm-build-python-0.33.2-alt1 даёт Provides: python2.5(PIL), > python2.5(PIL.*) в подпакете python-module-imaging. Я думаю, это > регрессия в rpm-build-python. Да, вполне возможно. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-07 16:41 ` [devel] rpm-build-python-0.34-alt1 regression Dmitry V. Levin @ 2009-06-08 7:34 ` Alexey Tourbin 2009-06-08 10:41 ` Terechkov Evgenii 0 siblings, 1 reply; 19+ messages in thread From: Alexey Tourbin @ 2009-06-08 7:34 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1563 bytes --] On Sun, Jun 07, 2009 at 08:41:53PM +0400, Dmitry V. Levin wrote: > On Sun, Jun 07, 2009 at 11:25:24PM +0800, Terechkov Evgenii wrote: > > 07.06.2009 Dmitry V. Levin писал: > > > > > > > Если просто пересобрать нынешний python-module-imaging-1.1.6-alt2.src.rpm > > > > > в текущей среде, то полученный бинарный python-module-imaging теряет > > > > > python2.5(PIL) и python2.5(PIL.*) из своих Provides. > > > > Ну... таки баг и таки не просто так alt3 ? > > > В alt3 ситуация аналогичная: нет python2.5(PIL) и python2.5(PIL.*). > > > > Судя по коммитам, переход alt2 -> alt3 сделан корректно, перенесением > > файла PIL.pth из одного подпакета в другой. > > Да, вполне. > > > Пересборка python-module-imaging-1.1.6-alt3 в среде с > > rpm-build-python-0.33.2-alt1 даёт Provides: python2.5(PIL), > > python2.5(PIL.*) в подпакете python-module-imaging. Я думаю, это > > регрессия в rpm-build-python. > > Да, вполне возможно. Уважаемые мужички! Я посмотрел эту проблему, но пока проблемы особо не понял. $ hsh-install 'python2.5(PIL)' <13>Jun 8 07:25:23 rpmi: python-module-imaging-devel-1.1.6-alt2 installed $ hsh-run -- python -c 'import PIL' Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named PIL $ Пространство питоновских зависимостей -- это имена модулей, которые могут быть импортированы с помощью инструкции import. Другими словами, если пакет предоставляет зависимость 'python(foo)', то это должно значить, что будет работать команда python -c 'import foo'. [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 7:34 ` Alexey Tourbin @ 2009-06-08 10:41 ` Terechkov Evgenii 2009-06-08 14:02 ` Alexey Tourbin 0 siblings, 1 reply; 19+ messages in thread From: Terechkov Evgenii @ 2009-06-08 10:41 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 2792 bytes --] 08.06.2009 Alexey Tourbin писал: > > > > > > Если просто пересобрать нынешний python-module-imaging-1.1.6-alt2.src.rpm > > > > > > в текущей среде, то полученный бинарный python-module-imaging теряет > > > > > > python2.5(PIL) и python2.5(PIL.*) из своих Provides. > > > > > Ну... таки баг и таки не просто так alt3 ? > > > > В alt3 ситуация аналогичная: нет python2.5(PIL) и python2.5(PIL.*). > > > Судя по коммитам, переход alt2 -> alt3 сделан корректно, перенесением > > > файла PIL.pth из одного подпакета в другой. > > Да, вполне. > > > Пересборка python-module-imaging-1.1.6-alt3 в среде с > > > rpm-build-python-0.33.2-alt1 даёт Provides: python2.5(PIL), > > > python2.5(PIL.*) в подпакете python-module-imaging. Я думаю, это > > > регрессия в rpm-build-python. > Я посмотрел эту проблему, но пока проблемы особо не понял. > $ hsh-install 'python2.5(PIL)' > <13>Jun 8 07:25:23 rpmi: python-module-imaging-devel-1.1.6-alt2 installed > $ hsh-run -- python -c 'import PIL' > Traceback (most recent call last): > File "<string>", line 1, in <module> > ImportError: No module named PIL > $ > Пространство питоновских зависимостей -- это имена модулей, которые > могут быть импортированы с помощью инструкции import. > Другими словами, если пакет предоставляет зависимость 'python(foo)', > то это должно значить, что будет работать команда python -c 'import foo'. Это ошибка в пакете python-module-imaging: файл PIL.pth упакован в подпакет devel. Эту ошибку swi@ пытается починить сборкой alt3. Но натыкается на то, что пакет, содержащий и файл PIL.pth и соответствующую директорию site-packages/PIL/ (т.е. где python -c "import PIL" должно уже работать) таковую зависимость не предоставяет. И это уже вторая ошибка. Я так понимаю, что сборка alt2 python2.5(PIL) предоставляла т.к. была собрана в среде с rpm-build-python-0.33.2-alt1. Для проверки я пересобрал python-module-imaging-1.1.6-alt3 в среде с rpm-build-python-0.33.2-alt1 (вместо 0.34... в Сизифе), в результате чего python2.5(PIL) стал провайдится пакетом python-module-imaging. Судя по changelog-у 0.33.2->0.34, была пройзведена переписка кода python.prov.py, так что я предполагаю что в результате этого действия Provides: теперь корректно выставлены не у всех питон-пакетов в Сизифе (точнее у некоторых, собранных с rpm-build-python-0.34). Код изменения я пока не смотрел. Кроме того, хотелось бы, чтобы при сборке пакетов проверялось, реально ли пакет, содержащий *.pth-файл, может обеспечить python -c "import foo", чтобы застраховаться от подобный ошибок упаковки. -- С уважением, Терешков Евгений, ALT Linux Team [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 10:41 ` Terechkov Evgenii @ 2009-06-08 14:02 ` Alexey Tourbin 2009-06-08 15:19 ` Terechkov Evgenii 2009-06-08 15:46 ` Ivan Fedorov 0 siblings, 2 replies; 19+ messages in thread From: Alexey Tourbin @ 2009-06-08 14:02 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 3447 bytes --] On Mon, Jun 08, 2009 at 06:41:36PM +0800, Terechkov Evgenii wrote: > > > > Пересборка python-module-imaging-1.1.6-alt3 в среде с > > > > rpm-build-python-0.33.2-alt1 даёт Provides: python2.5(PIL), > > > > python2.5(PIL.*) в подпакете python-module-imaging. Я думаю, это > > > > регрессия в rpm-build-python. > > Я посмотрел эту проблему, но пока проблемы особо не понял. > > $ hsh-install 'python2.5(PIL)' > > <13>Jun 8 07:25:23 rpmi: python-module-imaging-devel-1.1.6-alt2 installed > > $ hsh-run -- python -c 'import PIL' > > Traceback (most recent call last): > > File "<string>", line 1, in <module> > > ImportError: No module named PIL > > $ > > Пространство питоновских зависимостей -- это имена модулей, которые > > могут быть импортированы с помощью инструкции import. > > Другими словами, если пакет предоставляет зависимость 'python(foo)', > > то это должно значить, что будет работать команда python -c 'import foo'. > > Это ошибка в пакете python-module-imaging: файл PIL.pth упакован в > подпакет devel. Эту ошибку swi@ пытается починить сборкой alt3. Но > натыкается на то, что пакет, содержащий и файл PIL.pth и > соответствующую директорию site-packages/PIL/ (т.е. где python -c > "import PIL" должно уже работать) таковую зависимость не предоставяет. > > И это уже вторая ошибка. Я так понимаю, что сборка alt2 python2.5(PIL) > предоставляла т.к. была собрана в среде с > rpm-build-python-0.33.2-alt1. Для проверки я пересобрал > python-module-imaging-1.1.6-alt3 в среде с > rpm-build-python-0.33.2-alt1 (вместо 0.34... в Сизифе), в результате > чего python2.5(PIL) стал провайдится пакетом python-module-imaging. > > Судя по changelog-у 0.33.2->0.34, была пройзведена переписка кода > python.prov.py, так что я предполагаю что в результате этого действия > Provides: теперь корректно выставлены не у всех питон-пакетов в Сизифе > (точнее у некоторых, собранных с rpm-build-python-0.34). Код изменения > я пока не смотрел. Уважаемые мужички! Давайте рассмотрим конструкцию по делу. У нас есть несколько файлов: /usr/lib64/python2.5/site-packages/PIL.pth в нём написано "PIL" и допустим /usr/lib64/python2.5/site-packages/PIL/__init__.py /usr/lib64/python2.5/site-packages/PIL/Image.py В предположении, что каждый файл может предоставлять только один модуль (то есть в предположении, что PIL/Image.py должен дать только одну Provides-зависимость в пространстве питоновских модулей) нам нужно сформировать Provides. При формировании Provides путь к файлу разбивается на две компоненты: стандартный каталог и оставшийся путь к модулю. Причем стандартный каталог выбирается наиболее длинным, поскольку, например, site-packages является подкаталогом в стандартном каталоге. Так вот, PIL.pth задает в качестве стандартного каталога подкаталог PIL, и все Provides-зависимости отсчитываются от подкаталога PIL. То есть будет что PIL/Image.py предоставляет python2.5(Image). Новая версия python.prov.py работает правильно, насколько что по смыслу можно объяснить как она должна работать. Возможно, файл PIL.pth вообще не следует упаковывать. Более того, его нужно удалить в %buildroot. Тогда образуются Provides вида python2.5(PIL*). Примите и проч. > Кроме того, хотелось бы, чтобы при сборке пакетов проверялось, реально > ли пакет, содержащий *.pth-файл, может обеспечить python -c "import > foo", чтобы застраховаться от подобный ошибок упаковки. [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 14:02 ` Alexey Tourbin @ 2009-06-08 15:19 ` Terechkov Evgenii 2009-06-08 15:33 ` Alexey Tourbin 2009-06-08 15:46 ` Ivan Fedorov 1 sibling, 1 reply; 19+ messages in thread From: Terechkov Evgenii @ 2009-06-08 15:19 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1790 bytes --] 08.06.2009 Alexey Tourbin писал: > Давайте рассмотрим конструкцию по делу. > > У нас есть несколько файлов: > /usr/lib64/python2.5/site-packages/PIL.pth в нём написано "PIL" и допустим > /usr/lib64/python2.5/site-packages/PIL/__init__.py > /usr/lib64/python2.5/site-packages/PIL/Image.py > > В предположении, что каждый файл может предоставлять только один модуль > (то есть в предположении, что PIL/Image.py должен дать только одну > Provides-зависимость в пространстве питоновских модулей) нам нужно > сформировать Provides. При формировании Provides путь к файлу > разбивается на две компоненты: стандартный каталог и оставшийся путь > к модулю. Причем стандартный каталог выбирается наиболее длинным, > поскольку, например, site-packages является подкаталогом в стандартном > каталоге. > > Так вот, PIL.pth задает в качестве стандартного каталога подкаталог PIL, > и все Provides-зависимости отсчитываются от подкаталога PIL. То есть > будет что PIL/Image.py предоставляет python2.5(Image). Новая версия > python.prov.py работает правильно, насколько что по смыслу можно > объяснить как она должна работать. Спасибо за объяснение. Виноват - обратил внимание на отсутствие python2.5(PIL*), но не заметил странных python2.5(Image) > Возможно, файл PIL.pth вообще не следует упаковывать. Более того, его > нужно удалить в %buildroot. Тогда образуются Provides вида python2.5(PIL*). Я попробовал пересобрать пакет без этого файла (в т.ч. и в %buildroot) - Provides остались в том же виде - python2.5(Image). Видимо надо действовать как-то ещё. -- С уважением, Терешков Евгений, ALT Linux Team [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 15:19 ` Terechkov Evgenii @ 2009-06-08 15:33 ` Alexey Tourbin 2009-06-08 15:36 ` Mikhail Gusarov 2009-06-13 3:31 ` Alexey Tourbin 0 siblings, 2 replies; 19+ messages in thread From: Alexey Tourbin @ 2009-06-08 15:33 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1993 bytes --] On Mon, Jun 08, 2009 at 11:19:07PM +0800, Terechkov Evgenii wrote: > > В предположении, что каждый файл может предоставлять только один модуль > > (то есть в предположении, что PIL/Image.py должен дать только одну > > Provides-зависимость в пространстве питоновских модулей) нам нужно > > сформировать Provides. При формировании Provides путь к файлу > > разбивается на две компоненты: стандартный каталог и оставшийся путь > > к модулю. Причем стандартный каталог выбирается наиболее длинным, > > поскольку, например, site-packages является подкаталогом в стандартном > > каталоге. > > > > Так вот, PIL.pth задает в качестве стандартного каталога подкаталог PIL, > > и все Provides-зависимости отсчитываются от подкаталога PIL. То есть > > будет что PIL/Image.py предоставляет python2.5(Image). Новая версия > > python.prov.py работает правильно, насколько что по смыслу можно > > объяснить как она должна работать. > > Спасибо за объяснение. Виноват - обратил внимание на отсутствие > python2.5(PIL*), но не заметил странных python2.5(Image) Надо подумать, как должен работать python.prov.py. :) Я стал склоняться к мысли, что действительно имеется регрессия (ухудшение). Но это тогда значит, что каждый питоновский модуль может предоставлять более одной зависимости Provides! То есть его можно загрузить как Image и как PIL.Image, и эти формы более-менее равноправны. В существующем (ранее собранном) пакете как раз предоставляются две эти зависимости. $ rpm -qp --provides python-module-imaging-1.1.6-alt2.x86_64.rpm |grep -w Image python2.5(Image) python2.5(PIL.Image) $ > > Возможно, файл PIL.pth вообще не следует упаковывать. Более того, его > > нужно удалить в %buildroot. Тогда образуются Provides вида python2.5(PIL*). > > Я попробовал пересобрать пакет без этого файла (в т.ч. и в %buildroot) > - Provides остались в том же виде - python2.5(Image). Видимо надо > действовать как-то ещё. Видимо надо как-то действовать! [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 15:33 ` Alexey Tourbin @ 2009-06-08 15:36 ` Mikhail Gusarov 2009-06-08 15:56 ` Terechkov Evgenii 2009-06-13 3:31 ` Alexey Tourbin 1 sibling, 1 reply; 19+ messages in thread From: Mikhail Gusarov @ 2009-06-08 15:36 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 850 bytes --] Twas brillig at 19:33:54 08.06.2009 UTC+04 when at@altlinux.ru did gyre and gimble: AT> Но это тогда значит, что каждый питоновский модуль может AT> предоставлять более одной зависимости Provides! То есть его можно AT> загрузить как Image и как PIL.Image, и эти формы более-менее AT> равноправны. Так и есть. [dottedmag@vertex:~]% python Python 2.5.4 (r254:67916, Feb 18 2009, 03:00:47) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import Image >>> Image.__file__ '/usr/lib/python2.5/site-packages/PIL/Image.pyc' >>> import PIL.Image >>> PIL.Image.__file__ '/usr/lib/python2.5/site-packages/PIL/Image.pyc' >>> -- [-- Attachment #2: Type: application/pgp-signature, Size: 834 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 15:36 ` Mikhail Gusarov @ 2009-06-08 15:56 ` Terechkov Evgenii 2009-06-08 16:07 ` Mikhail Gusarov 2009-06-08 16:08 ` Alexey Tourbin 0 siblings, 2 replies; 19+ messages in thread From: Terechkov Evgenii @ 2009-06-08 15:56 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1033 bytes --] 08.06.2009 Mikhail Gusarov писал: > AT> Но это тогда значит, что каждый питоновский модуль может > AT> предоставлять более одной зависимости Provides! То есть его можно > AT> загрузить как Image и как PIL.Image, и эти формы более-менее > AT> равноправны. > Так и есть. > [dottedmag@vertex:~]% python > Python 2.5.4 (r254:67916, Feb 18 2009, 03:00:47) > [GCC 4.3.3] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> import Image > >>> Image.__file__ > '/usr/lib/python2.5/site-packages/PIL/Image.pyc' > >>> import PIL.Image > >>> PIL.Image.__file__ > '/usr/lib/python2.5/site-packages/PIL/Image.pyc' > >>> Хм. А если я сейчас упакую свой /usr/lib/python2.5/site-packages/PUL/Image.py + PUL.pth - то какой из пакетов вытянется тому, что затребует python2.5(Image)? -- С уважением, Терешков Евгений, ALT Linux Team [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 15:56 ` Terechkov Evgenii @ 2009-06-08 16:07 ` Mikhail Gusarov 2009-06-08 16:08 ` Alexey Tourbin 1 sibling, 0 replies; 19+ messages in thread From: Mikhail Gusarov @ 2009-06-08 16:07 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1510 bytes --] Twas brillig at 23:56:18 08.06.2009 UTC+08 when evg-krsk@yandex.ru did gyre and gimble: TE> Хм. А если я сейчас упакую свой TE> /usr/lib/python2.5/site-packages/PUL/Image.py + PUL.pth - то какой из TE> пакетов вытянется тому, что затребует python2.5(Image)? [dottedmag@vertex:~]% python Python 2.5.4 (r254:67916, Feb 18 2009, 03:00:47) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import Image >>> Image.__file__ '/usr/lib/python2.5/site-packages/PIL/Image.pyc' Интересно, почему? Потому, что PIL выше в sys.path: >>> import sys >>> sys.path ['', '/home/dottedmag/openinkpot/trac/trac-trunk', '/usr/lib/python2.5/site-packages', '/home/dottedmag/openinkpot/trac/translatedpagesmacro', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages/PIL', '/usr/lib/python2.5/site-packages/PUL', '/usr/lib/python2.5/site-packages/gst-0.10', '/usr/lib/pymodules/python2.5', '/usr/lib/pymodules/python2.5/gtk-2.0', '/usr/lib/python2.5/site-packages/wx-2.6-gtk2-unicode'] >>> Так что надо смотреть внутрь интерпретатора на предмет выяснения, в каком порядке добавляются в sys.path пути из .pth-файлов. -- [-- Attachment #2: Type: application/pgp-signature, Size: 834 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 15:56 ` Terechkov Evgenii 2009-06-08 16:07 ` Mikhail Gusarov @ 2009-06-08 16:08 ` Alexey Tourbin 1 sibling, 0 replies; 19+ messages in thread From: Alexey Tourbin @ 2009-06-08 16:08 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 1594 bytes --] On Mon, Jun 08, 2009 at 11:56:18PM +0800, Terechkov Evgenii wrote: > 08.06.2009 Mikhail Gusarov писал: > > > AT> Но это тогда значит, что каждый питоновский модуль может > > AT> предоставлять более одной зависимости Provides! То есть его можно > > AT> загрузить как Image и как PIL.Image, и эти формы более-менее > > AT> равноправны. > > Так и есть. > > [dottedmag@vertex:~]% python > > Python 2.5.4 (r254:67916, Feb 18 2009, 03:00:47) > > [GCC 4.3.3] on linux2 > > Type "help", "copyright", "credits" or "license" for more information. > > >>> import Image > > >>> Image.__file__ > > '/usr/lib/python2.5/site-packages/PIL/Image.pyc' > > >>> import PIL.Image > > >>> PIL.Image.__file__ > > '/usr/lib/python2.5/site-packages/PIL/Image.pyc' > > >>> > > Хм. А если я сейчас упакую свой > /usr/lib/python2.5/site-packages/PUL/Image.py + PUL.pth - то какой из > пакетов вытянется тому, что затребует python2.5(Image)? Зависимости не объясняют, какой пакет должен вытягиваться, они лишь отражают фактическое положение дел. Если в коде написано 'import Image' то должна быть зависимость на python(Image). А кого надо вытягивать это совсем другая проблема. Но, по крайней мере, зависимости должны обеспечить, что инструкция import не отвалится сразу же с диагностикой 'not found'. В некотором смысле, зависимости -- это искусство возможного. Возможное -- это фактическое положнеие дел, что написано в коде. А невозможное -- это предсказание будущего (спекулятивное выполнение кода для установления соответствия между именами модулей и файлами и т.п.). [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 15:33 ` Alexey Tourbin 2009-06-08 15:36 ` Mikhail Gusarov @ 2009-06-13 3:31 ` Alexey Tourbin 1 sibling, 0 replies; 19+ messages in thread From: Alexey Tourbin @ 2009-06-13 3:31 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 2321 bytes --] On Mon, Jun 08, 2009 at 07:33:54PM +0400, Alexey Tourbin wrote: > On Mon, Jun 08, 2009 at 11:19:07PM +0800, Terechkov Evgenii wrote: > > > В предположении, что каждый файл может предоставлять только один модуль > > > (то есть в предположении, что PIL/Image.py должен дать только одну > > > Provides-зависимость в пространстве питоновских модулей) нам нужно > > > сформировать Provides. При формировании Provides путь к файлу > > > разбивается на две компоненты: стандартный каталог и оставшийся путь > > > к модулю. Причем стандартный каталог выбирается наиболее длинным, > > > поскольку, например, site-packages является подкаталогом в стандартном > > > каталоге. > > > > > > Так вот, PIL.pth задает в качестве стандартного каталога подкаталог PIL, > > > и все Provides-зависимости отсчитываются от подкаталога PIL. То есть > > > будет что PIL/Image.py предоставляет python2.5(Image). Новая версия > > > python.prov.py работает правильно, насколько что по смыслу можно > > > объяснить как она должна работать. > > > > Спасибо за объяснение. Виноват - обратил внимание на отсутствие > > python2.5(PIL*), но не заметил странных python2.5(Image) > > Надо подумать, как должен работать python.prov.py. :) Я стал склоняться > к мысли, что действительно имеется регрессия (ухудшение). Но это тогда > значит, что каждый питоновский модуль может предоставлять более одной > зависимости Provides! То есть его можно загрузить как Image и как > PIL.Image, и эти формы более-менее равноправны. В сизиф собрался rpm-build-python 0.34.1. http://git.altlinux.org/people/at/packages/rpm-build-python.git * Sat Jun 13 2009 Alexey Tourbin <at@altlinux> 0.34.1-alt2 - rpm-build-python-tools: Disabled python dependencies, scheduled for removal. * Sat Jun 13 2009 Alexey Tourbin <at@altlinux> 0.34.1-alt1 - python.prov.py: Re-added limited support for multpile provides - e.g. PIL/Image.py provides both python2.5(PIL.Image) due to PIL/__init__.py and python2.5(Image) due to PIL.pth. - python.prov.py: Do not provide module names with "-" dashes. > В существующем (ранее собранном) пакете как раз предоставляются две эти > зависимости. > > $ rpm -qp --provides python-module-imaging-1.1.6-alt2.x86_64.rpm |grep -w Image > python2.5(Image) > python2.5(PIL.Image) > $ [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [devel] rpm-build-python-0.34-alt1 regression 2009-06-08 14:02 ` Alexey Tourbin 2009-06-08 15:19 ` Terechkov Evgenii @ 2009-06-08 15:46 ` Ivan Fedorov 1 sibling, 0 replies; 19+ messages in thread From: Ivan Fedorov @ 2009-06-08 15:46 UTC (permalink / raw) To: ALT Linux Team development discussions [-- Attachment #1: Type: text/plain, Size: 2506 bytes --] Alexey Tourbin <at-u2l5PoMzF/Uox3rIn2DAYQ@public.gmane.org> writes: > Уважаемые мужички! > Давайте рассмотрим конструкцию по делу. > > У нас есть несколько файлов: > /usr/lib64/python2.5/site-packages/PIL.pth в нём написано "PIL" и допустим > /usr/lib64/python2.5/site-packages/PIL/__init__.py > /usr/lib64/python2.5/site-packages/PIL/Image.py > > В предположении, что каждый файл может предоставлять только один модуль > (то есть в предположении, что PIL/Image.py должен дать только одну > Provides-зависимость в пространстве питоновских модулей) нам нужно > сформировать Provides. При формировании Provides путь к файлу > разбивается на две компоненты: стандартный каталог и оставшийся путь > к модулю. Причем стандартный каталог выбирается наиболее длинным, > поскольку, например, site-packages является подкаталогом в стандартном > каталоге. > > Так вот, PIL.pth задает в качестве стандартного каталога подкаталог PIL, > и все Provides-зависимости отсчитываются от подкаталога PIL. То есть > будет что PIL/Image.py предоставляет python2.5(Image). Новая версия > python.prov.py работает правильно, насколько что по смыслу можно > объяснить как она должна работать. > > Возможно, файл PIL.pth вообще не следует упаковывать. Более того, его > нужно удалить в %buildroot. Тогда образуются Provides вида python2.5(PIL*). > > Примите и проч. В данном случае, PIL вообще очень странная вещь. Они зачем-то предоставлют и pth и __init__.py. Хотя если подумать, то вещи эти вобщем-то противоположны. Но из-за этого некоторые проекты используют PIL по разному. :( [-- Attachment #2: Type: application/pgp-signature, Size: 196 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2009-06-13 3:31 UTC | newest] Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2009-06-06 14:17 [devel] python module provides Alexey Morsov 2009-06-06 16:18 ` Dmitry V. Levin 2009-06-07 10:22 ` Alexey Morsov 2009-06-07 10:52 ` Dmitry V. Levin 2009-06-07 12:24 ` Alexey Morsov 2009-06-07 12:59 ` Dmitry V. Levin 2009-06-07 15:25 ` Terechkov Evgenii 2009-06-07 16:41 ` [devel] rpm-build-python-0.34-alt1 regression Dmitry V. Levin 2009-06-08 7:34 ` Alexey Tourbin 2009-06-08 10:41 ` Terechkov Evgenii 2009-06-08 14:02 ` Alexey Tourbin 2009-06-08 15:19 ` Terechkov Evgenii 2009-06-08 15:33 ` Alexey Tourbin 2009-06-08 15:36 ` Mikhail Gusarov 2009-06-08 15:56 ` Terechkov Evgenii 2009-06-08 16:07 ` Mikhail Gusarov 2009-06-08 16:08 ` Alexey Tourbin 2009-06-13 3:31 ` Alexey Tourbin 2009-06-08 15:46 ` Ivan Fedorov
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