Project

General

Profile

Packaging Request #2874

Housekeeping #3018: Various uninstallable packages should be fixed, dropped, or blacklisted.

[python2-*]: multiple packages dropped from arch

bill-auger - over 3 years ago - . Updated over 1 year ago.

Status:
open
Priority:
broken
Assignee:
-
% Done:

14%


Description

due to calibre v5 dropping support for python2, several python2 dependencies of calibre v4 are planned to be dropped from arch - this is the calibre4 python2-* dependency chain:

first-order:

python2-apsw           : calibre3
python2-beautifulsoup4 : calibre3
python2-cssselect      : calibre3
python2-css-parser     : calibre3
python2-dateutil       : calibre3 gnuhealth python2-caldav python2-freezegun syncthing-gtk tryton trytond
python2-dbus           : calibre3 flowblade gtg ibus idjc mugshot netatalk python2-efl xboxdrv zeroinstall-injector
python2-dnspython      : calibre3 mailman
python2-feedparser     : calibre3 rawdog
python2-html2text      : calibre3
python2-html5-parser   : calibre3
python2-lxml           : calibre3 mailpile ocrodjvu python2-caldav python2-html5-parser python2-relatorio trytond
python2-markdown       : calibre3 parabolaweb-utils
python2-mechanize      : calibre3
python2-msgpack        : calibre3 python2-cachecontrol python2-tarantool salt zeronet-git
python2-netifaces      : calibre3
python2-psutil         : calibre3
python2-pychm          : chm2pdf
python2-pygments       : calibre3 python2-prompt_toolkit1 python2-sphinx python2-weberror
python2-pyqt5          : calibre3
python2-regex          : calibre3
python2-ipaddress      : python2-cryptography python2-pip

second order:

python2-caldav          : gnuhealth
python2-relatorio       : trytond
python2-cachecontrol    : python2-pip
python2-prompt_toolkit1 : ipython2
python2-cryptography    : mailpile python2-pyopenssl tahoe-lafs
python2-pip             : gnuhealth python2-reportlab

third-order:

python2-pyopenssl : python2-ndg-httpsclient python2-service-identity

fourth order:

python2-service-identity : sslstrip  tahoe-lafs


Subtasks

Bug #2704: [h-client] 'pygtk' dependency errorfixedbill-auger

Actions
Bug #2915: libusb update breaks calibre3confirmed

Actions
Bug #2934: [printrun] missing dependency python2-pygletconfirmed

Actions
Bug #3042: [calibre3]: unable to satisfy dependency 'python2-*' and 'libusbx'.confirmed

Actions
Bug #3170: [castle-combat]: unable to satisfy dependency 'python2-twisted' required by castle-combatconfirmed

Actions
Housekeeping #3237: Remove pcr/python2* and libre/python2*open

Actions
Bug #3418: [h-client]: fails to install for Unresolved dependencies confirmed

Actions

Related issues

Related to Packages - Freedom Issue #2791: [spyder] depends on webengineconfirmed

Actions

History

#1

Updated by bill-auger over 3 years ago

<eschwartz> warning: I just released calibre 5.0 to the arch repos. It's python3-only, so I dropped some old modules I don't need anymore.
<eschwartz> You do need them, for calibre 3.x sans webengine -- so before the next parabola sync, you need to add them yourself
<eschwartz> you can see the PKGBUILDs I modified/dropped here: https://git.archlinux.org/svntogit/community.git/log/?qt=grep&q=python2
<eschwartz> basically you need python2-{apsw,css-parser,html2text,html5-parser,markdown,mechanize,netifaces,pychm,regex,unrardll} - possibly not pychm
<eschwartz> you'll need to also add some pyqt stuff whenever arojas drops those from [extra]

#2

Updated by freemor over 3 years ago

  • Related to Bug #2915: libusb update breaks calibre3 added
#3

Updated by bill-auger over 3 years ago

the dependency chain in the OP was based on the deps for calibre v4 - for calibre3 these 8 are unavailable:

$ pkgs=$(pactree ${OPTS} --sync calibre3) # where $OPTS is a custom --dbpath= --config=
                                          # searching all repos
$ for pkg in $pkgs ; do pacman -Ssq $pkg | grep ^$pkg$ > /dev/null || echo "n/a: $pkg" ; done
n/a: python2-apsw
n/a: python2-css-parser
n/a: python2-html2text
n/a: python2-html5-parser
n/a: python2-mechanize
n/a: python2-netifaces
n/a: python2-pyqt5
n/a: python2-regex

re: python2-unrardll (mentioned by eli) - that is the original reason why calibre is on the blacklist (no unrar)

#4

Updated by bill-auger over 3 years ago

  • Related to deleted (Bug #2915: libusb update breaks calibre3)
#5

Updated by bill-auger almost 3 years ago

  • Related to Bug #3042: [calibre3]: unable to satisfy dependency 'python2-*' and 'libusbx'. added
#6

Updated by bill-auger almost 2 years ago

  • Parent task set to #3018
#7

Updated by bill-auger over 1 year ago

now that arch has dropped python2, this is the final list of affected parabola packages

$ sudo parabola-dependents -v python2
updating database ....
package: 'python2' not found - creating dummy package
dummy package 'python2' created
querying database ....
compiling results for (143) dependents ....
searching abslibre ....

direct and transitive parabola dependents:
  [python2]  <- pcr/apenwarr-redo
  [python2]  <- libre/asciidoc
  [python2]  <- libre/b43-tools
  [python2]  <- pcr/boswars
  [python2]  <- pcr/cherokee
  [python2]  <- pcr/cwiid
  [python2]  <- pcr/darcsver
  [python2]  <- pcr/django-social-auth
  [python2]  <- pcr/dratmenu
  [python2]  <- pcr/ganglia
  [python2]  <- pcr/gtg
  [python2]  <- pcr/h-client
  [python2]  <- pcr/idjc
  [python2]  <- pcr/ipycli-git
  [python2]  <- pcr/kamailio-python-modules
  [python2]  <- libre/kodi-bin
  [python2]  <- libre/kodi-gbm
  [python2]  <- kodi-gbm <- libre/kodi
  [python2]  <- kodi-gbm <- kodi <- libre/kodi-dev
  [python2]  <- kodi-gbm <- kodi <- pcr/kodi-standalone-service
  [python2]  <- kodi-gbm <- kodi <- libre/kodi-wayland
  [python2]  <- kodi-gbm <- kodi <- libre/kodi-x11
  [python2]  <- pcr/mimms
  [python2]  <- pcr/mkbootimg
  [python2]  <- pcr/mozilla-addon-sdk
  [python2]  <- pcr/mozilla-devscripts
  [python2]  <- pcr/netatalk
  [python2]  <- pcr/nevow
  [python2]  <- nevow <- pcr/tahoe-lafs
  [python2]  <- pcr/ocrodjvu
  [python2]  <- pcr/openchange
  [python2]  <- openchange <- pcr/evolution-mapi
  [python2]  <- libre/parabolaweb-utils
  [python2]  <- pcr/phantomjs
  [python2]  <- pcr/pycryptopp
  [python2]  <- pcr/pysheng
  [python2]  <- pcr/python2-arxiv2bib
  [python2]  <- pcr/python2-async
  [python2]  <- pcr/python2-authres
  [python2]  <- libre/python2-bencode
  [python2]  <- pcr/python2-bibtexparser
  [python2]  <- pcr/python2-caldav
  [python2]  <- python2-caldav <- pcr/gnuhealth
  [python2]  <- pcr/python2-carrot
  [python2]  <- libre/python2-django1.8
  [python2]  <- python2-django1.8 <- libre/python2-django-countries
  [python2]  <- python2-django1.8 <- libre/python2-django-jinja
  [python2]  <- python2-django1.8 <- pcr/python2-django-tagging
  [python2]  <- pcr/python2-djvulibre
  [python2]  <- pcr/python2-dukpy
  [python2]  <- python2-dukpy <- libre/calibre3
  [python2]  <- pcr/python2-filetype
  [python2]  <- pcr/python2-flask-lesscss
  [python2]  <- pcr/python2-habanero
  [python2]  <- pcr/python2-interruptingcow
  [python2]  <- pcr/python2-isbnlib
  [python2]  <- libre/python2-jsmin
  [python2]  <- pcr/python2-liblarch
  [python2]  <- libre/python2-markdown2
  [python2]  <- libre/python2-markupsafe0
  [python2]  <- python2-markupsafe0 <- pcr/mailpile
  [python2]  <- pcr/python2-paste-deploy
  [python2]  <- python2-paste-deploy <- pcr/python2-paste-script
  [python2]  <- python2-paste-deploy <- python2-paste-script <- pcr/python2-pylons
  [python2]  <- pcr/python2-pefile
  [python2]  <- libre/python2-pgpdump
  [python2]  <- pcr/python2-pkgtools
  [python2]  <- pcr/python2-polib
  [python2]  <- python2-polib <- pcr/trytond
  [python2]  <- python2-polib <- trytond <- pcr/trytond-account
  [python2]  <- python2-polib <- trytond <- trytond-account <- pcr/trytond-account-invoice
  [python2]  <- python2-polib <- trytond <- trytond-account <- trytond-account-invoice <- pcr/trytond-account-invoice-stock
  [python2]  <- python2-polib <- trytond <- trytond-account <- trytond-account-invoice <- trytond-account-invoice-stock <- pcr/trytond-purchase
  [python2]  <- python2-polib <- trytond <- trytond-account <- trytond-account-invoice <- trytond-account-invoice-stock <- trytond-purchase <- pcr/trytond-stock-supply
  [python2]  <- python2-polib <- trytond <- trytond-account <- pcr/trytond-account-product
  [python2]  <- python2-polib <- trytond <- pcr/trytond-calendar
  [python2]  <- python2-polib <- trytond <- pcr/trytond-company
  [python2]  <- python2-polib <- trytond <- trytond-company <- pcr/trytond-stock
  [python2]  <- python2-polib <- trytond <- trytond-company <- trytond-stock <- pcr/trytond-stock-lot
  [python2]  <- python2-polib <- trytond <- pcr/trytond-country
  [python2]  <- python2-polib <- trytond <- trytond-country <- pcr/trytond-party
  [python2]  <- python2-polib <- trytond <- pcr/trytond-currency
  [python2]  <- python2-polib <- trytond <- pcr/trytond-product
  [python2]  <- python2-polib <- trytond <- pcr/trytond-webdav
  [python2]  <- pcr/python2-potr
  [python2]  <- libre/python2-psycopg2.6
  [python2]  <- pcr/python2-pycrypto
  [python2]  <- pcr/python2-pyliblzma
  [python2]  <- pcr/python2-pyparser
  [python2]  <- pcr/python2-pyutil
  [python2]  <- python2-pyutil <- pcr/python2-zbase32
  [python2]  <- python2-pyutil <- pcr/zfec
  [python2]  <- pcr/python2-pywebdav
  [python2]  <- pcr/python2-pywebdav3
  [python2]  <- pcr/python2-qrtools
  [python2]  <- libre/python2-reportlab
  [python2]  <- pcr/python2-rospkg
  [python2]  <- pcr/python2-slugify
  [python2]  <- pcr/python2-sql
  [python2]  <- pcr/python2-stdnum
  [python2]  <- pcr/python2-vcstools
  [python2]  <- pcr/python2-weberror
  [python2]  <- pcr/python2-webhelpers
  [python2]  <- pcr/python2-wsgiref
  [python2]  <- pcr/pyzenity
  [python2]  <- pcr/rencode
  [python2]  <- pcr/textext
  [python2]  <- pcr/timekpr
  [python2]  <- pcr/youtube-dl-gui
  [python2]  <- pcr/zeronet-git

parabola build dependents:
  pcr/beecrypt
  pcr/triceratops-lv2
  pcr/kodi-standalone-service
#8

Updated by gap over 1 year ago

In #3237 I made a table of packages which can be purged without controversy.

As for almost all of these other packages, I'd also recommend purging.
Python 2 went EOL about 2.75 years ago, so the maintainers of these packages have been given a more than generous time window to port them to Python 3, rewrite them in another programming language, or otherwise remove the dependence on Python 2.
There is no reason to expect those maintainers to suddenly start working on them now.

If users find that a package they use is gone or broken due to the removal of Python 2, they will surely report the issue and we can rescue that package if the maintenance burden vs desirability tradeoff is in the favour of doing so.
Nothing in that list really jumps out to me as desireable other than the few packages in the libre repo we need to keep in order to remain comaptible with Arch.
For AsciiDoc and Kodi, I think Python 2 is just a scripting interface, so they should be okay to keep with minimal modifications.

For purged packages written in an unmaintained scripting language, I say good riddance.

#9

Updated by bill-auger over 1 year ago

the maintainers of these packages have been given a more than generous time

it is a problem for some libre replacements such as calibre -
the calibre devs did migrate it to python3; but they also added
webengine; so the python3 version of calibre is useless to
parabola - it is a quite a popular program; but it probably just
needs to go away now

#10

Updated by bill-auger about 1 year ago

Also available in: Atom PDF