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