* Re: [devel] [#295242] EPERM srpm=python3-module-pycairo-1.20.1-alt2.src.rpm @ 2022-02-12 16:11 ` Vladimir D. Seleznev 2022-02-12 22:20 ` Dmitry V. Levin 0 siblings, 1 reply; 7+ messages in thread From: Vladimir D. Seleznev @ 2022-02-12 16:11 UTC (permalink / raw) To: ALT Devel discussion list, aris Здравствуйте! Прошу пропустить таск в Сизиф, чинящий рантайм некоторых его зависимостей. On Sat, Feb 12, 2022 at 12:45:47AM +0000, Girar awaiter (vseleznv) wrote: > https://git.altlinux.org/tasks/295242/logs/events.1.1.log > > subtask name aarch64 armh i586 ppc64le x86_64 > #100 python3-module-pycairo 2:00 3:02 1:20 2:27 3:31 > > 2022-Feb-12 00:36:05 :: task #295242 for sisyphus started by vseleznv: > #100 build python3-module-pycairo-1.20.1-alt2.src.rpm > 2022-Feb-12 00:36:06 :: [i586] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build start > 2022-Feb-12 00:36:06 :: [x86_64] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build start > 2022-Feb-12 00:36:06 :: [aarch64] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build start > 2022-Feb-12 00:36:06 :: [ppc64le] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build start > 2022-Feb-12 00:36:06 :: [armh] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build start > 2022-Feb-12 00:37:26 :: [i586] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build OK > 2022-Feb-12 00:38:06 :: [aarch64] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build OK > 2022-Feb-12 00:38:33 :: [ppc64le] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build OK > 2022-Feb-12 00:39:08 :: [armh] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build OK > 2022-Feb-12 00:39:37 :: [x86_64] #100 python3-module-pycairo-1.20.1-alt2.src.rpm: build OK > 2022-Feb-12 00:40:12 :: #100: python3-module-pycairo-1.20.1-alt2.src.rpm: build check OK > 2022-Feb-12 00:40:12 :: build check OK > 2022-Feb-12 00:40:18 :: noarch check OK > 2022-Feb-12 00:40:20 :: plan: src +1 -1 =17515, aarch64 +6 -6 =29289, armh +6 -6 =27538, i586 +6 -6 =29582, noarch +1 -1 =17755, ppc64le +6 -6 =28992, x86_64 +6 -6 =30262 > #100 python3-module-pycairo 1.20.1-alt1 -> 1.20.1-alt2 > Sat Feb 12 2022 Vladimir D. Seleznev <vseleznv@altlinux> 1.20.1-alt2 > - Packed egg-info files, see > https://lists.altlinux.org/pipermail/devel/2020-October/212260.html > 2022-Feb-12 00:41:00 :: patched apt indices > 2022-Feb-12 00:41:10 :: created next repo > 2022-Feb-12 00:41:18 :: duplicate provides check OK > 2022-Feb-12 00:41:50 :: dependencies check OK > 2022-Feb-12 00:42:20 :: [x86_64 i586 aarch64 ppc64le armh] ELF symbols check OK > 2022-Feb-12 00:42:33 :: [i586] #100 python3-module-pycairo: install check OK > 2022-Feb-12 00:42:40 :: [aarch64] #100 python3-module-pycairo: install check OK > 2022-Feb-12 00:42:41 :: [i586] #100 python3-module-pycairo-debuginfo: install check OK > 2022-Feb-12 00:42:43 :: [ppc64le] #100 python3-module-pycairo: install check OK > 2022-Feb-12 00:42:48 :: [x86_64] #100 python3-module-pycairo: install check OK > 2022-Feb-12 00:42:50 :: [armh] #100 python3-module-pycairo: install check OK > 2022-Feb-12 00:42:51 :: [i586] #100 python3-module-pycairo-devel: install check OK > 2022-Feb-12 00:42:52 :: [aarch64] #100 python3-module-pycairo-debuginfo: install check OK > 2022-Feb-12 00:42:54 :: [i586] #100 python3-module-pycairo-docs: install check OK > 2022-Feb-12 00:42:58 :: [ppc64le] #100 python3-module-pycairo-debuginfo: install check OK > 2022-Feb-12 00:43:05 :: [x86_64] #100 python3-module-pycairo-debuginfo: install check OK > 2022-Feb-12 00:43:07 :: [aarch64] #100 python3-module-pycairo-devel: install check OK > 2022-Feb-12 00:43:07 :: [armh] #100 python3-module-pycairo-debuginfo: install check OK > 2022-Feb-12 00:43:10 :: [i586] #100 python3-module-pycairo-examples: install check OK > 2022-Feb-12 00:43:12 :: [aarch64] #100 python3-module-pycairo-docs: install check OK > 2022-Feb-12 00:43:14 :: [i586] #100 python3-module-pycairo-pickles: install check OK > 2022-Feb-12 00:43:17 :: [ppc64le] #100 python3-module-pycairo-devel: install check OK > 2022-Feb-12 00:43:23 :: [i586] #100 python3-module-pycairo-tests: install check OK > 2022-Feb-12 00:43:23 :: [ppc64le] #100 python3-module-pycairo-docs: install check OK > 2022-Feb-12 00:43:26 :: [x86_64] #100 python3-module-pycairo-devel: install check OK > 2022-Feb-12 00:43:32 :: [armh] #100 python3-module-pycairo-devel: install check OK > 2022-Feb-12 00:43:32 :: [aarch64] #100 python3-module-pycairo-examples: install check OK > 2022-Feb-12 00:43:35 :: [x86_64] #100 python3-module-pycairo-docs: install check OK > 2022-Feb-12 00:43:39 :: [aarch64] #100 python3-module-pycairo-pickles: install check OK > 2022-Feb-12 00:43:40 :: [armh] #100 python3-module-pycairo-docs: install check OK > 2022-Feb-12 00:43:48 :: [ppc64le] #100 python3-module-pycairo-examples: install check OK > 2022-Feb-12 00:43:51 :: [aarch64] #100 python3-module-pycairo-tests: install check OK > 2022-Feb-12 00:43:56 :: [ppc64le] #100 python3-module-pycairo-pickles: install check OK > 2022-Feb-12 00:44:05 :: [x86_64] #100 python3-module-pycairo-examples: install check OK > 2022-Feb-12 00:44:10 :: [armh] #100 python3-module-pycairo-examples: install check OK > 2022-Feb-12 00:44:11 :: [ppc64le] #100 python3-module-pycairo-tests: install check OK > 2022-Feb-12 00:44:17 :: [x86_64] #100 python3-module-pycairo-pickles: install check OK > 2022-Feb-12 00:44:21 :: [armh] #100 python3-module-pycairo-pickles: install check OK > 2022-Feb-12 00:44:36 :: [x86_64] #100 python3-module-pycairo-tests: install check OK > 2022-Feb-12 00:44:40 :: [armh] #100 python3-module-pycairo-tests: install check OK > 2022-Feb-12 00:44:42 :: [x86_64-i586] plan: #2 +2 -2 =10074 > 2022-Feb-12 00:44:55 :: [x86_64-i586] arepo build OK > 2022-Feb-12 00:45:07 :: [x86_64-i586] generated apt indices > 2022-Feb-12 00:45:08 :: [x86_64-i586] created next repo > 2022-Feb-12 00:45:17 :: [x86_64-i586] dependencies check OK > 2022-Feb-12 00:45:17 :: gears inheritance check OK > 2022-Feb-12 00:45:17 :: srpm inheritance check OK > girar-check-perms: access to python3-module-pycairo DENIED for vseleznv: does not belong to approved builders list: aris > check-subtask-perms: #100: python3-module-pycairo: Operation not permitted > 2022-Feb-12 00:45:17 :: acl check FAILED > 2022-Feb-12 00:45:36 :: created contents_index files > 2022-Feb-12 00:45:44 :: created hash files: aarch64 armh i586 noarch ppc64le src x86_64-i586 x86_64 > 2022-Feb-12 00:45:47 :: task #295242 for sisyphus EPERM -- WBR, Vladimir D. Seleznev ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] [#295242] EPERM srpm=python3-module-pycairo-1.20.1-alt2.src.rpm 2022-02-12 16:11 ` [devel] [#295242] EPERM srpm=python3-module-pycairo-1.20.1-alt2.src.rpm Vladimir D. Seleznev @ 2022-02-12 22:20 ` Dmitry V. Levin 2022-02-12 22:31 ` Vladimir D. Seleznev 0 siblings, 1 reply; 7+ messages in thread From: Dmitry V. Levin @ 2022-02-12 22:20 UTC (permalink / raw) To: ALT Devel discussion list On Sat, Feb 12, 2022 at 07:11:15PM +0300, Vladimir D. Seleznev wrote: > Здравствуйте! > > Прошу пропустить таск в Сизиф, чинящий рантайм некоторых его > зависимостей. $ compare_packages -- \ Sisyphus/files/x86_64/RPMS/python3-module-pycairo-1.20.1-alt1.x86_64.rpm -- \ tasks/295242/build/100/x86_64/rpms/python3-module-pycairo-1.20.1-alt2.x86_64.rpm ... +drwxr-xr-x root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/PKG-INFO +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/SOURCES.txt +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/dependency_links.txt +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/top_level.txt Хотелось бы услышать, каким образом эти файлы могут быть где-то полезны. Для справки: $ grep '^/usr/lib64/python3/site-packages/' Sisyphus/x86_64/base/contents_index |\ cut -f1 |cut -d/ -f6 |sort -u |wc -l 1308 $ grep '^/usr/lib64/python3/site-packages/' Sisyphus/x86_64/base/contents_index |\ cut -f1 |cut -d/ -f6 |sort -u |grep -c '\.egg-info$' 523 > On Sat, Feb 12, 2022 at 12:45:47AM +0000, Girar awaiter (vseleznv) wrote: > > https://git.altlinux.org/tasks/295242/logs/events.1.1.log > > > > subtask name aarch64 armh i586 ppc64le x86_64 > > #100 python3-module-pycairo 2:00 3:02 1:20 2:27 3:31 > > > > 2022-Feb-12 00:36:05 :: task #295242 for sisyphus started by vseleznv: > > #100 build python3-module-pycairo-1.20.1-alt2.src.rpm [...] > > 2022-Feb-12 00:40:20 :: plan: src +1 -1 =17515, aarch64 +6 -6 =29289, armh +6 -6 =27538, i586 +6 -6 =29582, noarch +1 -1 =17755, ppc64le +6 -6 =28992, x86_64 +6 -6 =30262 > > #100 python3-module-pycairo 1.20.1-alt1 -> 1.20.1-alt2 > > Sat Feb 12 2022 Vladimir D. Seleznev <vseleznv@altlinux> 1.20.1-alt2 > > - Packed egg-info files, see > > https://lists.altlinux.org/pipermail/devel/2020-October/212260.html [...] > > girar-check-perms: access to python3-module-pycairo DENIED for vseleznv: does not belong to approved builders list: aris > > check-subtask-perms: #100: python3-module-pycairo: Operation not permitted > > 2022-Feb-12 00:45:17 :: acl check FAILED > > 2022-Feb-12 00:45:36 :: created contents_index files > > 2022-Feb-12 00:45:44 :: created hash files: aarch64 armh i586 noarch ppc64le src x86_64-i586 x86_64 > > 2022-Feb-12 00:45:47 :: task #295242 for sisyphus EPERM -- ldv ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] [#295242] EPERM srpm=python3-module-pycairo-1.20.1-alt2.src.rpm 2022-02-12 22:20 ` Dmitry V. Levin @ 2022-02-12 22:31 ` Vladimir D. Seleznev 2022-02-12 22:41 ` [devel] egg-info Dmitry V. Levin 0 siblings, 1 reply; 7+ messages in thread From: Vladimir D. Seleznev @ 2022-02-12 22:31 UTC (permalink / raw) To: ALT Linux Team development discussions On Sun, Feb 13, 2022 at 01:20:04AM +0300, Dmitry V. Levin wrote: > On Sat, Feb 12, 2022 at 07:11:15PM +0300, Vladimir D. Seleznev wrote: > > Здравствуйте! > > > > Прошу пропустить таск в Сизиф, чинящий рантайм некоторых его > > зависимостей. > > $ compare_packages -- \ > Sisyphus/files/x86_64/RPMS/python3-module-pycairo-1.20.1-alt1.x86_64.rpm -- \ > tasks/295242/build/100/x86_64/rpms/python3-module-pycairo-1.20.1-alt2.x86_64.rpm > ... > +drwxr-xr-x root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/PKG-INFO > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/SOURCES.txt > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/dependency_links.txt > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/top_level.txt > > Хотелось бы услышать, каким образом эти файлы могут быть где-то полезны. Я же включил ссылку на описание проблемы в changelog. Без этих файлов не будет работать модуль gajim, ожидающий этого исправления в задании 295244 (также он не будет работать и при локальной установке вне пакетного менеджера). > Для справки: > $ grep '^/usr/lib64/python3/site-packages/' Sisyphus/x86_64/base/contents_index |\ > cut -f1 |cut -d/ -f6 |sort -u |wc -l > 1308 > > $ grep '^/usr/lib64/python3/site-packages/' Sisyphus/x86_64/base/contents_index |\ > cut -f1 |cut -d/ -f6 |sort -u |grep -c '\.egg-info$' > 523 > > > On Sat, Feb 12, 2022 at 12:45:47AM +0000, Girar awaiter (vseleznv) wrote: > > > https://git.altlinux.org/tasks/295242/logs/events.1.1.log > > > > > > subtask name aarch64 armh i586 ppc64le x86_64 > > > #100 python3-module-pycairo 2:00 3:02 1:20 2:27 3:31 > > > > > > 2022-Feb-12 00:36:05 :: task #295242 for sisyphus started by vseleznv: > > > #100 build python3-module-pycairo-1.20.1-alt2.src.rpm > [...] > > > 2022-Feb-12 00:40:20 :: plan: src +1 -1 =17515, aarch64 +6 -6 =29289, armh +6 -6 =27538, i586 +6 -6 =29582, noarch +1 -1 =17755, ppc64le +6 -6 =28992, x86_64 +6 -6 =30262 > > > #100 python3-module-pycairo 1.20.1-alt1 -> 1.20.1-alt2 > > > Sat Feb 12 2022 Vladimir D. Seleznev <vseleznv@altlinux> 1.20.1-alt2 > > > - Packed egg-info files, see > > > https://lists.altlinux.org/pipermail/devel/2020-October/212260.html > [...] > > > girar-check-perms: access to python3-module-pycairo DENIED for vseleznv: does not belong to approved builders list: aris > > > check-subtask-perms: #100: python3-module-pycairo: Operation not permitted > > > 2022-Feb-12 00:45:17 :: acl check FAILED > > > 2022-Feb-12 00:45:36 :: created contents_index files > > > 2022-Feb-12 00:45:44 :: created hash files: aarch64 armh i586 noarch ppc64le src x86_64-i586 x86_64 > > > 2022-Feb-12 00:45:47 :: task #295242 for sisyphus EPERM -- WBR, Vladimir D. Seleznev ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] egg-info 2022-02-12 22:31 ` Vladimir D. Seleznev @ 2022-02-12 22:41 ` Dmitry V. Levin 2022-02-13 1:21 ` Vladimir D. Seleznev 0 siblings, 1 reply; 7+ messages in thread From: Dmitry V. Levin @ 2022-02-12 22:41 UTC (permalink / raw) To: ALT Linux Team development discussions On Sun, Feb 13, 2022 at 01:31:21AM +0300, Vladimir D. Seleznev wrote: > On Sun, Feb 13, 2022 at 01:20:04AM +0300, Dmitry V. Levin wrote: > > On Sat, Feb 12, 2022 at 07:11:15PM +0300, Vladimir D. Seleznev wrote: > > > Здравствуйте! > > > > > > Прошу пропустить таск в Сизиф, чинящий рантайм некоторых его > > > зависимостей. Если это заявка на NMU, то у нас на этот счёт есть правила. > > $ compare_packages -- \ > > Sisyphus/files/x86_64/RPMS/python3-module-pycairo-1.20.1-alt1.x86_64.rpm -- \ > > tasks/295242/build/100/x86_64/rpms/python3-module-pycairo-1.20.1-alt2.x86_64.rpm > > ... > > +drwxr-xr-x root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info > > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/PKG-INFO > > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/SOURCES.txt > > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/dependency_links.txt > > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/top_level.txt > > > > Хотелось бы услышать, каким образом эти файлы могут быть где-то полезны. > > Я же включил ссылку на описание проблемы в changelog. По ссылке написано буквально следующее: "Я обратил внимание, что не во всех питоновских модулях упакованы egg-файлы. На эти файлы в рантайме могут полагаться другие модули, поэтому всё же стоит упаковывать egg-файлы в пакеты." Это скорее косвенное упоминание какой-то проблемы, чем описание. > Без этих файлов не будет работать модуль gajim, ожидающий этого > исправления в задании 295244 (также он не будет работать и при локальной > установке вне пакетного менеджера). Меня интересует не данный конкретный пакет, а системное описание проблемы. Почему стало важно паковать site-packages/что-то-там.egg-info, когда это стало важно, в каких случаях это важно, каких пакетов это касается и почему. -- ldv ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] egg-info 2022-02-12 22:41 ` [devel] egg-info Dmitry V. Levin @ 2022-02-13 1:21 ` Vladimir D. Seleznev 2022-02-14 9:02 ` Stanislav Levin 0 siblings, 1 reply; 7+ messages in thread From: Vladimir D. Seleznev @ 2022-02-13 1:21 UTC (permalink / raw) To: ALT Linux Team development discussions On Sun, Feb 13, 2022 at 01:41:02AM +0300, Dmitry V. Levin wrote: > On Sun, Feb 13, 2022 at 01:31:21AM +0300, Vladimir D. Seleznev wrote: > > On Sun, Feb 13, 2022 at 01:20:04AM +0300, Dmitry V. Levin wrote: > > > On Sat, Feb 12, 2022 at 07:11:15PM +0300, Vladimir D. Seleznev wrote: > > > > Здравствуйте! > > > > > > > > Прошу пропустить таск в Сизиф, чинящий рантайм некоторых его > > > > зависимостей. > > Если это заявка на NMU, то у нас на этот счёт есть правила. > > > > $ compare_packages -- \ > > > Sisyphus/files/x86_64/RPMS/python3-module-pycairo-1.20.1-alt1.x86_64.rpm -- \ > > > tasks/295242/build/100/x86_64/rpms/python3-module-pycairo-1.20.1-alt2.x86_64.rpm > > > ... > > > +drwxr-xr-x root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info > > > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/PKG-INFO > > > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/SOURCES.txt > > > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/dependency_links.txt > > > +-rw-r--r-- root root , /usr/lib64/python3/site-packages/pycairo-1.20.1-py3.10.egg-info/top_level.txt > > > > > > Хотелось бы услышать, каким образом эти файлы могут быть где-то полезны. > > > > Я же включил ссылку на описание проблемы в changelog. > > По ссылке написано буквально следующее: > "Я обратил внимание, что не во всех питоновских модулях упакованы > egg-файлы. На эти файлы в рантайме могут полагаться другие модули, > поэтому всё же стоит упаковывать egg-файлы в пакеты." > > Это скорее косвенное упоминание какой-то проблемы, чем описание. > > > Без этих файлов не будет работать модуль gajim, ожидающий этого > > исправления в задании 295244 (также он не будет работать и при локальной > > установке вне пакетного менеджера). > > Меня интересует не данный конкретный пакет, а системное описание проблемы. > > Почему стало важно паковать site-packages/что-то-там.egg-info, > когда это стало важно, в каких случаях это важно, > каких пакетов это касается и почему. В egg-info содержится спецификация модуля, включая его описание, зависимости и другие метаданные. Важной эта информация становится тогда, когда какой-нибудь модуль или программа на python использует эту информацию в рантайме , например, через некоторые явные вызовы importlib (что происходит не всегда, чаще всего модули ограничиваются лишь вызовом import, с которым не возникает проблем), и кого-то из зависимых пакетов, в свою очередь, не предоставляет egg-info. В этом случае Python считает, что такого модуля не установлено, и выдаёт ошибку. Я не разбирался различных системах межмодульных зависимостей самого питона и их взаимоотношений между собой, но похоже, что если модуль предоставляет egg-файлы, то Python ожидает, что они будут предоставлены всеми зависимыми модулями. Я вижу два решения этой проблемы: или паковать egg-файлы у всех модулей, или не паковать вообще ни у кого. При этом, я не знаю, какие ещё side-эффекты вылезут в последнем случае. -- WBR, Vladimir D. Seleznev ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] egg-info 2022-02-13 1:21 ` Vladimir D. Seleznev @ 2022-02-14 9:02 ` Stanislav Levin 2022-02-14 22:15 ` Vladimir D. Seleznev 0 siblings, 1 reply; 7+ messages in thread From: Stanislav Levin @ 2022-02-14 9:02 UTC (permalink / raw) To: ALT Linux Team development discussions, Vladimir D. Seleznev [-- Attachment #1.1: Type: text/plain, Size: 1906 bytes --] 13.02.2022 04:21, Vladimir D. Seleznev пишет: > > В egg-info содержится спецификация модуля, включая его описание, > зависимости и другие метаданные. Важной эта информация становится тогда, > когда какой-нибудь модуль или программа на python использует эту > информацию в рантайме , например, через некоторые явные вызовы importlib > (что происходит не всегда, чаще всего модули ограничиваются лишь вызовом > import, с которым не возникает проблем), и кого-то из зависимых пакетов, > в свою очередь, не предоставляет egg-info. В этом случае Python считает, > что такого модуля не установлено, и выдаёт ошибку. Верно. Чаще всего этой программой будет external Python installation tool (например, pip или poetry). https://docs.python.org/3/library/importlib.metadata.html Примеры формата метаданных: egg-info (директория или файл) - формат метаданных от setuptools (используется при `python setup.py install --root`, legacy): https://setuptools.pypa.io/en/latest/deprecated/python_eggs.html dist-info (используется при установке из wheel, modern PEP517) https://www.python.org/dev/peps/pep-0376/ https://www.python.org/dev/peps/pep-0427/#the-dist-info-directory > > Я не разбирался различных системах межмодульных зависимостей самого > питона и их взаимоотношений между собой, но похоже, что если модуль > предоставляет egg-файлы, то Python ожидает, что они будут предоставлены > всеми зависимыми модулями. Я вижу два решения этой проблемы: или > паковать egg-файлы у всех модулей, или не паковать вообще ни у кого. При > этом, я не знаю, какие ещё side-эффекты вылезут в последнем случае. > Отсутствие метаинформации отразится на инсталляторах Python - они перестанут видеть third-party модули из system sitepackages (устанавливаемых apt) - это приведет к попытке установке таких distributions откуда-то (например, pypi.org), что не всегда приемлемо. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 840 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [devel] egg-info 2022-02-14 9:02 ` Stanislav Levin @ 2022-02-14 22:15 ` Vladimir D. Seleznev 0 siblings, 0 replies; 7+ messages in thread From: Vladimir D. Seleznev @ 2022-02-14 22:15 UTC (permalink / raw) To: ALT Linux Team development discussions On Mon, Feb 14, 2022 at 12:02:28PM +0300, Stanislav Levin wrote: > > > 13.02.2022 04:21, Vladimir D. Seleznev пишет: > > > > > В egg-info содержится спецификация модуля, включая его описание, > > зависимости и другие метаданные. Важной эта информация становится тогда, > > когда какой-нибудь модуль или программа на python использует эту > > информацию в рантайме , например, через некоторые явные вызовы importlib > > (что происходит не всегда, чаще всего модули ограничиваются лишь вызовом > > import, с которым не возникает проблем), и кого-то из зависимых пакетов, > > в свою очередь, не предоставляет egg-info. В этом случае Python считает, > > что такого модуля не установлено, и выдаёт ошибку. > > Верно. > Чаще всего этой программой будет external Python installation tool > (например, pip или poetry). > https://docs.python.org/3/library/importlib.metadata.html Я на самом деле не рассматривал pip и другие внесистемные инсталяторы питона, меня беспокоит, что системные модули и программы могут сломаться в рантайме (и судя по тому, что мейнтейнеры патчат файлы (egg|dist)-info, пытаясь обойти эту проблему — они ломаются. > Примеры формата метаданных: > egg-info (директория или файл) - формат метаданных от setuptools > (используется при `python setup.py install --root`, legacy): > https://setuptools.pypa.io/en/latest/deprecated/python_eggs.html > > dist-info (используется при установке из wheel, modern PEP517) > > https://www.python.org/dev/peps/pep-0376/ > https://www.python.org/dev/peps/pep-0427/#the-dist-info-directory > > > > > Я не разбирался различных системах межмодульных зависимостей самого > > питона и их взаимоотношений между собой, но похоже, что если модуль > > предоставляет egg-файлы, то Python ожидает, что они будут предоставлены > > всеми зависимыми модулями. Я вижу два решения этой проблемы: или > > паковать egg-файлы у всех модулей, или не паковать вообще ни у кого. При > > этом, я не знаю, какие ещё side-эффекты вылезут в последнем случае. > > > > Отсутствие метаинформации отразится на инсталляторах Python - они > перестанут видеть third-party модули из system sitepackages > (устанавливаемых apt) - это приведет к попытке установке таких > distributions откуда-то (например, pypi.org), что не всегда приемлемо. > В любом случае нам нужно привести пакеты Python в консистентное состояние и паковать либо все с метаинформацией, либо все без неё. В Федоре есть явное требование упаковывать в пакеты Python (egg|dist)-info-файлы [1]. Я предлагаю делать так же. [1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_dist_info_metadata -- WBR, Vladimir D. Seleznev ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-02-14 22:15 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-12 16:11 ` [devel] [#295242] EPERM srpm=python3-module-pycairo-1.20.1-alt2.src.rpm Vladimir D. Seleznev 2022-02-12 22:20 ` Dmitry V. Levin 2022-02-12 22:31 ` Vladimir D. Seleznev 2022-02-12 22:41 ` [devel] egg-info Dmitry V. Levin 2022-02-13 1:21 ` Vladimir D. Seleznev 2022-02-14 9:02 ` Stanislav Levin 2022-02-14 22:15 ` Vladimir D. Seleznev
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