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

Re: 新增《星际译王词典数据包 stardict-dic-data》,本人推荐的 Linux 桌面词典软件,给 Debian 打包



Faris, 你好:

上传到 Debian sid (unstable) 的软件包就是给 unstable (sid)
和 testing (目前是 bullseye) 使用的,不适合 stable (目前的 buster),
而且我们 Debian 开发者现在仅上传源代码,
而所有的编译的工作由 buildd.debian.org 统筹的 build daemon 包办,
进一步确保安全性和统一性。

软件包要求的 libc6 最低版本不一,那是因为各个软件调用的 libc6 函数/符号不同。
我们在 debian/control 里标记的 Depends: ${shlibs:Depends},
都会由 dpkg-shlibdeps 计算所需的函数库及其版本。

以 libc6 为例,在你的电脑上,dpkg-shlibdeps 会使用以下文件作为计算的基础:

    /var/lib/dpkg/info/libc6:amd64.symbols
    /var/lib/dpkg/info/libc6:amd64.shlibs

相关细节,请自行参考上述文件,并查阅 dpkg-shlibdeps(1) 手册页。

若要在 Debian 10 (buster) 上运行,软件包需要被 "backport" 反向移植到旧版,
也就是上传到 buster-backports 或者其他过渡性的 distribution 了。

Backporting 的工序比较繁琐,所以有需要 backport 的话,一般也是修正重大问题,
或者至少攒够足够的修正后,才进行 backport。

Anthony

On Mon, Nov 25, 2019 at 1:39 AM atzlinux <atzlinux@yeah.net> wrote:
>
> 在 stable 版本上安装,报错如下:
>
> dpkg -i stardict-plugin-festival_3.0.6-0.3_amd64.deb
>
> 正在选中未选择的软件包 stardict-plugin-festival。
> (正在读取数据库 ... 系统当前共安装有 252608 个文件和目录。)
> 准备解压 stardict-plugin-festival_3.0.6-0.3_amd64.deb  ...
> 正在解压 stardict-plugin-festival (3.0.6-0.3) ...
> dpkg: 依赖关系问题使得 stardict-plugin-festival 的配置工作不能继续:
>  stardict-plugin-festival 依赖于 libc6 (>= 2.29);然而:
> 系统中 libc6:amd64 的版本为 2.28-10。
>
> dpkg: 处理软件包 stardict-plugin-festival (--install)时出错:
>  依赖关系问题 - 仍未被配置
> 在处理时有错误发生:
>  stardict-plugin-festival
>
> 后来我用 https://salsa.debian.org/debian/stardict.git 的源代码,在我稳定版的机器上重新编译了下,生成的 stardict-plugin-festival 软件包依赖关系为:
>
> Depends: libc6 (>= 2.27), libestools2.5, libgcc1 (>= 1:3.0), libice6 (>= 1:1.0.0), libsm6, libstdc++6 (>= 5.2), libx11-6, stardict-common (= 3.0.6-0.3), stardict-gtk (= 3.0.6-0.3), stardict-plugin (= 3.0.6-0.3)
>
> 在稳定版上安装使用都没有问题。
>
> 感觉这个 libc6 软件包版本号的依赖,和编译环境相关。估计源代码在 Debian 稳定版 buster-backports 上编译,就不会有这个问题。
>
> d/control 文件里面,各个二进制包依赖的描述,都是这样的:
> Depends:
>  ${misc:Depends}, ${shlibs:Depends}, stardict-common (= ${source:Version}),
>  stardict-gtk (= ${binary:Version}),
>  stardict-plugin (= ${binary:Version})
>
> libc6 软件包应该是属于 ${shlibs:Depends} 里面的,比较奇怪的是,其它二进制软件包都没有把 libc6 的依赖版本号升上去,只有  stardict-plugin-festival 这个二进制包依赖 testing 的 libc6 版本(2.29-3)。
>
>
> 谢谢!
>
> 在 2019/11/25 下午3:09, Emfox Zhou 写道:
>
> 呃,我只是把那个bug修复了,其它部分没有改动,是原先的打包脚本自动做的这个版本号依赖。
> 一般开发者都用sid,不太能关注得到这个问题,你那边有stable版本可以强制装一下这个包,看看执行正常吗?
>
> On Mon, Nov 25, 2019 at 11:37 AM atzlinux <atzlinux@yeah.net> wrote:
>>
>> 新版本的软件包中,stardict-plugin-festival 这个包, 依赖: libc6 (>= 2.29) 。
>>
>> 目前在 10.2 稳定版中:
>>
>> Package: libc6
>> Version: 2.28-10
>>
>> 这样会导致在稳定版中安装星际译王最新的 3.0.6-0.3 版本时,需要升级 libc6 这个基础包,比较麻烦(当然,如果 OS 是 testing 或者 unstable,这个软件包安装没有任何问题)。
>>
>> 不知道是否有办法把 stardict-plugin-festival 这个包对 libc6 的版本依赖降下来?
>>
>> 这次新编译的星际译王  3.0.6-0.3 版本的其它包,对 libc6 版本依赖要求都没有这么高,使用目前稳定版的 libc6 版本,没有问题。
>>
>>
>
>
> --
> Emfox Zhou
>
> GnuPG Public Key: 0x10000DEB
>
> --
> 肖盛文 Faris Xiao
> 邮箱:atzlinux@yeah.net
> 微信:atzlinux
> QQ:909868357
> 基于 Debian 的 Linux 中文桌面操作系统:http://118.24.9.73/

Reply to: