博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fedora 提出统一流程,弃用上千 Python 2 软件包更可控
阅读量:6989 次
发布时间:2019-06-27

本文共 1417 字,大约阅读时间需要 4 分钟。

  hot3.png

Fedora 社区正在讨论弃用 Python 2 软件包的统一流程。

075316_d6au_3820517.png

Python 2 将于 2020 年 1 月 1 日正式退休,官方不再提供维护,当前倒计时不断缩短,但 Fedora 中还有一千多个软件包依赖于 Python 2,一旦失去 Python 2 上游支持,那么系统中的这些遗留软件包的维护问题将变得很严峻,甚至根本无从下手。 

为了解决这个问题,尽早去掉对 Python 2 的依赖,把基于 Python 2 的软件包都移除是最佳选择。但是实际操作起来会比较麻烦,并且可能对系统造成破坏性变更,于是 Fedora 的几位开发者提交了一项弃用 Python 2 软件包的统一流程提案,希望移除 Python 2 软件包更具可控性,让 Python 2 退休的影响降低。

该提案具体分情况描述了几个流程,主要涉及到针对 Python 2 subpackage(子包)、module(模块) 与 requirement(运行环境依赖)等几个方面的处理:

  • 通过类似于孤立的过程,Python 2 子包可以很容易弃用。
  • 没有其它功能的 Python 2 模块将被删除。
  • 非必要的环境依赖将被删除。
  • Fedora 社区将收集信息以帮助“项目管理”。
  • 将从系统中删除不可安装的 Python 2 包。

具体来看,

弃用 Python 2 子包

如果维护者不再希望维护项目的 Python 2 部分(例如 python2- * 子包),那么对整个包进行孤立/退役会很容易,而如果不是整体打包弃用,想采用以下两种方式,那么很麻烦:

  • 只删除 Python 2 部分,这可能会破坏依赖包。
  • 将 Python 2 部分拆分为一个单独的组件,这需要通过正式审核。

此提案引入以下正式流程,将会更加容易弃用 Python 2 部分:

  • 维护者不打包 Python 2 部分,但必须为其他人提供选择。
    • 在拆分之前,必须对 Python 2 部分进行条件化(主要是为了帮助其他人找到它们)。
    • 一些具有拆分出的 Python 2 部分的包不进行审核。
  • 如果有任何东西取决于 Python 2 部分,那么在它们被删除之前进行相关声明。
    • 有 3 周时间等待回复电子邮件。(孤立和退休一个包之间的正常时间是 6 周。)

移除模块

只提供 Python 2 可导入模块的包/子包将被删除,除非有其它包依赖于它们。

移除环境依赖

如果一个环境依赖(包括 Requires 和 BuildRequires)是仅支持 Python 2 的,并且对软件包的功能和质量几乎没有影响,那么它将被删除。比如:

  • 很少使用的功能的测试,比如一个 BuildRequire 一个框架但只是测试与该框架的集成。
  • 非必要的只用于测试的功能,比如用于分布式多进程测试的测试 runner 插件。
  • 性能增强。
  • Linter 和代码样式检查器。
  • 代码和内容生成器。

在可能的情况下将尝试切换到这些依赖项的 Python 3 版本,而不是直接将其删除。

此提案如果获得批准,那么将对 Fedora 31 生效,作者指出,此提案只是更加可控版本的对 Python 2 包进行孤立,对此提案中的流程有不同看法的开发者,可以有以下几种选择:

  • 向 Python SIG 提出反对意见。
  • 提交对些提案的修改建议。
  • 现在接管 Python 2。
  • 表示有兴趣维护 Python 2,或者忽略此提案。

完整提案:

转载地址:http://tizvl.baihongyu.com/

你可能感兴趣的文章
linux中chown命令
查看>>
weex 引导页(guide)页面
查看>>
【转】Java中JDK和JRE的区别是什么?它们的作用分别是什么?
查看>>
网络最大流算法—EK算法
查看>>
HTML5实现图片文件异步上传
查看>>
Cocos Creator 对象池cc.NodePool的使用
查看>>
mongodb download
查看>>
android中非堵塞socket通信
查看>>
Objective-C 小记(10)__weak
查看>>
【js html】对于<img>图片的引用填充,src可以给什么值?
查看>>
Oracle 空间查询, 数据类型为 sdo_geometry
查看>>
散列表
查看>>
完善String类([]、 +、 += 运算符重载)、>>和<<运算符重载
查看>>
一步一步从原理跟我学邮件收取及发送 13.mime格式与常见字符编码
查看>>
qeephp 记录下
查看>>
The repository 'http://cdn.debian.net/debian stretch Release' is not signed.
查看>>
应用ImageJ对荧光图片进行半定量分析
查看>>
误判心理学常见心理倾向
查看>>
(转)同一服务器部署多个tomcat时的端口号修改详情
查看>>
Git换行符是如何精确控制的
查看>>