Re: Fedora 34 Change: Deprecate python-mock (Self-Contained change proposal)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19. 01. 21 16:46, Neal Gompa wrote:
On Tue, Jan 19, 2021 at 10:43 AM Robbie Harwood <rharwood@xxxxxxxxxx> wrote:

Ben Cotton <bcotton@xxxxxxxxxx> writes:

A simple `sed` can be applied in `%prep` as a temporary (or even
permanent) downstream solution.

In most cases, performing the following replacement should be enough:

  s/^(\s*)import mock/\1from unittest import mock/
  s/^(\s*)from mock import /\1from unittest.mock import /

* Other developers: No action needed. Don't add new dependencies on
{{package|python3-mock}}. If interested, migrate existing packages to
`unittest.mock` (feel free to ask for help)

Those three snippets together suggest to me that the way this migration
will be performed is that you're going to ProvenPackager in a couple
lines of sed to all (affected) specfiles.  I hope I have misunderstood,
because that has no mechanism to get the changes back into upstreams.
Could you clarify what you intend to do?

I only intend to deprecate python3-mock.
By deprecation, I *do not* mean immediate removal.

I *do not* intent to mass modify packages that use it.
I intend to encourage packagers to do that whenever I will have an opportunity, but I will not spam them.

Once the package is only required by a handful of packages, I might go and send PRs to accelerate the actual removal but I don't expect to live long enough to see that happening.

When I'll work on some packages and I'll see that python3-mock is BuildRequired redundantly (= a leftover from the past), I intent to remove the BR (as I would do even before this change).

== Dependencies ==
N/A (not a System Wide Change)

You're proposing changing many packages, so I don't think this qualifies
as a self-contained change.  The actual removal would be, but not
dependency patching.

Speaking of dependencies, though, I'm not seeing a list of packages that
are affected.  Could you provide one?


The way this change is worded, nothing is actually *happening* other
than a policy change that new packages cannot use this dependency
without a FESCo exception (standard deprecated package policy). If
*existing* packages want to change, this Change document describes the
expected effort required to remove it as a dependency to use the
built-in one in Python.

Thus, it makes sense as a Self-Contained Change.

What Neal says. But if you are interested, you can run:

  $ repoquery --repo=rawhide{,-source} --whatrequires python3-mock

You'll get the following (ridiculously long) list of source packages that BR it:

androguard
ansible
ansible-review
autoarchive
autojump
beaker
bodhi
bugzilla2fedmsg
buildbot
cloud-init
commissaire-client
compose-utils
conda
datagrepper
datanommer-commands
distgen
dlrn
dumb-init
enki
fedfind
fedmsg
fedora-messaging
fedpkg
fedscm-admin
flent
gnome-gmail
gtimelog
heat-cfntools
ibus-table
ibus-typing-booster
jpype
libabigail
limnoria
litecli
mailman3
matrix-synapse
mirrormanager2
mom
mycli
obs-service-tar_scm
odcs
oraculum
oscap-anaconda-addon
pdc-client
pgcli
pipenv
pre-commit
proselint
pungi
pycolumnize
pyee
pyosmium
pyproj
pytest
python-MDAnalysis
python-Traits
python-ZEO
python-agate
python-aiomqtt
python-aiounifi
python-alarmdecoder
python-alembic
python-amqp
python-ansi2html
python-ansible-runner
python-anykeystore
python-apprise
python-argh
python-arrow
python-authlib
python-autobahn
python-bashate
python-beaker
python-behave
python-bigsuds
python-billiard
python-bitmath
python-blessed
python-blockdiag
python-boto
python-botocore
python-carbon
python-cartopy
python-catkin_lint
python-catkin_pkg
python-catkin_tools
python-cfgv
python-check-manifest
python-cherrypy
python-cli-helpers
python-cliff
python-cloudpickle
python-clyent
python-colcon-core
python-colcon-ros-bundle
python-collectd_systemd
python-coloredlogs
python-copr
python-cornice
python-cornice-sphinx
python-daemon
python-dateparser
python-dcrpm
python-deepdiff
python-dictdiffer
python-diff-cover
python-digitalocean
python-django
python-django-auth-ldap
python-django-configurations
python-django-filter
python-django-helpdesk
python-django-pyscss
python-dns-lexicon
python-docker-squash
python-docx
python-dogpile-cache
python-doit
python-easyargs
python-elpy
python-engineio
python-etcd
python-eyed3
python-f5-icontrol-rest
python-f5-sdk
python-fastpurge
python-fedmsg-meta-fedora-infrastructure
python-fido2
python-firehose
python-fixtures
python-flake8
python-flake8-polyfill
python-flask-oidc
python-flask-restful
python-flask-sqlalchemy
python-fsleyes
python-fsleyes-props
python-fsleyes-widgets
python-fslpy
python-gabbi
python-geopy
python-gitlab
python-google-api-core
python-google-auth-oauthlib
python-graphviz
python-hamcrest
python-hdfs
python-html5lib
python-http-ece
python-httplib2
python-httpretty
python-humanize
python-hupper
python-ifcfg
python-invoke
python-ipdb
python-ipmi
python-isort
python-jenkins
python-jenkins-job-builder
python-jmespath
python-josepy
python-jsonrpc-server
python-jupyter-client
python-kdcproxy
python-keystoneauth1
python-keystoneclient
python-klusta
python-kombu
python-krbcontext
python-lacrosse
python-language-server
python-libarchive-c
python-lightblue
python-m2r
python-magic-wormhole
python-magic-wormhole-mailbox-server
python-magic-wormhole-transit-relay
python-magnumclient
python-mako
python-maxminddb
python-metaextract
python-moksha-common
python-moksha-hub
python-mpd2
python-music21
python-mwclient
python-nb2plots
python-nbconvert
python-network-runner
python-nibabel
python-nodeenv
python-nose2
python-nuheat
python-oauth2client
python-oauthlib
python-octaviaclient
python-okaara
python-opencensus
python-openqa_client
python-openstackclient
python-openstacksdk
python-opnsense
python-osc-lib
python-oslo-log
python-oslo-serialization
python-osrf-pycommon
python-paramiko
python-pelican
python-pep517
python-persist-queue
python-pika
python-pip
python-praw
python-prawcore
python-promise
python-psutil
python-pyarlo
python-pydenticon
python-pyelectro
python-pyface
python-pygraphviz
python-pykafka
python-pymemcache
python-pymochad
python-pysb
python-pystemd
python-pytest-shutil
python-pytest-spec
python-ratelimitingfilter
python-readme-renderer
python-readthedocs-sphinx-ext
python-redis
python-remoto
python-renderspec
python-requests-gssapi
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-responses
python-robosignatory
python-rosdep
python-rosinstall
python-rospkg
python-rows
python-ryu
python-saharaclient
python-schedule
python-schema
python-setuptools
python-shade
python-simplebayes
python-slacker
python-socketio
python-soco
python-sphinx-intl
python-sphinxcontrib-websupport
python-spyder-kernels
python-sqlalchemy
python-sqlalchemy-collectd
python-sqlalchemy-utils
python-sseclient
python-statsd
python-stestr
python-stevedore
python-streamlink
python-sure
python-swagger-spec-validator
python-tables
python-tackerclient
python-tinyrpc
python-transaction
python-troveclient
python-twilio
python-twitter
python-txaio
python-txtorcon
python-tzlocal
python-urllib3
python-vcrpy
python-vcstools
python-verboselogs
python-vine
python-virtualbmc
python-vitrageclient
python-waterfurnace
python-webassets
python-whisper
python-winrm
python-ws4py
python-wstool
python-wurlitzer
python-xlib
python-xvfbwrapper
python-yarg
python-zc-lockfile
python-zdaemon
python-zeep
pyutil
restview
resultsdb_conventions
rpkg
rpkg-util
salt
sshuttle
testcloud
thefuck
tmt
transifex-client
transtats-cli
ursa-major
vex
wad
waiverdb
wfuzz

And the following packages that require it on runtime, which I find even more perplexing:

limnoria
python3-MDAnalysis
python3-certbot-dns-cloudxns
python3-cliff-tests
python3-debianbts
python3-django-helpdesk
python3-hdfs
python3-keystoneclient-tests
python3-kubernetes-tests
python3-magnumclient-tests
python3-music21
python3-octaviaclient-tests
python3-odcs-common
python3-osc-lib-tests
python3-oslo-log-tests
python3-oslo-serialization-tests
python3-oslotest
python3-pytest-shutil
python3-pywbem
python3-sure
python3-tackerclient-tests-unit
python3-tinyrpc-tests
python3-transtats-cli
python3-urwidtrees
python3-vcrpy
waiverdb

Or, if you prefer their components:

limnoria
odcs
python-MDAnalysis
python-certbot-dns-cloudxns
python-cliff
python-debianbts
python-django-helpdesk
python-hdfs
python-keystoneclient
python-kubernetes
python-magnumclient
python-music21
python-octaviaclient
python-osc-lib
python-oslo-log
python-oslo-serialization
python-oslotest
python-pytest-shutil
python-sure
python-tackerclient
python-tinyrpc
python-urwidtrees
python-vcrpy
pywbem
transtats-cli
waiverdb


To repeat: *I do not plan any mass actions towards the listed packages* in Fedora, except the ones that I maintain myself, if any.

Disclaimer: The package is listed as unwanted in ELN (so the RHEL maintainers might get some internal spam about dropping the dependency). If they will be interested, I might end up sending a Fedora PR for such packages.

--
Miro Hrončok
--
Phone: +420777974800
IRC: mhroncok
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux