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

Re: 官方能否把龙芯架构名修改为loongarch64?



我刚刚在 #multiarch 也描述了一下这个事情。目前看来各种应用(尤其是商业应用)如果不推出新世界的版本时,最好的方法只有在安装前,对旧世界的deb进行修改。将 loongarch64 修改为 loong64,并在 Depends 字段加入对 liblol 的依赖。(需注意 liblol 目前不在 debian 内)

On Tue, Apr 16, 2024, 11:50 xiao sheng wen(肖盛文) <atzlinux@sina.com> wrote:


在 2024/4/16 11:37, Han Gao 写道:
dpkg --add-architecture loongarch64
就这个 dpkg根本不知道你在描述什么 怎么才能说服添加到dpkg里 我认为这个是不可能也是没必要的工作
这个命令,是由用户自己来操作,或者提供旧世界兼容的 deb 包在安装的时候操作。


      
dpkg 的 deb 软件包,功能很强大,可以使用 原包,转换包,空包,虚拟包,提供字段等多种方式解决软件包依赖性问题。
功能再强也没有提供任何跨arch的方式实现提供异架构的方式
我是指比如 amd64 对 i386 的支持, arm64 对 arm32 位支持。

至于你提到的由 liblol 来 Provides: libc6:loongarch64,这个也非常不可行。
一是因为依赖不只有 libc6,可能是仓库中绝大多数 libs,是一个不应穷举的列表。
二是不应由 liblol 来提供 Provides。仅由 liblol 来提供的话会实质破坏依赖关系。
而且整个upstream都不愿意为龙芯公司的old world/abi1.0买单 linux上游已经明确拒绝过相关的事宜
对整个开源社区old world/abi1.0就是虚空的东西 是不存在的

至于软件适配新abi的 龙芯公司已经在推动相关工作
这个事情,本来就应该是龙芯公司主导,开源社区配合来做比较好。
再说个题外话:
开辟loongarch64的arch name会有很大的风险
这样换了名字之后可以避免真的uos/kylin/loongnix的deb包安装 直接破坏系统
比如头铁的人直接安装libffi7_3*_loongarch64.deb 直接就会覆盖系统文件 破坏系统 开了口子之后这种破坏只会越来越多 弊大于利
这点确实。
Debian 官方的 i386 软件包在 amd64 架构上安装,Debian 有规则避免破坏系统。
我感觉这个反而不需要关心,dpkg 在遇到文件冲突的时候会拒绝的。(当然,如果你直接 dpkg-deb -x 的话当我没说,详见 wiki.d.o/DontBreakDebian)
但是我也很担心国内的非开源项目,商业公司,会顾及 Debian 的规则。
On Tue, Apr 16, 2024 at 11:09 AM xiao sheng wen(肖盛文) <atzlinux@sina.com> wrote:
这个看是不是可以用一个 deb 包里面  Provides: 字段属性解决下?

比如说,在 liblol_*_loong64.deb 软件包里面,增加一个:

Provides: libc6:loongarch64

dpkg 的 deb 软件包,功能很强大,可以使用 原包,转换包,空包,虚拟包,提供字段等多种方式解决软件包依赖性问题。

同时 Debian 对多架构也支持得很好。
在 amd64 上运行 i386 程序,这种跨架构支持,也经常使用。

在 Debian 新世界上,将老世界的 deb 软件包支持起来,在技术上应该有办法的。
大家可以多交流讨论下。

在 2024/4/16 10:50, Tianyu Chen 写道:

Hi 盛文,

On Tue, Apr 16, 2024, 10:45 xiao sheng wen(肖盛文) <atzlinux@sina.com> wrote:
如果有人能够把这两个软件包贡献到 Debian 里面,那对在 Debian 使用旧世界软件包,会有帮助。
在新世界 Debian 操作系统上,使用 dpkg --add-architecture loongarch64,就可以添加对 旧世界 deb 包的安装支持。 这样,Debian 就没有修改架构名称的必要了。
即使 dpkg --add-architecture 了,安装旧世界的 deb 包时依赖解析依然会有问题。旧世界的 deb 包依赖里面写的 libc6 是 libc6:loongarch64,而非 loong64,这会导致 deb 无法安装。
Best regards,
Tianyu Chen

Reply to: