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

Anthony Fok <[email protected]>
Newsgroups gmane.linux.debian.user.chinese.gb
Message-ID <CABrvRiEc921nC8vxE3T1t9oXe5axCbexC_NUy3XC+rtA-cmKPQ@mail.gmail.com>
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 <[email protected]> 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 <[email protected]> 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
> 邮箱:[email protected]
> 微信:atzlinux
> QQ:909868357
> 基于 Debian 的 Linux 中文桌面操作系统:http://118.24.9.73/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.