On Fri, 4 Mar 2016, Ivan Zakharyaschev wrote: > Если отделить множество пакетов, в которых есть .so (все остальные, мы > предполагаем, не линкуются с libpython при работе и их можно, переложив и > обработав автогенератором зависимостей, оставить и они будут работать с > python3-3.5), то можно насчитать 250 пакетов (которые будут пересобираться > одновременно в одном задании с новой версией python3, на втором этапе): > > $ ./print-section_unmets events.5.1.log | cut -d'#' --fields=1 | sort -u | > join -t$'\t' -2 2 - <(sort -t$'\t' -k2 < > /ALT/Sisyphus/x86_64/base/contents_index) | egrep '\.so($|\.)' | cut -d$'\t' > --fields=1 | uniq | wc -l > 259 > Напишу в конце список. Сейчас, когда в целом всё подготовлено для пересборки с более точными и во множестве пакетов более слабыми зависимостями, хочется разобраться вот в таком вопросе про эти .so: python3.req.py получает на рассмотрение только .so по шаблону */python3*/*.so Я же выше на всякий случай искал все .so в пакетах. Проверим несовпаденя. Из этого списка файлов .so и пакетов уберём сначала те, в которых есть пути в site-packages (чтобы сразу много убрать из рассмотрения). (На самом деле зря. Надо было всё проверять.) Оставшееся пакеты проверим на то, чтобы у них либо была зависимость на libpython, либо файлы, подпадающие под этот шаблон */python3*/*.so, который будет вызывать зависимость на python3.3-ABI. Если ни того, ни другого нет, гарантирующего привязку к версии питона, обратим внимание на этот пакет (внизу в скрипте напротив него будет пусто): $ for p in $(./print-section_unmets events.5.1.log | cut -d'#' --fields=1 | sort -u | fgrep -v -x $'LibreOffice-common\npython3-test' | join -t$'\t' -2 2 - <(sort -t$'\t' -k2 < /ALT/Sisyphus/x86_64/base/contents_index) | egrep '\.so($|\.)' | egrep -v '/usr/lib(|64)/python3\.3/site-packages' | cut --fields=1 | sort -u ); do echo -n "$p: "; f="$(./getRPMForPkgnames.sh "$p")"; { rpm -qp "$f" --requires | fgrep libpython; } || { rpm -qp "$f" -l | egrep '/python3.*/.*\.so$' | xargs echo; } || echo '???'; done boost-python3-devel: engrid: eog-plugins: gedit: gedit-plugins: gitg: gnome-builder: libpython3.3m.so.1.0()(64bit) >= set:ojiZhTKylwsDM9yCCTgb9vw6pALZpBUm7xVLRPiAeqW9H1Y9aUJ8ym1Uy0FARIu66V2GO8XU0EMGpshMY2Y4hRYR0 gnome-music: gnome-shell: libgit2-glib: libnumpy-py3-devel: /usr/lib64/python3.3/site-packages/numpy/core/lib/libnpymath3.so libpeas-python3-loader: libpython3.3m.so.1.0()(64bit) >= set:oiqVkAUsy8ACvxk2p2DofRKiVrEBAfEh67iZFcdYqiCKsR9XTWp9i3GH8LAXnhwZhuniyiZbI3uAfVMTy0lOqHDNx1Qp5se8LlOeeETCrpeP51oB1pshw8LsIR4iR libpyside-qt4-py3: libpython3.3m.so.1.0()(64bit) >= set:oha0ppmlcyDVIRMBvVYf4Rm8icJ22i94FZkJ8Ye46OjpH0hyzSt9zRHY0WEoaHqMEUVnD1YRTcPWBrabQi0Su0YQ6r1ZK80wWscDkKx991pvmeo4sWj0x4or4dslC5fc0l9mDVjUw7IJN5mtmi7xsX9TxGI7myC1qzNsuItJqlAYwC1XNqENXTzk9qs95 libshiboken-py3: libpython3.3m.so.1.0()(64bit) >= set:ohEBjfqtP4bZym5H659cQQdkFKFW295y81ktTswkAwbTNB1Qygt8Z7dE6cKJ9FLYZfoe1kWZ5VNDwbxRDeFTQR4nYY7iysOpV2VGVWYuIMjvnvBn3ZdWNiA2SBm2kehAiFoYG1rkK30Iz38h3j62gtZAC13wgItp53ZL8vmt778QY9tss2MRUAXglS3bhzlkMVtMNwThxLb0VHFk4z1actCqM817rZ043vgi9q0 pitivi: python3-module-CVC4: /usr/lib64/python3.3/site-packages/_CVC4.so python3-module-pygobject: /usr/lib64/python3.3/site-packages/glib/_glib.so /usr/lib64/python3.3/site-packages/gobject/_gobject.so python3-module-pygobject-devel: totem-plugins: weechat-plugin-python: libpython3.3m.so.1.0()(64bit) >= set:oipC2yNcWvlG7aFZp9VWLsm3CohA4KmZjOlyrNPA8gsq8sc4suj8zRUNKVfK0Qa04r1oZhf0dxsJHZrXfahnOvhgq1hrTBZisDZJ (добавил ещё потом проверку на 'python3 =', список не изменился.) Вот вопрос: если у python сменится версия с 3.3 на 3.5, будут ли они работать? Или привязка к версии питона как-то реализована в их зависимостях? Вопрос про те, у которых пусто; *-devel можно пропустить: engrid eog-plugins gedit gedit-plugins gitg gnome-music gnome-shell libgit2-glib pitivi totem-plugins Если есть связь с версией питона, как её можно было бы обнаруживать? -- Best regards, Ivan > On Wed, 2 Mar 2016, Ivan Zakharyaschev wrote: > >> > > (Эти наколеночные скрипты, которыми я манипулирую списки пакетов для >> > > тестовых пересборок множества питоновских пакетов, в т.ч. вот этот >> > > для уточнения пересечения affected packages и списка >> > > непересобирающихся от beehive, сохранил в >> > git.alt:/people/imz/public/mosquito-hive ) > > LibreOffice пропускаем. > > $ ./list-srpms-for-rpms.sh $(./print-section_unmets events.5.1.log | cut > -d'#' --fields=1 | sort -u | join -t$'\t' -2 2 - <(sort -t$'\t' -k2 < > /ALT/Sisyphus/x86_64/base/contents_index) | egrep '\.so($|\.)' | cut -d$'\t' > --fields=1 | uniq) | ./stripVerRel > LibreOffice > aimc > bedup > blueman > boost > borg > brltty > canto-curses > cracklib > cvc4 > engrid > eog-plugins > fityk > gdal > gedit > gedit-plugins > geos > gitg > gnome-builder > gnome-music > gnome-shell > h5py > libcap-ng > libgit2-glib > libpeas > libpwquality > libseccomp > libxml2 > libxtract > log4cplus > logtop > pdb-clone > picosat > pitivi > protobuf > pyside-qt4-py3 > pytables > python-module-BTrees > python-module-Cython > python-module-DAGPype > python-module-DIRECT > python-module-Levenshtein > python-module-MySQLdb > python-module-Naked > python-module-OpenGL_accelerate > python-module-Pillow > python-module-PyMca > python-module-PyQt4 > python-module-PyQt5 > python-module-RRDtool > python-module-Reportlab > python-module-SQLAlchemy > python-module-affinegap > python-module-alsaaudio > python-module-apsw > python-module-asa > python-module-asyncio_mongo > python-module-banyan > python-module-bcrypt > python-module-bintrees > python-module-blist > python-module-blosc > python-module-bottleneck > python-module-bsddb3 > python-module-cHaversine > python-module-casuarius > python-module-cdecimal > python-module-cffi > python-module-cheetah > python-module-cobs > python-module-coverage > python-module-credis > python-module-cryptacular > python-module-cryptography > python-module-cups > python-module-curve25519 > python-module-cvxopt > python-module-cx-freeze > python-module-cyrand > python-module-dbus > python-module-dedupe-hcluster > python-module-distance > python-module-djvulibre > python-module-ed25519 > python-module-efl > python-module-ephem > python-module-faketime > python-module-fastbit > python-module-fiona > python-module-freetypy > python-module-gevent > python-module-gist > python-module-gmpy > python-module-gmpy2 > python-module-gnureadline > python-module-greenlet > python-module-gst1.0 > python-module-hiredis > python-module-hmmlearn > python-module-http-parser > python-module-icu > python-module-igakit > python-module-islpy > python-module-jellyfish > python-module-jenkins > python-module-jq > python-module-kaa-base > python-module-kmod > python-module-lcms > python-module-leveldb > python-module-libacl > python-module-libvirt > python-module-llfuse > python-module-llist > python-module-lmdb > python-module-logbook > python-module-lxml > python-module-lz4 > python-module-markupsafe > python-module-mathutils > python-module-matplotlib > python-module-mehcode-xmlsec > python-module-meshpy > python-module-minipg > python-module-mistune > python-module-mozsci > python-module-mpi4py > python-module-mpl_toolkits.basemap > python-module-msgpack > python-module-mysqlclient > python-module-netCDF4 > python-module-netifaces > python-module-nssjson > python-module-numexpr > python-module-numpy > python-module-pandas > python-module-parted > python-module-persistent > python-module-petlib > python-module-poppler-qt4 > python-module-poppler-qt5 > python-module-psutil > python-module-psycopg2 > python-module-psycopg2cffi > python-module-pulsar > python-module-pyScss > python-module-pyaio > python-module-pyasn > python-module-pyaxon > python-module-pybluez > python-module-pycares > python-module-pyclipper > python-module-pycosat > python-module-pycrypto > python-module-pycudd > python-module-pycurl > python-module-pyev > python-module-pyfits > python-module-pygibson > python-module-pygobject3 > python-module-pygraphviz > python-module-pyhacrf > python-module-pylbfgs > python-module-pylibmc > python-module-pylzma > python-module-pymc > python-module-pymetis > python-module-pymongo > python-module-pyproj > python-module-pysndfile > python-module-pysqlcipher3 > python-module-pysubnettree > python-module-pysvn > python-module-pyublas > python-module-pyuv > python-module-pyxattr > python-module-rasterio > python-module-rjsmin > python-module-rpy2 > python-module-scikit-image > python-module-scikit-learn > python-module-scikits.audiolab > python-module-scikits.bvp_solver > python-module-scikits.eartho > python-module-scikits.odes > python-module-scikits.samplerate > python-module-scikits.scattpy > python-module-scikits.sparse > python-module-scikits.statsmodels > python-module-scikits.umfpack > python-module-scikits.vectorplot > python-module-scipy > python-module-seqlearn > python-module-setproctitle > python-module-shapely > python-module-signalfd > python-module-simplejson > python-module-sip > python-module-smbc > python-module-snappy > python-module-systemd > python-module-sysv_ipc > python-module-tagpy > python-module-timelib > python-module-tinycss > python-module-tornado > python-module-triangle > python-module-ujson > python-module-urwid > python-module-utmp > python-module-veusz > python-module-virtkey > python-module-wrapt > python-module-wsaccel > python-module-yajl > python-module-yaml > python-module-zc.twist > python-module-zmq > python-module-zodbpickle > python-module-zope.container > python-module-zope.hookable > python-module-zope.i18nmessageid > python-module-zope.index > python-module-zope.interface > python-module-zope.proxy > python-module-zope.security > python3 > python3-module-cnamedtuple > python3-module-dulwich > python3-module-fuse > python3-module-geventhttpclient > python3-module-jsonlib > python3-module-kerberos > python3-module-ldap > python3-module-m2crypto > python3-module-pcap > python3-module-py3k-bcrypt > python3-module-pycairo > python3-module-pyfltk > python3-module-pygobject > python3-module-sao > python3-module-threadframe > python3-module-twisted-core > qscintilla2 > sfepy > shiboken-py3 > totem > weechat > xraylib > z3 > > -- > Best regards, > Ivan > > >