Packaging Request #2874
Housekeeping #3018: Various uninstallable packages should be fixed, dropped, or blacklisted.
[python2-*]: multiple packages dropped from arch
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
Related issues
History
Updated by bill-auger over 2 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]
Updated by bill-auger over 2 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)
Updated by bill-auger over 2 years ago
- Related to deleted (Bug #2915: libusb update breaks calibre3)
Updated by bill-auger about 2 years ago
- Related to Bug #3042: [calibre3]: unable to satisfy dependency 'python2-*' and 'libusbx'. added
Updated by bill-auger 8 months 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
Updated by gap 8 months 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.
Updated by bill-auger 8 months 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
Updated by bill-auger 4 months ago
- Related to Freedom Issue #2791: [spyder] depends on webengine added